20.04.2014
|
|
В одной из лекций с PyCon US 2014 проскочила очень заинтересовавшая меня информация о том, что с Python 3.3 CPython поддерживает оптимизацию для классов, и старый вариант использования Python, когда класс могли просто заменить на Dict не верен в корне, т.к. Dict не поддерживает никакой типизации. Вроде все верно и логично: никак не ограничиваемый по данным ассоциативный массив против класса, в котором можно предсказать используемые типы и количество полей.
http://sysdev.me/shattered-hopes-python3/ |
|
28.09.2013
|
|
Почему суровые программисты боятся аналогий ?
|
|
06.04.2014
|
|
День добрый,
Наткнулся на весьма интересный сайт http://www.cookingknife.ru/ посвящённый кухонным ножам. Помимо прочего, сайт содержит много контента для не специалистов, сделанного при этом весьма качественно (хорошие статьи, иллюстрации и видео!) и не содержит рекламы. Отдельная фишка — в системном подходе авторов, без навязывания единственно правильной точки зрения. Рекомендую. В качестве примеров: Подборка видео "Техника владения" http://www.cookingknife.ru/pages/Tehnika.shtml Статья "Анатомия ножа" http://www.cookingknife.ru/pages/Anatomy.shtml Вводное видео "Вы решили купить нож..." http://www.cookingknife.ru/player.aspx?vid=53364092 |
|
09.01.2014
|
|
Один весьма известный и уважаемый в узких кругах исследователь взял на себя труд глянуть по диагонали отдельные части реализации иксов и подготовить об этом презенташку для очередной конференции по новым компьютерным технологиям и защите компьютерных программ: http://media.ccc.de/browse/congress/2013/30C3_-_5499_-_en_-_saal_1_-_201312291830_-_x_security_-_ilja_van_sprundel.html
Для тех, кому лень смотреть и делать выводы... Пара цитат из презентации:
и
речь о 120 security багах, если кто не понял. После такой внезапности, xorg-разрабы решили (видимо впервые за все время существования проекта) просканить свой код хоть каким-нибудь статанализатором. Им под руку попался http://cppcheck.sourceforge.net/... |
|
13.01.2014
|
|
Наш доклад с PoC 2013 об анализе защищенности кода и автоматической генерации эксплоитов: слайды http://www.powerofcommunity.net/poc2013/slide/sergey.pdf, демка http://buff.ly/1hO6rAX
|
|
03.04.2014
|
|
О пакетах нужно знать то, что они соответствуют пространствам имён (namespace). Соответственно на них действуют те же самые правила. По большому счёту это логическая группировка типов. Под типами могут пониматься как классы (class) – типы определяемы пользователем, то есть программистом, так и другие, например структуры (struct), объединения (union), перечисления (enum), псевдонимы (typedef).
Здесь и далее анализ пространств имён рассматривается с точки зрения C++. Истинным Java программистам подобные основы вряд ли нужны, у них скорее будет передозировка проектированием, чем его недостаток. А вот C++ исповедует множественные парадигмы программирования, из-за этого часто его пользователи охватывают лишь одну из них и начинают хаить язык сверху донизу, якобы у них память утекает и тому подобное. Данные диаграммы направлены прежде всего на обобщённое и объектно-оринетированное программирование... |
|
15.02.2014
|
|
На данный момент я кажется окончательно вывел для себя правила по выбору языка для той или иной задачи. До этого многие годы писал на C++, C, Python, Java и Objective-C. Перепробовал кучу экзотических языков, таких как OCaml, Erlang, Scala, Lisp, Closure. Так как я не занимаюсь разработкой UI, Web-сайтов или мобильных приложений, все мои соображения актуальны исключительно для разработки системных приложений, сетевых приложений и бизнес логики. Кроме того, все что я пишу в этой заметке относится к командной разработке приложений в рамках относительно крупной компании, и будет не актуально для команд из 1-2 разработчиков или “домашних” проектов.
http://sysdev.me/how-to-select-programming-language/ |
|
03.04.2014
|
|
Вернёмся к самому началу, к тому чем пичкают преподаватели начинающих программистов. Чтобы не создавать излишнюю таинственность вокруг диаграмм деятельности UML достаточно будет сказать, что они являются блок-схемами. С одной стороны их сильно упростили, с другой внесли возможность моделировать параллельные алгоритмы. Существует огромное количество способов программировать, но все они основаны на манипуляциях в реальном мире. Есть два понятия, объект и действие, в упрощённом виде их можно обозначить существительным и глаголом. Основные узлы диаграммы деятельности являются операциями. Операция в свою очередь подразумевает использование одновременно и действий, и объектов в них участвующих. |
|
02.04.2014
|
|
Для того, чтобы развиваться человеку нужна информация. Одним из лучших источников являются книги. В программировании они играют особую роль, так как зачастую выступают в роли высококачественного экстракта знаний предметной области. В некоторой степени им уступают различные статьи и публикации. Для программиста так же важно время от времени читать код, в том числе непосредственно не относящийся к его работе.
Для этих целей существует множество способов, но речь сегодня пойдёт лишь об одном из них. Технология электронных чернил (e-ink) получила широкое развитие благодаря имитации бумаги. Полный угол обзора и отражённый рассеянный свет увеличивают комфортность чтения, а так же снижают нагрузку на глаза. В свою очередь это уменьшает сенсорную перегрузку, что позволяет получать больше информации и работать гораздо продуктивнее. Далее речь пойдёт о 6-ти дюймовых читалках, в частности о PocketBook, хотя таким же образом можно использовать приборы других фирм. |
|
23.03.2014
|
|
С тех пор как Nokia свернула работы по развитию Symbian, я никак не могу определиться, какими же телефонами мне пользоваться. Выбор-то, по большому счету, не велик: либо красивый iPhone с ограниченным функционалом и выбором железа, но более-менее адекватной фильтрацией приложений в AppStore и какой-ни какой защитой личных данных, либо страшненький Android с широким набором функционала, выбором железа, но совершенно никакой защитой персональны данных, ведь 9 из 10 “фонариков” хотят читать твои СМС-ки и получать полный доступ к сети. Если же говорить об идеальном с точки зрения железа телефоне, то на данный момент это Nokia Lumia 1020, но идеальное железо – это еще не причина терпеть Венду и ограниченный набор приложений на телефоне.
http://sysdev.me/samsung-galaxy-note-3/ |
|