Как стать автором
Обновить
19
0
Роман @Firsto

Инженер-программист

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

Trunk Based Development — кто такой и зачем нужен

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

Привет! Меня зовут Павел Лакосников, я тимлид команды бэкенд-инженеров в Авито. Сегодня расскажу про свой любимый подход к разработке Trunk Base Development, сравню его с другими моделями ветвления и подсвечу его достоинства и нюансы.

Краткий обзор трёх моделей ветвления: Central Workflow, Git Flow, Trunk Based Flow, с акцентом на моего фаворита — Trunk Based Flow.

Читать далее

Как адаптировать Android-приложение под Huawei

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

Всем привет! Меня зовут Миша Вассер, я Head of Android в AGIMA. Мы занимаемся разработкой Digital-продуктов для больших и маленьких компаний, в том числе пилим мобильные приложения.

Не так давно — по сравнению со всей историей Android — Huawei выкатил собственную операционную систему и сказал: «Ребята, вот вам новая система, кайфуйте». Многие отнеслись к новой ОС скептически. Остальным пришлось адаптировать под нее свои Android-приложения.

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

Читать далее

Переносим свою картину мира в чат-бота на базе GPT-3

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

Думаю, все уже наслышаны о потрясающих возможностях ChatGPT и GPT-3, многие уже вдоволь наигрались с ними, а новые стартапы на их основе льются на нас каждый проливным дождём! Возможности ChatGPT в решении некоторых текстовых задач потрясают, порой кажется, что имеешь дело с настоящим разумом.

У меня возникла идея - что если попробовать доучить сеть так, чтобы она имитировала картину мира определенного человека? (Да, снова Черное Зеркало). Классический подход с pre-prompt для этого не подходит, так как хочется заложить в сеть побольше знаний (а также реально поменять веса связей), поэтому будем использовать fine-tune (дообучение на небольшом датасете и небольшом числе итераций). Такая опция доступна пользователям openAI за небольшую плату ($0.5-1 в моих примерах).

В этой статье я покажу как можно обучить GPT-3 (в версии davinchi-003) на своей картине мира и засунуть её внутрь телеграм-бота, потратив на всё всего несколько долларов.

Код бота доступен в репозитарии.

Читать далее

Упрощаем создание FragmentFactory при помощи dsl котлина

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

Фрагменты в андроид разработке стали привычным способом написания ui и со временем, для удобства разработки, появилось много нового функционала. Один из таких примеров - использование своей реализации FragmentFactory. Об этом я и хотел бы поговорить.

Для чего нужно использовать фабрику фрагментов? 

Часто бывает, что при создании во фрагмент нужно передать какие-то параметры, это может быть ссылка на объект, от которого зависит фрагмент или же, в самом простом случае, id контента, который нужно отобразить. Любой андроид разработчик знает, что просто передать в конструктор фрагмента нужные параметры не получится, так как при пересоздании фрагмента используется дефолтный конструктор. Стандартный способ для передачи id, положить его в аргументы фрагмента.

Читать далее

Похек Wi-Fi встроенными средствами macOS

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


TL;DR Встроенные средства macOS позволяют выполнить некоторые атаки на Wi-Fi-сети. В статье описывается, как с помощью встроенного в Macbook Wi-Fi адаптера AirPort и macOS похекать Wi-Fi.

Обычно для аудита безопасности Wi-Fi-сетей используется классическая связка: виртуалка с Kali Linux + внешний USB адаптер типа Alfa AWU-blabla1337. Но оказывается, что с помощью macOS и встроенного адаптера Broadcom тоже можно делать грязь.

Содержимое статьи:

  • Мониторный режим на встроенном адаптере
  • Расшифровываем WPA трафик
  • Ловим хендшейки и PMKID
  • Собираем под макось пацанские тулзы: hcxtools, hashcat, bettercap
  • Брутим хеши на онлайн-фермах и локально

Йоу, камон мазафака

Telegram Bot на Kotlin: Дратути

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

Это вторая часть из туториалов про ботов для телеграма на kotlin. Первую статью можно найту тут. В рамках данной части мы попробуем создать недостаточно простой welcome плагин. В рамках нового плагина мы будем работать с базами данных, использовать новые методы в рамках отправки сообщений и способы взаимодействия с пользователями бота

Читать далее

OpenCat — создай своего робокотика

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

Если вы фанат робо-собаки от Boston Dynamics и хотели бы завести дома его маленькую копию, вам в помощь OpenCat. Это платформа четвероногих роботов-питомцев на основе Arduino и Raspberry Pi с открытым исходным кодом. Разработчики предлагают всем попробовать создать своего собственного робота-любимца.

Читать далее

Скрываем часть номера телефона

Время на прочтение3 мин
Количество просмотров15K
Представьте, что вам нужно скрыть часть номер под звездочками. Заменить +79999999999 на +799****9999 не трудно, а теперь представьте, что масок номеров не одна, а на много больше, номера эти как российские, так и канадские или любые другие. В этой функции я постарался захватить как можно больше номеров.
Читать дальше →

Inkscape с 0 до Pro за 5 дней

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

Создал мини курс по программе для векторной графики Inkscape в 2022.

Разработал методические материалы для изучения темы «Кодирование и обработка графической и мультимедийной информации» в школьном курсе информатики.

«Векторные графические редакторы позволяют пользователю создавать и редактировать векторные изображения непосредственно на экране компьютера, а также сохранять их в различных векторных форматах, например, CDR, AI, EPS, WMF или SVG». «Inkscape - редактор векторной графики, аналогичный по своим возможностям таким программам, как Adobe Illustrator, Corel Draw и другим».

Читать далее

Иерархия модулей: как выстроить связи между модулями в Android

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

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

В этой статье: расскажу, какие проблемы решали и какие типы модулей выделили, обсудим правила подключения модулей между собой, разберем разделение большой фичи на несколько модулей и посмотрим на наш settings.gradle.

Статья также доступна в видео-формате.

Читать далее

Как открыть ИП в Грузии, в том числе удаленно в 2025 году?

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

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

Наиболее популярной формой легализации бизнеса и работы на территории Грузии является регистрация иностранного гражданина в организационно-правовой форме индивидуального предпринимателя.

Благоприятные факторы для ведения бизнеса в Грузии:

Читать далее

Путь к автотестированию Android нативными инструментами: испробовали всё, что есть на рынке и сделали свои выводы

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

Давайте сначала представимся. Мы - команда управления тестирования и контроля качества в БКС Мир Инвестиций. Наш продукт - это приложения и сайты, созданные для удобства всех желающих окунуться в мир ценных бумаг и инвестиций. Конкретно в нашем “ведомстве” приложения на IOS  и Android, сайт личного кабинета, инвест стратегии Fintarget, новостной портал BCS-Express, сайт ФГ БКС и прочее.

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

Конечно же, автоматизация наших процессов важна, ведь без этого невозможно построение действительно сильного QA отдела. Безусловно, мы встретились с множеством разнообразных проблем.

Мы решили сделать серию статей на тему того, что у нас получилось, что не получилось и как мы этого добивались. Часть статей будет чисто лирической, на размышления о подходах и способах работы. Другая часть будет сугубо технической, с рассказами, примерами и всем-всем, что нам интересно рассказать, и что интересно обсудить.

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

Самое интересное далее

Миграция с LiveData на Kotlin’s Flow

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

LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.

Читать далее

Квантовые шахматы

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

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


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


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

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

Как не выйти в Window при работе с Window?

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

Многие разработчики разбиваются о жизненные циклы onResume, onActivity, onCreate, которые связаны с отображением UI внутри приложения, будь то Activity или фрагмент. Некоторые методы работы со стремительно развивающимся андроидом приходится искать интуитивно, потому что официальная документация не дает полной картины. Стоит разобраться, где заканчиваются знания и начинается интуиция.

Я Дмитрий Манько, андроид-разработчик в компании Ситимобил, попробую объяснить, что такое onResume() и почему определение от Google не совсем корректное. Разберу иерархию внутри Activity, покажу когда происходит взаимодействие и какие события для этого нужны. А ещё объясню, почему фрагмент дешевле и проще Activity.

Читать далее

Публикация Android библиотеки

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

Недавно у меня появилось желание попробовать создать свою собственную Android библиотеку и выложить ее на Maven Central репозиторий.

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

Я решил поделиться процессом публикации моей библиотеки Awesome-Buttons.

Ну что ж, приступим.

Читать далее

Как найти идею для диплома? Придумать сотню и удалить девяносто девять

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

Вот мои условия:

1.     Нужно найти тему для диплома, причем чем скорее, тем лучше.

2.     Проект должен производить впечатление.

3.     Перспективы для монетизации и расширения будут плюсом.

4.     Процесс подготовки не должен быть смертельно скучным.

Как найти подходящую тему? Можно искать идеи по очереди, исследовать и проверять.
Но мне нравится придумывать идеи, так что я займусь этим.

Ведь все что нужно, это одна хорошая мысль.

Читать далее

Запись звука и отображение громкости на Android

Время на прочтение4 мин
Количество просмотров7.9K
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:


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

Android in-app purchases, часть 2: инициализация и обработка покупок

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

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

Познакомьтесь с остальными статьями из цикла:

1. Android in-app purchases, часть 1: конфигурация и добавление в проект.

2. Android in-app purchases, часть 2: инициализация и обработка покупок.

3. Android in-app purchases, часть 3: получение активных покупок и смена подписки.

4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием.

5. Android in-app purchases, часть 5: серверная валидация покупок.

Читать далее

Blender, 1001 мелочь

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

Продолжение разбора приёмов работы с пакетом трёхмерной графики Blender версии 2.79. На этот раз речь пойдёт о материалах в Cycles и о том, как отрендерить итоговую картинку.

Далее

Информация

В рейтинге
Не участвует
Откуда
Новокузнецк, Кемеровская обл., Россия
Зарегистрирован
Активность