Pull to refresh
72
0.6
Константин Федоров @sintech

Инженер

Троттлинг в Kubernetes. Или как настроить лимиты, чтобы приложения не “тормозили”

Level of difficulty Medium
Reading time 3 min
Views 4.8K

Главная рекомендация - отказаться от лимитов!

А теперь подробнее.

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

Начну с того, что самым распространенным способом является задание request и limit по CPU и RAM. С оперативной памятью все достаточно просто - при превышении потребления, OMM-Killer остановит процесс. А вот с CPU есть целый ряд нюансов и возможностей наступить на грабли.

Это происходит из-за того, что ресурс процессора делится не долями, а по времени. 

Это можно представить так

Читать далее
Total votes 11: ↑7 and ↓4 +3
Comments 7

ToolChain: Настройка сборки прошивок для микроконтроллеров Artery из Makefile

Level of difficulty Easy
Reading time 20 min
Views 2.1K

Настало время освоить очередное семейство микроконтроллеров: от компании Artery Technology.

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

В этом тексте я представил пошаговую инструкцию того как запрограммировать микроконтроллер Artery.

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

Лазерный DIY или как с помощью дешевого гравера делать качественные платы

Level of difficulty Easy
Reading time 5 min
Views 27K


Привет, Хабр!

В этой статье хочу поделиться своей историей, как спонтанная покупка на местном маркетплейсе упростила процесс изготовления прототипов печатных плат в домашних условиях, сэкономив время, при этом повысив качество. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 93: ↑92 and ↓1 +91
Comments 93

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild

Level of difficulty Easy
Reading time 7 min
Views 3.2K

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

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 9

Исследуем защиту и восстанавливаем аркады Namco System ES1

Reading time 10 min
Views 26K
Tank! Tank! Tank! Arcade

Введение

Эта история началась практически сразу после написания статьи об исследовании аркады небезызвестной корейской компании: в аркадном автомате Tank! Tank! Tank! от Namco вышел из строя жесткий диск (что неудивительно, т.к. производитель установил в автомат не отличающиеся надежностью Seagate 7200.12), диск взяли с рабочей аркады и скопировали его через WinHex, после чего игра перестала запускаться. Предположив, что целостность диска была нарушена неосторожным нажатием клавиши в окне редактирования данных на диске в WinHex, был взят другой диск с еще одного рабочего автомата, скопирован аналогичным образом, который также перестал запускаться. Тут-то и стало понятно, что в диск каким-то образом встроена защита от копирования.
Arcade Linux Error
Читать дальше →
Total votes 93: ↑92 and ↓1 +91
Comments 56

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)

Level of difficulty Medium
Reading time 24 min
Views 6.3K

Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах.
Читать дальше →
Total votes 67: ↑66 and ↓1 +65
Comments 21

Осваиваем 3-рублёвые микроконтроллеры PADAUK

Level of difficulty Medium
Reading time 8 min
Views 31K
image

Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
Читать дальше →
Total votes 78: ↑77 and ↓1 +76
Comments 56

Python и чистая архитектура…

Level of difficulty Medium
Reading time 12 min
Views 20K

Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по заветам Роберта Мартина мы не должны зависеть от инструмента(зачастую под этим понимают фреймворк или библиотеку), однако это порождает множество ошибок и просто небольших неточностей в проектировании сервисов и даже выборе языка программирования.

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

Читать далее
Total votes 20: ↑15 and ↓5 +10
Comments 58

Подборка книг для менеджеров и тимлидов, которые развивают команды в России

Level of difficulty Easy
Reading time 7 min
Views 9.7K

Возможно, в новый год вы вступаете в роли техлида, тимлида или менеджера команды. А может, вы хотите сделать следующий шаг в профессиональном развитии в новом году? Собрали для вас несколько полезных книг, которые помогут начинающим и опытным лидерам команд (да и линейным сотрудникам) разобраться в тонкостях работы с людьми. Особенность подборки в том, что она состоит исключительно из книг российских авторов, которые учитывают особенности менталитета людей и контекст, актуальный для компаний в нашей стране. 

Вся подборка основана на рекомендациях Оксаны Нечитайловой, руководителя отдела сервисного дизайна продуктов YADRO, — в IT-сфере она уже 15 лет и имеет богатый опыт управления командами и построения процессов. Каждую книгу подборки Оксана сопроводила развернутыми комментариями, которые помогут вам понять, стоит ли вам тратить на нее время.

Читать далее
Total votes 26: ↑23 and ↓3 +20
Comments 10

Создание простого и работоспособного генетического алгоритма для нейросети с Python и NumPy

Level of difficulty Medium
Reading time 6 min
Views 9.7K

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

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

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

Вначале нам потребуется импортировать модули:

Читать далее
Total votes 7: ↑4 and ↓3 +1
Comments 4

Какие вопросы я задаю на собеседовании QA Junior+

Level of difficulty Easy
Reading time 15 min
Views 33K

Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в автоматизаторы). Делюсь своим списком вопросов и ответов, которые я ожидаю услышать.

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

База для Junior QA

1. Что такое тестирование?

Сравнение ожидаемого результата с фактическим результатом ПО. Тестирование это не поиск багов!

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

Подготовиться к собесу
Total votes 19: ↑17 and ↓2 +15
Comments 16

Заблокирован ли протокол OpenVPN? И как теперь быть?

Level of difficulty Easy
Reading time 3 min
Views 57K

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

Читать далее
Total votes 35: ↑20 and ↓15 +5
Comments 49

Эффективное ведение дел или Obsidian + GTD

Level of difficulty Medium
Reading time 12 min
Views 34K

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

Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian совместно с методологией Getting Things Done (GTD) Дэвида Аллена.

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 34

Может ли биолог починить радио? 20 лет спустя

Level of difficulty Medium
Reading time 9 min
Views 7.4K

В 2002 в журнале Cancer Cell вышла весьма саркастическая статья Юрия Лазебника «Может ли биолог починить радиоприемник, или что я понял, изучая апоптоз».

За 20 лет много изменилось. Биологи создали графический язык SBGN (Systems Biology Graphical Notation) для представления структуры биохимических путей и XML формат SBML (Systems Biology Markup Language) для представления математических моделей.

Кроме самих стандартов, необходимо программное обеспечение, которое их поддерживает. Начиная с 2001 года наша команда разрабатывает программный комплекс BioUML для моделирования сложных биологических систем и анализа биомедицинских данных. UML в его названии – это отсылка к стандарту UML – Unified Modeling Language, языку графического описания для объектного моделирования в области разработки программного обеспечения. Используя ПК BioUML, нашей группой были построены сложные компьютерные модели биологических систем (насколько я знаю, некоторые из них — наиболее сложные в мире для соответствующих систем).

Таким образом, современные стандарты SBGN и SBML и ПК BioUML позволяют биологам создавать схемы и модели биологических систем, вполне сопоставимые по уровню формализации с инженерными схемами.

Читать далее
Total votes 56: ↑56 and ↓0 +56
Comments 12

Как объяснить детям, что такое DNS, Kafka, Kubernetes, облака

Level of difficulty Easy
Reading time 4 min
Views 8K

Мы в #CloudMTS разделяем мнение, что важно объяснять своим детям устройство различных цифровых технологий. Но пытались ли вы когда-нибудь рассказать ребенку о, например, Apache Kafka as a Service? Ответ на вопрос, «чем занимается папа/мама?» может оказаться гораздо сложнее, чем хрестоматийное «почему небо голубое, солнце желтое, а трава зеленая?».

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

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 4

Что с памятью моею стало

Reading time 14 min
Views 43K

Запомним на века: Повесть о работе с ПЗУ



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

