Pull to refresh
37
0.1
Сергей Шатунов @Prototik

JVM Backend разработчик

Send message

Обзор изменений в законодательстве за февраль 2023

Reading time24 min
Views3.2K

В обзоре изменений за февраль 2023 года рассмотрим: положение о единой биометрической системе (далее – ЕБС), взаимодействие оператора регионального сегмента ЕБС с Министерством внутренних дел Российской Федерации (далее – МВД России) и Федеральной службой безопасности Российской Федерации (далее – ФСБ России), порядок обработки биометрических персональных данных (далее – ПДн) и изменение случаев и сроков их использования, национальные стандарты по безопасности финансовых операций и управлению компьютерными инцидентами, изменения в приказе Федеральной службы по техническому и экспортному контролю (далее – ФСТЭК России) № 235, отраслевой план перехода на использование отечественного программного обеспечения (далее – ПО) на значимых объектах критической информационной инфраструктуры (далее – КИИ) и порядок оценки актуальности сведений о субъектах КИИ, новые формы заявлений ФСТЭК России по лицензированию, контроль защиты государственной тайны, управление федеральной государственной информационной системой (далее – ГИС) «Управление государственной единой облачной платформой» (далее – ГосОблако), внеплановые проверки Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций (далее – Роскомнадзор), перечень иностранных сервисов и другие новости.

Читать далее
Rating0
Comments0

Чего ждут коллеги разных уровней от тимлида

Reading time8 min
Views4.9K

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

Меня зовут Евгений Рейх, я руководитель разработки кластера Goods Classified в Авито. Это около 100 человек, или 10 команд, в подчинении. Больше 15 лет я занимаюсь разработкой и руковожу командами в разных компаниях. На собственном опыте знаю, какие ожидания есть у коллег. К тому же я еженедельно провожу четыре-пять собеседований на руководящие должности в Авито и понимаю, что требуется от тимлида.

Текст основан на выступлении для Avito TeamLead meetup. Он будет полезен и действующим тимлидам, и тем, кто только собирается начать руководить командой.

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments6

Опыт преподавания в школе разработки, или почему после университета нужно идти в школу

Reading time7 min
Views2.1K
«Диджитал Дизайн» была одной из первых компаний, которая использовала .NET и C# в работе и стала официальным тренерским центром Microsoft. Образование и «Диджитал Дизайн» идут рука об руку на протяжении всей нашей истории: у нас есть IT-университет, мы постоянно проводим школы, являемся золотым партнером Microsoft c 95 года, у нас работают сертифицированные тренера.

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


Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации

Reading time5 min
Views38K
Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал еще одному человеку, на этот раз далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments30

Голографическое изображение погибшего рэпера Тупака Шакура, «выступало» на фестивале Coachella-2012

Reading time1 min
Views27K
Если не знать что это голограмма можно подумать что Тупака действительно оживили. Обязательно досмотрите до конца оценив финальную вспышку и распыление главного героя в воздухе.



Читать дальше →
Total votes 82: ↑57 and ↓25+32
Comments129

Разработка веб-приложения

Reading time19 min
Views94K
Привет, Хабр!

При изучении технологий Ext JS и Java, написал web-приложение «Каталог автомобилей». Хочу поделиться с Вами этим опытом.

Вид и функциональность приложения


  • Добавление;
  • Удаление;
  • Редактирование;
  • Поиск;
  • Валидация данных;


Читать дальше →
Total votes 77: ↑34 and ↓43-9
Comments19

Zetes: Java с мультиплатформенным GUI, но без Oracle JVM

Reading time26 min
Views32K
image

Аннотация


В статье описывается фреймворк, позволяющий создавать графические кроссплатформенные приложения, написанные на языке Java, но при этом абсолютно не зависящие ни от Oracle JRE, ни от OpenJDK. Основная идеология фреймворка — по возможности снять с разработчика заботы об обеспечении «родного» look and feel для приложения под каждой операционной системой.

