Pull to refresh
249
69.5
Даниил Шатухин @daniilshat

Информационная служба Хабра

Send message

Матричный шрифт с анимацией на микроконтроллере

Level of difficultyMedium
Reading time5 min
Views9K

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

Читать далее

Стэнфордский курс CS193P “Разработка iOS приложений в SwiftUI” Весна 2023: русскоязычный конспект с адаптацией к iOS 17

Level of difficultyMedium
Reading time10 min
Views5.2K

Если вы хотите получить фундаментальные знания по разработки  iOS приложений с помощью SwiftUI, вам следует пройти стэнфордский курс CS193P. Предложенные в весеннем семестре 2023 года лекции Стэнфордского курса CS193P «Developing  Application for iOS with SwiftUI» («Разработка приложений для iOS с использованием SwiftUI») — это уже 3-я реинкарнация курса CS193P с фреймворком SwiftUI.

В настоящий момент действуют Xcode 15 / iOS 17, которые были представлены на WWDC 2023 уже после завершения курса CS193P, наиболее значимое обновление внесено в механизм реактивного UI в SwiftUI (макрос @Observable против протокола ObservableObject).

В иллюстрированных  русскоязычных конспектах этого курса сделаны пометки, касающиеся изменений в iOS 17. Для большинства Лекций представлена версия с  использование макроса @Observable вместо протокола ObservableObject, в ряде случаев это потребовало нетривиальных решений. 

Читать далее

Записываем музыку при помощи CSS Grid

Level of difficultyMedium
Reading time8 min
Views7.1K
Слишком часто я наблюдал за тем, как импровизирующий музыкант трясущимися руками пытается увеличить pdf размером A4 на крошечном экране телефона в самом разгаре исполнения. Мы обязаны создать плавный и отзывчивый рендеринг музыки для веба!

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

Прототип Scribe


SVG, отрендеренный Scribe 0.2

Несколько лет назад я создал прототип рендерера музыки, который назвал Scribe. Он выполняет преобразование JSON в SVG. Изначально я стремился к созданию адаптивного рендерера музыки. Это было хорошее демо, но для дальнейшего развития пришлось бы писать сложный многопроходный движок генерации макетов, а у меня тогда возникли другие дела.

Вскоре после этого я занялся адаптированием Grid под проекты компании, и тут мне почудилось нечто знакомое: я задался вопросом, а не станет ли он решением некоторых проблем, с которыми я столкнулся при разработке Scribe?
Читать дальше →

SwiftUI: архитектура State-Model-View

Level of difficultyMedium
Reading time9 min
Views6.1K

В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.

В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала разобраться почему. Далее рассмотрим логичные и простые решения для построения как отдельных компонентов, так и уровень приложения с использованием состояний и property wrappers; подход, который логично обозначить как State-Model-View.

Читать далее

Чёрные списки на Хабре

Reading time2 min
Views25K

Что?! Да! Нет, это не ранняя первоапрельская шутка — мы внедрили функциональность чёрного списка на сайте, можете проверить в чейнджлоге. Внутри публикации рассказываем, как они будут работать.

Читать далее

Как я ненапряжно ставлю цели на год после 10 лет в айти

Level of difficultyEasy
Reading time9 min
Views26K

Начало года традиционно — время тысяч постов и статей на тему того, как поставить цели на следующие 12 месяцев. Обычно на выбор есть два стула: либо ERP-система уровня предприятия, либо полуэзотерическая визуализация. Я же хочу поделиться вариантом где-то посередине с минимум задротства и упором на практику, сдобренную каплей теории.

Читать далее

Серьги из матрицы светодиодов

Reading time7 min
Views11K

Изначально я представлял LED Industrial Piercing [перевод на Хабре] как проект, специально рассчитанный на использование светодиодов 0201. В конечном итоге они оказались совершенно не нужны. Светодиоды 0201 слишком малы! Очевидно, я должен был двинуться глубже, поэтому целью нового проекта стало размещение как можно большего их количества на поверхности серёжки-гвоздика.

