Pull to refresh
66
0
Алексей @1div

User

Send message

Играем в Крестики-Нолики с Python и GTK

Reading time2 min
Views24K

Предисловие


Новый блог GTK+ порадовал статьёй для начинающих и я решил попробовать что-то более простое, чем C++/C. Python оказался как нельзя кстати. Объём кода на Python для работы с GTK значительно меньше чем на C++, что не может не радовать.

PyGTK


PyGTK — биндинг библиотеки GTK для языка Python, PyGTK используется во многих открытых программах (например IM Gajim). Библиотека может быть очень интересна для Python программистов, поскольку проста в обращении и полностью скрывает реализацию GTK.

Под катом пример приложения.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments13

Кто кого учит: преподаватель студента или студент преподавателя?

Reading time11 min
Views17K


Вступление



Нет, мой пост не про Никиту Михалкова, как некоторые могли бы подумать, гляда на скриншоты. Мне хотелось бы поведать хабрасообществу о методах преподавания IT-дисциплин на примере нескольких ВУЗов одного из крупных городов в России с позиции человека, который раньше занимался тем, что писал на заказ студентам этих ВУЗов курсовые и дипломные работы и тесно работал не только с учащимися и с преподавательским составом, но и с работодателями. Параллельно это не мешало мне учиться на всё той же специальности, связанной с IT и увидеть всю «систему» своими глазами изнутри. Я читаю хабр уже около четырех лет и заметил, что на нём пишут много статей на тему образования, но тот ВУЗ, где я учился отличается тем, что получил несколько грантов в области нанотехнологий и кластерных вычислений, поэтому я с удовольствием расскажу о всей подноготной таких популярных в телевизоре тем.

В завершение статьи я также хотел бы вывести некоторые тезисы на тему образования в IT, которые будут несколько различаться с общепринятыми, чтобы дать вам пищу для обсуждений в комментариях, если конечно это будет вам интересно…
Читать дальше →
Total votes 186: ↑145 and ↓41+104
Comments292

Рецепт приготовления 1U сервера в домашних условиях

Reading time8 min
Views45K
Блюдо, о котором пойдет речь в этой статье, довольно-таки незамысловатое, однако на многих интернет-конференциях разгораются нешуточные дискуссии как по поводу правильности его приготовления, так и по поводу целесообразности его употребления.

Это блюдо может быть приготовлено в дорогом ресторане из качественных ингредиентов по уникальным рецептурам поваров из Dell, Fujitsu, HP, IBM и Sun. Да, цена таких серверов будет соответствующей, ведь в нее будет включена не только плата за приготовление, но и
Читать дальше →
Total votes 89: ↑65 and ↓24+41
Comments204

Улучшенный Android NDK (Native Development Kit)

Reading time5 min
Views34K
Долгое время занимаясь разработкой под Android, я постепенно пришел к выводу, что многих вещей мне, как разработчику, сильно не хватает. Тогда, в начале 2010-го, не хватало только C++ exceptions и RTTI. Без них любой нетривиальный C++ код просто не мог быть портирован на Android и требовал практически полного переписывания. Это было очень существенное ограничение, которое никак не давало мне покоя. К счастью, Android — это open source, поэтому, вооружившись максимой «если тебе что-то нужно, сделай это сам», я засел за работу. К моему удивлению, сделать поддержку полноценного C++ с исключениями и RTTI оказалось довольно несложно. Потребовалось всего около недели работы. Далее был сделан сайт, на который и были выложены получившиеся пакеты для Windows, Linux и Mac OS X, а также патч и инструкция по сборке.

Читать дальше →
Total votes 182: ↑177 and ↓5+172
Comments58

Обратная разработка коммерческой программы: кейген для Zuma Deluxe

Reading time11 min
Views34K



Вступление

Здравствуйте, Хабралюди.
Судя по последним статьям в блоге Assembler, тема кейгенов становится здесь весьма популярной. Что ж, внесу и я свои пять копеек.
Наш сегодняшний подопытный — игра Zuma Deluxe, на которую я никак не мог отгуглить себе кейген (не подумайте, что я игроман: на всё данное исследование меня вдохновил тов. k_d с его самоиграйкой для Zuma). И сразу дисклеймер: данный взлом от начала и до конца проделан в образовательных целях и не имеет целью нести убытки компании PopCap Games.
Читать дальше →
Total votes 224: ↑208 and ↓16+192
Comments72

Читайте код, с остальным справится компилятор

Reading time3 min
Views3.1K

Введение


Уже не в первый раз мне задают связанные вопросы:
«Зачем ты делаешь так много функций?»;
«Зачем ты выносишь, однократно используемый, код в функции?»;
«Остальные не знакомы с твоими правилами именования функций. Как они будут с этим работать?». Поэтому опишу свое видение проблемы. Ну а сообщество подскажет, к чему же стоит стремиться.
Читать дальше →
Total votes 100: ↑74 and ↓26+48
Comments112

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views380K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

Тема перевода зарубежной профессиональной IT-литературы стоит достаточно остро, многие любят читать книги в оригинале по различным причинам, таким так время выхода русского перевода с запозданием на годы, недостаточный профессионализм переводчика и соответствующая потеря тонкостей и авторского стиля и т.д.

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →
Total votes 236: ↑219 and ↓17+202
Comments182

Язык программирования D — продолжение 2

Reading time9 min
Views3.1K
Доброго всем времени суток!
Сегодня я продолжаю рассказ о замечательном языке программирования D.
В своих прошлых статьях я вел рассказ о мультипарадигменности и метапрограммировании в D.
К тому же не могу не отметить замечательную статью Volfram, в которой он продолжил тему метапрограммирования, рекомендую.
За окном праздники, люди отдыхают, празднуют, радуются, потому не хочу нагружать вас тяжелой информацией и речь сегодня поведу на несложную, но от того не менее приятную тему: перегрузка операторов.
Вы можете сказать, что это вообще мелочи и не очень-то и интересно, но как раз в D перегрузка операторов является немаловажной частью дизайна языка и, что еще важнее, я смогу показать несколько примеров использования CTFE (Compile-time function evaluation), о котором была речь в предыдущей статье. Не зря же я им так восхищался, верно?
В добавок, тема перегрузки операторов в D затрагивает много связанных с ней немаловажных концепций, которые в свою очередь я раскрою в статье.
Итак, кому интересно — добро пожаловать под кат.

Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments18

Решение проблемы с местом, организация директории «Разобрать»

Reading time4 min
Views3.5K
Думаю у каждого из нас имеются директории «Разобрать» и «Downloads», заглядывая в которые все мы ужасаемся от их содержимого, и в особенности от самой идеи, что когда-нибудь все это придется разгребать. Предлагаю свое решение проблемы с недостатком места, это не способ суперархивации, и не способ бесконечного наращивания места где-либо в облаке, лишь идея по организации скачанной информации.

image

Какова вероятность того, что если о файле не вспомнилось в течение 2 недель, вспомнятся через год или два, при том, что почти все скачанное в Интернете имеет свойство быстро устаревать. Данное решение так же подходит и для организации shared ресурсов (файловых помоек).
Читать дальше →
Total votes 60: ↑44 and ↓16+28
Comments195

Швеция официально признала файлообмен религией

Reading time1 min
Views6.9K


Правительство Швеции официально признало Церковь копимизма — религию, центральным принципом которой является свободный обмен информацией.

Копимисты (copy me) верят, что обмен информацией является священным и что ценность информации умножается, когда она распространяется. Священными символами их религии являются сочетания клавиш для копирования и вставки Ctrl+C и Ctrl+V.
Читать дальше →
Total votes 186: ↑163 and ↓23+140
Comments186

Наперегонки с машиной: вызовы и перспективы экономики будущего

Reading time13 min
Views6.4K

Одна из проблем пост-кризисной Америки — высокий уровень безработицы. Значительная часть из 12 миллионов американцев, потерявших работу в ходе глобального экономического кризиса 2007-2009 годов так и не смогли найти новое рабочее место, несмотря на восстановление экономики и рекордные показатели крупных американских корпораций. Ведущие экономисты не могут назвать точных причин сложившейся ситуации. Кто-то говорит о цикличности в экономике и недостаточности роста. Другие заявляют о стагнации и снижении американского динамизма — способности и склонности к инновациям. Третьи считают что наступил “Конец работы” — новые технологии заменят труд рабочих.
Исследователи из MIT Эрик Бриньолфссон (Erik Brynjolofsson) и Эндрю Макафи (Andrew McAfee) видят причину в том, что многие работники проигрывают в гонке против ускоряющегося прогресса информационных технологий. Но, полагают, что развитие технологий открывает и множество новых возможностей, когда человек и машина дополнят сильные стороны друг друга.

Пересказ-перевод-рецензия книги “Race against the machine” by Erik Brynjolofsson and Andrew McAfee.
Читать дальше →
Total votes 78: ↑71 and ↓7+64
Comments104

Nginx обогнал Microsoft IIS и вышел на второе место по активным сайтам

Reading time1 min
Views4K
В свежей статистике Netcraft за январь 2012 произошло замечательное событие: веб-сервер nginx наконец-то обогнал Microsoft IIS и вышел на второе место в интернете среди активных сайтов (то есть сайтах с уникальным контентом, сделанных не по шаблонам).



Разработчик Декабрь 2011 Доля Январь 2012 Доля Изменение
Apache 102 005 032 58,21% 105 684 049 57,93% -0,28
nginx 20 342 324 11,61% 22 221 514 12,18% 0,57
Microsoft 21 572 870 12,31% 22 142 114 12,14% -0,17
Google 14 240 979 8,13% 14 412 926 7,90% -0,23
Примечательно, что в этой статистике все основные конкуренты потеряли позиции, и только nginx прибавил по сравнению с декабрём 2011 года.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments55

Как Google тестирует ПО

Reading time9 min
Views40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →
Total votes 224: ↑217 and ↓7+210
Comments52

Генерация уникального идентификатора пользователя средствами Nginx

Reading time5 min
Views14K
Приветствую Вас, хабрачитатели!

Расскажу об одной задачке, которая встала передо мной, и как я ее решил.

Сразу оговорюсь — часовой поиск в G и в Я удовлетворяющего результата не принес, но за следующий час было реализовано собственное решение.

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


Суть задачи сводилась к тому, что мне требовалось уникально идентифицировать посетителя в независимости от природы и вероисповедания компонентов системы (Web-проект). Причем сделать это максимально просто, быстро и без большого оверхеда по быстродействию.
Важно заметить, что авторизация пользователя по логину/паролю или еще как не производится.

В качестве веб-сервера и первичного балансировщика нагрузки у меня имеется Nginx.

В моей системе для php используетcя php-fpm через fastcgi, так же через fastcgi работает c++ сервер бизнес логики.

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments33

Zend Framework 2 — долгожданные усовершенствования в Controller и View

Reading time4 min
Views13K
image На днях попробовал новый ZF2. Перечитал кучу материала, собрал по их туториалу простенький сайтик. И когда дошел до создания Action'а и View'хи то пределу моей радости не было границ. Передача переменных во view теперь осуществляется через return, и они стали локальными (никакого $this->param). Только ради этого усовершенствования я готов уже сейчас переходить на ZF2, несмотря на то что он в бете.

Под катом вас ожидает: коротенько о новшествах, о производительности и об изменениях касательно контроллера и шаблонов вьюхи.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments59

Неубиваемая флешка :: 2

Reading time5 min
Views43K
“Неубиваемая флешка”, “Бронефлешка”, “Флешка Бумбурума” — как только мои друзья не называли этот, казалось бы, простой кусочек металла. Но как недавно было подмечено в твиттере, именно с него началась моя активность на Хабре — пост про первую версию “неубиваемой” флешки действительно был дебютным. И если первый блин был больше похож на ком, то сегодня в статье речь пойдёт о втором релизе флешки — в декабре 2013 с выжившими одноклеточными организмами она будет праздновать годовщину конца света )



Продолжение под катом
Total votes 200: ↑164 and ↓36+128
Comments179

Радиоуправляемая Wi-Fi машинка с камерой

Reading time8 min
Views116K

Начало


Летом появилась мысль сделать радиоуправляемую машинку, но не просто нечто похожее на творение китайской инженерной мысли, которое продается на каждом шагу, а машинку, управлять которой можно было бы с компьютера или телефона. Понято, что машинка, которой можно управлять через Wi-Fi в чистом виде, совершенно не интересна. А вот если бы у нее была бы камера? А если еще и управление через 3G/EDGE/GPRS? Вот это – другое дело!
Читать дальше →
Total votes 157: ↑153 and ↓4+149
Comments62

Демо Nokia Maps 3D (WebGL)

Reading time1 min
Views3.1K
Команда разработчиков Nokia Research Center выкатила по-настоящему удивительное демо картографического сервиса на WebGL. Кроме красоты самой 3D-модели, вызывает восхищение минимальное потребление CPU при рендеринге, плавный скроллинг и больше всего — возможность произвольно менять угол зрения и вращать модель.



Возможно, в будущем этот проект придёт на смену нынешнему сервису Nokia Maps. Жаль, что основного разработчика движка данного сервиса — компанию C3 Technologies — недавно поглотила Apple, так что на продление соглашения с Nokia можно не рассчитывать.
Читать дальше →
Total votes 86: ↑79 and ↓7+72
Comments50

Классическая механика: о диффурах «на пальцах»

Reading time7 min
Views18K
Недавно взглянул на сорцы Farseer Physics Engine. Стало интересно как в этом движке реализован динамический объект. Как и ожидал, не встретил там привычных мне дифференциальных уравнений и их дискретных реализаций в виде разностных уравнений или дискретных моделей пространства состояний. Главная отмазка заявляемая причина отказа от «честной» механики во многих игровых физических движках — излишняя сложность работы с дифференциальными уравнениями и слишком большая вычислительная нагрузка.
Под катом мои изыскания на эту тему
Total votes 83: ↑79 and ↓4+75
Comments21

OTIXO — Получаем WebDAV доступ ко всем своим хранилищам

Reading time1 min
Views6K



Все мы, теми или иными способами уходим в облака ) На просторах интернета набрел на очень интересный и полезный сервис. Идея гениально проста. Регистрируемся, добавляем свои аккаунты (из внушительного списка облачных сервисов) и получаем к ним доступ с одного логина. “Ну и что” скажете Вы. Не торопитесь, теперь самое интересное. Этот сервис позволяет натурально настроить WebDAV доступ ко всему Вашему богатству! Интересно? Прошу под кат…

Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments36

Information

Rating
Does not participate
Location
Йошкар-Ола, Марий Эл, Россия
Registered
Activity