Обновить
1
0
Константин@ConstOrVar

Разработчик мобильных приложений

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

Red Flags в найме глазами лида

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели10K

Red flags — это не про токсичных сотрудников, а про нас всех, просто кто‑то отпустил ситуацию, а кто‑то в ней остался. Эта статья — для тех, кто хочет увидеть «проблему кандидатов» глазами руководителя и понять, что на самом деле идёт не так. А ещё — для молодых лидов, которые только учатся управлять командами. Возможно, мои red flags помогут вам избежать ошибок, которые часто обходятся весьма дорого — людям, проектам и самим руководителям. Надеюсь, статья понравится :-)

Читать далее

Сам себе Шерлок: 7 способов найти логи и поймать баг на iOS

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели5.5K

Привет, Хабр! Меня зовут Максим, и я тестирую мобильные приложения. Знакома ситуация, когда кнопка не работает, приложение виснет, анимации тормозят, но при этом нет никаких ошибок на экране?
Можно часами играть в детектива, гадая по UI и строя догадки, что пошло не так. А можно за несколько минут найти настоящего преступника — ведь iOS щедро оставляет улики в виде логов. Нужно лишь знать, где их искать. Секрет — в грамотном выборе способа, как собрать доказательства. Но обо всём по порядку.

Начать расследование

Кейс из production: Deadlock в асинхронном коде на Java

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7K

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

Читать далее

Эволюция архитектуры баз данных

Время на прочтение17 мин
Охват и читатели9.1K

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

Привет, Хабр! Я Владимир Комаров — программист, администратор, архитектор данных и инфраструктуры, преподаватель и автор. В этой статье по мотивам моего доклада на Highload++ мы посмотрим, как развивались системы управления базами данных: с чего всё начиналось, как система хранения данных СУБД эволюционировала, и в каком состоянии эта область находится сейчас. А заодно узнаем, существует ли идеальная СУБД, и если нет, то как приблизиться к идеалу.

Читать далее

Что такое ANR и как с ним работать правильно

Время на прочтение5 мин
Охват и читатели5.6K

ANR — это не просто “зависание”, а молчаливый краш, который напрямую бьёт по удержанию пользователей. В статье разбираю, как работает механизм ANR, какие ошибки его вызывают, как анализировать traces.txt, какие библиотеки помогают отслеживать блокировки (ANR-WatchDog, ANR-Spy, Firebase Crashlytics), и как построить процессы, чтобы QA-команда научилась ловить их ещё до релиза.

Читать далее

Я выполнил реверс-инжиниринг веб-обфускации Amazon, потому что приложением Kindle пользоваться невозможно

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели20K

TL;DR

• Я впервые купил на Amazon электронную книгу

• Android-приложение Kindle самой компании Amazon было очень забагованным и часто вылетало

• Попробовал скачать мою книгу, чтобы читать её в реально работающем приложении для чтения

• Осознал, что Amazon больше не позволяет этого делать

• Решил назло выполнить реверс-инжиниринг её системы обфускации

• Обнаружил множество слоёв защиты, в том числе рандомизированные алфавиты

• Победил их все при помощи колдунства с сопоставлением шрифтов

Читать далее

Как мы устроили Wi-Fi хакинг‑баттл для студентов IT-вуза: кейс необычного чемпионата по обучению wireless технологиям

Время на прочтение8 мин
Охват и читатели9.2K

Привет, Хабр! Меня зовут Алексей, и я занимаюсь беспроводными технологиями. В апреле этого года мне посчастливилось принять участие в организации образовательного мероприятия для студентов Томского государственного университета систем управления и радиоэлектроники. Мы смогли придумать новый формат, сочетающий программирование, спортивные соревнования на время, исследования в области безопасности, взлом, разработку, анализ, радиочастотное обследование и многое другое. Мероприятие получило название «Сетевая Wi-Fi битва» и включало в себя две активности: одну, связанную с захватом точек доступа; другую — с прохождением Wi-Fi лабиринта. О том, как проходило данное мероприятие, как мы смогли повторить его еще несколько раз, и к чему это привело и будет написано ниже.

Читать далее

Мобильная разработка за неделю #607 (13 — 19 октября)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.8K

В новом дайджесте трещины в Liquid Glass и опыт собеседования в Microsoft, шутки и веселье в Android и запрет программистам писать код, взлом на собеседовании, Supercell против ЕС, интеграция Predictive back и многое другое. Заходите!

Читать далее

Почему файлы стали меньше: форматы фото и видео (JPEG, HEIC, AV1)

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели20K

Форматы изображений и видео вроде JPEG, HEIC и AV1 давно стали частью нашей повседневности. Мы снимаем на смартфон, пересылаем фото в мессенджерах, заливаем видео в облако — и редко задумываемся, почему одинаковый кадр может весить в три раза меньше, но выглядеть так же.

Рассмотрим, как современные кодеки экономят место, почему файлы стали компактнее и зачем это вообще понадобилось. Детали под катом.

Читать далее

Предиктивная безопасность: Dark Web Intelligence в OSINT

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.6K

В кибербезопасности время реакции определяет масштаб ущерба. Чем раньше организация фиксирует признаки атаки, тем выше шанс предотвратить инцидент. Поэтому компании переходят от реактивных мер к проактивным стратегиям. Соответственно, важна интеграция данных из даркнета в OSINT (Open Source Intelligence). Это позволяет выявлять утечки учётных данных, эксплойты и схемы атак ещё до того, как о них станет известно. В результате, снижаются финансовые и репутационные риски, а защита цифровой инфраструктуры становится более устойчивой.

В этом материале я расскажу, как разведка даркнета (Dark Web Intelligence, или DARKInt) дополняет OSINT.

Читать далее

«Красивого резюме мало»: как в Okko растят лидеров IT-сообщества

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.5K

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

А ещё летом готовят окрошку в офисе. На кефире или на квасе? Читайте в статье.

Читать далее

О зависимостях в объектах и переходе к Kotlin

Время на прочтение4 мин
Охват и читатели5.9K

В парадигме ООП объекты взаимодействуют друг с другом. Первоначальная идея такого взаимодействия, впервые появившаяся в языке Smalltalk, заключалась в том, что объект A отправлял сообщение объекту B. В языках, разработанных позднее, используется вызов методов. В обоих случаях возникает один и тот же вопрос: как объект ссылается на другие объекты, чтобы достичь желаемых результатов?

В этой статье я рассматриваю проблему передачи зависимостей объекту. Я рассмотрю несколько вариантов и проанализирую их преимущества и недостатки.

Читать далее

Что такое выгорание и почему обычный отдых тут не поможет

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели10K

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

Читать далее

Система персональных шпаргалок прямо в терминале

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Привет, Хабр! Часто ли Вы сталкиваетесь с необходимостью искать в закладках/заметках "ту самую" важную, но редко необходимую команду? git log, который Вы не использовали полгода или спасительный docker compose с десятком флагов. Нередко подобный поиск превращается в пятиминутный квест.

В статье напишем функцию cheat, которая дополнит терминал личной "базой знаний" с Вашим личным перечнем команд. Вводим cheat docker - получаем проверенный список команд мгновенно, без поиска в браузере и чтения мануалов.

Читать далее

Когда неудачно упал. Небольшой обзор рентгена, УЗИ, МРТ и КТ

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели11K

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

Разумеется я не стал рисковать в таком серьезном деле и сразу пошел к ближайшему свободному травматологу.

С ходу мне были назначены рентген и УЗИ. Чуть позже МРТ, а потом и КТ. Пока я проходил все эти исследования мне стало любопытно, что именно они там смотрят и чем процедуры отличаются друг от друга. Примерную идею я представлял, но захотелось точных ответов. Потому, я засел за чтение, попутно мучая врачей вопросами. 

Как оказалось связка Рентген-УЗИ-МРТ-КТ еще называют большой четверкой исследований при травмах. Но сфера их применения куда шире. В этой статье я пройдусь по каждому и расскажу что когда назначают.

Читать далее

Мой первый вклад в ядро Linux

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели26K

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

Читать далее

Мобильная разработка за неделю #606 (6 — 12 октября)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5K

В этом выпуске отрисовка SF Symbols в SwiftUI и краши Android-приложений, неблокирующие заставки и история о переезде на React Native, физический продукт, вместо очередного SaaS, запрет бесплатных раздач приложений от Apple, Топ-10 лучших бесплатных нейросетей и многое другое. Заходите!

Читать далее

Как весь день быть продуктивным: не выгореть и покончить с прокрастинацией. Часть 1

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели25K

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

Читать далее

Первые шаги open source-контрибьютора: лучшие практики на основе тысячи проектов и руководства в стиле «с чего начать»

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.4K

В блоге Beeline Cloud на хабре мы уже поднимали тему ключевых трендов в сфере open source. Сегодня мы подобрали материалы, которые помогут влиться в открытую разработку и стать контрибьютором: от рекомендаций для начинающих и даже «вредных советов» до тематического репозитория в стиле awesome-подборок.

Читать далее

Балансировка нагрузки: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.5K

Один сервер — это точка отказа. Рано или поздно он не выдержит. Как только появляется второй, третий, десятый сервер, возникает вопрос: кто будет раздавать им работу? Эту роль и берет на себя балансировщик нагрузки.

Но это не тупая раздача запросов по очереди. Хороший балансировщик — это мозг. Он должен чувствовать пульс системы: какой сервер отвечает быстро, а какой начал "тормозить". Он должен понимать, что запросы одного пользователя лучше отправлять в одно и то же место. Ошибка в этой логике — и вся система превращается в хаос из ошибок и потерянных сессий.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность