Обновить
32
0
Александр Стаханов@Sky3d

Разработчик

Отправить сообщение

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

Время на прочтение2 мин
Охват и читатели49K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →

Брюс Шнайер об алгоритмах подбора паролей

Время на прочтение3 мин
Охват и читатели3.1K
Брюс Шнайер в своей авторской колонке в Wired рассказывает об атаке методом оффлайнового перебора паролей. Такой метод применяется очень часто, хотя в некоторых ситуациях он непригоден, например, для подбора пин-кода в банкомате.
Читать дальше →

Настольные игры для Windows Phone: разведка боем

Время на прочтение5 мин
Охват и читатели2K
image Мне повезло работать в Саровском Технопарке – секретном месте на границе Нижегородской области и Мордовского заповедника, где среди снегов и умных девушек, которых не соблазнишь iPhone’ом, создает свои нетленные произведения свободный художник, мастер малых форм и адепт iOS-программирования PapaBubaDiop.

Здесь я получил благословление Папы Бубы на игрописание, а вместе с ним золотой запас исходных кодов игр «Чапаев» и «Башни» для iPhone. Всё это богатство было получено под обещание посеять доброе и вечное на полях Android и WP7.

Под хаброкатом привожу историю освоения небольшого, но активно удобряемого редмондским и эспоовским гигантами участка Windows Phone.
Читать дальше →

Карьера в IT

Время на прочтение9 мин
Охват и читатели36K
Что является основным критерием карьерного успеха? Как попасть на желанную работу, если недостаточно опыта? В этой статье я попытался ответить на эти и другие вопросы, связанные с карьерой IT-специалиста.

Читать дальше →

Потокобезопасные события в C# или Джон Скит против Джеффри Рихтера

Время на прочтение11 мин
Охват и читатели71K


Готовился я как-то к собеседованию по C# и среди прочего нашел вопрос примерно следующего содержания:
«Как организовать потокобезопасный вызов события в C# с учетом того, что большое количество потоков постоянно подписываются на событие и отписываются от него?»


Вопрос вполне конкретно и чётко поставлен, поэтому я даже не сомневался в том, что ответ на него можно дать также чётко и однозначно. Но я очень сильно ошибался. Оказалось, что это крайне популярная, избитая, но до сих пор открытая тема. А еще заметил не очень приятную особенность — в русскоязычных ресурсах этому вопросу уделяется очень мало внимания (и хабр не исключение), поэтому я решил собрать всю найденную и переваренную мной информацию по данному вопросу.
До Джона Скита и Джеффри Рихтера тоже дойдем, они то, собственно, и сыграли ключевую роль в моем общем понимании проблемы работы событий в многопоточной среде.

Особо внимательный читатель сможет найти в статье два комикса в стиле xkcd.
(Осторожно, внутри две картинки примерно по 300-400 кб)
Читать дальше →

Google Web Mercator: неоднозначная система координат

Время на прочтение10 мин
Охват и читатели60K
Первого октября 2014 года американское Национальное Агентство Геопространственной Разведки (NGA) опубликовало отчет, в котором изложена критика системы координат Web Mercator, используемой во множестве картографических веб-сервисов. К документу прилагалось подробное разъяснение проблемы и рекомендации для партнеров NGA. Документ получил большой резонанс, но далеко не все статьи, основанные на этом отчете, отличались точностью и грамотностью изложения. Это касается, например, статьи на сайте ГИС Ассоциации, которую, по причине грубейших ошибок в терминологии, можно считать безграмотной. Поскольку именно с этой системой координат разработчики веб-сервисов сталкиваются чаще всего, я считаю, что есть смысл разобраться в проблеме.
Подробности

В чем нарисовать MindMap? Детальный обзор 6 самых популярных программ для рисования mindmap

Время на прочтение5 мин
Охват и читатели618K

Структура обзора


1. Вступление;
2. Сравнение основных 5-х программ по популярности, цене, совместимости, наличию на разных платформах;
3. Подробное описание функционала и особенностей 5-х основных программ.

Введение


Mindmapping (рисование древовидных карт или ментальных карт) прочно вошел в жизнь многих людей именно с появлением соответствующего софта. Используя mindmap, делают техзадания, консультанты-аналитики делают проекты, дизайнеры придумывают концепции, тренера делают презентации, менеджеры составляют планы и т.д.

Целью этой статьи не является пропаганда mindmapping. У древовидного представления данных есть свои плюсы и свои ограничения. Обсуждение уже было в комментариях к публикации "+10 к интеллекту".

Эта публикация для тех, кто хочет выбрать удобный инструмент и узнать какие-то новые фишки, о которых еще не знал.
Читать дальше →

Добро пожаловать в сообщество российских Map Maker’ов

Время на прочтение2 мин
Охват и читатели14K
Рады сообщить, что в России теперь работает Map Maker — онлайн-инструмент, который позволяет миллионам людей по всему миру вносить свой вклад в развитие и улучшение Google Карт. С его помощью можно добавлять малоизвестные маршруты или любимые места, наносить на карты дороги и обновлять уже существующие данные. Внесенные вами изменения после модерации появятся на Google Картах — как десктопных, так и мобильных, в сервисе Google Планета Земля, а также на других сайтах через API Google Карт.

Читать дальше →

15 шаблонизаторов для фронтенд-разработки

Время на прочтение4 мин
Охват и читатели188K

Число JS-библиотек ни в коей мере не уменьшается; наоборот, оно растёт с каждым днём. Когда мы доходим до приложений JS, лучшим выбором оказываются шаблоны, чем полноценные библиотеки, потому что это приводит к более чистому базовому коду и лучшему процессу работы с ними.

Не так давно я писал, что вы могли бы попробовать написать свою библиотеку, когда придёт время. Шаблонизаторы же требуют несколько больших навыков и понимания языка, с которым вы работаете, поэтому лучше полагаться на любой шаблонизатор из имеющихся в списке ниже.
ICanHaz,Hogan,Handlebars,Mustache,Transp-cy,doT,Walrus,Chibi,templayed,ECT,Pithy,T,Nunjuck,Jade,Dust

Собеседование на должность JavaScript разработчика

Время на прочтение4 мин
Охват и читатели288K


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →

UI в Enterprise-приложении, или как мы делали удобную систему для создания карт

Время на прочтение8 мин
Охват и читатели25K
Обычно мы рассказываем про то, как делаем внешние продукты или их отдельные фичи — сам 2ГИС, его графику и типографику или Этажи. При этом тема внутренних продуктов ещё ни разу не поднималась. Исправляем эту досадную оплошность на примере «Fiji» — продукта для отрисовки интерактивной карты.


Читать дальше →

Ликбез по картографическим проекциям с картинками

Время на прочтение9 мин
Охват и читатели102K
Визуализация данных самого разного рода, имеющих некое географическое распределение, в последнее время получает все большее и большее распространение. Тут, на Хабре, статьи с картами встречаются чуть ли не каждую неделю. Карты в статьях очень разные, но роднит их одно: как правило, в них используются всего две картографические проекции, при том — не самые удачные из существующих. Мне бы хотелось дать несколько наглядных примеров проекций, которые выглядят более эстетично и лучше приспособлены для разных видов визуализации. В этой статье будут рассмотрены общемировые проекции и проекции большей части Земли, так как визуализация чего-либо на карте мира, пожалуй, является наиболее распространенной из подобных задач.

Стереографическая проекция
Картинок большого размера будет много

История создания iOS игры о быстрой реакции и стальных нервах

Время на прочтение7 мин
Охват и читатели36K
В начале апреля я уволился с работы. От переизбытка свободного времени я решил написать игру для iOS. Игра про бедного кубика, которого постоянно преследуют другие геометрические фигуры. Настоящая драма. Кубику нужно продержаться как можно дольше без столкновений. Прототип игры был написан примерно за 8 часов. Всего разработка игры заняла 3,5 месяца. Чем я занимался все это время можно узнать ниже.


Читать дальше →

10 самых распространённых ошибок при программировании на JavaScript

Время на прочтение10 мин
Охват и читатели156K


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
Читать дальше →

Ruby on Rails шаг за шагом. #1 Теория

Время на прочтение5 мин
Охват и читатели56K
Ненадолго отставив серию статей о ЯП Ruby в сторону (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), решил презентовать вам новый цикл о фрэймворке Rails. Набравшись некоторого опыта в «обучении» попробую вывести эту серию на уровень качества и продуманности несколько выше, чем прежде.

Целью первой части уроков по Ruby on Rails будет создание некоторого многопользовательского блога (аля Хабр). Также хочется отметить, что для этой первой части желательно иметь познание о Руби хотя бы на уровне трех-четырех капель. Хочется поскорей приступить к кодингу, но начинать все равно придется с теории.

Что такое Ruby on Rails (далее RoR)? Самый распространненый ответ – это базирующийся на ЯП Ruby (далее Руби) фрэймворк, который реализует шаблон (далее паттерн) MVC. Выделим два главных пункта из ответа:
  • Это фрэймворк на базе Ruby
  • Он реализует паттерн MVC
Разберем каждый отдельно.
Продолжаем

Язык программирования Swift. Русская версия

Время на прочтение17 мин
Охват и читатели390K
imageПривет, Хабр! 2 июня все мы воочию могли наблюдать, как компания Apple начала творить революцию в стане Objective-C разработчиков, представив миру свой новый язык программирования – Swift. Вместе с этим, она выложила в открытый доступ небольшую документацию по языку, которую мы решили перевести, если на то будет спрос. Предлагаем вашему вниманию перевод первой главы. Если тема будет интересна, то мы продолжим публиковать перевод каждую неделю.
Читать дальше →

DI и IoC для начинающих

Время на прочтение4 мин
Охват и читатели130K
Тема DI/IoC достаточно простая, но в сети очень сложно найти хорошее описание того, как это работает и зачем это нужно. Вот моя попытка, с использованием Unity. Хорошо ли объяснена тема – судить вам.

Читать дальше →

Тестирование. Начало

Время на прочтение4 мин
Охват и читатели129K

Привет. В этой серии постов я попробую рассказать про тестирование кода на питоне, в частности проектов django. Мы рассмотрим модульное тестирование (юнит-тесты), статический анализ кода и некоторые подводные камни тестирования веб-сайтов.

Вводную часть о пользе тестирования опустим — код, покрытый тестами, становится мягким и шелковистым, про это только ленивый еще не читал / писал.
Читать дальше →

Какой должна быть хорошая карта — ориентиры на Яндекс.Картах

Время на прочтение3 мин
Охват и читатели29K
Яндекс.Картами каждый день пользуются миллионы людей. И каждый из них по-своему — кто-то смотрит пробки, кто-то ищет организации, кто-то строит маршруты, и почти все используют карту для ориентирования. Как должна выглядеть карта, чтобы решать все эти разнообразные задачи? Какие карты хорошие, а какие плохие? Что должно быть нарисовано, а что нет? Подходов огромное множество. Вот, например, некоторые старые карты Москвы:

image

На этой карте XVII века аккуратно нарисован каждый домик в изометрической проекции, а важные объекты описаны в легенде. Вряд ли она использовалась жителями для ориентирования, скорее её рисовали путешественники для своих альбомов.

Сегодня на Яндекс.Картах появились значки объектов и подписи к ним, а также, например, обновился вид пешеходных улиц. Под катом мы расскажем о том, какие исследования и данные мы использовали для этого важного релиза.
Читать дальше →

Хранение иерархических данных в плоском виде

Время на прочтение3 мин
Охват и читатели8.1K
На примере хранения дерева комментариев.

Многие наверняка сталкивались с проблемой хранения комментариев, по крайней мере задумывались об этом. Очевидным решением «в лоб» является ссылка на родительский комментарий и, как следствие, рекурсивные вызовы при необходимости отобразить дерево. Современные СУБД поддерживают иерархические запросы, но мне кажется, что это просто перенос проблемы за пределы области видимости, может быть я не прав. В любом случае я писал для Google Application Engine, там разговора об иерархических запросах не идёт вообще.

Мне очень не нравилась перспектива рекурсии и множество мелких запросов к базе, поэтому я стал изобретать какой-то способ получить все комментарии одним простым запросом. И такой способ я довольно быстро «изобрёл». Опросил нескольких знакомых, оказалось, что мало кто на эту тему задумывался, поэтому возьму на себя смелость описать что именно я реализовал.

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Тула, Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность