Спешу рассказать хабрасообществу о, относительно новом, дьявольски завораживающем проекте Gource которое еще не упоминалось. Это приложение позволяет визуализировать историю изменений в системе контроля версии. Отрисовывает невероятно красиво при помощи OpenGL.
Алексей @norlin
software engineer | game developer
Как мы строили свою WiFi-сеть
15 min
128KЯ хочу рассказать о том, как мы строили свой собственный, хороший WLAN — Wireless LAN.
Эта статья будет полезна тем, кто собирается построить в своей компании WLAN, причем не простой, а хорошо управляемый и такой, чтобы пользователи этого WLAN были довольны, т. е. не замечали бы его после начального подключения.

Эта статья будет полезна тем, кто собирается построить в своей компании WLAN, причем не простой, а хорошо управляемый и такой, чтобы пользователи этого WLAN были довольны, т. е. не замечали бы его после начального подключения.

+76
7 способов улучшения процесса разработки адаптивного дизайна
10 min
45KTranslation

Адаптивный дизайн стремительно становится индустриальным стандартом, что влечет за собой целую карусель передового опыта, платформ и инструментов. В результате происходит сдвиг в мышлении специалистов и, в частности, в понимании того, как адаптировать рабочий процесс для повышения его эффективности.
Конечно, из-за того, что процесс работы над адаптивным проектом очень индивидуален и итеративен, проанализировать его и дать решения на все случаи жизни довольно трудно. Тем не менее, некоторые общие способы и техники можно применять практически всегда.
Мы рассмотрим семь техник по улучшению адаптивного дизайна начиная со структуры контента и заканчивая масштабируемыми изображениями.
+37
Получение 3D объекта по 1 фото
1 min
74KНа выставке SIGGRAPH ASIA 2013 (англ.), посвященной компьютерной графике и интерактивным технологиям, представлена разработка 3–Sweep, позволяющая лишь по одной фотографии получить трехмерный объект с текстурой. Хотя речь идет о объектах являющихся наборами примитивов и их растяжений по некоторому пути, но скорость и простота работы впечатляет! Также оценивается и дополняется то, что могло бы быть за объектом, после его вырезания из фотографии, хотя мы уже видели похожий инструмент от Adobe.
+108
Обзор Leap Motion
3 min
50K
Приветствую вас, пользователи Habrahabr! Многие из нас на протяжении 10 лет щелкали мышкой, после этого 5 лет нажимали на тачпад, а совсем недавно начали водить пальцем по экрану.
Скоро настанет время, когда мы будем махать руками перед экраном – бесконтактное управление. И первопроходец в этом тернистом пути – Leap Motion, американская разработка, продажи которой начались уже по всему миру (серые, конечно). Предлагаю вам взглянуть на обзор этого устройства и порассуждать на тему будущего…
+24
Знай сложности алгоритмов
2 min
1.1MTranslation
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
+280
Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик
9 min
375KTranslation

Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.
Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.
Как данные защищаются? Как клиент и сервер могут установить безопасное соединение, если кто-то уже прослушивает их канал? Что такое сертификат безопасности и почему я должен кому-то платить, чтобы получить его?
+153
Визуализация графов. Метод связывания ребер
7 min
58KИногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:

Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.

Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.
+196
Karma — тестируем javascript в консоли
3 min
54KЗдравствуйте. Признаюсь честно, я пишу тесты редко. Т.е хотел бы чаще, но все как-то не получается. Вроде и руководство в принципе не против даже, но все равно находятся задачи посрочнее и поважнее. Тем не менее на днях заглянув в redmine обнаружил что задач практически нет (точнее они были, но требовали сперва дождаться бэкэнда).
Что ж, самое время вспомнить про тесты (конечно нужно было раньше о них думать, но лучше поздно чем никогда).
Вообще я до этого уже пробовал писать тесты, в том числе и на бэкэнде, а конкретно
Скачиваем, заходим в корень видим папку test а в ней файл karma.conf.js
Да и в самом ридми написано, что тесты запускаются так
Гуглим karmajs и находим то что нам нужно karma-runner.github.io/0.8/index.html
Утилита для тестирования. Итак что она может?
В общем то мне этих возможностей уже оказалось достаточно, чтобы взяться за нее. Но там есть и другие, в которые я пока не вникал, например интеграция с
Что ж, самое время вспомнить про тесты (конечно нужно было раньше о них думать, но лучше поздно чем никогда).
Вообще я до этого уже пробовал писать тесты, в том числе и на бэкэнде, а конкретно
django
. Я еще тогда подумал что было бы здорово запускать тесты из консоли а не в окне браузера. Ну а поскольку с недавнего времени я активно слежу за развитием angular
, то почему бы не посмотреть как это сделано у них. Тем более как-то краем глаза я зацепил момент, что там тесты как раз запускаются в консоли. Плюс к тому же с нуля разбираться в премудростях тестирования не хотелось и я решил взять какой нибудь готовый проект с тестами, посмотреть как оно сделано, и погонять собственно тесты на нем. Мой выбор пал на angular-ui, а точнее на один из его модулей ui-utils.Скачиваем, заходим в корень видим папку test а в ней файл karma.conf.js
Да и в самом ридми написано, что тесты запускаются так
karma start —browsers ….
Гуглим karmajs и находим то что нам нужно karma-runner.github.io/0.8/index.html
Утилита для тестирования. Итак что она может?
- Запускать тесты из консоли
- Автоматически прогонять все тесты при каждом сохранении!!!
- Возможность писать тесты на множестве фреймворков, таких как jasmine, qunit и др.
- Прогонять тесты сразу на нескольких браузерах. (в том числе виртуальных, например fantomjs).
В общем то мне этих возможностей уже оказалось достаточно, чтобы взяться за нее. Но там есть и другие, в которые я пока не вникал, например интеграция с
jenkins
+6
Haxe + OpenFL: даже моя бабушка сможет сделать игру под iOS
3 min
54KTutorial

Привет, %USERNAME%! решил рассказать тебе, как, приложив минимальные усилия, начать разрабатывать на Haxe игры под iOS (на самом деле и не только, но я решил ограничить данную статью именно этой платформой).
Для этого нам понадобятся:
бабушкаРуки. Желательно прямые. Ещё желательней из плеч;- Mac OS X;
- XCode;
- Идея для игры.
Приглашаю всех под кат, даже если чего-либо из списка у Вас нет в наличии.
+27
Не повторяйте моих ошибок на собеседовании
5 min
357K
Я — разработчик с чуть более чем 10 годами опыта разработки и опытом прохождения нескольких раундов собеседований каждый год-два.
Пост написан под впечатлением двух предыдущих постов на смежную тему — Как я искал сотрудников или Как не надо проходить собеседования и Как я искал работу или Как не надо проводить собеседования. И хотя в этих постах освещены наиболее насущные проблемы соискателя и работодателя, рискну высказать свое мнение, которое основано на лично набитых шишках и помогает взглянуть на проблемы под другим углом.
Также рискну обрисовать пути решения проблем, состоящие в том, чтобы поменять то, что можно поменять (в основном — себя), а не то, чего изменить нельзя (скажем, рынок труда).
Ошибка №1
Соискатель получает столько приглашений на собеседование, что не в состоянии их обработать.Логичный вывод соискателя: «на рынке острый дефицит кадров, так что могу отсеивать компании как хочу, отфутболив тех, кто заикнется о коде на бумажке, сортировках или гномиках». Возможна и менее скромная вариация того же вывода: «раз меня все хотят, значит, я классный профессионал, могу всем диктовать свои условия». Звучит, вроде, логично, но абсолютно бесполезно.
Я предлагаю взглянуть на корень ошибки (да-да, это ошибка). Если соискатель получает слишком много приглашений — значит, он неправильно составил резюме. Ведь именно резюме послужило причиной лавинообразного интереса.
+137
Hyperboria: Интернет 2.0
3 min
118K
Hyperboria — это Open Source реализация проекта Mesh сетей, аналог всем известного и желанного проекта Netsukuku, который, к сожалению, умер.
Другими словами, Hyperboria это самоорганизующаяся децентрализованная сеть, которая сама строит маршруты между узлами.
Или проще говоря — это то, чем интернет должен был стать, свободным, не цензурируемым, быстрым и автоматически масштабируемым.
+82
Hyperboria: Маршрутизация
3 min
33K
Продолжая цикл статей об Hyperboria, в этой статье будут рассмотрены следующие аспекты:
1) Количество IP адресов в Hyperboria, как они генерируются.
2) Коллизии и как с ними бороться.
3) Почему используется служебный (приватный) диапазон IPv6 адресов.
4) Роутеры и Hyperboria.
5) Маршруты и DHT.
6) Защищенность сети.
+34
Эдвард Сноуден: осведомитель, который выдал секреты АНБ
3 min
164K
Несколько часов назад газета The Guardian сообщила имя человека, который передал в редакцию секретные документы Агентства национальной безопасности США, включая презентацию проекта PRISM и запрос на информацию обо всех абонентах сотовой связи Verizon. Крупнейшую утечку в истории АНБ организовал 29-летний компьютерщик, специалист по информационной безопасности Эдвард Сноуден (Edward Snowden). Теперь он сам попросил раскрыть свою личность — и объясняет мотивы этого поступка.
Эдвард Сноуден не боится мести со стороны американского правительства, и для него раскрытие информации было делом принципа.
+169
The Guardian опубликовало очередной слайд из секретной презентации о PRISM
1 min
28K
На Хабре ранее уже появилось несколько статей и заметок о секретной правительственной программе по сбору данных пользователей/клиентов технологических компаний. В Сети публикуется информация разного рода — сами технологические компании отрицают участие в подобного рода программах, но появляются и материалы, которые подтверждают возможность сбора пользовательских данных правительством США. На днях известное издание "The Guardian" опубликовало очередной слайд из 41-страничной презентации АНБ/NSA (Агентство [Управление] национальной безопасности США) о PRISM и родственных программах. Оказалось, что PRISM — это еще не все.
+41
Google и Facebook не давали разведке прямого доступа к серверам, но создавали для неё «защищённые порталы»
2 min
25K
Девять компаний, обвинённых вчера в участии в разведывательной программе по сбору данных PRISM, опровергли обвинения, заявив, что не предоставляли «прямого доступа» к своим серверам. Однако по словам The New York Times, всё дело в формулировках.
Как пишет The Verge с ссылкой на The Times, на самом деле правительство обратилось к таким компаниям, как Google, Apple, Microsoft и Facebook, с вопросом о разработке цифровых защищённых порталов, в которые компании могли бы передавать данные и куда позже могло бы получить доступ правительство.
По данным источников Times, большая часть упоминавшихся компаний сначала сопротивлялись реализации такого сервиса, но в итоге многие из них согласились на участие в той или иной степени (Twitter, как сообщают, отказался от участия). Причём и Google, и Facebook принимали участие в обсуждении планов по разработке отдельных «защищённых порталов» — и Facebook якобы уже создал такую систему, несмотря на сегодняшний возмущённый пост Марка Цукерберга.
+39
Ларри Пейдж о программе PRISM: «What the ...?»
3 min
73K
Штаб-квартира АНБ
Как известно, 6 июня газета The Washington Post опубликовала слайды из 41-страничной презентации PowerPoint, в которой речь идёт о секретной программе АНБ по наблюдению за гражданским населением. Якобы, в рамках программы PRISM девять интернет-компаний предоставляли АНБ прямой доступ к своим серверам для получения информации о пользователях: Microsoft, Yahoo, Google, Facebook, PalTalk, YouTube, Skype, AOL и Apple.
+74
Инспектор UIKit в реальном времени (Reveal App)
2 min
11K
Программу сравнивают с Web Inspector для WebKit, если это сравнение вам о чём-нибудь говорит. Если без сравнения, то это инструмент, который позволяет вживую исследовать всю иерархию объектов UIKit в вашем приложении и менять их аттрибуты.
+16
Практика удаленной работы: взгляд изнутри
6 min
39KПосмотрите на результаты поиска:

Интересно, поисковая выдача по картинкам действительно отражает мнение большинства людей об удаленной работе или это прочно обосновавшийся в Интернете стереотип? Или может это только я работаю 8 часов в день пять дней в неделю, правда на удалении более чем в 1000 км от своего места работы?
Не хочу развенчивать ничьи мечты и не стремлюсь переломить стереотипы. Просто хочу немного рассказать о практике удаленной работы со стороны работника.

Интересно, поисковая выдача по картинкам действительно отражает мнение большинства людей об удаленной работе или это прочно обосновавшийся в Интернете стереотип? Или может это только я работаю 8 часов в день пять дней в неделю, правда на удалении более чем в 1000 км от своего места работы?
Не хочу развенчивать ничьи мечты и не стремлюсь переломить стереотипы. Просто хочу немного рассказать о практике удаленной работы со стороны работника.
+65
24 совета javascript-разработчику
9 min
86KTranslation
От переводчика: Не смотря на то что оригинал данной статьи датирован январем 2009 года, она не потеряла актуальности и теперь. Я надеюсь что даже те, кто используют JavaScript не первый год, почерпнут для себя что-то полезное.
В JavaScript существует два разных типа операций сравния: === / !== и == / !=. Считается хорошим тоном всегда использовать первую пару для сравнения.
1. Используйте === вместо ==
В JavaScript существует два разных типа операций сравния: === / !== и == / !=. Считается хорошим тоном всегда использовать первую пару для сравнения.
“Если два операнда одного типа и значения, то === вернет true, а !== false”
JavaScript: The Good Parts
+39
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity