Как стать автором
Обновить
1
0

Пользователь

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

Мега-Учебник Flask Глава 15: Улучшенная структура приложения (издание 2024)

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров3.2K

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

Начать изучение
Всего голосов 4: ↑3 и ↓1+4
Комментарии2

Разборы важных новинок для iOS-разработки с WWDC 2023

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

В это время мы обычно строим планы на будущее, и я уверен, что лучшее начало нового года — обучение новому и развитие навыков. Надеюсь, что в этом вам помогут видео докладов с осенних митапов, которые мы провели с командой iOS-разработки и на которых разобрали темы с последней конференции Apple: WWDC 2023.

Собрал в одной статье все вебинары и их краткое содержание.

Читать далее
Всего голосов 32: ↑31 и ↓1+30
Комментарии0

ScrollView с прилипающим выделенным элементом на SwiftUI

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K

Привет! Меня зовут Юля, я iOS-разработчик и накануне Нового года дизайнеры подарили мне макеты к новой фиче, посмотрев на которые я облегченно вздохнула: просто ScrollView, в котором есть просто один выделенный элемент, который при скролле вверх просто приклеивается к верхней границе этого самого ScrollView. Делов-то…

А делов оказалось на полтора дня. Потому что примерно на десятой ссылке всемогущий Гугл возмущенно развел руками: “На SwiftUI все порядочные люди делают ScrollView с приклеивающимся хедером. А чтобы какой ни попадя элемент прилеплять - это вы безобразие какое-то придумали…”.

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Многопоточность и параллелизм в Go: Goroutines и каналы

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


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

Goroutines, представляющие собой легковесные потоки выполнения, обеспечивают значительные преимущества по сравнению с традиционными потоками, используемыми во многих других языках программирования. Они позволяют создавать тысячи параллельных процессов без значительной нагрузки на системные ресурсы. Каналы в Go, предоставляя мощный механизм для безопасной коммуникации между Goroutines, дополнительно упрощают управление параллельными задачами и обмен данными.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+20
Комментарии12

Sticky Header в SwiftUI

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.2K

Cоздаем липкие заголовки на SwiftUI (Без introspect и GeometryReader)!
Попутно понимая как SwiftUI взаимодействует с UIKit.

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

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров20K
image

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →
Всего голосов 81: ↑80 и ↓1+91
Комментарии38

Развлекаемся с электрофоретическими дисплеями

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

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

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

Читать далее
Всего голосов 176: ↑176 и ↓0+176
Комментарии32

Системная инженерия, или за что мне платят деньги

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

Писать введения сложно, так что позвольте сразу перейти к делу. Я работаю консультантом. Обычно я работаю над проектами, в которых используется оборудование (электроника и механические детали), но преимущественно помогаю по части ПО: от кода микроконтроллеров до программ для десктопов, а иногда и для серверов.

Иногда меня приглашают для реализации чего-то конкретного, например, драйверов или proof of concept. Иногда меня приглашают, когда команда собирается переходить на Rust. Иногда меня приглашают, когда команда хочет превратить «прототип» в «продукт». По большей части я помогаю людям с основами системной инженерии.

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

Тем не менее она работает и помогает, поэтому я хочу продолжить стучать этим молотком. Может быть, когда-нибудь я напишу об этом книгу, а пока написал статью с неупорядоченными мыслями.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+43
Комментарии4

Информационная безопасность и глупость: необычные примеры

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

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

Читать далее
Всего голосов 64: ↑64 и ↓0+64
Комментарии59

Как серебрить провода? (часть 2)

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

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

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии24

Как мы сделали WebRTC-видеозвонилку и что перепробовали: P2P, SDK от Voximplant и VK Звонков

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

Привет, меня зовут Кирилл и я инженер, который превозмогал ковидные времена вместе с компанией JUG Ru Group. Мы делаем технические конференции, и в пандемию сделали собственный сайт для проведения онлайн-конференций. Тогда нам понадобились качественные видеозвонки на WebRTC, чтобы подключать через браузер спикеров из любой точки планеты.

Варианты «просто застримить Zoom или захватить Jitsi» нам не подошли. Стало ясно, что нужно делать своё решение, пусть и на основе чужого SDK. В результате перебрали разные варианты, накопили опыт. А ещё из-за вопросов вроде этого создали целую конференцию VideoTech, чтобы послушать других знающих людей.