С тех пор у меня было большое желание разобраться, что же это за мистические микросхемы ПЗУ (постоянное запоминающее устройство), как же они работают, как их программировать и стирать. И всё как-то не было повода, да и возможностей аппаратных. А тут, благодаря "Волшебному чемодану" появилась реальная задача, когда необходимо было прочитать прошивку, написать свою и прошить ПЗУ, а также научится стирать микросхемы. И тут я познал как глубока кроличья нора, что есть куча типов ПЗУ с УФ стиранием, что у них разные напряжения работы, разные режимы стирания микросхемы и многое-многое другое. Вопрос, какой программатор выбрать, как стереть микросхему, как её записать, какие сложности при этом.

Несмотря на то, что микросхемы давным-давно в ходу, информация ровным слоем размазана по интернету и головам, приходилось собирать всё в кучу, проходя хоть местами очевидный, но тернистый путь.
Читать дальше →
Total votes 125: ↑124 and ↓1 +123
Comments 92

Бюджетный 3D принтер как конструктор. Такой разный PLA и как им печатать

Reading time 14 min
Views 7.1K

Низкотемпературный (с рабочей температурой от 180-200°C) филамент типа PLA (Polylactic acid) можно съесть (если сертификат прилагается), а при нагревании ничего вредного он не выделяет (при условии, что в нем нет каких-то непредвиденных добавок), что делает его идеальным для домашнего использования.


Для тестов мы заказали три катушки разного цвета PLA-F от Bing3D (11$/kg), а также катушку зеленого PLA+ (14$/kg) и eSilk-PLA Rainbow Multicolor (19$/kg, с разборной катушкой) eSUN. Эти продукты легко доступны и популярны в Таиланде на онлайн площадке Shopee.


Для начала разберемся с настройкой параметров печати для самого бюджетного филамента Bing3D. Цель проста — использовать материал как лакмусовую бумажку для выявления всех тех проблем печати, которые маскирует более качественный пластик. После повторим те же шаги с филаментом eSun и сравним результаты.



Модель напечатана из одного G-code файла с настройками для Bing3D. Слева направо показаны результаты PLA-F Bing3D (черный), PLA+ eSUN (зеленый) и eSilk-PLA Rainbow Multicolor eSUN (оранжево-золотистый). Как видим, печатать не самым бюджетным PLA проще простого — результат получается сам собой, даже если настройки взяты "с потолка". Кстати, если вы заметили небольшой "дефект" в виде наклонной черточки правее центра на золотистой вазе, то это всего лишь кошачья шерстинка :)

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 58

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time 6 min
Views 49K

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

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

Читать далее
Total votes 114: ↑107 and ↓7 +100
Comments 83

30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Reading time 10 min
Views 46K
На новогодних праздниках можно позволить себе отдохнуть и посмотреть старое и новое кино. Фильмы про IT подбирал так, чтобы можно было найти на любой вкус. Ниже список, которым решил с вами поделиться.

Читать дальше →
Total votes 62: ↑45 and ↓17 +28
Comments 99

НДФЛ для удаленщиков и вредные советы

Reading time 7 min
Views 16K

Да, тема релокации все еще актуальна и регулярно появляются статьи, связанные с этой темой. Как правило, это мини-блоги в стиле «У меня получилось», я живут там-то, сейчас расскажу, через что прошел. Но вот эта статья своим содержанием и посылом сильно выбивается на общем фоне.

Мне хотелось бы сделать небольшой обзор терминов и правовых нюансов, как экономист, потому что, увы – так устроена правовая система, что мало сослаться на пункты из НК РФ, добавить к ним свое видение и voila – решение найдено. На самом деле, все несколько сложнее и запутаннее, чем может показаться на первый взгляд. И да, конечно, ни один работодатель и его бухгалтер в здравом уме не согласятся на такие авантюры и трактовки, которые позволят «эффективно оптимизировать» бюджет компании, перечисляя за сотрудников вместо полагающихся 30% НДФЛ такие вкусные 0%. Почему? Давайте разбираться во всем по этапам.

Читать далее
Total votes 58: ↑57 and ↓1 +56
Comments 19

Information

Rating
1,407-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity