Как стать автором
Обновить
4
0
Евгений Карпель @kspshnik

Начинающий frontend-developer

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

Поиск по префиксу или тайные операторы PostgreSQL

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

В статье описывают различные (все известные мне) способы поиска строки по префиксу (по началу строки), которые можно ускорить индексами. Привожу скрипты для тестирования быстродействия и анализирую результат тестов: какой метод и индекс даёт наибольшую эффективность.

Интересно, что там?
Всего голосов 15: ↑15 и ↓0+20
Комментарии8

Настройка CI/CD для самых маленьких разработчиков

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

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

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

Как выбрать контроллер для DIY (сводная таблица по 30++ моделям с комментариями)

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


В этой статье речь пойдёт о выборе контроллера для DIY из ассортимента компании Kincony. Почему именно Kincony? Потому, что эта компания (в отличие от всех остальных) имеет беспрецедентно широкий модельный ряд контроллеров на ESP32 для DIY — на данный момент это около 40 моделей.

Ни один другой производитель не делает ничего подобного и в этом смысле Kincony — это, несомненно, своего рода феномен. Кроме того, компания интенсивно развивается, растёт и явно не собирается останавливаться на достигнутом. Уровень исполнения также растёт — последние модели вообще просто приятно держать в руках — это ну прям очень классные изделия.

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

Плюс снабдил эту таблицу комментариями, пояснениями, рекомендациями и методикой подбора контроллеров для DIY проектов.

Итак…
Читать дальше →
Всего голосов 21: ↑19 и ↓2+27
Комментарии49

Как настроить воркфлоу: 7 дельных советов от опытного разработчика

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

Я разработчик. Мне удалось так наладить свою ежедневную работу, что последние несколько лет в среднем я успеваю сделать 1–2 запроса pull каждый день. Не то чтобы это наилучший показатель, и необязательно стремиться именно к нему, но он позволяет получить общее представление об эффективности работы.

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

Читать дальше →
Всего голосов 20: ↑15 и ↓5+12
Комментарии11

Квантовая электродинамика в картинках

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

Квантовая электродинамика (далее КЭД), любимое, но капризное дитя нерелятивистской квантовой механики и специальной теории относительности — весьма непростая физическая теория с зубодробительным математическим аппаратом. Но, в отличие от многих других сложных теорий, в её инструментарии есть одна небольшая и сравнительно обособленная часть, допускающая примитивную, но наглядную трактовку. Я имею в виду так называемые «диаграммы Фейнмана». Cегодня непросто написать статью по квантовой теории поля, не начертив нескольких таких диаграмм, а в некоторых работах они встречаются чаще, чем знаки элементарной арифметики. Как следует из названия, изобрёл эти диаграммы выдающийся американский физик Ричард Фейнман. Сделал он это в конце 1940-х годов для графического описания некоторых математических выражений, возникающих в КЭД. Сразу оговорюсь: разумеется, вычислять диаграммы Фейнмана, за исключением нескольких самых примитивных, очень непросто. За каждой из них стоит строго определённое математическое выражение, обычно весьма сложное. Но при этом у них есть замечательное свойство — они допускают простую качественную словесную интерпретацию и помогают понять некоторые основополагающие идеи, лежащие в основе современной квантовой теории. Идеи эти скорее непривычны, чем сложны и, как мне кажется, в них вполне может на базовом уровне разобраться даже успевающий школьник.

Про эти диаграммы и содержащиеся в них идеи я и хочу рассказать. При этом никаких формул в тексте не будет вообще — только слова и картинки.

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

Сети для самых маленьких. Часть ой, всё

Время на прочтение4 мин
Количество просмотров159K
Дорогие мои друзья, отважные критики, тихие читатели и тайные почитатели, СДСМ заканчивается.



Я не могу похвастаться тем, что за 7 лет я затронул все темы сетевой сферы или тем, что хотя бы одну из них раскрыл полностью. Но это и не было целью. А целью этой серии статей было ввести юного студента за руку в этот мир и проводить его шаг за шагом по основной галерее, давая общее представление, и уберечь от болезненных скитаний по тёмным уголкам сознания Олифера и Олифера в мучительных попытках найти ответ на вопрос, как всё это применить в жизни.
СДСМ планировался коротким практическим курсом «как научиться в сети за месяц», а вылился в 16 (на самом деле 19) длинных выпусков, которые мы уже даже переименовали в «Сети Для Самых Суровых». Общее количество символов перевалило за 1 000 000.
Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии38

React Query: стейт-менеджер для любителей кэша

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

Всем привет! Меня зовут Андрей Демьянов. Я тимлид и разработчик в МТС Travel. Совместно с другими командами мы создаем сервис по бронированию отелей в России и всему миру. Развиваемся с нуля, поэтому прямо на себе испытываем необходимость в новых библиотеках, подходах и изменениях, которые связаны с расширением и улучшением возможностей.

В этой статье я хотел бы рассказать о нашем опыте работы с библиотекой React Query (ныне TanStack Query, дальше RQ) и почему мы остановились именно на ней. А еще как она помогает нам упростить и ускорить доступ к страницам и данным, сэкономить ресурсы на однотипных запросах, упростить визуализацию работы с данными и распутать код. Глубоких технических подробностей не будет, но статья может быть интересна тем, кто хочет узнать об опыте применения RQ в условиях продуктовой разработки.

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

PostgreSQL — один за всех? Как работать с нетипичными данными в реляционной системе

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

Смотрим, как вездесущий PostgreSQL справляется с нестандартными для реляционной системы управления базами данных (СУБД) ролями: хранением и поиском временных рядов, пар «ключ — значение», эмбеддингов для больших языковых моделей и многомерных кубов. Отвечаем на вопрос: действительно ли так нужно строить сложные архитектуры со множеством разнородных систем хранения данных — MongoDB, Redis, InfluxDB, Pinecone, ClickHouse, Apache Cassandra — или можно обойтись одним PostgreSQL?

Привет, Хабр! Меня зовут Александр Брейман, я доцент департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и по совместительству эксперт Учебного центра IBS по управлению данными и архитектуре ПО. В прошлой статье я рассказывал о миграции с Oracle на PostgreSQL, а сегодня разберу, как последний работает с нетипичными видами данных.

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

Июльские одноплатники: 5 разных устройств для DIY, промышленности и других отраслей

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

Вот и наступила середина июля. А значит, одноплатных компьютеров стало еще больше: многие компании выпускают самые разные модели. В подборке — устройства, которые показались нам особенно интересными. Если вдруг вам нравится что-то другое — рассказывайте о своих фаворитах в комментариях. Ну а пока поехали!
Читать дальше →
Всего голосов 25: ↑25 и ↓0+35
Комментарии10

Решение внутренних конфликтов: инженерный подход

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

Люди на Земле уже многие века как-то решают свои внутренние конфликты. Да что там говорить - это умеют делать даже обезьяны. Хотя у людей получается лучше: нам помогают не только инстинкты и развитый неокортекс, но и чужой опыт: мифы, религии, философские учения, нормы культуры, а порой даже и книги об "успешном успехе".

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

В этой статье вас ждёт:

Дизассемблирование структуры внутреннего конфликта до атомарных инструкций
Путешествие в джунгли legacy-кода, хранящегося в чертогах подсознания.
Разрешение внутренних конфликтов как выплата техдолга,
Формирование эффективных промптов для бионейросети (той, которая между ушами)
Простота: фреймворк, который подходит для решения доброй половины внутренних конфликтов
Глубина: экстремальное погружение во внутренний мир человека.

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

Полигон для творчества за 1500 р. Ч1: Позовите Кряка

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

Приветствую вас, друзья! Не знаю как вам, а мне нравится разбирать всякие штучки, узнавать, как они работают, и применять их в своих проектах. По ходу дела начинается настоящее увлекательнейшее расследование, технический детектив.

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

Проведём расследование, поищем JTAG, узнаем способы и отследим разводку BGA, поработаем с ПЛИС, … и много других действительно интересных вещей. Кряк уже заинтересовался!

Как там у нас обычно? «Сломать, а потом читать инструкцию». Инструкций и документации нет, поэтому будем экспериментировать ломать! ☺
Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии8

Полигон для творчества за 1500 р. Часть 2. Структура платы, 256 UARTов и расширение спектра

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


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

Продолжаем знакомство с платой SX100. Рассмотрим структуру и некоторые любопытные особенности платы, узнаем, как улучшить ЭМС с помощью расширения спектра. Сделаем пару сотен UARTов и доработаем плату.

Вперёд к экспериментам!
Читать дальше →
Всего голосов 31: ↑30 и ↓1+40
Комментарии10

Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL

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

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

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

Десять английских идиом, которые поставили меня в тупик

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

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

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

Добро пожаловать под кат
Всего голосов 61: ↑58 и ↓3+73
Комментарии128

Домашний сервер на базе Proxmox

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

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps‑инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

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

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

Читать далее
Всего голосов 53: ↑51 и ↓2+57
Комментарии129

Опыты в домашней лаборатории: собственный Let's Encrypt в OpenWRT

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

Углубляясь в тему DevOps в своей домашней лаборатории, я начал замечать, что зачастую проще задействовать TLS/mTLS, чем настраивать и отлаживать способы обойтись без него.

Задумавшись о надежном хостинге для приватного CA, обнаружил, что среди всего моего электрооборудования только у двух приборов аптайм близок к 100%: у холодильника и интернет-роутера.

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

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

KC868-AG Pro: эпицентр умного дома (ESP32, Zigbee, Tuya, IR, 433 MHz и прочее)

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


Какое-то время назад я разбирал в своём блоге контроллер для управления устройствами умного дома KC868-AG. Сейчас компания Kincony выпустила новую, значительно модернизированную версию KC868-AG Pro с поддержкой Zigbee 3.0 и Tuya в двух диапазонах 2,4 ГГц и 433 МГц. Плюс контроллер имеет IR и RF433 управление и приём сигналов и прочие возможности.

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

А теперь разберём как это устроено и как это работает (там есть множество интересных и неочевидных нюансов).
Читать дальше →
Всего голосов 19: ↑19 и ↓0+26
Комментарии30

Встречаем Orange Pi CM5: альтернативу Raspberry Pi CM4 с 16 ГБ ОЗУ и 256 ГБ eMMC

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

Источник: 3dnews
Некоторые из одноплатников, которые вышли за последний год, по характеристикам едва ли не равны ряду ноутбуков с невысокой производительностью. Это можно сказать о пятой «малинке». Кроме того, сейчас появился еще один девайс — Orange Pi CM5, характеристики которого тоже на высоте. Давайте посмотрим, что это за девайс.

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

Угрозы инфраструктуры с Linux. Разбираем попытки атак

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

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

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

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

Читаем QR код

Время на прочтение5 мин
Количество просмотров1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Всего голосов 623: ↑614 и ↓9+605
Комментарии109

Информация

В рейтинге
4 206-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer, Fullstack Developer
Junior
Git
Python
OOP
MongoDB
React
NestJS