Pull to refresh
19
0
Роман @Firsto

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

Send message

Простая архитектура с использованием MVVM и делегатов в Android. Оптимальное решение для малых проектов

Level of difficultyEasy
Reading time17 min
Views14K

В этой статье мы рассмотрим, как создать простую архитектуру Android, используя паттерн MVVM (Model-View-ViewModel) и делегаты для эффективного управления состоянием.

Читать далее

Сказ о том, как для андроидного приложения бумажное руководство писали

Level of difficultyMedium
Reading time15 min
Views2.8K

Руководство пользователя для андроидного приложения само по себе невероятная редкость — я сходу не смог вспомнить ни одного примера, тем более на бумаге. Затея сделать печатное руководство пользователя приложения на смартфоне нетривиальна, однако здравое зерно в этом есть. Бумажная документация не требует энергии и интернета, может быть продана как материальный предмет или предъявлена окологосударственным пользователям. Наконец, при должном подходе к печати бумажная документация солидно выглядит. Как бы ни была изготовлена документация, главная её задача — уменьшить нагрузку на хелпдеск. С этим соображением я и подошёл к делу.

Читать полностью

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция

Level of difficultyEasy
Reading time2 min
Views106K

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

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

И как же?

Кроссплатформенный клиент для ChatGPT

Level of difficultyEasy
Reading time1 min
Views19K

Занимался обёрткой для OpenAI для Делфи и вдобавок сделал клиент.

Прошу заранее прощения, я хотел сделать пост нового типа, но с телефона не увидел, как это можно сделать.

Читать далее

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Level of difficultyMedium
Reading time11 min
Views149K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее

Forth и шейдеры

Reading time6 min
Views28K
Речь у нас пойдёт о поэзии. Минимализм языка программирования Forth и красота образов демосцены подтолкнули программиста Брэда Нельсона к идее Forth Haiku. Подражая японским хайку, Брэд писал свои первые программы из трёх строк, состояли они из пяти, семи, и снова пяти слов. Но в отличии от традиционного японского жанра, поэзия на языке Forth порождала картины не в воображении читателя, а зримо, на экране компьютера. Эта затея могла бы остаться причудой одинокого фаната компьютерного ретро (Forth прочно ассоциируется со старыми добрыми семидесятыми), если бы Брэд не воплотил её на самой что ни на есть современной платформе (WebGL) и не сделал бы онлайн-редактор общедоступным.

Вот пример кода Forth Haiku и изображение, которое этот код создаёт: «Light Drop» by Brad Nelson.

: iii x y z*
Sin ; x 5 * x y
- iii exp y iii

Light Drop by BradN

Впереди нас ждут немало удивительных (в том числе и «живых») картин, но сперва — немного теории.
Читать дальше →

Снятие с воинского учета. Дистанционно. Пакет документов

Level of difficultyEasy
Reading time6 min
Views54K

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

Если вкратце, то рабочий кейс, это когда: (А) имеется основание для снятия: уже живете зарубежом полгода, либо имеется иностранный ВНЖ, (B) грамотно составлено заявление на снятие с учета и подписано вашей подписью, (C) в военкомат идет ваш представитель по доверенности, которая оформлена у российского нотариуса или в зарубежном консульстве РФ.

Ниже пояснения и документы. Делайте все красиво, грамотно, и тогда результат будет ?

Читать далее

Новый взгляд на аналитику ошибок в production, или Работающая альтернатива Crashlytics

Level of difficultyMedium
Reading time6 min
Views4.7K

Небольшое предисловие от команды ОК: Последний пост на Хабре от Одноклассников был написан ещё в декабре прошлого года. Мы пропали отсюда на 8 месяцев, но это не означает, что за это время с Одноклассниками ничего не происходило. Нами по-прежнему пользуется несколько десятков миллионов человек ежемесячно, мы по-прежнему один из самых высоконагруженных сервисов на Java в мире. Мы обновили позиционирование, отсняли десятки эпизодов собственных шоу, отказались от оценок под фото :)

