![image](https://habrastorage.org/storage/habraeffect/51/b4/51b416bd1308274be4b528d7184e5094.jpg)
Антон @interrupt_controller
Пользователь
Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО
3 мин
380KНе так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:
Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?
Тема перевода зарубежной профессиональной IT-литературы стоит достаточно остро, многие любят читать книги в оригинале по различным причинам, таким так время выхода русского перевода с запозданием на годы, недостаточный профессионализм переводчика и соответствующая потеря тонкостей и авторского стиля и т.д.
Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?
Тема перевода зарубежной профессиональной IT-литературы стоит достаточно остро, многие любят читать книги в оригинале по различным причинам, таким так время выхода русского перевода с запозданием на годы, недостаточный профессионализм переводчика и соответствующая потеря тонкостей и авторского стиля и т.д.
Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
+202
Интеграция Zend_Tool в NetBeans
3 мин
3.5KZend_Tool — замечательный инструмент в составе Zend Framework. В интернетах пишут, что он еще не такой совершенный, как подобные утилиты у конкурирующих фреймворков, но я думаю, что лучше что-то, чем ничего. Утилита представляет собой файл zf.sh в Linux или zf.bat в Windows. Для ее работы надо, чтобы путь к интерпретатору PHP был указан в системной переменной PATH. Для удобства я там же указываю и путь к самой утилите: тогда ее можно вызывать из любого места.
Интерфейс командной строки вещь хорошая — как говорится, feel power at the fingertips. Но не менее удобно иметь такой же функционал в любимой IDE'шке. Кстати говоря, он реализован в Zend Studio — прожорливой и не очень бесплатной, хотя и мощной среде разработки. А для любителей NetBeans разработчики предлагают возможность интегрировать утилиту командной строки в IDE. Когда я ее попробовал активировать, все оказалось неочевидно, хотя и довольно просто, надо было какое-то время погуглить и поэкспериментировать.
Итак, что нужно, чтобы все работало (под Windows 7 в моем случае):
Интерфейс командной строки вещь хорошая — как говорится, feel power at the fingertips. Но не менее удобно иметь такой же функционал в любимой IDE'шке. Кстати говоря, он реализован в Zend Studio — прожорливой и не очень бесплатной, хотя и мощной среде разработки. А для любителей NetBeans разработчики предлагают возможность интегрировать утилиту командной строки в IDE. Когда я ее попробовал активировать, все оказалось неочевидно, хотя и довольно просто, надо было какое-то время погуглить и поэкспериментировать.
Итак, что нужно, чтобы все работало (под Windows 7 в моем случае):
+18
Бюджетный роутер Dlink dir-615, альтернативная прошивка DD-WRT и IPTV
5 мин
419KИнтернет пришел и в наш город!
Интернет провайдеры в Воронеже последние 2 года развиваются и плодятся с огромной скоростью, в связи с чем приходится менять и апгрейдить и своё клиентское интернет-оборудование. Долгое время у меня в качестве доступа к сети использовался ADSL2+ модем и недорогой Wi-Fi роутер, но мой провайдер решил начать параллельно с доступом по телефонной линии предоставлять возможность подключения и по Ethernet или как его называет Домолинк — Fttx. Вместе с этим также стала доступна бесплатная услуга Открытое ТВ, представляющая из себя ничто иное как IPTV по протоколу UDP. Всё это и подтолкнуло меня на замену простенького Level ONE WBR-3408 на что-то более функциональное. К моему удивлению оказалось, что функциональность не всегда идёт рука об руку с высокой ценой. О том, как и почему я выбрал именно Dlink dir-615 можно узнать под катом.
![image](https://habrastorage.org/storage/habraeffect/56/17/56170e8edca6a80508a44ef3c02cadf3.jpg)
+41
Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 3
3 мин
2.2KТе, кто до этого времени использовали класс vk.wallpost.php, возможно, столкнулись с проблемой работы данного скрипта на хостинге. Данный класс был написан пользователем xbreaker и подробно разобран по частям в статьях: Часть 1 и Часть 2.
Скрипт замечательно работает на локальном компьютере. Но когда его закидываешь на хостинг он перестает отсылать сообщения.
Скрипт замечательно работает на локальном компьютере. Но когда его закидываешь на хостинг он перестает отсылать сообщения.
+13
Создание расширения для Google Chrome
8 мин
118K![](https://habrastorage.org/getpro/habr/post_images/75b/fbf/b10/75bfbfb10e844495d80aec1d60887269.png)
Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
+88
Как не надо разрабатывать на Zend Framework
8 мин
8.1K![Zend Framework](https://habrastorage.org/files/f63/c3f/ec0/f63c3fec02f749af8c7a347f6eccc8e1.png)
Здравствуйте! На днях подвернулась работа — дописать сайт на zend framework. Программист, который начал разрабатывать этот проект не успевал в сроки, не выполнял требования заказчика и в итоге его заменили. Открыв первый раз исходный код я ужаснулся от того количества ошибок, которые допускал разработчик и ведь он утверждал заказчику что является опытным специалистом. Далее я попытаюсь рассказать про некоторые ошибки, которые были им допущены. Данный материал будет полезен начинающим ZF-программистам, в качестве инструкции того как делать нельзя
+54
Zend_Db_Table простота в использовании
6 мин
5.3KМало кто использует этот удивительный класс на полную мощность. О некоторых его скрытых возможностях также мало кто догадывался, как и я до этого момента.
+5
ZendFramework QuickStart — Создание Проекта
11 мин
14KДанная статья не является чем то сверхестественным и подойдет скорее для тех, кто начинает изучать
Zend Framework. Так уж получилось что сам я начинал изучение с версии
1.7, но незадолго после начала познания данного инструмента меня забрали в армию, и год я программированием не занимался. Сейчас до возвращения в родные края остался месяц, а так же появилось свободное время.
В начале изучения какого либо инструмента, как я заметил по себе всегда хочется иметь его под рукой, чтобы сразу же при возможности
поковыряться а не перечитывать предварительно кучу документации.
Так у меня было с Zend Framework, когда он был еще версии 1.7
Пришлось перечиать несколько статей и пересоздать кучу каталогов,
чтобы настроить рабочий Zend Framework проект. Собственно данная статья является своего рода переводом статьи Zend Framework Quick Start | Create Your Project для версии Zend Framework 1.10.5
С некоторыми исправлениями и примечаниями.
Прочитав ее я думаю вы с легкостью создадите рабочий Zend Framework
проект и сразу же перейдете к изучению на практике.
В общем то, если все же кому то статья покажется по вкусу, возьмусь
за перевод всех статей серии Quick Start.
Итак, поехали…
Zend Framework. Так уж получилось что сам я начинал изучение с версии
1.7, но незадолго после начала познания данного инструмента меня забрали в армию, и год я программированием не занимался. Сейчас до возвращения в родные края остался месяц, а так же появилось свободное время.
В начале изучения какого либо инструмента, как я заметил по себе всегда хочется иметь его под рукой, чтобы сразу же при возможности
поковыряться а не перечитывать предварительно кучу документации.
Так у меня было с Zend Framework, когда он был еще версии 1.7
Пришлось перечиать несколько статей и пересоздать кучу каталогов,
чтобы настроить рабочий Zend Framework проект. Собственно данная статья является своего рода переводом статьи Zend Framework Quick Start | Create Your Project для версии Zend Framework 1.10.5
С некоторыми исправлениями и примечаниями.
Прочитав ее я думаю вы с легкостью создадите рабочий Zend Framework
проект и сразу же перейдете к изучению на практике.
В общем то, если все же кому то статья покажется по вкусу, возьмусь
за перевод всех статей серии Quick Start.
Итак, поехали…
+18
Собеседования на должность PHP разработчика
3 мин
71K![](https://habrastorage.org/getpro/habr/olpictures/9d0/19d/77e/9d019d77eba406ba6d2b9bf288ccbe9f.jpg)
Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…
+54
Видеозаписи с нашего Qt-тренинга для начинающих
3 мин
38KВсем привет!
Сегодня мы бы хотели поговорить про нашу образовательную программу для начинающих программистов. Кто-то из вас наверняка знает, что мы регулярно проводим бесплатные образовательные тренинги для всех желающих писать программы на Qt — и кто-то из вас на них даже успел побывать. Для тех же, кто про эти тренинги не слышал, но с радостью бы на них сходил, мы предлагаем под катом посмотреть полную видеозапись одного подобного мероприятия.
Видеозаписи, представленные ниже, были сделаны на трехдневном тренинге по Qt, который мы проводили с 16 по 18 мая этого года в Москве. Он был рассчитан на начинающих Qt-программистов, у которых всё же был опыт программирования на C++. Тренинг проводил Кирилл Кринкин, руководитель лаборатории FRUCT Open Source & Linux Lab, целью которой является продвижение знаний в массы.
В первом видеоролике рассказывается про историю Qt, различные отличия этого фреймворка от других. Кирилл Кринкин рассказывает про основные компоненты Qt SDK, отдельно останавливаясь на основных модулях Qt. В окончании видео речь заходит о сравнении Qt в GTK.
Сегодня мы бы хотели поговорить про нашу образовательную программу для начинающих программистов. Кто-то из вас наверняка знает, что мы регулярно проводим бесплатные образовательные тренинги для всех желающих писать программы на Qt — и кто-то из вас на них даже успел побывать. Для тех же, кто про эти тренинги не слышал, но с радостью бы на них сходил, мы предлагаем под катом посмотреть полную видеозапись одного подобного мероприятия.
Видеозаписи, представленные ниже, были сделаны на трехдневном тренинге по Qt, который мы проводили с 16 по 18 мая этого года в Москве. Он был рассчитан на начинающих Qt-программистов, у которых всё же был опыт программирования на C++. Тренинг проводил Кирилл Кринкин, руководитель лаборатории FRUCT Open Source & Linux Lab, целью которой является продвижение знаний в массы.
День первый
Знакомство с Qt
В первом видеоролике рассказывается про историю Qt, различные отличия этого фреймворка от других. Кирилл Кринкин рассказывает про основные компоненты Qt SDK, отдельно останавливаясь на основных модулях Qt. В окончании видео речь заходит о сравнении Qt в GTK.
+16
Автоматизация работы интернет-радио на Linux
18 мин
32KПривет, `whoami`.
В этом посте я расскажу тебе об одном из методов автоматизации интернет-вещания – не самом надежном, но самом бюджетном. Сразу предупреждаю, что эта система заточена на использование ее под Linux, хотя с помощью знакомого многим «столярного инструмента», можно и под Windows реализовать. Эта статья расчитана на начинающих IT-шников, поэтому многие моменты я постарался «разжевать». Как у меня это получилось, решать тебе, мой дорогой читатель, но если мне удалось заинтересовать тебя, прошу под кат.
В этом посте я расскажу тебе об одном из методов автоматизации интернет-вещания – не самом надежном, но самом бюджетном. Сразу предупреждаю, что эта система заточена на использование ее под Linux, хотя с помощью знакомого многим «столярного инструмента», можно и под Windows реализовать. Эта статья расчитана на начинающих IT-шников, поэтому многие моменты я постарался «разжевать». Как у меня это получилось, решать тебе, мой дорогой читатель, но если мне удалось заинтересовать тебя, прошу под кат.
+56
Анонс CastingCode.tv: скринкасты программистов за работой
1 мин
3.4KЛучший способ изучить иностранный язык — слушать тех, кто его хорошо знает. Так же и учиться программированию лучше всего, наблюдая за работой опытных профессионалов. В обоих случаях желательно погрузиться в учёбу с головой, на 24 часа в сутки. Такова идея будущего видеоканала CastingCode.tv. Тут будут постоянно транслировать скринкасты разработчиков в прямом эфире. Можно наблюдать, как они пишут код: какие программы, какие «горячие клавиши» используют, с какой скоростью печатают, как часто ищут совета в Google, как вообще у них организовано рабочее время и т.д. В общем, настоящее круглосуточное реалити-шоу для гиков.
![](https://habrastorage.org/storage1/9b60d768/d5f2d20d/6b5e7a3f/7b74578b.png)
К сожалению, проект ещё не начал работу, так что нельзя оценить его реальную пользу. Остаётся надеяться, что на CastingCode.tv будет больше свежих материалов, чем на ShowMeDo, а он не будет брать абонентскую плату, как PeepCode и Destroy All Software.
![](https://habrastorage.org/storage1/9b60d768/d5f2d20d/6b5e7a3f/7b74578b.png)
К сожалению, проект ещё не начал работу, так что нельзя оценить его реальную пользу. Остаётся надеяться, что на CastingCode.tv будет больше свежих материалов, чем на ShowMeDo, а он не будет брать абонентскую плату, как PeepCode и Destroy All Software.
+93
Свой инструмент нужно знать в лицо: обзор наиболее часто используемых структур данных
8 мин
62K![image](https://habrastorage.org/getpro/habr/post_images/c78/3b6/403/c783b64032c527c42b639dde32001bb3.jpg)
Некоторое время назад я сходил на собеседование в одну довольно большую и уважаемую компанию. Собеседование прошло хорошо и понравилось как мне, так и, надеюсь, людям его проводившим. Но на следующий день, в процессе разбора полетов, я обнаружил, что в ходе собеседования ответ на как минимум один вопрос был неверен.
Вопрос: Почему поиск в python dict на больших объемах данных быстрее чем итерация по индексированному массиву?
Ответ: В dict хранятся хэши от ключей. Каждый раз, когда мы ищем в dict значение по ключу, мы сначала вычисляем его хэш, а потом (внезапно), выполняем бинарный поиск. Таким образом, сложность составляет O(lg(N))!
На самом деле никакого бинарного поиска тут нет. И сложность алгоритма не O(lg(N)), а Amort. O(1) — так как в основе dict питона лежит структура под названием Hash Table.
Причиной неверного ответа было то, что я не удосужился досконально изучить те структуры, которые лежат в основе работы с коллекциями моего любимого языка. Правда, по результатам опроса нескольких знакомых разработчиков, оказалось что это не только моя проблема, очень многие вообще не задумываются, как работают коллекции в их любимых ЯП. А ведь используем мы их каждый день и не по разу. Так родилась идея этой статьи.
+167
«Враги народа» массовая многопользовательская социально-политическая платформа
6 мин
1K![](https://habrastorage.org/storage/d23b87a6/784ef1ee/5715ef2e/56671476.jpg)
Эта идея созревала у меня почти два года. Первая мысль возникла как реакция на возрастающее напряжение в социально-политической системе в разгар кризиса, когда офисный средний класс вдруг вспомнил о существовании государства и политики.
Elevator pitch — 30 секунд чтобы сказать о главном.
Практически в любом on-line сообществе возникает своеобразный «политический уголок», место где люди спорят, обсуждают или ругают власти, политиков и жизнь. Суть идеи в том чтобы собрать все эти обсуждения и споры в одном месте. Сделать «Хабрахабр о политике» обобщив опыт ЖЖ, викиликс и методы вовлечения MMORPG. Сверхзадача идеи создать новый канал коммуникации между активными представителями общества и теми кто принимает решения. И начать с игры.
Круто? Тогда дальше вас ждет слабоструктурированый поток сознания.
+11
Faviconist: Создайте красивый favicon с HTML5
1 мин
8K![](https://habrastorage.org/storage1/0cb8bbec/660b51d8/51024eb5/e65be492.jpg)
Каждый сайт должен иметь favicon. Если вы до сих пор не сделали значок для вашего сайта — сделайте, теперь это еще проще!
Faviconist — новый favicon генератор от Michael Mahemoff.
Вам больше не нужен Photoshop для создания простого значка. Как Mahemoff пишет в своем блоге: Faviconist для 95% людей, которых устроит микро-дизайн их иконки, остальным все равно придется прибегнуть к Photoshop.
+37
Читаем QR код
5 мин
1.1MТуториал
![](https://habrastorage.org/storage1/82ec194d/82c86917/c2d44992/6a420214.png)
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
+605
Создаём шрифт, имитирующий ваш рукописный почерк
3 мин
1.1MУчащимся старших классов и студентам ВУЗов, зачастую, делая домашнюю работу, приходится выполнять большое количество письменных упражнений. Например, наш преподаватель по обществознанию каждый урок задает нам ДЗ, заключающееся в том, чтобы мы нашли материал в библиотеке или Интернете, и написали его от руки (только за это можно получить оценку «отлично»), даже если найденный материал будет верным, но распечатанный на компьютере, выше четвёрки не жди…
Исходя из всего вышесказанного, я пришёл к выводу: нужно сделать шрифт для компьютера, дублирующий мой почерк. На мой взгляд, сделал я его успешно. Родная мать не отличит, где я писал от руки, а где напечатал компьютер. Многим моим знакомым понравилась эта затея, и они стали расспрашивать меня, как я это всё сделал. И чтобы каждому по сто раз не объяснять, я решил написать эту статью – план выполнения работы с подробными комментариями.
Итак, в этой статье я расскажу вам, как сделать шрифт, имитирующий ваш почерк.
Исходя из всего вышесказанного, я пришёл к выводу: нужно сделать шрифт для компьютера, дублирующий мой почерк. На мой взгляд, сделал я его успешно. Родная мать не отличит, где я писал от руки, а где напечатал компьютер. Многим моим знакомым понравилась эта затея, и они стали расспрашивать меня, как я это всё сделал. И чтобы каждому по сто раз не объяснять, я решил написать эту статью – план выполнения работы с подробными комментариями.
Итак, в этой статье я расскажу вам, как сделать шрифт, имитирующий ваш почерк.
+106
Что такое Prey и как он охотится за вашим компьютером
7 мин
58K![](https://habrastorage.org/storage1/78549494/d39979c0/d81ca5cc/51c3b7ea.png)
Доброго времени суток читатель.
В последнее время участились на хабре сообщения о том, как люди находят свой украденный компьютер с помощью неких волшебных сервисов, преподносящих всю информацию о злоумышленнике на блюдечке с золотой каемочкой.
Речь идет в первую очередь о событиях описанных здесь и здесь, но для любителей все делать своими руками
Мне почему-то казалось, что есть здесь обзоры таких программ, но поиск ничего не выдал, и я решил поведать общественности о замечательном сервисе Prey. Для тех кто о нем знает, пользуется им, либо каким-то другим предлагаю прочитать заключение статьи. Там есть несколько информации про верблюдов для всех пользователей подобных продуктов.
Для тех кому интересны подробности — прошу под кат.
+64
Монитор активности интернет-угроз на рабочем столе
1 мин
9K![](https://habrastorage.org/storage1/1784a9a7/98f79d59/653ee9fb/4b5e3ad2.png)
Прихожу недавно на рабочее место после непродолжительного отсутствия и вижу записку «Хочу такую же заставку как у тебя!». Немного поразмыслив, решаю выложить любимый скринсейвер сотрудников Symantec в открытое пользование. Думаю, такой монитор интернет-угроз понравится многим безопасникам.
Для Windows
Для Macintosh
Подробнее о том, что отображается на мониторе, можно почитать под катом
+26
Информация
- В рейтинге
- Не участвует
- Откуда
- Красноярск, Красноярский край, Россия
- Дата рождения
- Зарегистрирован
- Активность