Pull to refresh
3
0
Дмитрий Бергштейн @BreathLess

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

Send message

Архитектура больших проектов: FaceBook

Reading time7 min
Views9.2K

Архитектура больших проектов: Facebook



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

Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments13

10 советов как пройти путь от начинающего до программиста среднего уровня

Reading time6 min
Views11K
Добрый день

Предлагаю вниманию сообществу перевод статьи «10 tips to go from a beginner to an intermediate developer». Её автор Justin James — один из работников компании Levit & James, занимает должность, которая включает в себя программирование, сетевое управление и системное администрирование. Ведёт постоянно свой блог на TechRepublic с 2005 года. Пишет статьи для MSDN Magazine.

Несколько советов для начинающих разработчиков, которые хотят перенести их карьеру на следующий уровень.
Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments18

Новозеландский программист создал бота-потребителя

Reading time2 min
Views5K
Даже не знаю, куда можно отнести такой топик, скорее все же в тот, где он находится сейчас. На днях программист из Новой Зеландии по имени Пол Ханкин анонсировал свою разработку, которую он в шутку называет «ботом-потребителем». Бот работает согласно интересному алгоритму, который позволяет программе закупать всякие мелочи в Сети (не более пары долларов). Причем покупку бот совершает с вероятностью раз в три дня. Зачем? Подробнее — в продолжении.

Читать дальше →
Total votes 234: ↑219 and ↓15+204
Comments138

PulseAudio, часть 1: управление из командной строки

Reading time11 min
Views148K

Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa :)

В статье я с самого начала расскажу что это такое и как оно работает, а так же:
  • Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
  • Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
  • Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
  • Как управлять громкостью и усиливать тихий сигнал (!);
  • Как сделать Skype громче музыки?

И представлю своё решение, призванное упростить управление PulseAudio ;)
Любопытно!
Total votes 112: ↑106 and ↓6+100
Comments83

phpDaemon — фреймворк асинхронных приложений

Reading time6 min
Views44K
Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
Читать дальше →
Total votes 114: ↑99 and ↓15+84
Comments103

Реализация паттерна Observer средствами PHP 5.3

Reading time3 min
Views11K
Прочитав недавно нововведения PHP 5.3, я обратил внимание на несколько интересных особенностей, скомпоновав которые можно получить реализацию шаблона проектирования Observer, гораздо красивее, чем имеющиеся в pear и symfony, причём вся реализация займёт всего несколько строк кода.
Читать дальше →
Total votes 78: ↑60 and ↓18+42
Comments28

Как поймать «поток», и как сделать так, чтобы он не сорвался

Reading time6 min
Views49K

Вступление


Я, как руководитель проектов, всё больше и больше замечаю, что эффективность работы команды (и каждого программиста в частности) – это ключевой фактор, определяющий успех проекта. При эффективной работе даже самые тяжёлые проекты со сжатыми сроками удаётся завершить успешно, а неэффективная способна «завалить» простейшие проекты с минимумом рисков. Поэтому, я хотел бы поделиться своими мыслями об одном из ключевых понятий – понятии «работы потоком».

Читать дальше →
Total votes 223: ↑212 and ↓11+201
Comments130

Функции наносят ответный удар

Reading time5 min
Views2.2K
В этом топике хочу рассказать о подходе, который эксплуатирую уже несколько лет.
Сразу предупрежу, если Вы истовый фанат ООП, огромных конструкций и монструозных диаграмм классов, не читайте.

Вкратце, суть концепции — это перенос части unix way в программирование на PHP.
А конкретно, концепции простых программ, выполняющих одну функцию.
Читать дальше →
Total votes 130: ↑89 and ↓41+48
Comments107

Проблемы зоны .local в современных Linux дистрибутивах

Reading time1 min
Views32K
Многие интернет провайдеры предоставляют для своих абонентов такой сервис, как торрент-ретрекер. Некоторые торрент-трекеры (в том числе и rutracker.org) в свои торрент-файлы добавляют информацию о таком таком универсальном ретрекер как retracker.local. Но в современных дистрибутивах (таких как Ubuntu, openSUSE и т.д.) этот адрес не резолвится правильно.

Проблема заключается в использовании сервиса avahi для анонсирования ресурсов компьютера в локальной сети, так как для этих целей используется зона .local. Чтобы решить эту проблему не обязательно избавляться от avahi. Достаточно указать, что если не удается найти поддомен, спросить об этом dns.
Читать дальше →
Total votes 145: ↑139 and ↓6+133
Comments42

getColor.ru — online color picker, позволяющий обмениваться цветами

Reading time2 min
Views4.2K
image
Наверное не ошибусь, если скажу, что большинство полезных решений появляется только благодаря возникновению каких-либо трудностей. О паре таких трудностей и одном замечательном сервисе, который может избавить вас от них, прямо сейчас.

Color picker


Многим должна быть до боли знакома ситуация, когда внезапно требуется HEX-цвет на полтона темнее или, скажем, бирюзовее, чем есть сейчас.
Если вы до сих пор не умеете представлять точный RGB-цвет в голове — вам не обойтись без color picker’а, который сделает эту работу за вас.

Лично я знаю только три вменяемых варианта, где можно взять color picker:
  1. Отдельная программа, специально предназначенная для этого;
  2. Практически любой графический редактор;
  3. Online-сервис

Надеюсь, утверждение, что онлайн-сервис является самым простым решением, не вызовет ни у кого сомнений — количество символов в каждом пункте тому свидетель.
Читать дальше →
Total votes 69: ↑52 and ↓17+35
Comments55

Презентация ГЛОНАСС-GPS навигатора для автомобилей «Лада»

Reading time2 min
Views29K
Вчера ходил на Московский Международный Автосалон. Посидел в Ауди Q7, Кайене, Ягуаре XJ и других интересных машинках. А потом пошел на стенд «АвтоВАЗа» — смотреть что за зверь такой, их ГЛОНАСС-GPS навигатор для «Калин» и «Приор».



Под катом — немного текста + фотографии интерфейса и стенда.
Читать дальше →
Total votes 68: ↑49 and ↓19+30
Comments360

Мастер-классы по профессиональному Javascript, AJAX/COMET, jQuery

Reading time1 min
Views2.9K
Приглашаю уважаемых разработчиков к участию в мастер-классах по профессиональному Javascript-программированию, AJAX/COMET, оптимизации, jQuery.

Они пройдут — в Ярославле (24-25 сентября), Новосибирске (3-4 октября), Казани (9-10 октября), Минске(16-17 октября), Днепропетровске (23-24 октября), Одессе (30-31 октября) и Самаре (13-14 ноября).
Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments31

Автоматическое определение часового пояса пользователя

Reading time5 min
Views14K
Мужик сидит, слушает радио.
— В Москве полночь, в Благовещенске 6 утра, во Владивостоке, Хабаровске, Южно-Сахалинске 7, в Магадане 8, в Петропавловске-Камчатском 9 часов.
Мужик сидит, сидит, потом встаёт, и с некоторым сожалением произносит:
— Эх, ну и бардак же у нас в стране!

Текст перепечатан с аудиозаписи позывных «Маяка».
Для справки: в Петропавловске-Камчатском теперь UTC+11 (летом UTC+12), поэтому теперь в полночь по московскому времени там было бы 8 часов, а не 9.


Во многих местах на сайтах отображается время. И во многих случаях лучше всего отображать не время по Гринвичу, не время на сервере, а время в часовом поясе пользователя.

Часто предлагается выбрать свой часовой пояс из огромного списка возможных вариантов. Конечно, возможность приятная, но удобнее, если сайт может определить часовой пояс пользователя сам. А сделать это, как можно догадаться, совсем несложно — достаточно получить локальное время и отступ от UTC с помощью JavaScript и передать этот отступ на сервер с помощью XMLHttpRequest.

Читать дальше →
Total votes 61: ↑45 and ↓16+29
Comments35

Несколько других советов для PHP-разработчиков

Reading time3 min
Views9.8K
Навеяно вот этим.

Я решил вспомнить некоторые особенности PHP, связанные с производительностью.

Отмечу, что включил в свой небольшой список лишь то, что обычно вызывает удивление у junior developers, с которыми мне приходилось работать.
О банальных вещах, вроде «одинарные кавычки вместо двойных», думаю, знают все, поэтому постараюсь кого-нибудь удивить.

Результаты и выводы, сделаны на основании нескольких версий PHP, который крутятся на знакомых мне серверах, а именно 5.2.6 из Debian Lenny, 5.3.2 из Ubuntu, и 5.2.14 из dotdeb. Возможно, на других платформах, есть отличия.
Читать дальше →
Total votes 173: ↑149 and ↓24+125
Comments301

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity