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

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

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

Сетевые игры — «Ты помнишь, как всё начиналось?...»

Время на прочтение8 мин
Количество просмотров10K
image
Под катом — перевод первой части статьи What every programmer needs to know about game networking, об истории становления и принципах устройства мультиплеерных сетевых игр. Автор Glenn Fiedler.
Читать дальше →
Всего голосов 121: ↑119 и ↓2+117
Комментарии57

IBM ThinkPad 380ED: 12 лет в строю

Время на прочтение6 мин
Количество просмотров29K
В 1997 году у меня был настольный компьютер с похожими характеристиками: Pentium 166MMX, 32 мегабайта памяти и так далее. Это была, по тем временам, невероятно быстрая машина, ведь в ходу были еще компьютеры с 486-ми и даже 386-ми процессорами. Именно с помощью этого компьютера я впервые узнал, что такое MP3, после чего сразу же перестало хватать места на «большом» 1,2-гигабайтном винчестере. О ноутбуке с такими характеристиками, да и вообще — о ноутбуке, приходилось только мечтать. ThinkPad 380ED, мощный и дорогой, появился у меня гораздо позже, уже напрочь устаревший. Зато появилась возможность, не опасаясь сломать уже совсем не дорогую железку, разобрать ноутбук и посмотреть, что внутри. Ну и, если получится, приставить ноутбук к делу.

UPD. Спасибо за карму и комментарии. Перенес в «Старое железо».
много фото и букв
Всего голосов 95: ↑90 и ↓5+85
Комментарии66

Создание системы авторизации в высоконагруженном проекте с использованием MemcacheDB

Время на прочтение4 мин
Количество просмотров1.8K
Здравствуйте!

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

Где хранить аутентификационную базу пользователей?
Как быстро авторизовать пользователя по его строковому логину?
Как собирать распределенные по нескольким шард-таблицам и нескольким базам данных пользовательские данные?
Как заставить все это работать и как в этом нам может помочь MemcacheDB?

Читать подробности
Всего голосов 17: ↑17 и ↓0+17
Комментарии31

Как я покупал «идеальный» компьютер. Часть 1 — монитор.

Время на прочтение1 мин
Количество просмотров10K
Так уж получилось, что долго и верно служивший домашний компьютер неожиданно сгорел. Сломалось в нем почти все, не оставив надежд на частичный апгрейд. Поэтому, честно говоря, к своей радости, пришлось покупать все с нуля.

Выбор нужной конфигурации виделся делом интересным и недолгим. Однако эта иллюзия исчезла в первый же день. Выбирая основной рабочий инструмент, спешить не хотелось. Пришлось перелопатить гору информации. Эта статья, хотя и не претендует на полноту, возможно сократит время для некоторых ищущих. В первой части расскажу про выбор монитора. Статью не стоит рассматривать как руководство, просто хочу поделиться собранной информацией — возможно, кому-то она окажется полезной.
Читать дальше →
Всего голосов 129: ↑114 и ↓15+99
Комментарии103

PhpStorm — повышаем производительность (клавиатурные сокращения). Часть 1

Время на прочтение4 мин
Количество просмотров209K
imagePhpStorm — повышаем производительность (плагины и темы оформления). Часть 2

У всех нас есть любимые IDE или редакторы в которых мы пишем код. Для меня это PhpStorm, и потребовалось некоторое время, чтобы освоить все клавиатурные сокращения и ускорить свой рабочий процесс. В этой статье я поделюсь с вами некоторыми сочетания клавиш и советами, которые возьмут на себя часть рутинной работы, если вы тоже делаете свою работу в этой IDE. Эта статья была частично вдохновлена этим Reddit тредом, и я буду упомянать и демонстрировать некоторые трюки найденные там.

Обратите внимание, что я разрабатываю на Linux в Vagrant, размещенном в Windows, я буду использовать клавишу CTRL вместо CMD. Если вы работаете в OS X, замените CTRL на CMD.

Клавиатурные сокращения и хаки


PhpStorm позволяет настроить себя практически до бесконечности — вы можете заточить этот инструмент под себя так, что постороннему может показаться, что это совсем другая IDE.

(осторожно, много gif изображений)
Давайте посмотрим, чем мы можем воспользоваться
Всего голосов 77: ↑68 и ↓9+59
Комментарии58

Создание ознакомительного поискового движка на Sphinx + php

Время на прочтение5 мин
Количество просмотров103K

Предыстория


Раньше для поиска по сайту мы использовали обычный fulltext поиск. Но в определенный момент он перестал нас устраивать и мы решили опробовать альтернативную технологию поиска: Sphinx. К сожалению, у сфинкса совсем нет русской документации, поэтому эта статья — аналог статьи Build a custom search engine with PHP, только на русском языке и для моего локального окружения (windows 7, mysql/php)
Статья состоит из 4 частей:
  1. Краткий рассказ про подготовку базы для поиска.
  2. Рассказ про первоначальную установку и настройку сфинкса
  3. Индексирование базы и тестовый поиск из командной строки
  4. Тестовый поиск из php

Читать дальше →
Всего голосов 82: ↑73 и ↓9+64
Комментарии59

Расширение для подсветки кода

Время на прочтение1 мин
Количество просмотров3.2K
Товарищ Egloo хотел поделиться с миром своей наработкой, но ввиду минусовой кармы попросил меня. Итак, ниже привожу его пост:

Нередко приходится просматривать исходники в хранилищах, находящихся на таких хостингах проектов, как, например, Google Code, Freepository и т.д.

Неудобство в том, что зачастую файлы из того же svn на подобных службах выдаются в виде text/plain. В некоторых случаях, это лишает исходники привычной удобочитаемости: просматривать какой-либо кусок кода гораздо удобнее с подсветкой синтаксиса.

Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии18

Создание простой MVC-системы на PHP 5

Время на прочтение18 мин
Количество просмотров208K

Предисловие


В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии116

file.qip.ru и яичный вирус

Время на прочтение1 мин
Количество просмотров3.2K
Буквально сегодня через ICQ и обменник file.qip.ru стал распространятся достаточно интересный вирус, интересен хотя бы тем, что он умеет говорить :)

Всё началось с того что я получил сообщение от своего знакомого
(23:26:41) ***:
Ссылка для скачивания файла Egg.rar
file.qip.ru/file/104633322*** (950 кб)
[-- Файл отправлен через file.qip.ru. Подробнее на сайте: file.qip.ru --]

(23:28:08) Screatch:
это что

(23:28:17) ***:
нечто позитивное )

Читать дальше →
Всего голосов 203: ↑181 и ↓22+159
Комментарии289

Перевод: Я ненавижу тебя: твой код – хлам!

Время на прочтение11 мин
Количество просмотров10K
Хочу представить свой перевод статьи «Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews».

Я ненавижу тебя: твой код – хлам!
Взаимоотношения участников ревизий кода

Джонатан Лэндж (Jonathan Lange), 15.09.2008

Обзор


Ревизия кода это действительно полезная, но в то же время и невероятно отпугивающая процедура. Эта статья подскажет, как избежать «кулачных боёв» при проведении ревизий.

Мы кратко рассмотрим, почему следует проводить ревизии кода, и сделаем упор на вопросе, как складываются при этом взаимоотношения участников процесса, в особенности в проектах с открытым исходным кодом. Действительно, отчасти open source привлекает (а порой наоборот отпугивает!) людей именно потому, что ваш код будут просматривать эксперты со всего земного шара. Мы также рассмотрим влияние, оказываемое некоторыми существующими технологиями на культуру ревизий кода, рассмотрим, чего можно достичь с их помощью, и как проводятся ревизии в других сферах деятельности. Мы также обозначим некоторые «подводные камни» ревизий, которые легко не заметить.
Читать дальше →
Всего голосов 79: ↑71 и ↓8+63
Комментарии29

jQuery Tools v1.0.1

Время на прочтение1 мин
Количество просмотров3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.
Всего голосов 158: ↑152 и ↓6+146
Комментарии85

PHP мануал

Время на прочтение1 мин
Количество просмотров3.6K
image

Каждый PHP-программист пользуется справочной информацией. Кто-то привык работать с документацией на официальном сайте. Кто-то постоянно стирает пальцами до дыр учебник или справочник по PHP. Некоторым хватает Гугла.

А вот я привык к руководству в формате .chm. А привычка — дело сложное.

Когда мне пришлось перейти на разработку под Линуксом, я так и не смог пересесть за мануал с официального сайта PHP. Ставил кучу каких-то программ-читалок этого вебхелп-формата. Одна не показывала русские буквы, вторая падала на каждом первом chm-файле, третья не могла читать оглавление, n-ная и вовсе не запускалась. Поэтому я решил действовать согласно золотому правилу, что сделать надо что-то самому для себя, а не ждать у моря погоды.

Если вы, как и я, привыкли к chm-руководству, то разрешите поделиться с вами вот этой ссылкой. Это веб-вариант справки.

Пользуйтесь на здоровье.

p.s. Сразу предупреждаю, что я знать не знаю, как сайт выглядит в Internet Explorer, так как под Windows я не работаю да и пост мой посвящён соответствующим людям. Сильно не придирайтесь, пожалуйста, делал не на продажу.
Всего голосов 138: ↑105 и ↓33+72
Комментарии88

Системный подход лидера в работе с командой. Не повторяем ошибок трижды

Время на прочтение7 мин
Количество просмотров19K
Сначала повторяем чужие ошибки, потом делаем свои, потом свои же повторяем ) Итак...

Задачи менеджера проекта (лидера) в работе с командой сводятся к повышению эффективности и снижению себестоимости разработки. Эффективность команды во многом зависит от ее участников. Что мешает нам добиться синергетического эффекта? Пробуем разобраться.

В работе менеджера проектов одно из наиболее ценных качеств – это опыт. Именно опыт формирует интуицию, помогает принимать правильные решения и завершать проекты успехом. Чаще всего наш опыт основан во многом на стандартных ошибках, в стандартных ситуациях. При этом, в текучке проблем, мы придумываем нестандартный выход из них (так проще), и забываем воспользоваться устоявшимся опытом многих предшественников, сведенным в систему. Напрасно. Система «в сознании» позволяет принимать уверенные решения, думать на несколько шагов вперед, и не тратить время на эксперементы с людьми. Описанная ниже схема покажется очевидной многим из нас, но часто мы не берем ее во внимание и совершаем ошибки, которые стоят всем денег.
Читать дальше →
Всего голосов 90: ↑86 и ↓4+82
Комментарии31

10 приемов, разрушающих хрупкую красоту кода

Время на прочтение19 мин
Количество просмотров101K
Статья приводится в сокращении из-за ограничения на объем материала.

Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.

Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
  1. Объявление всех переменных в начале программы;
  2. Возврат результата функции через ее параметр;
  3. Отсутствие локальных функций;
  4. Отсутствие else if;
  5. Использование параллельных массивов;
  6. Хранение размера массива в отдельной переменной;
  7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
  8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
  9. Отсутствие именованных параметров функции;
  10. Невозможность объявления объектов «на лету».
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.


Объявление всех переменных в начале программы


В двух словах:

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


Читать дальше →
Всего голосов 402: ↑324 и ↓78+246
Комментарии411

Правильный цикл работы с версиями SVN

Время на прочтение2 мин
Количество просмотров24K
Я думаю многие любопытные люди уже знают, как нужно верно работать с SVN.
Но во многих статьях это описано достаточно поверхностно. Хочется немного приоткрыть завесу верного цикла версионирования, при разработке проекта, на примере TortoiseSVN.
И так, поехали
Читать дальше →
Всего голосов 72: ↑54 и ↓18+36
Комментарии56

Выносим CSS в пост-загрузку

Время на прочтение1 мин
Количество просмотров1.7K
После сравнительной заметки о CSS Sprites и data:URL все мои мысли были направлены на решение основной проблемы:

В общем случае [при использовании data:URL], загрузка страницы не ускорится, а даже может замедлиться, потому что фоновые картинки (включенные через data:URL) будут грузиться в один поток, а не в несколько при обычном использовании спрайтов. Если фоновых картинок достаточно много (несколько десятков Кб), то это окажется существенным.

Данная статья как раз посвящена тому, как можно достаточно успешно справиться с указанной проблемой. Интересно? Тогда, поехали.

Читать дальше на webo.in→
Всего голосов 54: ↑49 и ↓5+44
Комментарии45

Теория кэша (часть вторая, практическая, дополненная)

Время на прочтение7 мин
Количество просмотров6.6K
Это вторая, дополнительная (upd: дополненная), часть моей статьи посвященной кэшированию информации при веб-разработке. Первая имеет название Теория кэша.

UPD: После многочисленных коментариев я сильно переработал статью, внес в неё больше конкретики и примеров, а так же убрал спорные моменты (например, касательно memcached). Спасибо всем, за конструктивную критику.

В данной статье я попытаюсь описать практические стороны кэширования, ориентированные, прежде всего, на сайты и системы управления контентом. Сразу предупреждаю, это мое личное мнение, которое не претендует на истину в последней инстанции. Большинство терминологии — моё, вы можете использовать его, если считаете нужным на своё усмотрение. Конструктивная критика приветствуется.
Читать дальше →
Всего голосов 71: ↑55.5 и ↓15.5+40
Комментарии60

Firebug lite

Время на прочтение1 мин
Количество просмотров4.5K
Я смотрю для общественности прошло незамеченным такое событие, как обновление Firebug-Lite до качественно нового уровня. Теперь мы имеем аналогичное FF FireBug средство в Opere, Safari и возрадуйтесь — в IE.
Читать дальше →
Всего голосов 65: ↑50.5 и ↓14.5+36
Комментарии44

Информация

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