Обновить
113
0
Марк Шевченко@markshevchenko

программист

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

1. Проектирование с помощью типов: Введение

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

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

Читать далее

Nix в пилюлях

Время на прочтение1 мин
Охват и читатели920

Завершён перевод книги Люка Бруно «Nix в пилюлях».
Для удобства читателей, собрал ссылки на все двадцать глав в одной публикации — здесь.

Читать далее

20. Nix в пилюлях: Основные зависимости и хуки

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели351

Финальная глава! Люка Бруно рассказывает о секретном оружии Nix — хуках. Их используют, когда больше ничего не помогает, в частности, для кросс-компиляции.

Читать далее

19. Nix в пилюлях: Основы stdenv

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели325

Эта глава посвящена деривации stdenv, благодаря которой собирается большинство пакетов из репозитория nixpkgs. Она поддерживает инструментарий GCC, GNU make, autotools и другие распространённые системы сборки.

Читать далее

18. Nix в пилюлях: Пути хранения Nix

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели290

Для того, чтобы различать пакеты разных версий, Nix хранит их в каталогах с именами, которые содержат хеш. В главе 18 мы разберёмся, как вычисляется этот хеш для файлов, каталогов и tar-архивов.

Читать далее

17. Nix в пилюлях: Переопределение пакетов nixpkgs

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели221

Знакомимся с интересным трюком, который позволяет функциональному языку Nix делать то, то, что в императивных пакетных менеджерах делается с пол-пинка.
У них там, правда, dependency hell, а в Nix всё чинно и благородно.

Читать далее

16. Nix в пилюлях: Параметры nixpkgs

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели413

Вы начинаете сборку вашего пакета не на пустом месте. Репозиторий nixpkgs, куда входит ваш пакет, при запуске скрипта сборки передаёт ему параметры. В этой главе мы поговорим о двух основных параметрах: system и config.

Читать далее

15. Nix в пилюлях: Поисковые пути Nix

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели624

В Nix для поиска дериваций используется переменная окружения NIX_PATH. Она похожа на PATH, но есть и важные отличия. Разбираемся с тем, как устроен репозиторий nixpkgs.

Читать далее

14. Nix в пилюлях: Паттерн проектирования override (переопределение)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели688

Продолжаем изучать паттерны проектирования, используемые при создании пакетов в Nix. В этой пилюле разберёмся с паттерном override (переопределение).

Читать далее

13. Nix в пилюлях: Паттерн проектирования callPackage

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели299

Разбираемся, как работает второй из базовых паттернов Nix — callPackage. Автоматизируем передачу параметров, сокращаем код репозитория.

Читать далее

12. Nix в пилюлях: Репозитории пакетов и паттерн Входные параметры

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1K

Разбираемся в тонкостях разработки пакетов. Изучаем паттерны, которые применяются при создании пакетов и репозиториев в Nix.

Читать далее

История о том, как мы собирали разработчиков Nix в России и… собрали

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели1.6K

Несколько месяцев назад я писал, как мы ввязались в авантюру — решили собрать в России программистов со всего мира. Не всех, конечно, а тех, кто занимается пакетным менеджером Nix и операционной системой NixOS.
Разработчики Nix когда-то решили, что делать большой проект без личного общения им не нравится, поэтому раз или два в год они собираются где-то на земном шаре и пишут код вместе. Такие встречи называются спринты. Февральский спринт прошёл в Таиланде, а летом мы провели его в Казани.
Под катом — история о том, что у нас получилось, а что — нет.

Читать далее

11. Nix в пилюлях: Сборщик мусора

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели630

Исследуем пакетный менеджер Nix и операционную систему NixOS.
В этой статье разбираемся со сборщиком мусора.

Читать далее

Вычислительные выражения в F#

Уровень сложностиСложный
Время на прочтение1 мин
Охват и читатели800

Цикл из одиннадцати статей Скотта Влащина, посвящённый вычислительным выражениям (computation expressions) в F#.

Читать далее

Вычислительные выражения: Оставшиеся стандартные методы

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели361

Скотт Влащин завершает рассказ о вычислительных выражениях в F#.

Сегодня поговорим про методы класса-построителя, с которыми мы ещё не сталкивались.

Читать далее

Вычислительные выражения: Добавляем ленивость

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели537

Скотт Влащин продолжает рассказ о вычислительных выражениях в F#.

Сегодня мы узнаем, как создавать ленивые вычислительные выражения.

Читать далее

10. Nix в пилюлях: Разработка с помощью nix-shell

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели1.4K

Исследуем пакетный менеджер Nix и операционную систему NixOS.
В этой статье разбираемся с тем, как работает утилита nix-shell.

Читать далее

Вычислительные выражения: Перегрузка

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели510

Скотт Влащин продолжает рассказ о вычислительных выражениях в F#.

Отклонимся от основной темы и поговорим, как в вычислительных выражениях можно использовать перегрузку функций.

Читать далее

9. Nix в пилюлях: Автоматические зависимости времени выполнения

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели682

Исследуем пакетный менеджер Nix и операционную систему NixOS.
Ранее мы разработали универсальный скрипт сборки для проектов autotools.

Сегодня мы обратимся к программе GNU hello, чтобы исследовать зависимости времени сборки и времени выполнения.

Читать далее

8. Nix в пилюлях: Универсальные скрипты сборки

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

Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.

Люка Бруно продолжает свой захватывающий рассказ.

Читать далее

Информация

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

Специализация

Бэкенд разработчик
Ведущий
От 450 000 ₽
C#
Rust
Алгоритмы и структуры данных
Функциональное программирование