Фактически, на выходе вы получите исполняемый файл, опирающийся только на системные API, на котором нигде не будет клейма «написано на Java».

Все компоненты фреймворка имеют либеральные лицензии (BSD либо Apache), что позволяет использовать их в любых (в том числе, коммерческих) разработках.

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

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

Всех интересующихся подробностями милости прошу под кат.
Что же это за штука диковинная?
Total votes 86: ↑85 and ↓1+84
Comments64

Вышла публичная альфа версия децентрализованного мессенджера Tox

Reading time1 min
Views72K


Совсем недавно стала доступна публичная версия мессенджер Tox.
(Теперь кнопка загрузить на сайте наконец-то активная)

Напомню, что Tox — децентрализованный мессенджер который создается для будущей замены Skype, основные цели проекта:
— Полностью открытый исходный код
— Децентрализованная работа
— Отсутствия закладок и прослушек
— Отсутствие рекламы
Читать дальше →
Total votes 128: ↑115 and ↓13+102
Comments194

Custom Annotation Preprocessor — создание на базе Android-приложения и конфигурация в IntelliJ IDEA

Reading time4 min
Views16K
Всем привет!

Недавно передо мной встала задача написания своих кастомных аннотации и их обработки во время компиляции. Первый вопрос, который я себе задала: с чего начать? После анализа я решила поделиться с вами ответом на этот вопрос.
Думаю, рассказывать, что такое аннотации в java и с чем их едят, не имеет смысла, так как каждому юному программисту это знакомо ( а кому не знакомо, может прочесть самостоятельно). К тому же на хабре есть интересная ознакомительная статья об этом явлении.
Но сегодня я хочу поговорить именно о кастомных аннотациях в Android-приложении, которые обрабатываются в процессе компиляции проекта вашим собственным обработчиком и о автогенерации классов на их основе. А так же, по ходу дела, расскажу вам, как быстро все настроить в IDEA (сама я пользуюсь версией 12.1, возможно в других есть отличия).
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

SlideStackView или Extending ViewGroup в Android (часть 2)

Reading time31 min
Views10K


Недавно я рассказывал о своём опыте разработки SlideStackView в мобильной почте Mail.Ru под Android. Тогда я пообещал, что в ближайшее время подготовлю вторую часть, в которой расскажу о том, как реализовать наиболее интересную, с точки зрения программирования визуальных компонентов, часть. Естественно, речь пойдёт о том, что добавляет интерактивность в приложение — об анимации. Все уже давно привыкли к тому, что мобильное приложение должно быть отзывчивым к действиям пользователя. Очевидно, что основным способом взаимодействия с вашим приложением является использование Touch screen.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments6

Использование NDK в Android Studio

Reading time9 min
Views68K
В настоящее время среди Android-девелоперов большую популярность имеет среда разработки Android Studio, основанная на IntelliJ IDEA от JetBrains. Однако, при использовании данной IDE, могут возникнуть проблемы при разработке приложений, использующих нативный код, так как Android NDK рассчитан преимущественно на использование IDE Eclipse и ADT.

Цель данной статьи — подробное описание процесса создания Android-приложения, использующего NDK в Android Studio, в частности — предложение достаточно простой и эффективной конфигурации gradle (системы сборки пакетов, используемая в Android Studio), гарантирующей включение нативных библиотек в APK-файл. Также статья включает краткую инструкцию работы с NDK в IDE Eclipse и введение в нативную разработку, достаточное для написания первого приложения.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments8

Выбираем время с помощью нового TimePickerDialog

Reading time3 min
Views17K
Просматривая ленту у себя в G+, наткнулся на сообщение, что в последней версии приложения Календарь на Android-устройствах используется новое диалоговое окно для выбора времени. Запустив приложение на своем планшете Nexus 7 с Android 4.3, я убедился, что это действительно так. Но меня как разработчика больше заинтересовала фраза, что исходный код диалогового окна доступен по адресу https://android.googlesource.com/platform/frameworks/opt/datetimepicker/+/master/. Я решил поковыряться just for fun.
Результат ковыряния
Total votes 15: ↑14 and ↓1+13
Comments4

