Pull to refresh
1
Shishka@Shishkaread⁠-⁠only

ИТ

26
Subscribers
Send message

Создаем собственные линтеры в Rust с DyLint

Level of difficultyMedium
Reading time5 min
Reach and readers2K

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

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

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

Читать далее

Тулчейн разработки под Arduino для ценителей командной строки: PlatformIO или как перестать использовать Arduino IDE

Reading time7 min
Reach and readers59K

За последний год я написал довольно много кода для Arduino и попутно сменил несколько инструментов разработки. В статье упоминаются варианты которые пробовал и более подробно о том, на чем остановился. Речь пойдет про набор инструментов для случая когда >10 проектов под разные платы и немного про разработку и установку библиотек.
Подробности

Не бойтесь бросать свои пет-проекты

Level of difficultyEasy
Reading time6 min
Reach and readers12K


Веб-индустрия переполнена историями о пет-проектах, которые переросли в успешный бизнес. Вот и я нередко увлекаюсь какими-нибудь идеями после основной работы. И хотя это определённо заманчивая перспектива, работа над личным проектом не всегда столь лучезарна – порой они просто не выгорают. Если вы читаете эту статью, то есть вероятность, что вы недавно отказались (или подумываете отказаться) от своего пет-проекта. В таком положении находились многие из нас. Да что тут говорить, заброшенные личные проекты даже стали своего рода мемом в среде разработчиков.

Тем не менее ко мне часто обращаются начинающие программисты за советом, и в последнее время их всё чаще беспокоит то, что у них не получается реализовывать пет-проекты так быстро или так часто, как хотелось бы. И такая тревожность абсолютно понятна. Когда в среде разработки господствует культура сверхактивности и концепция «непрерывной поставки», а на технических собеседованиях кандидатов зачастую оценивают на основе результатов их «внештатного программирования» (имеются в виду хакатоны, клубы программистов и прочее, — прим. пер.), заброшенные пет-проекты перестают казаться чем-то забавным. И мне это не нравится.

Мы слышим столько историй об успешных личных проектах, но что, если более открыто говорить о тех, которые провалились? Многие из нас проводят ретроспективный анализ на работе, но не в отношении пет-проектов. А почему бы нам не пролить свет на всё то время, которое было вложено в начинания, которые так и не ожили? На заброшенное ПО, которое в своё время казалось хорошей идеей. По нашим средам разработки до сих пор скитаются духи захороненных каталогов node_modules.

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

«Искусство схемотехники»: предисловие к 3 изданию

Level of difficultyEasy
Reading time7 min
Reach and readers13K

На днях узнал, что вышла русскоязычная версия третьего оригинального издания книги «Искусство схемотехники» (статья на Хабре). Новость заинтриговала. Так как достаточно давно увлекаюсь этой книгой и не понаслышке знаю, что отечественные читатели ее очень ждали. Точнее даже, заждались. Авторы оригинальной книги еще в 2015 году сделали рекламу своему произведению, разместив в свободном доступе, на сайте, посвященному книге, предисловие к третьему изданию. Но это не только реклама, но и достаточно детальное описание книги, а также декларация концепций и идей в ней заложенных. Надеюсь, мой скромный любительский перевод не будет воспринят издательством «Бином» в штыки: целей что-либо нарушать у меня нет. Если что, ко мне можно обратиться на почту. Я всегда рад конструктивному диалогу и считаю, что давно сложились условия, когда отечественная версия оригинальной книги просто обязана превзойти оригинал. Кроме того, реклама от самих авторов-корифеев еще никому не вредила.

Я заказал себе «первый том» от «Бинома». Скоро должна книжечка прийти. Я ее внимательно изучу, и по результатам будет рецензия. Надеюсь, книга оправдает мои ожидания. Даже интересно сравнить свои навыки в переводе с профессионалами. А пока, предлагаю приступить к чтению предисловия.

Читать далее

Почему FAR — центр моей компьютерной вселенной

Reading time4 min
Reach and readers79K

Какую программу вы обычно запускаете сразу после загрузки операционной системы? Кто-то сразу стартует браузер — поглядеть, кто там сегодня в Интернете (на Хабре) неправ. У многих — это редактор кода: «Я, как утром встал, сразу за дрель!». Возможно, вы сначала привычно открываете мессенджеры и почту — проверить, что там нового и важного.

Я обычно сразу после запуска операционки открываю свой Любимый Файловый Менеджер. Это «переходящее звание» — в разные периоды моего компьютерного прошлого этой чести «удостаивались» разные приложения с классическим двухпанельным интерфейсом. Сначала это был простой, но универсальный Norton Commander. Потом появился DOS Navigator со всяческими классными фичами: CD-плеер, телефонная книга с дозвоном по модему, встроенный табличный редактор и прочие прекрасные и поразительные для тех лет вещи.

Когда Windows прочно вытеснил DOS и все понемногу забыли про файл autoexec.bat, звание моего любимого файлового менеджера плавно перешло к Total Commander. Он продержался довольно долго, но в какой-то момент в мою жизнь буквально ворвался FAR...

Читать далее

Библиотеки для реализации алгоритмов сжатия данных в Rust

Level of difficultyEasy
Reading time8 min
Reach and readers5.1K

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

Сегодня мы рассмотрим хорошие библиотеки для реализации алгоритмов сжатия данных на ЯП Rust. Сжатие данных позволяет уменьшать объемы данных без потери качества или с минимальными потерями. Различают две основные категории методов сжатия: с потерями и без потерь.

