• Flipper Zero — пацанский мультитул-тамагочи для пентестера

      Flipper Zero — Multi-tool Device for Hackers

      Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа. А еще это тамагочи, в котором живет кибер-дельфин.

      Он будет уметь:

      • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
      • NFC — читать/записывать и эмулировать карты ISO-14443.
      • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
      • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
      • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
      • Bluetooth — поддерживается пакет bluez для Linux
      • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
      • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

      Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
      В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
      Читать дальше →
    • План подготовки к собеседованию на позицию Java разработчика

      Каждый раз, готовясь к собеседованиям на позицию «Java разработчик», я понимаю, что мне бы очень помог конкретный план подготовки. Поэтому все свои записи, накопившиеся в ходе прохождения собеседований, было решено структурировать и опубликовать. Надеюсь, кому-то этот план будет полезен.

      И я намеренно не пишу, для кого предназначен этот план подготовки: для senior, middle или junior разработчика — все зависит от конкретной вакансии и от требований работодателя. Поэтому опирайтесь на этот план, но фильтруйте и в то же время не воспринимайте его как исчерпывающее руководство.

      1. Java core. Здесь можно ориентироваться например на книгу «OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809» для подготовки к Java сертификации уровня Professional. Есть подобная книга «OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808» для уровня Associate — на нее тоже можно взглянуть. Пройдитесь по оглавлению и выделите для себя, что можно повторить. Конечно же, не стоит пускаться во все тяжкие и читать книгу от корки до корки — многие темы из этой книги можно обойти стороной, например форматирование дат. Выделите самое основное. Например для меня это были следующие темы: коллекции (стандартные вопросы «Как устроена HashMap?» или «Чем отличается LinkedList от ArrayList?» все также часто задают на собеседованиях), дженерики, функциональные интерфейсы, многопоточность (тут тоже фильтруйте — не нужны вам cyclic barrier и fork join framework).
        Также не забывайте проецировать знания на свой опыт. Например, когда вам приходилось использовать многопоточное программирование? Какие проблемы вы решали? Какие блокировки использовали?
      2. Многопоточность.
      Читать дальше →
    • Учим английский: как научиться разговаривать как носитель

      • Translation
      image

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

      Но как это сделать? Я нашла интересный пост с описанием практических способов улучшения языка и подготовила его адаптированный перевод.
      Читать дальше →
    • 22 сайта для программиста, которые помогут заговорить на английском

        Хабр, привет!

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

        Приступим!

        Учить лексику


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

        ЛеоПереводчик

        С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
        Читать дальше →
      • Галерея лучших блокнотов по ML и Data Science

          Привет, читатель.

          Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

          image

          Итак, приступим.

          Вводные курсы в Jupyter Notebook


          Читать дальше →
          • +27
          • 22.4k
          • 7
        • Актуальна ли книга «Java Concurrency in Practice» во времена Java 8 и 11?

          • Translation
          Здравствуйте, коллеги!

          Статья, перевод которой мы предлагаем сегодня, в очередной раз напоминает о важности нестареющей книги "Java Concurrency in practice" под авторством Брайана Гёца (Brian Goetz).


          Даты комментариев к этой статье в оригинале подсказывают, что автор обновляет и заново публикует ее не в первый раз. Поэтому мы позволили себе также обновить ссылку на упоминаемую в статье книгу Рауля-Габриэля Урма, Марио Фуско и Алана Майкрофта, которая выходила в издательстве «Manning» под названием «Java 8 in Action». У нас готовится перевод нового издания под названием «Modern Java». Но пока давайте поговорим о классике. Вы приглашаетесь под кат.
          Читать дальше →
          • +11
          • 13.1k
          • 2
        • Школа программирования 42 school в США — американская мечта, доступная каждому

            Инновационная школа программирования 42 school даёт бесплатное обучение и проживание в Кремниевой долине даже для тех, кто ничего не смыслит в коде.




            Эту планету уже не остановить: мир помешался на программировании и люди готовы войти в айти после тридцати пяти и даже сорока. Разумеется, такой спрос не мог не породить предложение — появилась лавина школ, курсов, онлайн-форматов и чего угодно. 21 день — и ты бог С++, гуру JavaScript, джедай Python. Только плати, а там как карта ляжет. Между тем, эффективное обучение — это прежде всего практика, мотивация и опыт преподавателей. Есть такая школа, которая объединяет всё перечисленное и почти полностью исключает страх. Думаем, вы не раз слышали о 42 school, но не вдавались в подробности. Мы вам расскажем, так как прошли ее бассейн (Piscine) на собственном опыте.
            Читать дальше →
          • Spring Data JPA: что такое хорошо, и что такое плохо

              Крошка-сын к отцу пришел
              И спросила кроха
              — Что такое хорошо
              и что такое плохо

              Владимир Маяковский


              Эта статья о Spring Data JPA, а именно в подводных граблях, встретившихся на моём пути, ну и конечно же немного о производительности.

              Читать дальше →
            • Книга «Совершенный алгоритм. Основы»

                image Привет, Хаброжители! Эта книга основана на онлайн-курсах по алгоритмам, которые Тим Рафгарден ведет на Coursera и Stanford Lagunita, а появились эти курсы благодаря лекциям для студентов, которые он читает в Стэнфордском университете на протяжении многих лет.

                Алгоритмы — это сердце и душа computer science. Без них не обойтись, они есть везде — от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию. Тим Рафгарден расскажет об асимптотическом анализе, нотации большое-О, алгоритмах «разделяй и властвуй», рандомизации, сортировки и отбора. Книга адресована тем, у кого уже есть опыт программирования. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах.
                Читать дальше →
              • Камеры 2019: самостоятельные, умные, автономные

                  image

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

                  В сегодняшнем обзоре расскажем, какие значимые функции для камер будут востребованы в ближайшем будущем, и как компании не из сферы видеонаблюдения используют VSaaS-технологии в своих продуктах.
                  Читать дальше →
                  • +19
                  • 7.1k
                  • 3
                • Где покупать радиодетали и компоненты? Часть I: Россия

                    Давайте поговорим о покупке электронных компонентов в интернете. Я собрал список интересных отечественных и зарубежных магазинов:

                    а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;

                    б) для профи, с широкой номенклатурой электронных компонентов.

                    Продолжение: Часть II: зарубежные магазины

                    Кадр из к/ф «Иван Васильевич меняет профессию»
                    Продолжение
                  • Повышаем производительность разработки на примере Vue — часть 1

                    • Translation
                    • Tutorial


                    Как часто вы выполняете одно и то же задание каждый день? Я готов поспорить, что больше, чем вы думаете. Выполнение простых действий, таких как создание свойств, наблюдателей(watchers) или новых методов, выполняется снова и снова при создании приложения.


                    Эти маленькие вроде бы действия образуют продолжительный отрезок времени. Наша цель — делать как можно больше с как можно меньшим количеством действий.

                    Читать дальше →
                  • Лучшие доклады JPoint 2018: Java/JVM и её перформанс, Kotlin, Spring, Docker

                      Мы уже выложили на YouTube видеозаписи докладов JPoint 2018 и специально для хаба Java на Хабре сделали традиционную подборку самых лучших из них по мнению посетителей конференции.


                      Как обычно, наверху «младшие» доклады, в конце — с самым высоким рейтингом. Конечно, это не значит, что один доклад намного хуже другого: если изменить методику расчета, места могут легко поменяться. В реальности, мы её и изменили, теперь используется «soft quorum» вариант рейтинга, учитывающий количество присутствовавших на докладе участников. Этот подход имеет свои минусы (например, на кейноут приходит больше людей, чем на обычный доклад, просто потому что у аудитории нет выбора), но в целом даёт более качественную картину произошедшего.


                      Под катом — и видеозаписи лучших докладов, и ссылки на их презентации, и короткие описания, и ссылка на полный плейлист.


                      Читать дальше →
                      • +27
                      • 17.4k
                      • 2
                    • Как освоить иностранный язык без преподавателя. Часть 2. «Пошаговая стратегия»

                        Languages are not taught, they are learnt!


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


                        Примечание: Материалы статьи опираются на исследования Е.Д. Авериной, Д.Б. Никуличевой, Э.В. Гуннемарка и П.Нейшна, пропущенные через призму моего восприятия и опыт изучения 3 иностранных языков.

                        Читать дальше →
                      • Метеостанция на Arduino от А до Я. Часть 4

                          Продолжение. Предыдущая часть.
                          Оглавление:



                          Заоконный датчик. Железо


                          Надо сразу признать, что первая версия заоконного (удаленного) датчика получилась не совсем удачной в плане электропитания и энергопотребления. Как я уже писал, у меня под рукой был только модуль Arduino Pro Mini на 5 В. И я использовал Ni-MH аккумуляторы.


                          При том, что я подсоединил ещё и солнечную батарею вся конструкция у меня проработала автономно около 25 дней. Очень отрицательно на ёмкость аккумуляторов повлияли низкие, часто отрицательные температуры на улице конца зимы.


                          Чтобы у вас всё работало гораздо дольше, произведите следующие замены:


                          • Купите Arduino Pro Mini на 3,3В
                          • Используйте Li-ion аккумулятор типа Panasonic NCR18650A на 3,7 В, 2 шт. примерно за $14 на 3100mAh. Можете попробовать CR123, CR123A батареи. И помните о том, что 9В батарея (типа "Крона") плохой источник питания.
                          Читать дальше →
                        • Шпаргалки Java программиста 9: Java SE — Шпаргалка для собеседований и повторений

                          • Tutorial
                          Данная статья в первую очередь предназначена для подготовки к собеседованиям на позицию Java разработчика (на самом деле, это шпаргалка, которую я писал для себя в течении многих лет, и повторяю при каждом новом поиске работы).

                          Предполагается. что вы знакомы с многими функциями из Java SE, поэтому в основном информация дается кратко. Конечно, можно использовать эту статью и просто для обучения основам Java SE платформы (но в этом случае, после чтения статьи вам скорее всего придется обратиться к другим источникам).

                          image

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

                          Внимание: я не буду касаться вопросов по самому языку Java (вроде для чего нужно слово final или чем overriding отличается от overloading), это потребует отдельной статьи, это вопросы именно по Java SE (6-9) платформе.
                          Читать дальше →
                        • Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах

                          • Tutorial
                          image

                          Знаете ли вы JPA? А Hibernate? А если проверить?

                          В чем смысл серии статей 'Шпаргалки Java программиста'
                          За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.




                          Данная статья будет полезна и для тех кто только собирается изучать JPA и Hibernate (В этом случае рекомендую сразу открывать ответы), и для тех кто уже хорошо знает JPA и Hibernate (В этом случае статья позволит проверить свои знания и освежить особенности технологий). Особенно статья будет полезна тем кто собирается пройти техническое интервью, где возможно будут задавать вопросы по JPA и Hibernate (или сам собирается провести техническое интервью).

                          Поехали...
                        • Английский язык: взгляд инженера

                          ДИСКЛЕЙМЕР


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

                          Здесь приводится опыт, который выдернул меня из состояния «читаю со словарем».




                          Походу большинство учебников иностранного языка, по которым учат школьников, студентов основаны на чьих-то докторских. Даже в технических (точных) науках докторские бывают так себе, что уж творится в гуманитарных науках.

                          Возьмем такой предмет, как английский язык. Там куча понятий: 12 времен глагола, страдательный залог, причастия и т.п. Кто их ввел? Видимо, некие ученые мужи, для которых английский язык был РОДНЫМ. Они жили себе в каком-нибудь Oxford’e или в Cambridg’e и вряд ли знали русский язык.

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

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

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

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

                          Статья ориентирована именно на таких.
                          Читать дальше →