Pull to refresh
9
0
Send message

Как запускать WebAssembly-приложения в Kubernetes с помощью Deckhouse

Level of difficultyEasy
Reading time8 min
Views1.8K

Запускать Wasm-приложения в ванильном Kubernetes затруднительно, так как есть неудобства в настройке сред выполнения на рабочих узлах. Штатных средств недостаточно, чтобы легко конфигурировать узлы. Конечно, можно сконфигурировать один узел руками. Но если нужно обкатать различные рантаймы или большое количество приложений, то хочется максимально просто масштабировать кластер и управлять узлами декларативно. Поэтому я решил запустить Wasm-приложение в Deckhouse Kubernetes Platform (DKP). Эта платформа упрощает развёртывание и управление кластерами Kubernetes.

В этой статье я покажу, как запускать Wasm-приложения в Kubernetes с использованием DKP. Мы настроим окружение, установим необходимые компоненты и запустим простой WebAssembly-модуль.

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

Мой ТОП-5 лучших CSS-in-JS решений

Level of difficultyEasy
Reading time10 min
Views6.4K

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

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

Здесь вот и приходят на помощь решения CSS‑in‑JS, объединяющие фичи JS и CSS.

Читать далее
Total votes 13: ↑10 and ↓3+11
Comments17

Готовим k8s кластер на OrangePi 3 LTS

Level of difficultyMedium
Reading time11 min
Views6.4K

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

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

Идеальным и бюджетным решением являются микрокомпьютеры на базе архитектуры ARM, например Orange Pi 3 LTS. Я слышал о российских аналогах, таких как Repka Pi, но пока не имел опыта работы с ними, а Raspberry Pi, хоть и обладает множеством модулей, но является дороговатым вариантом. Orange Pi 3 LTS компактный, достаточно мощный и поставляется с образом OC Debian 11. Это устройство оснащено 4 ядрами, 2 ГБ оперативной памяти и процессором с тактовой частотой 1,8 ГГц. Стоимость этого устройства, на момент написания статьи, весьма демократичная - около 4000 ₽.

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

Как вернуть энергию и интерес

Reading time34 min
Views30K

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

Мне 48 лет, сидячий образ жизни, интеллектуальные задачи. С одной стороны вредных привычек нет, с другой, — спорта тоже явно не хватает. Похожая ситуация с питанием: не хожу в фастфуд, но и не сижу на ПП (полезное питание). Самый большой стресс для меня — это общение с людьми, которые мне не рады и выполнение задач, которые не интересны. Мне нравится глубоко изучать вопрос, так что, если статья покажется затянутой, не обессудьте.

Читать далее
Total votes 75: ↑69 and ↓6+74
Comments43

Три недели кодирования экономят два дня проектирования

Level of difficultyMedium
Reading time14 min
Views25K

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

Писать постановку, но чуть-чуть
Total votes 69: ↑67 and ↓2+80
Comments73

Подборка докладов по С# 2023-2024

Level of difficultyEasy
Reading time3 min
Views7.2K

Недавно мы публиковали подборку докладов по C++, но не будем же мы обделять и C# разработчиков. Поэтому предлагаем вашему вниманию интересные доклады из мира .NET и C#.

Вперёд к новым знаниям!
Total votes 10: ↑10 and ↓0+11
Comments2

Как я ненапряжно ставлю цели на год после 10 лет в айти

Level of difficultyEasy
Reading time9 min
Views23K

Начало года традиционно — время тысяч постов и статей на тему того, как поставить цели на следующие 12 месяцев. Обычно на выбор есть два стула: либо ERP-система уровня предприятия, либо полуэзотерическая визуализация. Я же хочу поделиться вариантом где-то посередине с минимум задротства и упором на практику, сдобренную каплей теории.

Читать далее
Total votes 28: ↑22 and ↓6+21
Comments17

Обучающие игры для разработчиков: кодим, играя

Reading time4 min
Views17K

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

Читать далее
Total votes 19: ↑18 and ↓1+24
Comments10

Системный подход к учёту расходов за 2023 год

Level of difficultyEasy
Reading time8 min
Views5.7K

Ушедший 2023 год был непростым во многих отношениях. Как минимум, для меня. Это заметно хотя бы по тому, что за весь год тут не было опубликовано мной ни единого поста. Но теперь пора исправляться, и для начала, я бы тоже хотел подвести финансовый итог 2023 года.

С чего я начал вести учёт расходов

В силу некоторых неприятных жизненных обстоятельств, о которых не хотелось бы сильно распространяться, с конца 2022 года мне пришлось буквально начать жизнь заново с нуля. Все сбережения и инвестиционные счета испарились, даже пришлось закрыть ИИС с компенсацией государству налогового вычета (что очень невыгодно, но выбора не было). Я поменял работу и во многом образ жизни.

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

Читать далее
Total votes 12: ↑10 and ↓2+14
Comments25

Сто паттернов для разработки корпоративных программ. Часть 2.1

Level of difficultyMedium
Reading time7 min
Views5.6K

В этой статье представлены такие паттерны, как Abstract Document, Monad, Object Mother, Object Pool, Step Builder. Примеры приведены на .NET 7 и C#. Приятного чтения.

Продолжение в статье "Сто паттернов для разработки корпоративных программ. Часть 2.2".

Читать далее
Total votes 12: ↑2 and ↓10-8
Comments59

Собираем автономную игру на C# в 2 килобайтах

Level of difficultyMedium
Reading time11 min
Views21K

