Pull to refresh
17
0
Юрий Павлов @sparhawk

Ведущий разработчик Java

Send message

Так ли важен возраст в IT?

Level of difficultyEasy
Reading time4 min
Views49K

Как известно, в Кремниевой долине предпочтение отдаётся молодым специалистам. Амбициозный настрой «двигаться быстро и всё ломать» зачастую подразумевает, что компании заинтересованы в более молодых и легко адаптируемых сотрудниках.

Я пишу эту статью в 30 лет, успев побывать на собеседованиях по обе стороны стола. В течение последнего года я проводил технические интервью и видел как моложавых выпускников, едва достигших возраста, позволяющего арендовать авто, так и бывалых специалистов, проработавших в IT больше лет, чем мне отроду. И этот опыт прекрасно прояснил для меня общую картину.
Читать дальше →

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 1)

Level of difficultyEasy
Reading time7 min
Views8.6K

Всем привет! Меня зовут Николай Первухин. Я увлеченный разработчик на GoLang, работаю в Ozon Банке в группе разработки сервисов ЗСК (KYC).

Большинство статей о внешней видеокарте посвящены погоне за FPS в играх. Здесь же я хочу сконцентрироваться на том, как заставить её приносить пользу разработчику.

Читать далее

Железные люди Хабра: лига лучших железячных статей

Level of difficultyEasy
Reading time7 min
Views12K

Внимание! Конкурс «Технотекст» открывает железную номинацию. 

Хабр меняется, периодически меняются популярные темы и авторы, уходят одни, приходят другие. Но есть несколько разделов, статьи в которых стабильно пользуются успехом и приковывают внимание как профильных специалистов, так и тех, кто оказался здесь случайно. В основном, содержание этих хабов укладывается в три тематики: железо, DIY и информационная безопасность. И если с последними двумя всё более или менее просто и очевидно, то железо на Хабре имеет драматичную судьбу. 

Читать далее

Экстремальная оптимизация скорости загрузки Raspberry Pi

Level of difficultyEasy
Reading time11 min
Views11K

Некоторое время назад был создан проект SolarCamPi — автономная камера на солнечных батареях с Wi‑Fi.

В этом проекте Raspberry Pi Zero 2 W загружается в Linux, делает снимок, подключается к Wi‑Fi и затем выключается (для экономии энергии). Цикл повторяется каждые несколько минут, чтобы постоянно отправлять актуальные изображения в облачный сервис.

Каждая секунда работы Pi Zero, расходует ценную электроэнергию – ресурс, который постоянно находиться в дефиците у устройств на солнечных батареях (по крайней мере зимой в Западной Европе).

Давайте разберемся, каким образом можно уменьшить расход электроэнергии в такой ситуации.

Читать далее

Lock-free структуры данных. Очередной трактат

Reading time16 min
Views55K

Как вы, наверное, догадались, эта статья посвящена lock-free очередям.

Очереди бывают разные. Они могут различаться по числу писателей (producer) и читателей (consumer) – single/multi producer — single/multi consumer, 4 варианта, — они могут быть ограниченными (bounded, на основе предраспределенного буфера) и неограниченными, на основе списка (unbounded), с поддержкой приоритетов или без, lock-free, wait-free или lock-based, со строгим соблюдением FIFO (fair) и не очень (unfair) и т.д. Подробно типы очередей описаны в этой и этой статьях Дмитрия Вьюкова. Чем более специализированы требования к очереди, тем, как правило, более эффективным оказывается её алгоритм. В данной статье я рассмотрю самый общий вариант очередей — multi-producer/multi-consumer unbounded concurrent queue без поддержки приоритетов.
Читать дальше →

T-test. Зависимость от независимости

Reading time16 min
Views7.5K

Привет, Хабр! В статье подробно рассмотрим область применения самого базового статистического критерия Стьюдента. Посмотрим, как он ведёт себя, когда мы не хотим отдавать качество подбора наших групп на волю случая.

Читать далее

Java Digest #15

Level of difficultyEasy
Reading time5 min
Views4.6K

Всем привет! 👋 👋 👋 👋

Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске у нас много материалов, посвященных развитию Java. Коснемся и Leyden, и Valhalla, и Loom, и GC в JDK 23. За прошедший месяц вышло много интересных докладов с последнего JPoint, некоторые из них мы осветили в этом выпуске. А в разделе со статьями собрали много туториалов и обзоров. Dev-контейнеры от JetBrains, реализация Transactional Outbox с использованием Spring Boot, отслеживание вызова Deprecated-методов, история сбоя в Netflix, связанного с виртуальными тредами, — вот далеко не полный список. И на сладкое — пара свежих выпусков подкастов JavaHut и javaswag. Приятного чтения 😉

Читать выпуск 15

Как советская машина всех в шахматы обыграла

Reading time7 min
Views12K
image
Источник

«Каисса» — одна из первых прикладных программ, которая показала результат лучше 99,9 % людей-профессионалов в мире. В 1974 году в Стокгольме прошёл знаменательный шахматный чемпионат: впервые в истории за звание чемпиона мира сражались не люди, а машины — 13 компьютерных программ из восьми стран.

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

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

Эффективность Spring-приложений в рантайме. Текущее состояние дел и планы на будущее

Level of difficultyMedium
Reading time12 min
Views11K

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

Себастьян Делойзе, контрибьютор Spring Framework, делится обзором усилий команды Spring по оптимизации эффективности приложений во время выполнения. Он рассматривает Virtual Threads, GraalVM Native Image, Project CRaC, Project Leyden и всё это в контексте Spring!

Читать далее

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

Level of difficultyMedium
Reading time11 min
Views11K
Приветствую всех!

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

И так уж вышло, что начал я с PowerPC, а точнее — с компьютеров Apple на базе PowerPC G4.



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

Автостарт android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому

Level of difficultyMedium
Reading time7 min
Views9.4K

Обычно Android-устройства принято считать «бесполезными» через 5-10 лет после выхода. Особенно, это касается бюджетных моделей, которые "не тянут" современные сервисы или те девайсы, которые по каким-то причинам физически пострадали в процессе своей жизни. Но пока одни выкидывают смартфоны и планшеты, считая их электронным хламом и засоряя мир, другие стараются найти применение всему подряд и оказывается, что Android-устройства ещё вполне себе могут оказаться полезными. Однако порой необходимо реализовать автоматическое включение устройства при подключения к зарядке и вот здесь многие впадают в ступор — ведь замкнуть кнопку включения зачастую недостаточно! В сегодняшнем материале я расскажу свои кейсы запитывания устройств от блоков питания, а также реализацию автовключения на разных чипсетах. Интересно? Тогда добро пожаловать под кат!

Читать далее

Как я проходил собеседование в Тинькофф

Level of difficultyEasy
Reading time10 min
Views66K

Привет %user_name%! Сегодня я хочу поделиться своим опытом, как я проходил собеседование в Тинькофф в несколько этапов. На просторах Хабра периодически встречаются статьи на тему HR и там либо рассказывают как успешно пройти собеседование и что нужно HR специалистам услышать, чтобы вас принять на работу или же совсем обратное где специалисты разного уровня и мастей жалуются на работу тех самых HR! Но сегодня будет не про это! И так если стало интересно, добро пожаловать подкат. Осторожно, много текста.

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

Сейчас я больше года не преподаю в Нетологии, но продолжаю это делать в компании Отус, так вот сложилось так, что этот вопрос актуален для студентов и на этой площадке тоже. Скажу сразу у меня богатый опыт прохождения собеседований в несколько этапов, в Рамблер например я едел 3 или 4 раза, где меня собеседовало сразу около 4-5 человек. Чуть больше полугода назад я проходил собеседование в Яндекс, где успешно завалил алгоритмическое программирование, но прошел все остальные этапы, и даже пообщался с руководителем Яндекс Облака где поделился своим мнением по факту прохождения этапов. Все закончилось на том, что меня ждут ровно через пол года на алгоритмической секции и если я ее пройду, то дойдет дело до офера, но я не пошел. У меня нет желания решать задачи с LetCode для прокачки этого не нужного мне скила. 

Читать далее

Режим 9/9/6, джуны-расходники и никакой кошкожены: как устроено IT в Китае

Level of difficultyEasy
Reading time5 min
Views58K

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

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

Читать далее

Управляем умным домом Home Assitant через Алису и без интернета. Часть 1

Level of difficultyMedium
Reading time5 min
Views57K

В этой статье я бы хотел рассказать о том, как можно управлять умным домом и всеми устройствами (не только Zigbee) в Home Assistant даже без подключения к интернету.

Читать далее

Когда вендор не защитил — защищаем вашу Станцию, Капсулу и A113X

Level of difficultyMedium
Reading time6 min
Views7.1K

Приветствую!

В нашем несовершенном мире «умных домов» и повсеместного IoT с относительно недавних пор стало модным производить (да и покупать домой) очередного разговорчивого электронного друга, а именно: Яндекс Станции, VK Капсулы и тому подобные девайсы.

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

Конечно, как можно понять из названия, речь пойдёт об устройствах на базе SoC от Amlogic — A113X. В данном материале я расскажу о том, как можно защитить ваши устройства на базе этого чипа от описанных выше вещей, почему Amlogic не смог предложить эту защиту разработчикам, и другие интересные детали.

Защитить мою колонку!

Как протестировать Android-приложение, которому требуются разрешения

Level of difficultyMedium
Reading time19 min
Views3.7K
Часто для корректной работы приложению нужен доступ к определенным функциям мобильного устройства: к камере, записи голоса, совершению звонков, отправке SMS-сообщений и т. д. Приложение может получить доступ к ним и использовать только в том случае, если пользователь даст на это разрешение.

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



В этой статье мы покажем, как данные проблемы решает библиотека Kaspresso — популярный (1,7 тысячи звезд на Github) open-source-фреймворк для автотестов.
Читать дальше →

Полигон для творчества за 1500 р. Ч1: Позовите Кряка

Level of difficultyHard
Reading time10 min
Views12K

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

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

Проведём расследование, поищем JTAG, узнаем способы и отследим разводку BGA, поработаем с ПЛИС, … и много других действительно интересных вещей. Кряк уже заинтересовался!

Как там у нас обычно? «Сломать, а потом читать инструкцию». Инструкций и документации нет, поэтому будем экспериментировать ломать! ☺
Читать дальше →

Изучаем сетевой стек докера в rootless mode

Level of difficultyMedium
Reading time16 min
Views9K


Недавно я столкнулся с докером в rootless mode и по привычке решил посмотреть на его сетевые интерфейсы на хосте. К своему удивлению я их не увидел, поэтому начал разбираться, как же в нем организовано сетевое взаимодействие. Результатами анализа я и поделюсь в этой статье.

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

Слабые модели памяти: буферизации записи на x86

Reading time6 min
Views9.2K

Об авторе


Антон Подкопаев является постдоком в MPI-SWS, руководителем группы слабых моделей памяти в лаборатории языковых инструментов JetBrains Research и преподавателем Computer Science Center.

Еще в 1979 году Лесли Лампорт в статье «How to make a multiprocessor computer that correctly executes multiprocess programs» ввел, как следует из названия, идеализированную семантику многопоточности — модель последовательной консистентности (sequential consistency, SC). Согласно данной модели, любой результат исполнения многопоточной программы может быть получен как последовательное исполнение некоторого чередования инструкций потоков этой программы. (Предполагается, что чередование сохраняет порядок между инструкциями, относящимися к одному потоку.)

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



В этой программе два потока, в каждом из которых первая инструкция — инструкция записи в разделяемую локацию (x или y), а вторая — инструкция чтения из другой разделяемой локации. Для этой программы существует шесть чередований инструкций потоков:


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

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов

Level of difficultyMedium
Reading time11 min
Views28K
image


Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!
Читать дальше →

Information

Rating
3,711-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity