Pull to refresh
0
0

User

Send message

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

Reading time8 min
Views10K
image
Под катом — перевод первой части статьи What every programmer needs to know about game networking, об истории становления и принципах устройства мультиплеерных сетевых игр. Автор Glenn Fiedler.
Читать дальше →
Total votes 121: ↑119 and ↓2+117
Comments57

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

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

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

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

Reading time4 min
Views1.8K
Здравствуйте!

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

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

Читать подробности
Total votes 17: ↑17 and ↓0+17
Comments31

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

Reading time1 min
Views10K
Так уж получилось, что долго и верно служивший домашний компьютер неожиданно сгорел. Сломалось в нем почти все, не оставив надежд на частичный апгрейд. Поэтому, честно говоря, к своей радости, пришлось покупать все с нуля.

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

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

Reading time4 min
Views209K
imagePhpStorm — повышаем производительность (плагины и темы оформления). Часть 2

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

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

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


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

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

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

Reading time5 min
Views103K

Предыстория


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

Читать дальше →
Total votes 82: ↑73 and ↓9+64
Comments59

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

Reading time1 min
Views3.2K
Товарищ Egloo хотел поделиться с миром своей наработкой, но ввиду минусовой кармы попросил меня. Итак, ниже привожу его пост:

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

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

Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments18

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

Reading time18 min
Views208K

Предисловие


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

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments116

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

Reading time1 min
Views3.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) ***:
нечто позитивное )

Читать дальше →
Total votes 203: ↑181 and ↓22+159
Comments289

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

Reading time11 min
Views10K
Хочу представить свой перевод статьи «Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews».

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

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

Обзор


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

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

jQuery Tools v1.0.1

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

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

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

PHP мануал

Reading time1 min
Views3.6K
image

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

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

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

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

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

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

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

Reading time7 min
Views19K
Сначала повторяем чужие ошибки, потом делаем свои, потом свои же повторяем ) Итак...

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

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

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

Reading time19 min
Views101K
Статья приводится в сокращении из-за ограничения на объем материала.

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

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


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


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

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


Читать дальше →
Total votes 402: ↑324 and ↓78+246
Comments411

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

Reading time2 min
Views24K
Я думаю многие любопытные люди уже знают, как нужно верно работать с SVN.
Но во многих статьях это описано достаточно поверхностно. Хочется немного приоткрыть завесу верного цикла версионирования, при разработке проекта, на примере TortoiseSVN.
И так, поехали
Читать дальше →
Total votes 72: ↑54 and ↓18+36
Comments56

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

Reading time1 min
Views1.7K
После сравнительной заметки о CSS Sprites и data:URL все мои мысли были направлены на решение основной проблемы:

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

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

Читать дальше на webo.in→
Total votes 54: ↑49 and ↓5+44
Comments45

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

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

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

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

Firebug lite

Reading time1 min
Views4.5K
Я смотрю для общественности прошло незамеченным такое событие, как обновление Firebug-Lite до качественно нового уровня. Теперь мы имеем аналогичное FF FireBug средство в Opere, Safari и возрадуйтесь — в IE.
Читать дальше →
Total votes 65: ↑50.5 and ↓14.5+36
Comments44

Information

Rating
Does not participate
Location
Украина
Registered
Activity