И теперь хочу поделиться нашим опытом с Хабром, поговорив про WebRTC в целом и про конкретные реализации: P2P, Voximplant SDK, SDK VK Звонков.

Читать далее
Всего голосов 52: ↑52 и ↓0+52
Комментарии4

Как создать мобильную ферму, или Вжух! И ты мобильный фермер

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

Привет, «Хабр»! Мы — Даня и Ксюша, разработчик и тестировщик команды мобильных приложений в компании ATI.SU. Сегодня хотим рассказать удивительную историю о том, как наши системные администраторы помогли нам развернуть мобильную ферму Android-девайсов, и с чем мы столкнулись. Опишем технические детали, чтобы вы могли повторить наш опыт. Однажды и ваша команда сможет отлаживать и тестировать удалённо на большом парке девайсов.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии14

[iOS] Создаем кастомный лоадер (спиннер или UIActivityIndicator) в UIKit

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

Будем создавать свои спиннеры (аналоги UIActivityIndicator). Сначала разберем на простом примере, суть и подход, а затем попытаемся усложнить и получить реально веселые и крутые примеры!

Что ж, прочту
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Асинхронный python без головной боли (часть 1)

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

Почему так сложно понять asyncio?

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

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку
Всего голосов 135: ↑135 и ↓0+135
Комментарии56

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте

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

Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальные подходы к разработке.

Если вы читали мою прошлую статью, или позапрошлую, то, наверное, уже знаете что я nerd vulgaris увлекаюсь программированием всякого. В комментариях к одной из прошлых статей было высказана идея провести параллель между приложением на Flutter и нативным приложения для Android на Kotlin c использованием view model, live data, view binding и найти аналоги привычным по Kotlin языковым средствам.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии5

Секреты запуска Flutter в production. Создаем IT-верфи

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


Про нас


Привет! Мы Даниил Левицкий и Дмитрий Дронов, мобильные разработчики компании ATI.SU — крупнейшей в России и СНГ Бирже грузоперевозок. Хотим поделиться с вами своим видением разработки приложений на Flutter.


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


Ссылка на шаблон и детали реализации под катом.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии21

Как продуктовые планы могут внести хаос в IT команду

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

Привет, Хабр! Меня зовут Виталий, и за 9-летний опыт работы PM и 2-летний Agile coach в энтерпрайзе я часто сталкивался с ситуациями, как продуктовые планы влияли на ИТ-команды. Некоторые из таких ситуаций были безобидными, другие могли угробить всю компанию.

Подробнее рассмотрим три ключевые ситуации и их последствия:

1. несвоевременное предоставление планов;

2. задачи с фиксированным сроком;

3. отсутствие планов или плохо проработанные задачи.

Если хотите об этом поразмыслить, добро пожаловать под кат.

Читать далее
Всего голосов 11: ↑5 и ↓6-1
Комментарии17

Как правильно внедрять изменения, которые никто не хочет

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

Типичная история тимлида. Съездил на конференцию, узнал новые вдохновляющие идеи и загорелся ими. Начал сходу внедрять то, что (по его мнению) точно сработает, и получил закономерный отпор команды: «Зачем нам вообще что-то менять?»

«Но доклад был классный! Это точно рабочий инструмент!» — думает тимлид. Он начинает поддавливать, иногда уговорами, иногда — другими способами. Команда — «в штыки». Лид получает странный опыт: пришел с благой целью, а получил негатив. Теперь он больше ничего не хочет менять, даже когда это на самом деле нужно. Команда тоже пострадала: после неумелого change-менеджмента она не готова к изменениям вообще. Знакомая история?

И что же, теперь обходить конференции и заразительные идеи стороной? Не внедрять изменения в рабочие процессы команды, пока коллеги сами их не захотят? Совсем нет. Сейчас я ведущий разработчик в облачной платформе Selectel, возглавляю команду Compute. На собственном примере расскажу, как правильно внедрять новые идеи в работу команды и можно ли собрать целый «фреймворк» для улучшений.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+55
Комментарии34

Разрабатываем своего первого голосового ассистента на iOS

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

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

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

В этой статье я бы хотел рассмотреть пример разработки голосового помощника на платформе iOS, используя язык Swift.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

100500-ая автоматика полива для растений

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

Сказ о том, как я строил очередную систему автоматики для полива и климат-контроля растений.

Читать далее
Всего голосов 40: ↑40 и ↓0+40
Комментарии32
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность