Pull to refresh
4
0.3
Alexander Grafov @siberianlaika

Software engineer

Send message

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так

Level of difficultyEasy
Reading time8 min
Views18K

3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: 

Не согласны с лицензией? Просто сделайте форк проекта, но не выкидывайте его код — говорите, что он всегда был доступен публично. Сравните код и лицензию HashiCorp с версией OpenTofu.

Разберемся в этой истории последовательно — кто прав, кто виноват и чем всё закончилось.

Читать далее
Total votes 64: ↑71.5 and ↓-7.5+79
Comments32

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views13K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →
Total votes 48: ↑55.5 and ↓-7.5+63
Comments21

Варим C с компилятором Zig и его build.zig

Level of difficultyEasy
Reading time21 min
Views4.6K

По случаю выхода версии 0.11.0 языка Zig я решил написать ещё одну статью о языке Zig. В этот раз речь пойдет о системе сборки языка. А точнее, как пользоваться кодом написанным на языке C в проекте на языке Zig, с небольшими ответвлениями в стороны для описания некоторых возможностей системы сборки. Тем более, что она претерпела несколько изменений, о чём я так же коротко упомяну. Эксперименты проводились мной на Windows 11. Стоит сразу упомянуть, что указанные в статье команды будут работать и на других операционных системах. Это одна из особенностей языка Zig. Но пример кода линковки системных библиотек для сборки библиотеки raylib будет платформозависимый, так как для разных платформ набор библиотек отличается. Если интересно, то прошу...

пройти во внутрь
Total votes 14: ↑13 and ↓1+12
Comments30

От «здравствуйте» до こんにちは: языки программирования не на английском языке

Level of difficultyEasy
Reading time6 min
Views18K

Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них операторы, функции и т. п. — все на родном для автора языке. Кроме того, некоторые страны стремятся развивать свои собственные IT‑индустрии, и использование местного языка в программировании может быть способом поддержать эту инициативу. Мы выбрали самые интересные на наш взгляд non‑English языки программирования.

Читать далее
Total votes 32: ↑33 and ↓-1+34
Comments34

AmigaOS, LisaOS и NeXTSTEP: операционные системы эпохи расцвета ПК

Level of difficultyEasy
Reading time5 min
Views2.5K

В этом посте мы расскажем о трёх операционных системах для персональных компьютеров родом из 1980-х и начала 1990-х — AmigaOS, LisaOS и NeXTSTEP. Некоторые из них сегодня ещё можно найти где-нибудь в виде легаси, некоторые поддерживаются энтузиастами или даже компаниями, но все они, пожалуй, уже покоятся на свалке истории, оставив после себя наследие разных масштабов.

Начнем с операционки, запущенной в 1985 году, когда Apple представила Macintosh. В то время более известной ещё была компания Commodore International. Начинали эти ребята с ремонта и перепродажи печатных машинок, но со временем переквалифицировались. Славу Commodore принес прежде всего персональный компьютер Commodore 64, через три года после выпуска которого Commodore представили новый многообещающий ПК — Amiga.

Читать далее
Total votes 12: ↑13.5 and ↓-1.5+15
Comments9

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям

Level of difficultyEasy
Reading time4 min
Views35K

“Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (@teap0t)

Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершиться. А лучшей книгой для начинающих разработчиков электронных схем и практически библией электронщиков последние сорок лет, считается "Искусство схемотехники" (англ. - The Art of Electronics) Пауля Хоровица и Уинфилда Хилла.

Читать далее
Total votes 63: ↑72 and ↓-9+81
Comments131

Realms of Arkania: Blade of Destiny (1992/2013)

Level of difficultyEasy
Reading time14 min
Views2K

«…мы стремились сделать самую задротсткую ролевую игру всех времён и народов…»

«Современные игры разбаловали игроков. С нетерпением жду, когда игроки откажутся покупать игры, в которых можно проиграть… Игра обязана бросать вызов. Я вырос на игровых автоматах, потратив бессчётные четвертаки на поиски способов пройти особо сложное место». (Из интервью создателя игры Гвидо Хенкеля)

Blade of Destiny для MS-DOS и Amiga появилась на прилавках магазинов в 1992-ом году. После успеха на местном рынке игра была переведена на английский и издана легендарной Sir-Tech в 1993-ем.

Читать далее
Total votes 6: ↑7 and ↓-1+8
Comments8

Читаем EXPLAIN на максималках

Reading time19 min
Views61K

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments14

Как настроить префикс в PortProton

Reading time2 min
Views2.6K

В программу PortProton для запуска Windows-игр под Linux добавлена возможность использовать в ОС «Альт» установленный в систему wine и wine-etersoft.

Список ПО, которое можно запускать при помощи PortProton, существенно расширился.

Покажем по шагам, как создавать и настраивать новые префиксы в PortProton для использования системного wine. Этой же инструкцией можно воспользоваться для встроенных wine в PortProton.

Читать далее
Total votes 11: ↑11.5 and ↓-0.5+12
Comments3

Лучшие практики для надёжной работы с RabbitMQ

Level of difficultyEasy
Reading time13 min
Views19K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Total votes 58: ↑58.5 and ↓-0.5+59
Comments16

Kubeshark — мониторинг и анализ Kubernetes

Reading time4 min
Views4.7K

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

Читать далее
Total votes 17: ↑17.5 and ↓-0.5+18
Comments1

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

Reading time4 min
Views216K

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments6

Разбираемся в новом роутинге в Go 1.22

Reading time5 min
Views6.9K

В начале февраля 2024 года вышел Go 1.22. Вот, что нового и интересного принёс новый релиз: сделали более безопасное поведение переменных в циклах, добавили функции-итераторы в качестве rangefunc-эксперимента и улучшили шаблоны роутинга. В этой статье я сфокусируюсь на последнем, самом долгожданном, для многих, обновлении — шаблонах http-роутинга.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments3

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog

Level of difficultyHard
Reading time4 min
Views3.9K

На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнение операций алгоритма. В данной статье я хочу затронуть аппаратную реализацию на языке System Verilog, уделить внимание распараллеливанию вычислений и описанию интерфейсов модулей. Для начала кратко рассмотрим теорию.

Читать далее
Total votes 39: ↑38 and ↓1+37
Comments20

Почему работодатель хочет, чтобы вы были ИП

Reading time7 min
Views61K

Представим сферическую ситуацию в вакууме. Вы никогда до этого не были предпринимателем, только работали по найму. У вас на руках два оффера. Оба по 100 000 руб. на руки, оба на плюс-минус одинаковых условиях. Офис, 5 дней в неделю по 8 часов. Но один работодатель хочет заключить с вами трудовой договор, а другой предлагает вам оформиться как ИП.

Для начала зададимся вопросом, почему работодатель предлагает оформить отношения с вами как с ИП, а не берёт в штат? Если кратко, то работодателю так проще и дешевле. Почему? Давайте разберёмся.

Читать далее
Total votes 142: ↑130 and ↓12+118
Comments268

Понятный и неунылый open source — абсурдные, но занимательные лицензии на свободное программное обеспечение

Level of difficultyEasy
Reading time10 min
Views5.6K

В кризис open source вендоры коммерциализируют свои разработки активнее и все чаще переходят на формат распространения кода «source available». Резкие изменения в лицензиях — головная боль для руководителей и юристов, вынужденных разбираться в хитросплетениях новых условий. В качестве своеобразного ответа на подобные сложности появляются абсурдные тексты лицензий на открытые разработки.

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

Читать далее
Total votes 27: ↑25 and ↓2+23
Comments7

Самодокументируемый код – это (как правило) чушь

Reading time7 min
Views37K
Всем привет!

Предваряя сегодняшнюю переводную публикацию, сразу отметим, что этот текст задуман как follow-up недавнему дискуссионному материалу "Прекратите усердствовать с комментариями в коде". Нас настолько впечатлила развернувшаяся там дискуссия и 189 комментариев по состоянию на 19.07.2019, что мы решили дать здесь слово и другому автору с портала Medium (Кристоферу Лейну), который практически по всем принципиальным вопросам полемизирует с тезисами Брайана Норлендера, автора первой статьи. Отметим, что в оригинале данная статья вышла на месяц позже предыдущей (16 мая и 16 июня), но собрала практически вдвое меньше аплодисментов (706 против 1,5K на момент публикации перевода). Посмотрим, что будет на Хабре…



Снимок взят с сайта rawpixels.com от автора Pexels
Читать дальше →
Total votes 70: ↑45 and ↓25+20
Comments213

COVID-19. Выпадающее из объяснений

Reading time35 min
Views11K
Волны, рябь и всплески.

Давайте рассмотрим характерные особенности вспышки типового инфекционного заболевания. Согласно определению американского Центра по Контролю и Предотвращения Болезней (US CDC): [1]
«Вспышка болезни из единого общего источника — это такая вспышка, при которой группа людей подвергается воздействию инфекционного агента или токсина из одного и того же источника. Если число случаев заболевания нанести на график с абсциссой по времени эпидемии, то получившаяся кривая имеет… обычно крутой подъем и менее резкий постепенный спуск (так называемое „логарифмически нормальное распределение“). Распространение и развитие вспышки заболевания происходит в результате передачи инфекции от одного человека к другому [обычно] при непосредственном контакте человека с человеком.. » Вспышки распространения обычно демонстрируют несколько пиков с интервалами в одну или две недели. Эпидемия в типовом случае затухает после нескольких подобных циклов.
Читать дальше →
Total votes 33: ↑7 and ↓26-19
Comments42

Основы управления ресурсами в C

Level of difficultyEasy
Reading time6 min
Views7.6K

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

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

В этой статьи рассмотрим основные возможности для работы с ресурсами в C.

Читать далее
Total votes 24: ↑13 and ↓11+2
Comments12

$2500 в месяц на сервисе с 1 функцией, которая уже была у крупных компаний

Level of difficultyEasy
Reading time5 min
Views49K

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

Читать далее
Total votes 95: ↑77 and ↓18+59
Comments39
1
23 ...

Information

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

Specialization

Software Developer, Backend Developer
Lead
Git
PostgreSQL
Docker
Linux
C
Golang
RabbitMQ
Redis