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

программист

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

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

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

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

Читать далее

Nix в пилюлях

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСложный
Время на прочтение1 мин
Количество просмотров1.5K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Информация

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

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

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