Читать далее

Как моя маленькая комната в Германии стала сборочным цехом для стартапа

Reading time6 min
Views25K

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

Читать далее

Идеальный компьютер, который мы потеряли: ретроспектива на Intel Compute Stick первого поколения

Level of difficultyEasy
Reading time13 min
Views18K


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

Прошёл ли этот формат проверку временем? Что же может компьютер из 2015 года с тепловыделением 5 ватт в 2024 году? Об этом я расскажу в статье.
Читать дальше →

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views97K

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

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

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

Читать далее

Как мы заработали 1700000 руб на Telegram-боте для создания фотокниг с помощью нейросети. Фейлы и выводы

Level of difficultyEasy
Reading time5 min
Views77K

Решил сэкономить вам 2 года, и разобрать фейлы, которые мы допустили на этапе запуска и продвижения продукта. Будет полезно, если думаете запустить свой IT продукт.

Читать далее

Что на самом деле случилось с исчезнувшим малайзийским Боингом (часть 3/3)

Reading time11 min
Views81K
Не претендую на лавры товарища five, но мне кажется, что цикл статей прервался на самом интересном месте, и позволю себе восполнить этот пробел.

  1. Исчезновение
  2. Прибрежный бродяга
  3. Золотая жила
  4. Заговоры
  5. Возможный сценарий
  6. Капитан
  7. Истина
Читать дальше →

Что на самом деле случилось с исчезнувшим малайзийским Боингом (часть 2/3)

Reading time12 min
Views88K
1. Исчезновение
2. Прибрежный бродяга
3. Золотая жила
4. Заговоры
5. Возможный сценарий
6. Капитан
7. Истина



Первый обломок, найденный Блейном Гибсоном, — фрагмент стабилизатора горизонтального оперения, — был обнаружен на песчаной отмели у побережья Мозамбика в феврале 2016 года. Автор фото: Блейн Гибсон (Blaine Gibson)

3. Золотая жила


Индийский океан омывает десятки тысяч километров береговой линии, — итоговый результат будет зависеть от того, сколько сосчитать островов. Когда Блейн Гибсон начал искать обломки, у него не было плана. Он полетел в Мьянму, потому что всё равно туда собирался, а затем отправился на побережье и спросил у жителей деревни, к какому берегу обычно прибивает потерянные в море вещи. Ему посоветовали несколько пляжей, и один рыбак согласился отвезти его к ним на лодке, — там нашлось немного мусора, но ничего, что что имело бы отношение к самолёту. Тогда Гибсон попросил местных жителей быть начеку, оставил им свой контактный номер и отправился дальше. Точно так же он посетил Мальдивы, а затем острова Родригес и Маврикий, вновь не найдя на побережье ничего интересного. Затем наступило 29 июля 2015 года. Примерно через 16 месяцев после того, как самолет пропал без вести, команда муниципальных работников, чистивших пляж на французском острове Реюньон, наткнулась на металлический обломок обтекаемой формы размером более полутора метров, который, казалось, только что вынесло на берег.
Читать дальше →

Что на самом деле случилось с исчезнувшим малайзийским Боингом (часть 1/3)

Reading time11 min
Views205K
1. Исчезновение
2. Прибрежный бродяга
3. Золотая жила
4. Заговоры
5. Возможный сценарий
6. Капитан
7. Истина



1. Исчезновение


Тихой лунной ночью 8 марта 2014 года Боинг 777-200ER, эксплуатируемый Malaysia Airlines, вылетел из Куала-Лумпура в 0:42 и повернул в сторону Пекина, поднявшись на предназначенный ему эшелон 350, то есть на высоту 10 650 метров. Обозначение авиакомпании Malaysia Airlines — MH. Номер рейса — 370. Самолетом управлял Фарик Хамид, второй пилот, ему было 27 лет. Это был его последний тренировочный рейс, после которого его ждало завершение сертификации. Действиями Фарика руководил командир воздушного судна, человек по имени Захари Ахмад Шах, который в 53 года был одним из самых старших капитанов в Malaysia Airlines. По малайзийским обычаям, его звали просто Захари. Он был женат и имел троих взрослых детей. Жил в закрытом коттеджном посёлке. Имел два дома. В первом доме у него был установлен авиасимулятор, Microsoft Flight Simulator. Он регулярно летал на нем и часто писал на онлайн-форумах о своем хобби. Фарик относился к Захари с почтением, но тот не злоупотреблял своей властью.

В салоне самолёта находились 10 бортпроводников, все малайзийцы. Им предстояло позаботиться о 227 пассажирах, включая пятерых детей. Большинство пассажиров были китайцами; из числа остальных 38 были малайзийцами, а прочие (в порядке убывания) были гражданами Индонезии, Австралии, Индии, Франции, США, Ирана, Украины, Канады, Новой Зеландии, Нидерландов, России и Тайваня.
Читать дальше →

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации

Reading time7 min
Views128K

Значение слова – это его использование в языке
Людвиг Витгенштейн (сурс) 

Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родной, бывает сложно догадаться до этой естественной комбинации.

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

Внимательно посмотрите на пример с картинки. Как только собеседник начал(а) произносить “pitch d…” ваш мозг, зная нужные коллокации, подскажет, что там должно быть “dark”. Даже если вы плохо расслышали эту часть. Это один из механизмов, через который коллокации позволяют лучше воспринимать язык на слух.

Подробнее о том, как их учить и использовать и будет эта статья.

Disclaimer: если у вас филологическое образование, то вам наверное будет смешно, что кто-то открыл для себя коллокации и их использование для изучения иностранного языка в 202N году, а вот если вы, как и я, когда-то читали “randomize” как “рандомизе”, то возможно эта статья будет вам полезной.

Добро пожаловать под кат

Экстремальные практики программирования: что, как и зачем

Level of difficultyEasy
Reading time8 min
Views12K

Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сезонных школ и в Практикуме (где я работал над курсом «Управление командой разработки»).

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

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

Читать далее

Как приручить нейросеть и создать новогоднего Telegram-бота, который умеет «предсказывать» будущее

Reading time10 min
Views6.5K

Мне нравится создавать Telegram-ботов и экспериментировать с нейросетями, поэтому часто объединяю их в своих проектах. Коллеги заметили мое хобби и предложили разработать новогоднего гида Selectel, который будет генерировать персональные предсказания и советы на 2024 год для наших читателей.

Во время реализации спецпроекта я впервые столкнулся с ограничениями по маркетинговой части проекта. Как заставить ChatGPT придумывать разнообразные, но только положительные предсказания? Как не выйти за лимиты текстовой модели и Telegram? В этой статье делюсь ответами на вопросы и реакцией пользователей на проект.
Читать дальше →

Как вести технический блог?

Reading time16 min
Views21K


Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и в конце 2017 года я перешёл в новую компанию и решил вести блог про solution architecture https://medium.com/@nvashanin, где начал описывать общие концепты, обязанности архитектора, его скилл-сет и т.д. К лету 2020 года количество просмотров моих статей перевалило за 800 тысяч, а количество времени, которое люди потратили на прочтение — больше 6 млн минут, или около 12 лет чистого времени. Флагманская статья была переведена другими людьми на разные языки: например, польский или испанский.

В статье я расскажу про свой путь к техническому блогу — от идеи до регулярных публикаций. Расскажу, о чём можно писать, как писать и как оформлять статьи, а также о том, как на них заработать. Мне, например, удалось купить себе часы на деньги, которые принёс блог. Статья подойдёт тем, кто только задумывается о написании статей, а также будет полезна и тем, кто уже активно пишет.
Читать дальше →

Роадмэп по современному фронтенду от KTS

Level of difficultyEasy
Reading time25 min
Views58K

Привет! Меня зовут Фёдор, я фронтенд-тимлид в KTS и преподаватель школы Metaclass.

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

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

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

Читать далее

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views133K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Content Writer, Журналист
Senior