Pull to refresh
23
0
Дмитрий Куликов @graber

User

Send message

«Разбор полетов» — episode 2 — НаScala-ная живопись

Reading time1 min
Views740
Я и коллега aib представляем вашему вниманию второй выпуск уже ставшего популярным в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
  • Полезняшка — Stanford Javascript Crypto Library 1
  • 2012-год Hadoop? А почему бы и нет 1 2
  • Куда катится этот мир 1
  • Scala уже не торт. Что-то быстро 1
  • Интересный игрок 1 2
  • Форкай правильно! 1

Наши контакты:
twitter: @a_abashev @gamussa
G+: gplus.to/gAmUssA http://gplus.to/aabashev
Подписаться по RSS
Total votes 16: ↑14 and ↓2+12
Comments4

Тюнинг Леопарда

Reading time3 min
Views851
Неважно насколько хорош OS X Leopard, всегда найдутся вещи которые людям не нравятся и они хотели бы их изменить. И чем выше уровень пользователя, тем больше у него запросов и желания изменить что-то на свой вкус. В этой заметке, я попытаюсь рассказать о небольших советах, которые позволят вам улучшить внешний вид Леопарда.
Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments70

Азбука хорошего разработчика. Книжки для чтения

Reading time2 min
Views3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments66

Склонение существительных с числительными

Reading time1 min
Views1.9K
Вы, наверное, сталкивались с проблемой, когда слово со значением числа, которое, например, выводится прямо из базы данных, нужно склонять в зависимости от значения, но Вы не знаете как. Нижеприведенная функция поможет Вам.

<?php
function plural($n, $form1, $form2, $form5)
{
                $n = abs($n) % 100;
                $n1 = $n % 10;
                if ($n > 10 && $n < 20) return $form5;
                else if ($n1 > 1 && $n1 < 5) return $form2;
                else if ($n1 == 1) return $form1;

        return $form5;
}
$n = 3; // Значение из базы данных
echo $n." ".plural($n, "письмо", "письма", "писем")." у Вас в ящике";
?>
Total votes 10: ↑7 and ↓3+4
Comments26

Исследование производительности сервера SockJS

Reading time4 min
Views14K
Доброе время суток!

Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

Теперь хочу представить похожий проект — sockjs-tornado.

Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)
Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments13

Live-прототипирование приложений на Titanium с использованием Livetanium

Reading time2 min
Views1.7K
Наверняка многие из вас слышали о платформе Titanium Mobile от Appcelerator, которая позволяет разрабатывать нативные приложения под iOS и Android c использованием JavaScript (для тех кто не слышал и не пробовал, добро пожаловать). Я работаю с Titanium около 10 месяцев и меня практически все устраивает, но есть одна проблема, после использования XCode и Interface Builder работа над интерфейсом программы раздражает: Titanium не поддерживает nib-файлы, а это значит что размеры элементов приходится подгонять вручную и нет возможности использовать какие-то элементы повторно (частично эту проблему решает JSS, работает по аналогии с CSS). На самом деле проблема не в том чтобы подгонять размеры вручную (например, при html-верстки я давно отказался от WYSIWYG-редакторов и использовал vim), а в том что после внесения изменений нужно ждать компиляции и установки программы в симулятор/эмулятор, а ведь так не хочется тратить на это время.
Читать дальше →
Total votes 46: ↑34 and ↓12+22
Comments12

Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту

Reading time7 min
Views3.2K


Намба 0: Вступление

Однажды, задумчиво листая башорг, я вдруг понял, что большинство цитат довольно длинные и очень часто их просто лень читать. В наш век всеобщей спешки — на это уходит много времени. Таким образом родился новый формат: Шортики (от английского слова Short — короткий). Шортик — это короткая (из одного-двух предложений) шутка, жестко ограниченная 255 символами (чтобы не повадно было).

Как раз в этот момент я хотел подучить программирование и искал несложную задачу. Сайт я накидал довольно быстро — за пару вечеров, рассказал о нем коллегам по работе и паре знакомых в IRC, и собирался уже о нем забыть, как вдруг обнаружил, что за два дня сайт посетило 500 человек, из которых чуть ли не треть подписалась на RSS. Стало понятно, что концепция людям понравилась. Немного прилизав сайт внешне, я решился показать его Хабрасообществу — Шортики — короткие и смешные, прошу любить и жаловать.

P.S. Учитывая то, что это не совсем стартап (проект пока некоммерческий, да и «стартап» — слишком громкое слово для моей поделки), приобретенная за годы пребывания на сайте хабрасовесть не позволила мне написать нетехническую статью. Поэтому, под катом вас ждет занимательная история о том, как мы готовили Шортики к Хабраэффекту.

Читать дальше →
Total votes 230: ↑193 and ↓37+156
Comments205

Использование Zend GData в Symfony2-проекте

Reading time7 min
Views2.3K


Ведущий разработчик фреймворка Symfony — Фабьен Потенсьер (Fabien Potencier) в 2009-м году выступил на Zend/PHP Conference с докладом о извлечении выгоды в совместном использовании Symfony 1.3/1.4 и Zend Framework. Основные тезисы его речи доступны в презентации, опубликованной на его персональном сайте [1].

Как известно, Symfony2 — это практически новый фреймворк, созданный с использованием новейших возможностей языка PHP. На данный момент разработка перешла в RC-цикл, и всё больше разработчиков, имеющих опыт работы на первой ветке Symfony (да и не только они), смотрят в сторону нового флагмана. Но, даже несмотря на значительное количество включенных в стандартное издание компонентов, Symfony2 не покрывает все нужды веб-разработчика, поэтому, рано или поздно, встает вопрос о подключении внешних библиотек.

Очевидно, что в этом свете объемный комплект библиотек Zend (Gdata, Search_Lucene, Pdf и т. д.) нельзя обойти стороной. В данном посте мной будет рассмотрен процесс интеграции Symfony2 и Zend на примере Zend Gdata — библиотеки для взаимодействия с Google Data API [2].

Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments10

Мультиплексированный ввод/вывод

Reading time7 min
Views28K

Preface


В данной статье я бы хотел затронуть важные аспекты программирования приложений для web, которые должны обслуживать множество пользователей одновременно, а значит мы будем разбирать уже всем надоевший асинхронный ввод/вывод, мультиплексирование и т.п.
Преследуются следующие цели:
  1. Систематизировать материал по данному направлению, обсудить некоторые несостыковки в терминологии
  2. Полностью разобрать фундамент, на котором строятся приложения для обслуживания множество клиентов
  3. Выработать стратегию для будущего приложения на python которое должно обслуживать множество клиентов
  4. Создать четкую картину в голове (недаром говорят понимаешь — когда можешь объяснить)


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

Моделируем полёт PHP на крыльях Erlang

Reading time10 min
Views9.1K
В данной статье изложены размышления и фантазии на тему «как можно было бы скрестить Erlang и PHP, чтобы случилось вселенское счастье», а не описание готовой технологии или продукта. Впрочем, мы намерены это реализовать, скорее всего, в форме open-source проекта, если, конечно, уважаемая хабра-аудитория не отговорит :) Собственно, одна из главных задач этой статьи — понять, насколько идея интересна и потенциально полезна широкому PHP-сообществу. Кстати, некоторые из проблем, обсуждаемых в статье, справедливы и для других популярных скриптовых языков (тут я подразумеваю Ruby и Python), так что предлагаемое решение, возможно, будет актуально и для них.
Интересно, нафига козе баян?
Total votes 95: ↑86 and ↓9+77
Comments166

Использование метаклассов в Python

Reading time11 min
Views42K
Некоторые средства метапрограммирования не так часто используются в ежедневной
работе, как обычные в ООП классы или те же декораторы. Для понимания же целей
введения подобных средств в язык требуются конкретные примеры промышленного
применения, некоторые из которых и приведены ниже.

Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments29

Эластичные шаблоны

Reading time4 min
Views19K

Большинство дизайнов ориентировано на использование фиксированных значений при верстке: ширина и высота блоков, размер шрифта. Это позволяет сверстанному шаблону «не разваливаться» при изменении масштабов просмотра и сохранять свойство кроссбраузерности. Однако в этом есть один большой минус – при большом разрешении экрана маленькие фиксированные блоки теряются на большой площади и остаются незамеченными. Тут даже не спасет «резиновая» верстка, т.к. сайт будет выглядеть еще более нечитабельным, например на 19'' мониторах при разрешении большем 1280 по ширине. Для меня это актуально, т.к. на ноутбуке 17'' с разрешением 1400х800 просматривать «резиновый» сайт очень неудобно. И желание оставаться на таком сайте отпадает быстро. Существует ли способ, позволяющий управлять масштабами не только текста, но и всего сайта?
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments112

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity