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

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

Send message

«Да» — расписаниям, «нет» — спискам дел

Level of difficultyEasy
Reading time14 min
Views34K

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

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

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

Читать далее

JetBrains выпустила новую IDE для работы с документацией Writerside

Level of difficultyEasy
Reading time2 min
Views31K

Инструмент используется в JetBrains уже более 10 лет, и, по словам команды, продукты JetBrains, от языка программирования Kotlin до IntelliJ Platform SDK, используют Writerside для создания своей документации.

Читать далее

Как не забросить свой пет-проект. Мой кейс запуска приложения в App Store

Level of difficultyEasy
Reading time7 min
Views6.2K

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

Я рассчитывал выпустить его месяца за три… Но проект удалось релизнуть лишь спустя 4 года

Рассказываю что помогло запустить MVP когда мотивация давно закончилась. Делюсь быстрым и простым техническим стеком для микро команд и советами для начинающих индихакеров.

Читать далее

WidgetKit в iOS — не просто большие иконки

Level of difficultyMedium
Reading time6 min
Views3.3K

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

Читать далее

Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов

Reading time4 min
Views13K

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

Читать далее

Что я понял на первой работе программистом / Мои советы Junior-разработчикам

Reading time8 min
Views71K

Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не становится прошлым.

Материал будет полезен тем, кто ищет первую работу или не так давно её нашёл. Примеры будут из области Python Backend, но наблюдения универсальны и спокойно перекладываются на другую область. Поехали!

Читать далее

CD-диск на шейдерах и NameDrop в iOS 17

Level of difficultyMedium
Reading time9 min
Views3.7K

Шейдеры отлично подходят для симуляции материалов. В обычных интерфейсах мы управляем только цветом, но эффект размытия в iOS — пример материала, который совершил революцию в мобильных интерфейсах.

Описать метериал через шейдер сложно, а создать динамичный эффект — ещё сложнее. В этой статье разберём пару примеров: переливающийся диск и нашумевший NameDrop в iOS 17.

Читать далее

Шейдеры в iOS для начинающих

Level of difficultyMedium
Reading time9 min
Views8.3K

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

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

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

Давайте разбираться, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему. Начнём с простых градиентов, а закончим сложным примером «как в Air Drop на iOS 17».

Читать далее

Как мы приложение Додо Пиццы на арабский переводили

Reading time13 min
Views11K

Что вы знаете о том, как добавить поддержку языков, которые пишутся справа налево (Right to Left, RTL), в iOS‑приложение? Нужно использовать leading и trailing вместо left и right, а ещё… Вот и мы больше ничего не знали, но пришлось разобраться.

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

Читать далее

Телеграм-боты на NodeJS

Level of difficultyEasy
Reading time29 min
Views76K

Кратко расписал об основных методах для работы с телеграм-ботами на NodeJS: текстовые сообщения, видео, фото и аудио-сообщения, контакты, геолокация, платежная система и проверка подписки на канал.

Читать

Топ 10 deepnude нейросетей 2025 года

Reading time5 min
Views938K

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

Итак, в данной статье поговорим о пикантных и для некоторых людей непристойных темах, которые больше всего интересуют наше общество - обнаженное тело. Сделаем обзор таких сервисов как: Deepnude.ai, Deepfake.com, DeepSwap.ai, SoulGen и прочих.

Читать далее

Я убрал из статьи об изменении климата правду, чтобы её опубликовали

Reading time8 min
Views52K

Мою статью только что опубликовали в журнале Nature, потому что я придерживался изложения, которое, как я знал, понравится редакторам. Так наука работать не должна.

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

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

Так почему же пресса так ревностно описывает изменение климата как основную причину? Возможно, по тем же причинам, по которым я только что опубликовал научную статью о лесных пожарах в Nature, одном из самых престижных журналов мира: она соответствует простой сюжетной линии, которая вознаграждает того, кто её рассказывает.

Читать далее

Google Workspace и Office 365 постепенно закрывают для РФ. Ставим офисный софт на своём сервере

Level of difficultyEasy
Reading time6 min
Views19K

Nextсloud Office

В последнее время появляется всё больше новостей про блокировку офисных сервисов Google Workspace и Office 365 для российских клиентов. По слухам, отключают некоторые компании, попавшие в санкционные списки. Но скоро блокировка может распространиться на остальных, всё к этому идёт.

К счастью, есть много опенсорсных альтернатив на замену Google Workspace и Office 365. Это бесплатные открытые решения, которые можно установить на своём сервере.
Читать дальше →

Как начать заниматься багхантингом веб-приложений. Часть 3

Level of difficultyEasy
Reading time14 min
Views4.9K

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

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

Читать далее

Мне 15 лет и я написал QR код генератор на Rust

Reading time7 min
Views19K

Привет, я бы хотел вам рассказать о том, как я учился программировать на языке Rust с нуля, для этого я выбрал цель — написать свой генератор QR-кодов.

Немного объяснений моего кода и вообще про QR-коды, надеюсь, вам понравится.

Читать далее

Полное руководство по эффективному обучению

Reading time9 min
Views20K

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

Читать далее

Создание игры в стиле GameBoy в 13 КБ

Level of difficultyMedium
Reading time9 min
Views7.2K

В прошлом году я решил поучаствовать в гейм-джеме js13kgames. Это длящееся один месяц ежегодное соревнование по созданию с нуля игры на JavaScript, которая должна уместиться в 13 КБ (в zip). Места как будто не очень много, но с достаточным количеством креативности при таких ограничениях можно достичь многого. Просто взгляните на потрясающие примеры прошлых лет:


Хотя в прошлом году моя игра заняла не такое высокое место, я всё равно хотел бы поделиться своими открытиями, сделанными в процессе её разработки.

Мне захотелось сделать игру, напоминающую о ретроэпохе игр на портативных консолях с их уникальным квадратным экраном, низким разрешением и видом сверху вниз. Я решил реализовать быстрый геймплей в стиле action-RPG с простым, но увлекательным геймплеем, мотивирующим игрока продолжать игру. С музыкой всё было очевидно — звуковые эффекты должны быть похожими на звуки аркадных автоматов.

Поиграть в мою игру можно на странице Gravepassing сайта JS13KGames. Полный код выложен на GitHub.
Читать дальше →

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time90 min
Views202K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005,... 1260 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX

Создаем QR-код для электронной визитки vCard

Level of difficultyEasy
Reading time8 min
Views26K

Недавно нам в EvApps понадобилось создать электронную визитку компании vCard и зашить ее в QR-код, чтобы удобнее было обмениваться контактами при помощи смартфона. Что из этого вышло (а также несколько технических лайфхаков), читай в этой статье.

Для начала разберемся, зачем нам vCard?


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

Что такое vCard для пользователей?

vCard имеет расширение .vcf - это текстовый файл в виде контейнера, который хранит вашу контактную информацию: ФИО, номера телефонов, адрес почты, наименование компании, вашу должность и прочее.

Технический анализ электронной визитной карточки vCard

Формат vCard был разработан еще в 1995 года консорциумом Versit - организацией, которая создает и дополняет стандарты Интернета.

vCard - это расширение формата MIME-DIR, являющегося стандартом кодирования передачи информации.

Кроме обычных для формата MIME-DIR атрибутов uri, date, date-time и float для vCard вводятся форматы binary, phone-number, utc-offset и vcard.

Читать далее

Как документировать публичные API для продукта. Большой гайд, часть 1

Level of difficultyMedium
Reading time17 min
Views26K

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

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

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

Читать далее

Information

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

Specialization

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