Как стать автором
Обновить
-8
0.6

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

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

Внедряем DevSecOps в процесс разработки. Часть 5. Этап Deploy-time Checks, обзор инструментов

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

Привет! На связи Олег Казаков из Spectr. 

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

Сегодня я расскажу о заключительном этапе DevSecOps — Deploy-time Checks. 

Узнать больше о DevSecOps
Всего голосов 2: ↑2 и ↓0+4
Комментарии2

Telegram Боты на Aiogram 3.x: Простой бот на вебхуках с локальным запуском и деплоем

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

Друзья, приветствую!

Если вы следите за моими статьями, то знаете, что на Хабре у меня опубликовано более 10 объемных публикаций на тему разработки телеграмм ботов через замечательный Python-фреймворк Aiogram 3.

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

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

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

В общем, будет интересно и позновательно!

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии4

Битва с монстром. Региональный застройщик победил федерала и увеличил продажи в 4 раза с помощью контекстной рекламы

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

В регион с населением около 500 тыс. чел. пришел федеральный застройщик. Местным игрокам ловить нечего? Вот и нет, можно побороться за клиентов с помощью контекстной рекламы. Делимся опытом нестандартного использования инструментов Я. Директ в продажах недвижимости. В ход идут все средства ― инструменты из e-commerce, микроконверсии, точные офферы и доработки сайта. 

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

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

Режимы наложения/смешивания в SwiftUI

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

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

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

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

Шесть способов позаботиться о здоровье мозга, когда вам ещё нет 40

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

Деменция не является неизбежным следствием старения. Считается, что около 40 % случаев деменции можно предотвратить (или хотя бы отсрочить), изменив некоторые привычки образа жизни.

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

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

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

Пишем свой Swift макрос без лида, ИТ-курсов и кредитов

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

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

Сегодня я хотел бы рассказать вам о макросах в Swift 5.9, как их можно применять для избавление от бойлерплейта в коде, как их создавать, какие сложности есть с ними и куда всё это движется. Так как я работаю в команде дизайн-системы, мы рассмотрим макросы на примере добавления метода copy для всех моделей UI-компонентов.

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

Принципы SOLID на примере iOS-разработки

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

Привет, меня зовут Антон, я iOS-разработчик в компании Surf. Все программисты хотят писать красивый, масштабируемый и сопровождаемый код, и мобильщики – не исключение. Как в этом помогут принципы SOLID, и зачем они нужны?

Расскажем и покажем на примерах (куда без этого). Кейсы в статье относятся к iOS-разработке, но они будут полезны для всех разработчиков, независимо от стека.

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

Введение в тестирование на Swift Testing

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

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

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

Telegram Боты на Aiogram 3.x: Отправка и обработка медиа сообщений

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

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

Сегодня мы вновь погрузимся в мир Telegram ботов на Aiogram 3.x и рассмотрим отправку и обработку медиа сообщений.

Если вы ещё не ознакомились с моей предыдущей статьей, где я подробно раскрывал основы работы с Message хендлером, настоятельно рекомендую это сделать. В той статье я рассмотрел такие важные аспекты, как:

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

Telegram Боты на Aiogram 3.x: Первые Шаги

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

Привет, друзья!

За свою практику программирования я успел написать множество малых, средних и крупных проектов, преимущественно в формате Telegram-ботов. Моя история началась с популярной на то время версии aiogram 2.24 (тех, кто в теме, поймут), а сейчас я полностью перешел на версию 3.x, о чем нисколько не жалею.

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

Сегодня мы научимся:

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии13

iOS-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

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

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

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

Нейропиксели для небогатых

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

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

Не волнуйтесь, решение есть. Сегодня речь пойдёт про следующую ядрёную смесь: пиксельная графика и нейросети применительно к разработке инди-игр. Примитивные технологии древности, новейшие достижения прогресса и бедные свободные творцы. High tech, low life — киберпанк ещё никогда не был так близок!

Сразу оговорюсь: это не практическое руководство, а скорее, наблюдения заинтересованного лица, пока ещё занимающего выжидательную позицию на заборе. Готового рецепта у меня нет — только общее направление для последующих изысканий. Поэтому не ждите высокого технического уровня материала.
Читать дальше →
Всего голосов 57: ↑54 и ↓3+68
Комментарии11

Планирование и организация рабочего и личного времени

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

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

За моими плечами 6 лет в enterprise разработке и и еще много лет другой работы, которую я совмещал с фрилансом по разработке, а через месяц мне будет 32 года. Это не только короткая справка обо мне, но и важный контекст для моих размышлений. Дело в том, что не только разные подходы к организации времени подходят разным людям, но одному человеку в разные этапы его жизни также будут подходить разные подходы относительно организации его времени. Кто-то моложе и имеет больше сил, кто-то старше и может иметь меньше сил, а бывает и наоборот. Но цель организации времени для разных людей в разные моменты жизни одна. И эта цель - не успеть все или как можно больше, как мне казалось совсем недавно, а определить подходящий тебе темп, чтобы ты чувствовал себя хорошо, чтобы ты был на пике своей формы постоянно, чтобы ты жил для себя, а не для работы или своих дел.

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

Как понять, что пора выпускать новое приложение вместо старого? Разбираем со стороны бизнеса

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

Раньше я был вовлечён в создание приложений со стороны банка, а теперь занимаюсь ими со стороны компании-разработчика. Делюсь: вот что думает бизнес, когда решается на новое приложение.

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

Написание тестов для асинхронного кода с помощью XCTest

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


Если вы когда-нибудь думали о проведении юнит-тестирования в Xcode, вы наверняка обращали внимание на XCTest. Это довольно простой фреймворк на Objective-C и Swift. Однако тестирование асинхронного кода всегда было немного сложным из-за таких конструкций, как делегаты и коллбэки (функции обратного вызова).

В этой статье мы начнём с рассмотрения классического способа тестирования асинхронного кода, чтобы убедиться, что мы все на одной волне относительно плюсов и минусов классического асинхронного теста. После этого мы рассмотрим, как async / await кардинально меняет способ написания юнит-тестов для асинхронного кода, и как он может повлиять на то, что тесты оказываются успешными и неудачными.
Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии1

AVPlayer seek(to:… vs seek(…tolerance

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

Привет всем! Это моя внеочередная статья, о том что нагорело. У меня за последний год накопилось много интересного (и не очень :) ) материала. Но эту статью хочу написать вне очереди. Не так давно я столкнулся с интересным поведением метода seek(to: CMTime). Об этом и хочу написать.

Но начнем по порядку.

AVPlayer известен нам с iOS 4. Он содержит AVPlayerItem, AVAsset.

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

Почему вы себя обесцениваете: какую выгоду это дает и что делать с ощущением своей несостоятельности?

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

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

Читать далее
Всего голосов 25: ↑18 и ↓7+13
Комментарии18

SwiftUI: наконец-то пора? Опыт разработки на SwiftUI в контексте UIKit приложения

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

Привет, Хабр! Меня зовут Алексей Непомнящих и я мобильный разработчик «Леруа Мерлен». В этой статье я бы хотел поделиться своим опытом внедрения первой большой фичи на SwiftUI в приложение, целиком состоящее из UIKit с минимальной требуемой версией iOS 14.

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

SwiftUI уроки (часть 11)

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

Ссылка на 10-ю часть

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

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

Мамихлапинатапай

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

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

– Дорогой, тебе пора расслабиться… – промурлыкала роботесса медовым голоском.

Рука её метнулась к паху Ариса.

– Не сегодня, Элиза! – отшатнулся Арис. – Отстань!

– Ты проявляешь признаки стресса и нестабильного гормонального фона, – ответила служанка.

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

– Будь хорошей девочкой, – несколько смягчившись, бросил Арис. – Папа занят важными размышлениями!

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

Арис выскочил на балкон. Безликая панорама вечернего мегаполиса, кристаллы небоскрёбов с золотыми ячейками – клетками, в которых заточены злые угрюмые люди, не умеющие общаться. Каждый из них обществу себе подобных предпочитал лишённых человеческих недостатков подключенных к глобальной нейросети роботов… И непроходящий образ перед взором: неизвестно откуда взявшееся в победившем пластмассовом мире слово «мамихлапинатапай», начертанное у подъезда многоэтажки краской густого цвета индиго, с  белыми, лимонными и нежно-розовыми блёстками, будто планктон флюоресцирует в пенных океанических волнах в час заката, чего, должно быть, не бывает на свете. В тот день, «погуглив» прямо на месте, Арис узнал, что имеет дело со словом из языка племени яганов, населявших Огненную Землю, означающее «смотреть друг на друга в надежде, чтобы другой человек начал делать то, что обоим нужно, но что никто не желает делать». Слово включено в книгу рекордов Гиннесса, как «наиболее ёмкое». Вряд ли автору граффити требовалось много ума, чтобы узнать о его существовании… Ариса взволновало другое: роботам ни к чему нарушать безупречную геометрию алгоритмов, дерзко вклиниваясь в искусственную гармонию бетонных джунглей. Однако, эта история случилась давно…

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

Информация

В рейтинге
1 727-й
Зарегистрирован
Активность