Моё детство пришлось на эпоху 1,44-мегабайтных дискет и 56-килобитных модемов, поэтому я всегда любил маленькие программы. Раньше можно было записать на дискету кучу мелких игр и таскать её с собой. Если программа не помещалась на дискету, я задумывался, почему — в ней много графики? Есть музыка? Возможно, она выполняет много сложных операций? Или она просто раздута?

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

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

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

Люди обычно воспринимают всё, что длится меньше 0,1 секунды, как мгновенное, 3 секунды — это примерно тот предел, после которого прерывается состояние потока пользователя; а уж 10 секунд удержать внимание пользователя очень сложно.

Хотя уменьшение сегодня уже необязательно, оно всё равно лучше.

Эта статья задумывалась как эксперимент, позволяющий выяснить, каким может быть минимальный размер полезного автономного исполняемого файла C#. Могут ли приложения на C# достичь размеров, при которых пользователи будут ощущать их скачивание как мгновенное? Позволит ли это использовать C# там, где он не используется сейчас?
Читать дальше →
Total votes 98: ↑97 and ↓1+126
Comments34

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views104K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Total votes 131: ↑130 and ↓1+158
Comments162

Учебное проектирование для джунов: как учить и зачем

Level of difficultyEasy
Reading time12 min
Views25K

Привет! Меня зовут Андрей, я бэкенд-тимлид в KTS

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

В статье расскажу про методику обучения проектированию в нашей компании.

Читать далее
Total votes 32: ↑31 and ↓1+31
Comments10

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

Level of difficultyEasy
Reading time12 min
Views31K

Всем привет! Меня зовут Гриша Стерлинг, я занимаюсь синтезом речи в SberDevices. Недавно прошла конференция AI Journey, где я рассказал, как сделал синтез своего голоса. За 15 минут выступления я не успел рассказать все, поэтому решил написать большой пост с деталями. Он будет интересен датасаентистам, людям из бизнеса и ai‑энтузиастам. Приглашаю всех под кат.

Читать дальше
Total votes 24: ↑22 and ↓2+25
Comments8

Как я вывел математический способ определить степень вашей финансовой свободы

Reading time11 min
Views42K

С помощью нехитрой математической формулы мы с вами сегодня займемся вычислением того, где находится степень вашей личной финансовой свободы на шкале между сомалийским фермером и кремниевым Цукербергом. Ну, точнее, сначала нам придется придумать, как их между собой сравнивать – и поможет нам в этом KFC!

Читать далее
Total votes 46: ↑42 and ↓4+55
Comments164

Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7

Reading time3 min
Views131K

Очень часто возникающий вопрос: где можно разместить скрипты на Python, Flask-приложение, телеграм или дискорд ботов?

Один из вариантов — на своем компьютере при наличии внешнего IP-адреса и опыта в настройке проброса портов на роутере.

Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота

Читать далее
Total votes 18: ↑17 and ↓1+17
Comments45

Одно из лучших физкультурных упражнений для программиста. Почему трудно делать и workaround на смартфоне и смарт часах

Reading time2 min
Views16K

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

Серия моих предыдущих статей о здоровье и его компьютерном анализе и просто о ЗОЖ и фитнесе-физкультуре:

Бег в 2023 г. С пятки или с носка? Измеряем ударные нагрузки. Android и акселерометр
https://habr.com/ru/post/714698/

Как быстро бег уничтожает колени. Опрос любителей и мнение профессионалов
https://habr.com/ru/post/709182/

Сделайте это и бегать будет легче, чем ходить. Упражнение для тренировки летящего бега, получите удовольствие от бега
https://habr.com/ru/post/705954/
65 тыс. прочтений.

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

Ретроспектива. Doin’ It Right

Reading time12 min
Views6.6K

Привет! Меня зовут Лёша Дидух, я тимлид команды личного кабинета в Skyeng. Это текстовая адаптация моего доклада про ретроспективы на DUMP-2022 в Екатеринбурге. 

Когда я пришёл в компанию пару лет назад, то немножко обалдел от разницы в подходах к управлению проектами и командами между моей прежней работой и Skyeng. Такой скачок между диаметрально противоположными культурами заставил меня переосмыслить и собрать воедино всё, что я знаю о ретроспективах. Будет полезно и тимлидам, и юным скрам-мастерам, да и вообще любому, кто хотя бы раз сидел на ретроспективе и думал: «Что я здесь делаю?».

В конце статьи можно найти запись доклада по теме.

Начнем издалека (но не просто так)

В 2000 году влиятельные ребята из мира IT, среди которых были Роберт Мартин (автор принципов SOLID и огромного числа книг про программирование) и Джеф Сазерленд (один из авторов Scrum), встретились, чтобы, как говорит сам дядя Боб, лучше узнать друг друга в надежде, что тесное общение приведет к чему-то интересному. 

Читать далее
Total votes 17: ↑16 and ↓1+16
Comments0

DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе

Reading time14 min
Views103K


Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы прочитаете предыдущие статьи в серии.

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

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

Simulating Return Type Inference in C#

Reading time10 min
Views11K

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

Не так давно произошёл подобный случай, когда мы вместе с коллегой искали способ избежать передачи большого количества типовых параметров в тех местах, где компилятор должен был по идее их вывести. Однако, C# так устроен, что способен выводить типы в обобщённых вызовах только из передаваемых параметров метода.

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

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

Information

Rating
Does not participate
Location
Хабаровский край, Россия
Registered
Activity