Pull to refresh
10
0
Кирилл Суворов @kirias

User

Send message

Гексагональная архитектура со Spring Boot

Level of difficultyMedium
Reading time19 min
Views14K

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

В этой статье мы рассмотрим, как реализовать гексагональную архитектуру в Spring Boot приложении. Мы разделим бизнес-логику и инфраструктуру на отдельные модули и посмотрим, как можно изолированно реализовать и протестировать эти модули.

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

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments4

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

Reading time9 min
Views13K

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее
Total votes 25: ↑22 and ↓3+19
Comments5

Очередные умные часы своими руками

Reading time18 min
Views89K


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


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


Подбор компонентов, разводка платы, пайка в суровых условиях, 3D-печатный корпус и JavaScript на часах — под катом. Welcome!

Total votes 145: ↑144 and ↓1+143
Comments214

Подарок на 1 сентября всем поклонникам цифровой схемотехники и архитектуры компьютера

Reading time2 min
Views29K
hh2e_lecture_slides_banner_3

Господа! Сегодня на 1 сентября, в День Знаний, группа из украинских преподавателей вузов, их аспиранток, а также российских инженеров, решили, по согласованию с британскими издателями Elsevier через компанию Imagination Technologies, сделать небольшой подарок всем учителям компьютерной архитектуры и цифровой схемотехники, особенно тем, которые используют популярный учебник Дэвида Харриса и Сары Харрис.

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

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

Итого, вырезка из слайдов, чтобы вы поняли, о чем идет речь:
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments13

IoT за копейки: практическое руководство. Часть 1-я, аппаратная

Reading time5 min
Views35K


Привет, Geektimes!

Представляем цикл статей, в котором рассмотрим, как с нуля и без пайки реализовать управляемое из облака недорогое IoT-устройство с огромными потенциалом. За основу возьмем «чистый» микрочип ESP8266, о котором недавно уже писали. Используем свежую DeviceHive-прошивку и напишем простенькое веб-приложение для обращения к cloud-серверу. К микрочипу подключим простое устройство, управлять которым можно будет с помощью пары кликов в браузере.

Перед вами первая статья цикла, из которой мы узнаем, какое именно оборудование нам понадобится.

Совсем недавно состоялся публичный релиз первой версии DeviceHive-прошивки для ESP8266. Цель наших статей — помочь каждому желающему реализовать с помощью DeviceHive собственное IoT-решение максимально дешево, быстро и без лишних сложностей.

Нам понадобится всего пять вещей:
  • плата с распаянным ESP8266;
  • USB ->UART-переходник;
  • источник питания;
  • провода;
  • сам девайс, который мы хотим подружить с облаком.


Общая стоимость первых четырех пунктов не превысит $ 5. Какое устройство выбрать для экспериментов — решайте сами.

Давайте рассмотрим каждый пункт подробнее.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments19

Медиаплеер из содержимого кладовки

Reading time10 min
Views40K

Автор: Николай Хабаров

Одним прекрасным пятничным вечером я решил посмотреть дома фильм: включил ноутбук, подключил HDMI-кабель через переходник с DisplayPort, взял пульт, включил телевизор, запустил воспроизведение на ноутбуке. И понял, что громкость на телевизоре недостаточна — пришлось снова искать пульт, чтобы ее увеличить… Тут я подумал «А можно ли этот процесс как-то упростить?»

Субботнее утро выдалось крайне плодотворным. Я решил сделать собственный сетевой мультимедиа-проигрыватель, причем такой, каким его представляю я. Почти все детали были взяты из кладовки, сердце плеера — Raspberry Pi. Подробнее, что у него внутри, и как собрать аналогичное устройство, смотрите под катом.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments56

Иван Григоров: «Для топовых багхантеров $25К в месяц — не проблема»

Reading time9 min
Views90K


Программы поиска уязвимостей всегда привлекают немало внимания со стороны хакеров и специалистов по безопасности. Ведь это легальный способ неплохо зарабатывать одними только поисками багов (при условии, что есть хороший опыт и голова на плечах). На днях нам представилась возможность взять интервью у багхантера Ивана reactors08 Григорова. Он лидер нашей программы Bug Bounty и занимает 11-е место в общем рейтинге платформы HackerOne.

Как начать искать баги? Может ли это быть единственным источником дохода? В каких Bug Bounty участвовать? Сколько зарабатывают багхантеры? И почему поиском уязвимостей особенно выгодно заниматься в кризис? Ответы на эти и другие вопросы читайте в нашем интервью.
Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments22

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views815K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments46

400 потрясающих бесплатных сервисов

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++

Reading time18 min
Views103K


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

Первый семестр призван «выровнять» знания студентов. Он содержит такие дисциплины, как алгоритмы и структуры данных, программирование на C++, а также обзорный курс по веб-технологиям. С книг по этим предметам и начнется обзор. Большая часть представленных книг относится к нестареющей «классике», являющейся собранием основополагающих концепций.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments10

Самодельные электронные часы, элементная база — часть 1, измерение времени

Reading time4 min
Views40K
Наверное, каждый гик, увлекающийся самодельной электроникой, рано или поздно приходит к идее сделать свои, уникальные, часы. Идея вполне неплоха, разберемся как и на чем их лучше сделать. В качестве отправной точки будем считать, что человек умеет программировать микроконтроллеры, понимает как переслать 2 байта по i2c или serial-порту, и может спаять вместе несколько проводов. В принципе, этого достаточно.

Понятно, что ключевая функция часов — измерение времени (кто бы подумал, да?). И делать это желательно максимально точно, здесь есть несколько вариантов и подводных камней.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments35

Платформер под Android на Unity3D

Reading time3 min
Views95K
image

Пожалуй, даже после выхода нового UI, создание интерфейса для Android’а осталось больной темой для многих.
Новая система “UI”, которая появилась в Unity 4.6 сильно упростила жизнь разработчикам, но все же, хотелось бы прояснить некоторые моменты, которые относятся к Android’у.

Из плюсов:
-Мощный набор инструментов
-Корректное масштабирование на разных разрешениях, что в свою очередь устраняет кучу лишней работы
-Поддержка сенсорного управления без дополнительных настроек
-Гибкость и простота в использовании
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments10

Серии Фейнмана [Озвучка Vert Dider]

Reading time1 min
Views32K


«Серии Фейнмана» — образовательный проект, созданный с целью повысить уровень научной грамотности в обществе. От создателей «Серий Карла Сагана».
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments7

Основы Hibernate

Reading time17 min
Views430K


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

Долго думал, о чем же написать свой «первый» топик… Слово первый не зря взял в кавычки, так как первый топик на самом деле уже был, опыт был к сожалению неудачный — дело закончилось баном.  Решил больше не копипастить. Уверенности тому, что надо написать что-то свое, придал вот этот топик. Решил твердо — пусть это будет и редко, но буду писать сам.

Ну, едем дальше!

Совсем недавно, по роду свой деятельности, мне пришлось столкнуться с таким понятием как ORM — (англ. Object-relational mapping). В двух словах ORM — это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Именно объектов, таких, какие они есть, со всеми полями, значениями, отношениями м/у друг другом.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments112

Курс молодого бойца. Практический курс по Cisco Packet Tracer. Заключение

Reading time6 min
Views66K
Относительно недавно я опубликовал небольшую статью «Курс молодого бойца. Практический курс по Cisco Packet Tracer». Там я рассказал об опыте создания обучающего курса для внутренних нужд организации. Основная цель курса — быстрая подготовка специалиста к «полевым работам». Уроки параллельно публиковались на YouTube в свободном доступе. Сам проект получил название NetSkills. После публикации на канал YouTube добавилось больше 2-х тысяч подписчиков. Я получил отличный фидбэк (такой, что еле справился) и стимул довести дело до конца.

image

Несколько дней назад я опубликовал последний видео урок и хотел поделиться некоторыми результатами и мыслями в качестве заключения. Всем, кто заинтересовался, добро пожаловать под кат.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments13

Программируемый микроконтроллер STM32 — с места в карьер

Reading time30 min
Views101K
Ниже описан мой первый опыт общения с программируемым микроконтроллером в лице STM32VLDiscovery, результатом которого явилась машинка из LEGO, управляемая с телефона, и ещё кое-что. Я постарался изложить свой путь в виде пошагового руководства к действию, но, предупреждаю сразу, не руководства «как делать правильно». Первые два раздела являются предисловием и не относятся непосредственно к данному микроконтроллеру.

image

Содержание:


  1. Первый контакт с микроэлектроникой.
  2. Строительство машинки на непрограммируемых логических элементах.
  3. Начало работы с STM32. Среда разработки. Подключение микроконтроллера к машинке.
  4. Определяем угол поворота передних колёс — обратная связь через АЦП.
  5. Использование ЦАП для воспроизведения звуков.


Погрузиться
Total votes 42: ↑38 and ↓4+34
Comments16

PC Buyer's guide: выбор видеокарты

Reading time11 min
Views42K
Привет, Geektimes! Мы продолжаем наш цикл статей о выборе железа для компьютера. В прошлых выпусках мы затрагивали тему материнских плат, процессоров и чипсетов, систем охлаждения, жёстких дисков и блоков питания. Сегодня же говорим о том, что выводит ваш любимый ресурс на мониторы: о видеокартах.


Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments57

Автоматический определитель электронных компонентов

Reading time3 min
Views163K


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

Для этого потребуется совсем немного деталей, которые обычно есть у каждого начинающего ардуинщика: микроконтроллер ATMEGA, двухстрочный дисплей и несколько резисторов.
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments71

Не учите фреймворки, учите архитектуру

Reading time5 min
Views198K
Некоторое время назад у меня состоялся интересный разговор, коллега активно защищал Angular, говорил, что тот ускоряет веб-разработку. Я более десяти лет разрабатываю сложные web-сервисы, работал в Microsoft, в Spotware Systems на Кипре, сейчас создаю приложение для стартапа из Кремниевой долины, и в общем то слежу за трендами. Однако почувствовал себя динозавром, потому что не видел смысла использовать фронтэнд-фреймворки до того момента, а оказалось, что это уже мейнстрим. Шёл 2014-й год, я погрузился в мир Angular, Knockout и Backbone, что из этого вышло, почему я от них в итоге отказался и рекомендую коллегам сделать то же самое – под катом.
Читать дальше →
Total votes 152: ↑133 and ↓19+114
Comments123

Добавление Wi-Fi к различным устройствам

Reading time4 min
Views49K

Предисловие


Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments23

Information

Rating
Does not participate
Location
Витебск, Витебская обл., Беларусь
Date of birth
Registered
Activity