Как стать автором
Обновить
37
0.1
Сергей Шатунов @Prototik

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

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

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

Время на прочтение24 мин
Количество просмотров3.2K

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

Читать далее
Рейтинг0
Комментарии0

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

Время на прочтение8 мин
Количество просмотров4.9K

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

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

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

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Комментарии6

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

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

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


Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии4

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

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

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

Время на прочтение1 мин
Количество просмотров27K
Если не знать что это голограмма можно подумать что Тупака действительно оживили. Обязательно досмотрите до конца оценив финальную вспышку и распыление главного героя в воздухе.



Читать дальше →
Всего голосов 82: ↑57 и ↓25+32
Комментарии129

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

Время на прочтение19 мин
Количество просмотров94K
Привет, Хабр!

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

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


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


Читать дальше →
Всего голосов 77: ↑34 и ↓43-9
Комментарии19

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

Время на прочтение26 мин
Количество просмотров32K
image

Аннотация


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

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров72K


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

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

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

Время на прочтение4 мин
Количество просмотров16K
Всем привет!

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

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

Время на прочтение31 мин
Количество просмотров10K


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

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров20K

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

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

Время на прочтение35 мин
Количество просмотров46K


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

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

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

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

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

Время на прочтение21 мин
Количество просмотров62K
Я люблю 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 вы сможете запускать).

Ну и как это сделать?
Всего голосов 156: ↑146 и ↓10+136
Комментарии80

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

Время на прочтение1 мин
Количество просмотров8.3K


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

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

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

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


Читать дальше →
Всего голосов 110: ↑108 и ↓2+106
Комментарии37

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

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

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

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

Fragments API в Android 3.0

Время на прочтение8 мин
Количество просмотров26K
В 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'ами, в зависимости от размера экрана

Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии11
1

Информация

В рейтинге
2 850-й
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Fullstack Developer
Linux
Java
Kotlin
Android development