Как стать автором
Обновить
66
0.5
Константин Федоров @sintech

Инженер

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

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

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

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

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

Xray на Keenetic / Xkeen

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

Утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
Весь код написан на чистом shell и открыт на GitHub.

Собирает Xray под Ваш Keenetic на Entware.
Доступны GeoIP и GeoSite от AntiFilter, AntiZapret и v2fly.

Автоматически обновляет в указанное время Xray, GeoIP и GeoSite.

Ознакомиться с Xkeen
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 31

Как быстро написать API на FastAPI с валидацией и базой данных

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

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Всего голосов 53: ↑48 и ↓5 +43
Комментарии 39

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 11

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

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


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

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

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

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

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

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

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

Время на прочтение 10 мин
Количество просмотров 26K
Tank! Tank! Tank! Arcade

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

База для Junior QA

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

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

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

Подготовиться к собесу
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 16

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

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

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

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

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

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

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

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

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

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

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

В 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 позволяют биологам создавать схемы и модели биологических систем, вполне сопоставимые по уровню формализации с инженерными схемами.

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

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

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

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 4

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

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

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



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

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

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

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

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

Низкотемпературный (с рабочей температурой от 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 проще простого — результат получается сам собой, даже если настройки взяты "с потолка". Кстати, если вы заметили небольшой "дефект" в виде наклонной черточки правее центра на золотистой вазе, то это всего лишь кошачья шерстинка :)

Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 58

Информация

В рейтинге
1 636-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность