Как стать автором
Обновить
0
0
Slach @Slach

Пользователь

Отправить сообщение

Основные принципы проектирования интерфейсов для iPhone

Время на прочтение1 мин
Количество просмотров1.3K
Выкладываю свой рассказ о мобильных интерфейсах, который впервые был услышан аудиторией в октябре, на конференции www.userexperience.ru. Надеюсь, кому-то он окажется полезным.



Видео иногда размытое, слайды здесь.

части 2 и 3 под катом
Всего голосов 16: ↑10 и ↓6+4
Комментарии2

Договор на техническое обслуживание и поддержку сайта

Время на прочтение9 мин
Количество просмотров125K
Добрый день, коллеги!

В нашей компании, существовала проблема с договором на техническую поддержку сайтов. В договоре мы хотели четко прописать круг наших обязанностей, время выделяемое в месяц на работы над сайтом заказчика, способы оплаты при превышении выделяемого времени, ответственность заказчика и четкие инструкции по предоставлению материалов. Этим договором и хотим с вами поделится.
Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии48

Oracle RAC. Общее описание / Часть 1

Время на прочтение10 мин
Количество просмотров73K
Высоконагруженные сайты, доступность «5 nines». На заднем фоне (backend) куча обрабатываемой информации в базе данных. А что, если железо забарахлит, если вылетит какая-то давно не проявлявшаяся ошибка в ОС, упадет сетевой интерфейс? Что будет с доступностью информации? Из чистого любопытства я решил рассмотреть, какие решения вышеперечисленным проблемам предлагает Oracle. Последние версии, в отличие от Oracle 9i, называются Oracle 10g (или 11g), где g – означает «grid», распределенные вычисления. В основе распределенных вычислений «как ни крути» лежат кластера, и дополнительные технологии репликации данных (DataGuard, Streams). В этой статье в общих чертах описано, как устроен кластер на базе Oracle 10g. Называется он Real Application Cluster (RAC).

Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.

P.S. Beware of the многабукаф
Продолжение статьи

Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии10

VS wizard: PHP extension

Время на прочтение1 мин
Количество просмотров2K
Около месяца назад экспериментировали с написанием экстеншенов и столкнулись с реальной проблемой: если в *nix разработка проста и прозрачна, то в винде можно огрести стразу куеву хучу гемора, причем решение далеко не очевидно.

Как известно, php <=5.2 собирают с помощью музейных версий VC, попытки же собрать версиями 7-9 были обречены на неудачу: либо не собиралось, либо падало в процессе работы.
В 5.3 версии разработчики сделали возможность собрать PHP при помощи VS 2008, так что эта проблема решена. Но… собирать экстешнены гораздо проще. Даже новыми версиями VC под PHP <= 5.2.
Мы сделали решение, простое и прозрачное, которое в пару кликов мыши создаст проект под VS 2008(ориентировались на standard+ версии).
Если вы знакомы с разработкой расширений, качайте наш визард и собирайте под винду без проблем.
А если не знакомы — то ждите завтра-послезавтра статью, черновой вариант дописан.
Итак, качайте PHP extension. Он снабжен установщиком, так что проблем не возникнет ;)
Всего голосов 17: ↑10 и ↓7+3
Комментарии11

История двух нитей

Время на прочтение3 мин
Количество просмотров2.5K
На собеседовании в ИТ-компании было предложено ответить на следующий вопрос.

Задача. Дано такой код:

		static int counter = 0;

		void worker()
		{
			for (int i = 1; i <= 10; i++)
				counter++;
		}


Процедуру worker() запускают из двух нитей. Какое значение будет содержать переменная counter по завершении работы обеих нитей и почему?

Немного теории. Нити — это параллельно-исполняемые задачи в пределах одного процесса. Основное различие между процессами и нитями такое, что все нити одного процесса работают в общем адресном пространстве своего процесса.

Я не называю нити потоками, что бы не путать потоки выполнения (thread) и потоки данных (stream).

Читать дальше →
Всего голосов 88: ↑78 и ↓10+68
Комментарии69

Простой способ восстановить удаленные файлы

Время на прочтение3 мин
Количество просмотров135K
Поделюсь небольшой находкой, маленькой программой для восстанавления удаленные файлы. Какое-то время назад было очень нужно, но программы Scalpel, тогда не нашел, к сожалению. На мой взгляд, из всех известных мне способов — это один из наиболее простых. Scalpel появился из проекта Foremost.

И так любителям rm -rf посвящается:

Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии29

DNS Amplification (DNS усиление)

Время на прочтение6 мин
Количество просмотров93K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →
Всего голосов 179: ↑179 и ↓0+179
Комментарии61

Обзор SSL-сертификатов: типы, выбор, приемущества.

Время на прочтение3 мин
Количество просмотров100K
Многие задавали себе вопрос, чем различаются разные SSL-сертификаты, зачем его получать и почему нельзя использовать самоподписанный.

Здесь я попытаюсь ответить на эти вопросы, рассмотрев:

  • Причемущества от наличия SSL вообще, и подписанного сертификата в частности.
  • Типы SSL-сертификатов.
  • Пути их получения.


Я не претендую за 100% верность данной статьи, она основана только на моем мнении и личном опыте :)
Подробности
Всего голосов 79: ↑75 и ↓4+71
Комментарии90

Tip по использованию Git под Windows

Время на прочтение1 мин
Количество просмотров13K
Продолжая статьи о Git, распределенной системе контроля версий, с помощью которой ведется разработка таких проектов как Linux и Ruby on Rails, хотелось бы сказать и несколько слов о работе с ним под Windows.

Официального порта Git под Windows нет, есть mingw+msys порт по адресу code.google.com/p/msysgit/downloads/list

Как-то понадобилось написать проект на ruby под Windows — возникла проблема с виндовым переносом строки, который вставлялся во все файлы автоматически, вследствие чего проект не работал вообще. Оказалось, что для исправления нужно подправить gitconfig, в котором разработчики msysgit предусмотрительно вставили автопостановку CRLF.

Отключается она элементарной правкой gitconfig (можно найти в папке C:\Program Files\Git\etc), меняем содержимое секции core на следующее:
[core]
autocrlf = false
symlinks = false

Надеюсь, совет окажется многим полезным :)
Всего голосов 34: ↑26 и ↓8+18
Комментарии22

АТС. Install

Время на прочтение8 мин
Количество просмотров9.9K
Хотел бы представить на суд хабрасообщества заметку о телефонии. Про что здесь будет? Про то как происходит монтаж обычной аналоговой АТС (хотя и не обязательно только аналоговой).

Для начала хотел бы заметить, что здесь будут рассматриваться не IP-телефония, а обычная аналоговая телефония. Хотя IP-телефония и шагает семимильными шагами и я полностью согласен, что за ней будущее. Но все равно, подавляющее большинство офисных работников (особенно в регионах) сидят на аналоговых телефонах. Тем более в очень многих современных АТС имеются шлюзы на IP-телефонию.

Читать дальше
Всего голосов 41: ↑38 и ↓3+35
Комментарии45

Памятка дизайнеру сайтов

Время на прочтение10 мин
Количество просмотров245K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

К сожалению огромная армия даже опытных, «модных» и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не только «супер-скриншот» годный только для портфолио.

Первоначально эта памятка писалась мною для внутреннего пользования но, обрастая материалами, выросла в самостоятельную статью. Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе проектирования и оформления сайта.

Читать дальше →
Всего голосов 453: ↑444 и ↓9+435
Комментарии231

Консольные хитрости Питон: история команд + автодополнение

Время на прочтение3 мин
Количество просмотров19K
Если вы разрабатываете программы на Питоне, то, уверен, вы хорошо знакомы с работой с ним в интерактивном режиме. Это самый простой и удобный способ проверить пришедшую в голову идею, запустить библиотечную функцию, пошагово прогнать какой-то алгоритм и т.п. без создания лишних мусорных файлов. Вобщем питоновская консоль — очень мощная и удобная вещь. У меня постоянно напрашивается сравнение с юникс-шеллом в языке. Если бы не две ложки дегтя в этой бочке меда: команду каждый раз приходится набирать заново, вместо того, чтобы просто нажать стрелку вверх и подправить команду, а также приходится писать много лишнего, что только добавляет опечаток и необходимости повторного набора. Вобщем я хочу как в баше: история + автодополнение.
Я удивлен почему это еще не сделано по умолчанию. Кстати, очень может быть, что это уже реализовано в вашей системе, и вам это совершенно неактуально — тогда можете совершенно смело пропустить эту статью. Возможно это пригодится кому-то другому. На попавшихся мне Macos, Freebsd, Debian и Fedora этого не было.

К счастью, это легко исправить.
Всего голосов 50: ↑46 и ↓4+42
Комментарии34

Встроенному perl'у быть!

Время на прочтение12 мин
Количество просмотров6.7K
Однажды холодной сибирской зимой начальство решило согреть нашу команду горячей начальственной любовью и передало в наши руки еще один проект. С первого же взгляда обнаружилось несколько серьёзных проблем:
  • Это было написано на PHP;
  • Это было написано на таком PHP, что **** **** ***;
  • Захардкожено было всё, и ни о какой расширяемости или настраиваемости речи не шло. А ведь нагрузка росла не по дням.

В общем, как настоящие русские парни, мы решили все сломать к хренам собачьим и построить заново, сделав красиво. Почесав репу решили, что apache+modperl — это для старпёров и не интересно, а fastcgi — путь слабых духом, поэтому все будем делать на nginx + его вечноэкспериментальный встроенный перл.

Позже я почувствовал себя на густозасеянном разного размера глаблями поле…
Читать дальше →
Всего голосов 119: ↑105 и ↓14+91
Комментарии170

Страны, регионы, города

Время на прочтение1 мин
Количество просмотров119K
Карта мира
Хочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!

Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов

Читать дальше →
Всего голосов 124: ↑122 и ↓2+120
Комментарии128

Написание приложений, основаных на Qt, на языке Python

Время на прочтение5 мин
Количество просмотров120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии34

Аарон Маркус: Взгляд на будущее визуализации информации

Время на прочтение8 мин
Количество просмотров2.8K
Истина заключается не в том, что вы знаете, а в том, что вы знаете о своих знаниях.

«Визуализация информации» представляет собой особую категорию дизайна
пользовательского интерфейса. Таблицы, формы, графики, карты и диаграммы должны наилучшим образом использовать метафоры, психические образы, навигацию, взаимодействие и наглядность, чтобы быть практичными, полезными и привлекательными, следуя тем самым фундаментальным основам положительного пользовательского
опыта. Возникновение новых технологий по поиску и сбору информации,
предлагаемых в последнее время Google, Yahoo и другими крупными онлайновыми
компаниями, может стать свидетельством серьезного прогресса. В какой-то степени
это так, однако, многие продвинутые методики визуализации (и озвучивания)
используются годами, а в некоторых случаях и десятилетиями в узких финансовых, медицинских, военных и научных кругах, так и не получив широкого признания и применения.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии15

JavaScript: создание DOM фрагментов

Время на прочтение2 мин
Количество просмотров20K
Если приходилось когда-нибудь писать JavaScript и приходилось в JavaScript’е писать что-то вроде:
var p = document.createElement( «p» );
p.appendChild( document.createTextNode( «Настоящий рыба фиш.» ) );
var div = document.createElement( «div» );
div.setAttribute( 'id', 'new' );
div.appendChild( p );

то это может быть вам полезно.
узнай, как сделать себе жизнь проще
Всего голосов 41: ↑37 и ↓4+33
Комментарии64

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность