Search
Write a publication
Pull to refresh
11
0
Ролич Сергей @RAMAZAN

Go developer

Send message

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time9 min
Views633K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Как работают WEP, WPA и WPS

11 причин быть управленцем

Reading time8 min
Views139K
Поводом для написания этого поста стали замечательные размышления автора TheR о подводных камнях перепрофилирования из программиста/инженера/просто технаря в менеджера. Автор поста обещал написать свой собственный список причин, почему же иногда все-таки стоит это делать, но прошло уже почти полгода, а списка так и не появилось, так что расскажу о своем видении проблемы.

Моя карьера стартовала в самом начале нулевых, в течение 6 лет я работал программистом и консультантом разных уровней, а примерно 5 лет назад я полностью перепрофилировался в менеджера. Решение уходить из чисто технической области, как и многие, я принимал под впечатлением иллюзий о том, что у менеджеров намного больше денег, больше возможностей принимать решения и т.д. Как и писал TheR в упомянутом выше посте, многие мои предположения о работе менеджером оказались иллюзией, но некоторое количество очевидных (и не очень) плюшек в этой профессии все же присутствует. Я надеюсь, что эти два поста про плюсы и минусы такого перепрофилирования помогут кому-нибудь из Хабровчан принять взвешенное решение о дальнейшем развитии своей карьеры.
Читать дальше →

Многомодульный Java-проект с Gradle. Шаг за шагом

Reading time11 min
Views194K
Очень много статей о Gradle написано. И со своей стороны хотелось бы добавить в копилку такую пошаговую инструкцию, прочтение которой, я надеюсь, позволит тем, кто плохо знаком с Gradle, “распробовать” и продолжить самостоятельно изучать этот инструмент.

Данная статья не будет подробно описывать такие темы, как плагины gradle (plugin), задачи (task), зависимости (dependencies), автоматическое тестирование и прочие прелести этого сборщика проектов. Во-первых, каждая тема заслуживает отдельной статьи или даже серии статей, а во-вторых, на эти темы уже есть статьи на хабре, например: Gradle: Tasks Are Code, Gradle: Better Way To Build. А еще на официальном сайте Gradle есть прекрасно написанный Gradle User Guide. Я же cфокусирую внимание на непосредственном решении поставленной задачи, и все сопутствующие темы будут описаны в рамках этой самой задачи.
Сначала определимся с целью, что же мы хотим получить на выходе? А цель указана в заголовке статьи. Мы хотим получить проект с несколькими модулями, который собирается с помощью Gradle. И так, приступим.
Читать дальше →

LifeTrak: бюджетные спортивные часы + фитнес трекер

Reading time3 min
Views32K


Носимая электроника сейчас становится (вернее, уже стала) одним из наиболее популярных направлений развития гаджетов. Функцию слежения за некоторыми показателями жизнедеятельности организма человека включают в очень многие гаджеты такого рода, есть и специализированные устройства — это спортивные часы и фитнес трекеры (часто это одно и то же).

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

Спортивные часы/фитнес трекеры LifeTrak — как раз бюджетные устройства, с хорошей функциональностью. LifeTrak Move C300 и LifeTrak ZoneC410- две модели от LifeTrak, на которые стоит обратить внимание.

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

Солим пароли

Reading time2 min
Views93K
Данная заметка призвана пролить свет на использование соли при хешировании пароля. Если посмотреть в комментарии к этому топику habrahabr.ru/post/145642, то возникает подозрение, что некоторые люди неправильно понимают предназначение соли. На примерах постараюсь показать, для чего используется этот механизм. Всех заинтересовавшихся прошу под кат.
Читать дальше →

Немного о хэшах и безопасном хранении паролей

Reading time4 min
Views72K
Upd. Если вы знаете, что такое BCrypt, можете дальше не читать. Если вы используете PHP 5.5+ то можете прочитать эту статью. Ниже же я изобрел свой велосипед, рабочий, но с двумя рулями, задний запасной. Молод был, горяч.

Привет, хабр! Сегодня, в процессе разработки системы аутентификации для своего проекта передо мной встал выбор — в каком виде хранить пароли пользователей в базе данных? В голову приходит множество вариантов. Самые очевидные:

  • Хранить пароли в БД в открытом виде.
  • Использовать обычные хэши crc32, md5, sha1
  • Использовать функцию crypt()
  • Использовать статическую «соль», конструкции вида md5(md5($pass))
  • Использовать уникальную «соль» для каждого пользователя.

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

Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера

Reading time9 min
Views372K

Прошу прощения у всех, кто долго ждал этой статьи. Подготовка материалов требует массы времени и труда. В этой статье я постараюсь рассказать обо всех методиках коррекции зрения, которые существуют на данный момент. Мы пройдем путь от первых очков XIII века до современных лазерных методов коррекции, таких как femto-LASIK и ФРК.

Если вы не читали предыдущих статей цикла, то я бы рекомендовал ознакомиться в первую очередь со второй частью. Именно в ней подробно разбираются основные нарушения зрения и биологические основы нашего зрения. Объем статьи получился очень большой, поэтому я решил разбить ее на две части для облегчения восприятия.
Все, кому интересно — добро пожаловать под кат.

Остальные части


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера
Читать дальше →

Исключения в Java, Часть I (try-catch-finally)

Reading time23 min
Views445K
Это первая часть статьи, посвященной такому языковому механизму Java как исключения (вторая (checked/unchecked) вот). Она имеет вводный характер и рассчитана на начинающих разработчиков или тех, кто только приступает к изучению языка.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

1. Ключевые слова: try, catch, finally, throw, throws
2. Почему используем System.err, а не System.out
3. Компилятор требует вернуть результат (или требует молчать)
4. Нелокальная передача управления (nonlocal control transfer)
5. try + catch (catch — полиморфен)
6. try + catch + catch + ...
7. try + finally
8. try + catch + finally
9. Вложенные try + catch + finally


1. Ключевые слова: try, catch, finally, throw, throws


Механизм исключительных ситуаций в Java поддерживается пятью ключевыми словами
  • try
  • catch
  • finally
  • throw
  • throws


«Магия» (т.е. некоторое поведение никак не отраженное в исходном коде и потому неповторяемое пользователем) исключений #1 заключается в том, что catch, throw, throws можно использовать исключительно с java.lang.Throwable или его потомками.
Читать дальше →

Роботы-пылесосы: протестировано на людях

Reading time5 min
Views49K


Робот-пылесос — у многих из нас эти бытовые устройства ассоциируются с брендом iRobot. Но сегодня количество марок, которые можно найти на рынке насчитывает не один десяток. Да, iRobot остается одним из самых узнаваемых, но не менее активно в лидеры пробиваются и аппараты от Samsung, и устройства от LG, и еще целый ряд менее именитых азиатов. Цена на робопылесосы стартует от 8-9 тысяч, а затем улетает в космос — можно найти модели и за 30, и за 40 тысяч. Самые ходовые, естественно, это бюджетные пылесосы стоимостью около 10 тысяч рублей. Плюс-минус.
Читать дальше →

Мобильные приложения для путешествий

Reading time9 min
Views94K

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

Octotree: отображение кода на Github в виде дерева

Reading time1 min
Views24K


Github является незаменимым сайтом, на котором разработчики проводят многие часы. Некоторым хочется добавить удобства в повседневную работу. Расширение Octotree для Firefox/Chrome/Safari делает именно то, чего так не хватало на Github, а именно, отображает исходный код в виде дерева.
Читать дальше →

Знакомство с CoffeeScript

Reading time8 min
Views116K
Статья представляет собой не исчерпывающее описание языка программирования CoffeeScript, а именно знакомство, обзор некоторых интересных возможностей. Целевая аудитория — те, кто еще не смотрел в сторону CoffeeScript, но так или иначе используют JavaScript в своих проектах.

CoffeeScript — это маленький язык, который транслируется в JavaScript. Его документация умещается на одной странице — coffeescript.org и отличается компактностью и наглядностью. Я даже сомневался в необходимости данной статьи, когда есть такое классное описание «от производителя», но все же рискнул расставить акценты и прояснить некоторые детали.
Читать дальше →

[интеллект-карта] Спецификация хорошего ПМа

Reading time1 min
Views27K
image
Друзья, спасибо за позитивные комментарии после нашего последнего видео «Как навести порядок снизу: за 90 дней от бардака к проектному офису»! Мы решили продолжить разговор с нашим экспертом по управлению проектами Иваном Селиховкиным (selikhovkin). И затронули такую холиварную тему, как знания и навыки, которыми должен обладать хороший ПМ.

Я отчетливо помню, как после пары лет работы в Intel у меня возникло четкое убеждение, что я знаю, как надо. Убеждение было вскоре многократно пересмотрено после работы с аутсорсинговыми компаниями (о, сколько там многообразия!), стартапами, ИТ-отделами не-ИТ компаний и т.д.

Расширение контекста (не важно, инженера или менеджера) – чертовски важная штуковина. Поэтому помимо набивания собственных шишек, мне всегда было интересно разговаривать с людьми, имеющими разносторонний опыт и широкий кругозор. selikhovkin – безусловно, один из них. Как человек системный, Иван набросал еще и интеллект-карту «Знания и навыки хорошего менеджера проекта», по которой и вел рассказ.

Интеллект карта в 4 форматах и видео-разбор

Основные принципы настройки Garbage Collection с нуля

Reading time7 min
Views50K
В данной статье я бы не хотел заострять внимание на принципе работы сборщика мусора — об этом прекрасно и наглядно описано здесь: habrahabr.ru/post/112676. Хочется больше перейти к практическим основам и количественным характеристикам по настройке Garbage Collection в JVM — и попытаться понять насколько это может быть эффективным.

Количественные характеристики оценки эффективности GC


Рассмотрим следующие показатели:

  • Пропускная способность Мера, определяющая способность приложения работать в пиковой нагрузке не зависимо от пауз во время сборки и размера необходимой памяти
  • Время отклика Мера GC, определяющая способность приложения справляться с числом остановок и флуктуаций работы GC
  • Размер используемой памяти Размер памяти, который необходим для эффективной работы GC


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

Continuous Integration. Путь обеспечения надежности и доверия к системе

Reading time4 min
Views34K
Не так давно, я заинтересовался трудами идеологов программирования, таких как Кент Бэк, Роберт Мартин, Мартин Фаулер, Пол Дюваль.

Их книги произвели на меня впечатление и воодушивили попробовать некоторые описанные практики. Refactoring, TDD, XP, и, наконец, Continuous Integration, это то, что в последнее время интересует меня в процессе разработки программного обеспечения.

Хочу поделиться с хабросообществом тем, что я вынес из книг и с чем приходится сталкиваться в реальности.

Теория


Continuous Integration (далее CI) — это практика разработки программного обеспечения, в которой члены команды проводят интеграцию не реже чем раз в день. Результаты интеграции проверяются автоматически, используя автотесты и статический анализ кода.

Использование CI позволяет вовремя отслеживать ошибки интеграции, сделать систему и процесс разработки более «прозрачными» для всех участников команды, также, CI избавляет от рутинных операция по сборке продукта, повышает качество продукта, включает в себя профит от написания тестов, который, я думаю, для всех хаброюзеров очевиден.

Фактически, CI позволяет избавиться от предположений, при процессе разработки ПО. Менеджер предполагает, что продукт готов и стабилен, программист — что в коде нет ошибок и т. д. Избавиться от вопросов, таких как: «стабильна ли последняя сборка, какие фичи готовы, соответствует ли код стандартам компании» и т.д.

Всех, кому интересна тема CI прошу под кат.
Читать дальше →

Горизонтальное масштабирование небольших Web-приложений на Java (вопросы собеседований)

Reading time4 min
Views36K
Эта тема была поднята в ходе нескольких (3+) собеседований который я прошёл за последние полтора месяца — в разных вариациях но примерно об одном. Казалось бы, известные вещи — но собрав все ответы и объяснения какие я давал (и кое-что что нашёл позже в гугле), решил сохранить их не у себя в гугл-драйве, а написать краткий обзор.

Речь шла о небольших и типовых приложениях Enterprise / Web на Java, каких пишется множество (ну такие, на 10-100 тысяч клиентов, миллион посещений и т.п.). Пусть это будет обобщённый диалог в виде вопросов и ответов.

 

В: Допустим, у вас есть приложение (самое обычное — JSP, Spring, Hibernate например) развернутое на томкате (Apache Tomcat) и вы однажды замечаете что сервер с томкатом загружен на 80% в среднем. Что делать?

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

1000+ часов видео по Java на русском

Reading time7 min
Views1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →

Проба железа для HD FPV *

Reading time10 min
Views46K
* ох, чую, холиворы сейчас начнутся


Первый полёт Виртурилки в качестве транслирующей HD камеры


Вступление


Про FPV уже много на Хабре писали, но, дабы минимизировать количество бурления в комментариях, сразу давайте договоримся:

  • FPV — First Person View, вид от первого лица. Это может быть как управление летающим/ездящим/плавающим/прямоходящим аппаратом с одновременным наблюдением через установленную на нём камеру, так и независимые управление и наблюдение.
  • В случае полётов — они бывают «далеко и высоко» и «низко и близко». Само собой, есть много вариаций, но это основные параметры.
  • Полёты бывают быстрые (самолёты) и медленные (мультикоптеры). Опять же, и самолёт может медленно парить, а коптер вжарить по-полной, вариантов много.


Так вот, всё ниженаписанное относится, в первую очередь, для медленных, «низких и близких» вариантов. Но питаю надежду, что в ближайшем будущем можно будет и далеко и высоко.

Предыстория


Когда я первый раз надел очки FatShark, которые показывали картинку с аналогового видеопередатчика, то поразился насколько всё плохо. Углы обзора, разрешение, цена. Аналоговый видеосигнал — помехи, помехи и ещё раз помехи. Куча ухищрений для минимизации этих самых помех, а также для предотвращения наводок на канал управления. Само собой, многим такое положение дел не нравится и хочется улучшений. Хочется цифровой канал связи, цифровое видео, желательно один общий канал связи для видео и для управления, очки/шлем с HD разрешением…

На многих форумах, посвящённых моделированию, периодически поднимается данная тема, но обычно она встречает лютую ненависть со стороны бывалых моделистов, привыкших к старым добрым проверенным системам. С ними сложно спорить, так как резон в их критике есть. Но хотеть лучшего никто ж не запрещает.

Кстати, рекомендую — обширное обсуждение темы на rcdesign.ru

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

Вторая попытка была сделана буквально на днях, о чём и пойдёт речь в данном топике.
Читать дальше →

Information

Rating
Does not participate
Location
Астана, Акмолинская обл. (Целиноградская обл.), Казахстан
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
Golang