Мы решили вернуться на Хабр после долгого отсутствия и сразу с рассказом о своем проекте, который назвали Tracer. О том, что это, рассказывает руководитель направления Android-разработки в проекте ОК Кирилл Попов.

Ошибки и сбои в работе мобильного приложения — беда для любого разработчика, которая непременно тянет за собой ворох проблем в виде ухудшения UI, потери лояльности и оттока аудитории, а также смещения фокуса с написания продуктового кода на исправление багов. Вместе с тем, часто полностью исключить проблемы невозможно. Поэтому, чтобы обеспечить предсказуемую работу прода и свести ущерб от сбоев к минимуму, важно своевременно проводить аналитику ошибок. Но есть кейсы, когда классических решений со стектрейсами ошибок не достаточно, чтобы понять что и, главное, почему идет не так. В таких и многих других сценариях поможет Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях от OK.Tech, технической команды ОК, который можно настроить под определенную задачу и который может решать конкретные проблемы.

Читать далее

Linux для игр, Windows для работы. С чего начать, как установить и настроить

Level of difficultyEasy
Reading time12 min
Views106K

Пора попробовать новый взгляд, когда Windows для работы, а Linux для отдыха. Ведь Linux очень удобен как раз для игр или экспериментов с софтом, чтобы ничего не отвлекало, не было соблазна ещё немного поработать, что возможно только в Windows.

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

Читать далее

Experience — не просто опыт. Interface — не просто экран

Level of difficultyEasy
Reading time7 min
Views2.9K

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

Меня зовут Илья Шапеев, сейчас я проджект-менеджер на web-проектах в дизайн-студии ЦЕХ, а в прошлом — UX-дизайнер. В статье расскажу о том, как я пытался разобраться в определениях UX, UI, почему их недооценивают и почему важно понимать суть своей специальности.

Читать далее

Как добыть Windows 11 под ARM?

Level of difficultyMedium
Reading time2 min
Views67K

С момента появления Apple MacBook с процессорами M1 и M2 задача виртуализации становится очень актуальной. Я для разработки всегда использую несколько виртуалок. Ubuntu, CentOS, Windows, работающие под Oracle Virtual Box, например, в качестве тестовых полигонов значительно облегчают жизнь и экономят время. Но Virtual Box на MacBook с процессором M2 чувствует себя очень плохо (но это отдельная история). Основная задача в том, что на новых маках в качестве гостевых операционных систем лучше всего использовать собранные под ARM. Это особенность архитектуры и челендж на ближайшее время. Итак, где взять Windows 11 под ARM?

Читать далее

Своя библиотека под Android за один вечер

Level of difficultyEasy
Reading time6 min
Views6.4K
В процессе написания статьи она незаметно для меня трансформировалась из туториала по публикации Android-проекта как библиотеки в максимально душную статью о том, как математика пригодилась разработчику с гуманитарным бэкграундом в отрисовке анимашек. Статью подробную, разжеванную, с множеством строк кода. Возможно, не для слабонервных.

Что, если у вас появилась потребность использовать один и тот же код на Jetpack Compose между несколькими проектами, да еще так, чтобы он импортировался одинаково и автоматически на нескольких машинах? Такая ситуация может возникнуть с большой вероятностью, потому что Compose не блещет обилием предоставляемых из коробки виджетов и тулзов (хотя их количество постоянно растет). Быть может, ваш дизайнер пришел к вам с чем-то настолько диковинным, что готовыми компонентами просто не обойтись. Тогда тот пайплайн разработки и публикации собственной библиотеки, который я опишу ниже, может оказаться для вас полезным.

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


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

Принцип подстановки Барбары Лисков

Level of difficultyMedium
Reading time13 min
Views23K

Принципы проектирования SOLID были представлены Робертом Мартином в его книге “Design Principles and Design Patterns” в 2000 году. Эти принципы помогают нам создавать более гибкое программное обеспечение, которое легко понимать и обслуживать. 

В этой статье мы обсудим “Принцип подстановки Барбары Лискофф”, который соответствует букве L в акрониме SOLID.

Читать далее

Четыре платформы — один код. Что такое Compose Multiplatform?

Level of difficultyMedium
Reading time11 min
Views21K
image

Разработчики давно грезили о возможности писать кроссплатформенный код — такой, который запускался и работал бы одинаково в любой операционной системе любой архитектуры. Сегодня принципом «Write once, run anywhere», когда-то прогремевшим в связи с появлением языка Java, трудно кого-либо удивить. И все же есть ниша, в которой не так много кроссплатформенных технологий: это UI-разработка.

Не будет преувеличением сказать, что на сегодняшний день есть только два UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter. Казалось бы, чего еще желать? Сразу две технологии предоставляют возможность шарить UI-фичи между платформами и прекрасно с этим справляются. Но эта статья — не о них, а об их младшем собрате, удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform.
Читать дальше →

Как стать iOS-разработчиком?

Level of difficultyEasy
Reading time19 min
Views26K

Привет! На связи KTS и наш эксперт по направлению iOS-разработки Александр.

Мобильные устройства помогают оставаться на связи с друзьями, работать, развлекаться и повышать продуктивность. iOS, несмотря на введенные санкции и сокращение продаж техники в РФ, остается популярной платформой, пользователи которой ожидают качественные и стабильные приложения для смартфонов, планшетов, умных часов и ТВ‑приставок.

Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.

Читать далее

Как сделать внешнюю обводку у полигона

Level of difficultyEasy
Reading time5 min
Views3.8K

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

Читать далее

Подготовка к собеседованию на iOS разработчика (актуально на начало 2023 года)

Reading time14 min
Views13K

Доброго времени суток. Я iOS-разработчик (хлопки-хлопки).

Так получилось, что работал я iOS-разработчиком на одном легаси-проекте в компании-вендоре. В октябре прошлого года появилось желание сменить текущий проект, чтобы перестать волноваться о легаси и начать развиваться.

Поговорив с начальством, мне назначили встречу с лидом iOS, чтобы подготовить меня к предстоящим собеседованиям. Однако, после нескольких вопросов от лида вердикт был, что не подхожу на текущие проекты. На вопрос, какие, собственно, критерии оценивания я получил ответ:

"тебе никогда никто не расскажет? в нашем деле все сам ?"

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

Читать далее

Инструменты OSINT для самых маленьких и не опытных

Level of difficultyEasy
Reading time3 min
Views48K

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

Для тех кто не знает что это такое цитирую википедию

Разве́дка по откры́тым исто́чникам (англ. Open source intelligence, OSINT) — разведывательная дисциплина, включающая в себя поиск, выбор и сбор разведывательной информации из общедоступных источников, а также её анализ. В разведывательном сообществе термин «открытый источник разведывательных данных» (англ. open information source), который указывает на общедоступность источника (в отличие от секретных источников и источников с ограниченным использованием), но он не связан с понятиями «просто источник информации» (англ. open source information; OSIF), означающий любую находящуюся в пространстве СМИ информаци. Это понятие не тождественно «публичной разведке» (англ. public intelligence). Также его не стоит путать с понятием «открытое программное обеспечение» (англ. open-source software).

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

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

Читать далее

Пришел, увидел, обобщил: погружаемся в Java Generics

Reading time17 min
Views361K
Java Generics — это одно из самых значительных изменений за всю историю языка Java. «Дженерики», доступные с Java 5, сделали использование Java Collection Framework проще, удобнее и безопаснее. Ошибки, связанные с некорректным использованием типов, теперь обнаруживаются на этапе компиляции. Да и сам язык Java стал еще безопаснее. Несмотря на кажущуюся простоту обобщенных типов, многие разработчики сталкиваются с трудностями при их использовании. В этом посте я расскажу об особенностях работы с Java Generics, чтобы этих трудностей у вас было поменьше. Пригодится, если вы не гуру в дженериках, и поможет избежать много трудностей при погружении в тему.


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

Information

Rating
Does not participate
Location
Новокузнецк, Кемеровская обл., Россия
Registered
Activity