Лямбда-выражения бэкпортированы в Java 7, 6 и 5

Reading time1 min
Views20K

Хотите использовать лямбда-выражения, но вынуждены использовать стабильный JRE? Теперь это возможно с утилитой Retrolambda, которая преобразует байткод Java 8 в пригодный для рантаймов Java 7, 6 и 5, позволяя использовать лямбда-выражения и ссылки на методы на этих платформах. Конечно, придется отказаться от улучшенного Java 8 Collections API, но, к счастью, существует множество альтернативных библиотек, работа с которыми упростится благодаря лямбда-выражениям.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments12

Беседа Линуса Торвальдса со студентами университета Аалто (23.10.2012)

Reading time35 min
Views46K


Приветствую, Хабр!

Однажды я наткнулся в YouTube на это видео с Линусом Торвальдсом и с огромным удовольствием его посмотрел, узнал много интересного для себя и к своему удивлению обнаружил, что на Хабре оно осталось незамеченным, особенно учитывая то, что предыдущее его общение со студентами из этого университета многим хорошо известно из-за случая внезапного пиара nVidia со стороны Линуса. Не знаю, может я плохо искал, но, в любом случае, беседа ведется на английском языке и длится более часа и, возможно, кто-то из вас не очень хорошо им владеет, поэтому я решил перевести ее для вас в текст на русском языке и опубликовать на Хабре. Итак, тем, кто хочет узнать что сейчас Линус делает в Linux, как он борется с прокрастинацией, что он думает о Linux на мобильных устройствах, что для него важнее в Linux, юзабилити или безопасность, как он относится к производителям железа, на чем зарабатывает, как отдыхает, программируют ли его дети и многое-многое другое — добро пожаловать под кат!
Продолжай, я заинтригован...
Total votes 122: ↑118 and ↓4+114
Comments19

Алгоритмы и структуры данных JDK

Reading time7 min
Views143K
[ english version ]
Периодически проверяя нет ли реализации того или иного стандартного алгоритма в jdk, пришла мысль составить подобный обзор. Также интересны были причины наличия/отсутствия многих известных структур данных.
Формат обзора — только ключевые свойства и особенности структур и алгоритмов в составе jdk, подробности и детали — расписаны в javadoc или легко найти в исходниках.
Надеюсь на конструктивную критику и коллективный разум если что упустил.
Хватит вступлений, итак, давайте рассмотрим что включает в себя текущий jdk 7 и почему.
Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments25

Автономная кроссплатформенная монолитная программа на Java

Reading time21 min
Views62K
Я люблю desktop-приложения. Признаваться в этом нынче, похоже, стыднее, чем в связях с иностранной разведкой, но это так. Нет, это не значит, что я не люблю интернет-технологии. Более того, некоторые я не только уважаю, а даже более-менее знаю. Но, тем не менее, я скучаю по тем временам, когда программа писалась на одном компьютере, потом компилировалась и запускалась на других, разных компьютерах. Тогда везде (почти) была одна система — Windows с одной и той же API, почти не было проблем совместимости на уровне приложений, никто не материл разработчиков браузеров — все берегли нервы на разработчиков WinAPI, которые умудрялись создавать конфликты даже внутри нее одной. Но это я, конечно, иронизирую, а если серьезно — иногда и сейчас хочется написать просто desktop-приложение, да так, чтобы работало оно на всех популярных системах. Трудно? Если подумать и покопать, то не очень.