Читать далее

OpenWrt отмечает 20 лет выпуском собственного маршрутизатора

Reading time3 min
Reach and readers30K


В 2024 году опенсорсному проекту OpenWrt исполняется 20 лет. Разработчики решили отпраздновать этот юбилей дизайном нативного маршрутизатора OpenWrt One/AP-24.XY. Пока что это идея, предложенная на обсуждение сообществу.

В целом, преимущества свободной прошивки OpenWrt для маршрутизаторов хорошо известны. Это улучшенная безопасность и надёжность работы устройства, продвинутые функции блокировки рекламы, точечное перенаправление трафика по спискам доменов (например, для РФ внутри страны, для РФ снаружи и пр.), установка любых необходимых программ под Linux и др.

С выходом нативного маршрутизатора на рынке появится своего рода базовая референсная модель с идеальной программно-аппаратной совместимостью.
Читать дальше →

Рекомендации при работе с PostgreSQL

Level of difficultyMedium
Reading time10 min
Reach and readers35K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить

Как я пишу HTTP-сервисы спустя 13 лет работы с Go

Level of difficultyMedium
Reading time18 min
Reach and readers52K

Примерно шесть лет назад я написал пост о том, как пишу HTTP-сервисы на Go, и сегодня я снова хочу рассказать, как пишу HTTP-сервисы.

Тот пост оказался довольно популярным и вызвал обсуждения, повлиявшие на то, как я делаю это сегодня. И спустя годы ведения подкаста Go Time, обсуждения Go в X/Twitter и поддержки подобного кода я решил, что настало время обновить информацию.

(Если вы педант и скажете, что Go не совсем 13 лет, то я отвечу, что начал писать HTTP-сервисы на Go версии .r59.)

В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go

Читать далее

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficultyMedium
Reading time21 min
Reach and readers93K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее

Упрощенный пример на Rust обучения нейронной сети на основе Candle Framework от Hugging Face

Level of difficultyMedium
Reading time5 min
Reach and readers7.3K

Я недавно изучал примеры использования нейронных сетей из библиотеки Candle от Hugging Face и обратил внимание, что они довольно сложны для понимания людей, которые только начинают знакомство с нейросетями. Поэтому я решил написать максимально упрощенный пример кода на Rust, который демонстрирует обучение и использование простейшей нейросети.

Читать далее

K8sGPT: Революция в управлении кластерами Kubernetes

Level of difficultyEasy
Reading time8 min
Reach and readers16K

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

Хотя это и не новинка технологий, это не отменяет того факта, что она остается интересной темой для обсуждения.

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

Приятного прочтения!

Читать далее

Вопросы по SQL, которые часто задают на собеседовании. Часть 2

Reading time16 min
Reach and readers57K

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

Часть 1 серии вопросов для интервью по SQL

Читать далее

Trait-объекты и полиморфизм в Rust

Level of difficultyEasy
Reading time6 min
Reach and readers11K

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

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

Один из способов, с помощью которого Rust достигает полиформизма, - использование Trait-объектов.

Читать далее

Изучаем матчасть: зачем нужны дизайнеры, когда есть нейросети

Reading time7 min
Reach and readers7.1K

Привет! Меня зовут Федя Ноздрин, я креативный директор в AGIMA. В этой статье расскажу, что такое генеративный дизайн и зачем он нужен. Пишу я ее не для профи — они и так всё знают. Я пишу ее для тех, кто задается вопросом: зачем учиться дизайну, когда всё то же самое уже умеют нейросети? На самом деле умеют они не всё и без дизайнера в целом почти бесполезны. Объясняю!

Читать далее

Хорошо, а могло быть ещё лучше: TSMC продолжает развиваться, но в США у компании проблемы с заводом. Что случилось?

Reading time4 min
Reach and readers5.8K

TSMC — крупнейший контрактный производитель чипов в мире. От этой единственной корпорации может зависеть благополучие глобальной отрасли производства и разработки электроники. Но и у такого гиганта бывают проблемы — например, сейчас стало известно о задержке строительства завода в США. С другой стороны, активно строится ещё несколько предприятий, уже на самом Тайване. Подробности — под катом.

Читать далее

О полномочиях частных интернет-сервисов в расследовании преступлений и правонарушений

Level of difficultyEasy
Reading time10 min
Reach and readers4.7K

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

Читать далее

Управление зависимостями в Rust с Cargo

Level of difficultyEasy
Reading time6 min
Reach and readers10K

Привет!

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

В этатье рассмотрим что такое Cargo и как с ним работать.

Читать далее

Состояние WebAssembly – 2023 и 2024

Level of difficultyMedium
Reading time12 min
Reach and readers10K

Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский “WebAssembly в действии” (Питер, 2022). Предыдущий обзор Состояние WebAssembly в 2022-23 годах опубликован автором в январе 2023 года. — Прим. переводчика.

Добро пожаловать в 2024 год и в нашу статью о текущем состоянии WebAssembly (Wasm)! В этой статье я займусь тем, что посмотрю, что произошло в 2023 году. Затем я выскажу свои мысли о том, что может произойти в текущем году.

Читать далее

Qucs-S: руководство по видам моделирования, часть 1

Reading time10 min
Reach and readers31K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. В данной статье подробно рассматриваются виды моделирования, имеющиеся в Qucs-S. Начальное руководство по работе с программой можно найти здесь: https://habr.com/ru/articles/678526/

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity