Pull to refresh
11
0

Full-stack web developer.

Send message

Почему я написал плагин Ataman и как он может изменить вашу работу с IDE от JetBrains

Reading time5 min
Views15K

Ataman – это мой плагин для IDE-шек на базе Intellij. Единственное его предназначение – сделать возможным использование leader key биндингов в моём основном рабочем инструменте – Android Studio.

В этом посте я расскажу, зачем я его сделал и вы удивитесь, как раньше-то без него жили!

А ну, удиви
Total votes 29: ↑28 and ↓1+31
Comments39

Обзор фреймворка cdk8s для «программирования» Kubernetes-манифестов

Reading time8 min
Views6.7K

Kubernetes стал стандартом для запуска микросервисных (и не только) приложений. Компании разных размеров — от стартапов до enterprise — стараются проектировать свои приложения готовыми для запуска в Kubernetes-кластере.

А для запуска приложения в K8s обычно используют Helm-шаблоны с описанием манифестов. Хотя формат шаблонов легко читается и прост в изучении, он может вызвать определенные сложности, когда логика деплоя приложения разрастается, когда создаются дополнительные тестовые контуры (с деплоем только отдельных частей приложения) и т.д. При активном использовании Go-шаблонов рефакторинг манифестов может превратиться в нетривиальную задачу*.

Что делать, если у разработчиков нет времени разбираться со всеми тонкостями Helm-шаблонов, синтаксисом YAML и Go templates, но нужно запустить приложение в Kubernetes? Ответом на этот вопрос может стать использование cdk8s.

Читать далее
Total votes 39: ↑39 and ↓0+39
Comments12

Реализация Web API OData в ASP.NET Core 3 и ASP.NET 5 (часть 1). Связи «многие-ко-многим»

Reading time9 min
Views12K

Наша команда занимается развитием корпоративной системы электронного документооборота. В команде часть приложений разрабатывается на текущей LTS версии .NET Core 3.1, в частности, бэкэнд для SPA, а также ряд Worker Service’ов, которые с определенным интервалом взаимодействуют с СЭД.

Со временем, возникла необходимость использования этими приложениями общих мастер-данных. Для их хранения решили использовать БД PostgreSQL, так как имели свежий опыт и почти готовое окружение для его развертывания. Непосредственно для получения (а в будущем – и для записи) данных приложениями, решили реализовать Web API на .NET Core 3.1, чтобы инкапсулировать взаимодействие с БД в одном приложении и заложить возможность взаимодействия с любой системой. В качестве ORM, исходя из сложившихся практик и опыта, использовали EF Core. При этом, нужна была возможность фильтрации и получения связанных данных. Чтобы не придумывать велосипед в этой части, пришли к необходимости реализации API на основе стандартов OData.

В сети есть ряд хороших статей по реализации API OData на .NET Core, однако информация в них весьма разрозненна и зачастую авторы упускают важные нюансы, имеющиеся в реализации. В первой статье нами описана общая реализация API OData с использованием EF Core. Особое внимание при этом уделено неочевидным моментам при реализации типа связи «многие-ко-многим».

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments3

Полное визуальное руководство/шпаргалка по CSS Grid

Reading time7 min
Views372K

Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство.


Что такое CSS Grid?



Грид — это макет для сайта (его схема, проект).


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


Вот простой пример макета сайта, созданного с помощью Грида.

Читать дальше →
Total votes 34: ↑33 and ↓1+39
Comments4

Как я сократил код для нагрузочного тестирования в три раза

Reading time12 min
Views13K


Главная концепция нагрузочного тестирования — автоматизировать все, что можно. Берёте инструмент, пишете конфиг и сценарий, запускаете имитацию реальной нагрузки. Чем меньше кода, тем лучше.

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

Я расскажу, почему мне не подошел Яндекс.Танк в связке с Pandora и как я в три раза сжал код своей утилиты тестирования без потери производительности.
Читать дальше →
Total votes 20: ↑17 and ↓3+27
Comments6

Использование Windbg для обратной разработки

Reading time4 min
Views6.9K

Статья представляет собой мануал по тому как пользоваться Windbg. Будет рассмотрена "классическая" версия отладчика. Настроим внешний вид и изучим команды, которые можно использовать для исследования приложения.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

Kubevious — революционная панель управления Kubernetes

Reading time4 min
Views10K

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

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments5

Детектор космических лучей. Часть 3: завершение и тесты

Reading time5 min
Views4.6K

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

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

Эта же часть освещает сборку Si-ФЭУ и настройку подключенного Raspberry Pi, на котором будет работать ПО CosmicWatch.
Total votes 31: ↑28 and ↓3+35
Comments20

Лучшие фантастические циклы по версии «Хьюго». Кто претендует на премию в 2021 году?

Reading time5 min
Views26K

«Хьюго» — одна из самых известных и авторитетных премий в области фантастики. Она присуждается с 1953-го и победителями в различные годы становились Роджер Желязны, Филип К. Дик, Роберт Сильверберг, Урсула Ле Гуин и многие другие признанные мастера жанра.

Несколько лет назад список номинаций «Хьюго» пополнился новой — за лучшую серию. В этой категории победа уже доставалась «Саге о Форкосиганах» и «Шалиону» Лоис Макмастер Буджолд, «Странники» Бекки Чамберс и «Пространство» Джеймса Кори. Хочется рассказать о тех циклах, которые претендуют на награду в этом году — среди них немало примечательных, правда, к сожалению, пока не все изданы на русском языке.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments15

14 полезных инструментов, ускоряющих и упрощающих веб-разработку

Reading time4 min
Views35K
Я занимаюсь разработкой сайтов уже много лет и не верю в то, что если буду держать в секрете используемые мной инструменты, это даст мне серьёзное преимущество на рынке труда.

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



Здесь я расскажу о 14 инструментах, которые помогают мне в решении моих рабочих задач.
Читать дальше →
Total votes 41: ↑28 and ↓13+23
Comments15

Темная Вселенная. Часть 2

Reading time10 min
Views25K
И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых.

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

Отрицательная масса


После публикации первой части возникло много вопросов по поводу такой характеристики «темной жидкости» как отрицательная масса. Поэтому я решил остановиться на данной теме подробнее.
Читать дальше →
Total votes 72: ↑72 and ↓0+72
Comments125

Запись звука JS c микрофона или голосовые комментарии

Reading time4 min
Views32K

Запись звука JS c микрофона или голосовые комментарии


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

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

Постановка задачи


Поставим себе задачу разработать мини приложение, работающее в браузере, которое позволит записать голосовой комментарий, отправить запись на сервер, сервер сохранит запись, в случае успеха вернет ответ с именем созданного файла и отобразит объект на странице для того чтоб запись можно было прослушать.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments8

Перенос Quake 3 на Rust

Reading time9 min
Views40K

Наша команда Immunant любит Rust и активно работает над C2Rust — фреймворком миграции, берущим на себя всю рутину миграции на Rust. Мы стремимся автоматически вносить в преобразованный код на Rust улучшения безопасности и помогать программисту делать это самому, когда не справляется фреймворк. Однако в первую очередь нам нужно создать надёжный транслятор, позволяющий пользователям приступить к работе с Rust. Тестирование на мелких CLI-программах потихоньку устаревает, поэтому мы решили перенести на Rust игру Quake 3. Спустя пару дней мы, скорее всего, стали первыми, кому удалось сыграть в Quake3 на Rust!

Подготовка: исходники Quake 3


Изучив исходный код оригинального Quake 3 и различных форков, мы остановились на ioquake3. Это созданный сообществом форк Quake 3, который до сих пор поддерживается и собирается на современных платформах.
Total votes 98: ↑96 and ↓2+130
Comments78

9 лучших опенсорс находок за ноябрь 2019

Reading time2 min
Views20K

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


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, TypeScript, JavaScript, Go, Python.
Тематика: веб разработка, инструменты для QA, работа с данными, инструменты разработчика и администратора.


Прошлый выпуск.

Читать дальше →
Total votes 27: ↑26 and ↓1+32
Comments19

Функциональные практики и frontend: монады и функторы

Reading time7 min
Views9.8K
Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донести до пользователя тот самый интерфейс, каким его задумал дизайнер.



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

Итак, начнем с обработки состояний. Заодно расскажу, причем тут вообще монады и функторы.
Читать дальше →
Total votes 36: ↑28 and ↓8+20
Comments13

Как мы со школьником писали научную работу

Reading time6 min
Views68K
Резюме: как выбрать интересную тему, написать и подготовить к защите хорошую работу МАН по химии и зачем все это надо школьнику.

Началось все где-то год назад, когда я прочитал вот этот пост «Импульсный электролиз на Google Science Fair» за авторством уважаемого Kidar и поставил зарубку в памяти. Дело в том, что у меня уже было плотное желание подготовить школьника к выступлению на конкурсе научных работ Малой академии наук по секции химии. А тут такая шикарная идея. В этом сезоне кажется все получилось. Работа написана в Харькове, на базе химического факультета Харьковского национального университета им. В.Н. Каразина.

image

Про всякие научные соревнования школьников в Украине

Основная часть читателей все-таки из России, но эти дела у нас устроены примерно одинаково. Говорить буду про химию, потому что больше в теме. По прочим предметам все примерно одинаково, программисты, насколько я знаю, обделены темой турниров. Есть три основных вида соревнований, которые проходят по этапам вида школа-район-область-страна. Успешное выступление на последних двух этапах дает бонус к результату ЗНО (экзамен по типу ЕГЭ). Хотя обычно школьник, победивший на республиканском этапе, пишет его левой ногой на 195 из 200.
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments39

GNOME Shell Extensions

Reading time3 min
Views49K
В комментариях к новой версии GNOME3 в процессе обсуждения недостатков среды предсказуемо стали проскакивать различные рецепты борьбы с ними с помощью расширений. С помощью беглого поиска по Хабру я нашел несколько статей описывающих конкретные расширения и ссылку на единую базу расширений. Статьи за два года заметно устарели, а базой, по-моему, можно пользоваться только путем перебора всех имеющихся расширений. Поэтому я предлагаю обсудить и собрать в одном месте кто какие расширения использует и какие лучше. Вероятно кто-то среди предложенных расширений найдет решение своей проблемы и обретет счастье. Для затравки опишу расширения, которые кажутся мне интересными и полезными. Кто заинтересовался — прошу под кат.

Осторожно! Много иллюстраций.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments11

Анонимность, доступная каждому

Reading time7 min
Views61K
imageВсем привет, давайте знакомиться.

Мы – Kebrum, сейшельская компания с русскими мозгами. Наш профиль – анонимность и безопасность в интернете, на данный момент мы запустили VPN сервис и не собираемся останавливаться на этом. Сначала расскажу коротко о сервисе для тех, кто не участвовал в бета-тестировании, а потом пару прохладных историй, как это полагается на Хабре.






Да, давайте знакомиться
Total votes 137: ↑112 and ↓25+87
Comments201
2

Information

Rating
4,497-th
Location
Украина
Date of birth
Registered
Activity