Еще я люблю языки высокого уровня с аккуратной архитектурой и строгой типизацией. Мои фавориты — Java и C#. Оба они предоставляют разработчику множество преимуществ по сравнению с C++, оба избавляют от ряда забот. Чем приходится платить? Тем, что таскаешь за собой тяжелую колоду, которая называется Oracle JVM, .NET или mono. Все три колоды весят сотни мегабайт и лицензию имеют такую, что каждый пользователь вынужден качать эту штуку сам, не путая при этом разрядность своего компьютера, а главное — программа на Java не может быть совместима со всеми версиями JVM разом, не так ли? И вот — мы приходим к тому, что просто скинуть программку другу (или миллиону друзей) и не заботиться о том, что она у него не запустится, не выходит. Приходится делать хитрые сетапы, вбивать костыли, и это я еще не упомянул .NET — однажды я видел у друга сразу 3 установленных версии, причем все три были нужны разным приложениям…

Стоп! А давайте напишем программу на Java, но так, чтобы она не требовала установки на машину какой-либо JVM, чтобы одним касанием собиралась под Windows, Linux и OS X и чтобы при этом занимала совсем чуть-чуть; так, чтобы никто даже не понял, что она написана, скажем, не на C. Невозможно? Совсем наоборот! (И нет, я имею в виду не gcj, который лишает Java всех ее прелестей. Рефлексия будет работать и даже сторонние jar вы сможете запускать).

Ну и как это сделать?
Total votes 156: ↑146 and ↓10+136
Comments80

WebHostingHub Glyphs — обновление шрифта до 1446 иконок

Reading time1 min
Views8.3K


Недавно выпущенный набор иконок WebHostingHub Glyphs добавилось более 300 новых иконок.

Благодаря пожеланиям пользователей хабрахабр в шрифте появились иконки знака рубля, сети вконтакте и многие другие. Иконки доступны в формате png (белые и черные) и самое главное в виде шрифта в форматах SVG, EOT и TTF. Мы будем рады услышать любые пожелания к дальнейшему развитию сета.
Total votes 94: ↑89 and ↓5+84
Comments60

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views123K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments37

Как отделить тему от приложения

Reading time5 min
Views5.6K
Проблема настройки (кастомизации) внешнего вида Android-приложений часто возникает перед разработчиками. Причиной может быть необходимость следования интерфейса корпоративному стилю или требование заказчика, желающего, чтобы его приложение выглядело по-особенному, а не просто как набор стандартных элементов.

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

Мною предлагается технология, позволяющая динамически менять внешний вид Android приложения путем установки новых «тем», которые могут быть скачаны отдельно от приложения. Описанная в статье разработка выполнялась в качестве пилотного проекта в департаменте мобильных приложений компании «Мера-НН» (www.meranetworks.com), где и работает автор статьи.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments20

Fragments API в Android 3.0

Reading time8 min
Views26K
В Android 3.0 введена новая концепция фрагментов, которая служит для упрощения работы с интерфейсом под разные размеры экранов. Данный топик является переводом статьи с android-developers.blogspot.com. В ней рассмотрены преимущества фрагментов, а также приведен простой, но законченный пример приложения, работающего по этому принципу.

Важная цель Android 3.0 — упростить написание программ, которые должны масштабироваться в зависимости от размеров экрана. Для этого в платформе Android уже доступны следующие средства:
  • С самого начала, UI-фреймворк был спроектирован для использования layout managers, которые позволяют описывать интерфейс так, чтобы он «подгонялся» к размерам. Примером этого является ListView, высота которого изменяется в зависимости от размера экрана, который варьируется между соотношениями QVGA, HVGA, and WVGA.
  • В Android 1.6 была введена новая концепция плотности экрана, позволяющая приложениям легче масштабировать размеры между разными разрешениями, в то время как экраны имеют почти один и тот же физический размер. Разработчики незамедлительно начали использовать эту особенность, когда были введены телефоны с высоким разрешением, такие как Droid.
  • Также в Android 1.6 разработчикам стали доступны размеры экрана, при помощи их классификации: «small» для соотношения QVGA, «normal» для HVGA и WVGA, и «large» для более больших экранов. Разработчики могут использовать систему ресурсов для выбора между различными layout'ами, в зависимости от размера экрана

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments11
1

Information

Rating
2,805-th
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Linux
Java
Kotlin
Android development