Elixir - динамически типизированный функциональный язык для написания распределенных и параллельных приложений разработанный как альтернатива Erlang и работающий на Erlang VM.
Версия 1.8 содержит множество изменений на уровне инфраструктуры, времени компиляции и добавляет новые возможности интроспектирования системы.
Главные изменения:
- Кастомизированный вывод структур.
Теперь можно использовать протокол
Inspect
для указания полей которые будут использоваться для форматирования структуры в строку, так что структураdefmodule User do
@derive {Inspect, only: [:id, :name, :age]}
defstruct [:id, :name, :age, :email, :encrypted_password]
endбудет напечатана следующим образом:
#User<id: 1, name: "Jane", age: 33, ...>
- Теперь Elixir поддерживает базу часовых поясов
В языке существуют 4 типа данных для работы со временем:
Time
,Date
,NativeDateTime
(время без часового пояса) иDateTime
(с часовым поясом). Развитию последнего препятствовало отсутствие поддержки базы часовых поясов.Теперь появился интерфейс
Calendar.TimeZoneDatabase
который позволит разработчикам подключать свои собственные базы часовых поясов. Так же это позволяет добавить новые возможности, вDateTime
, напримерDateTime.shift_zone/3
.Так же добавлены функции
Date.day_of_year/1
,Date.quarter_of_year/1
,Date.year_of_era/1
andDate.day_of_era/1
. - Добавлен ключ
$callers
для улучшения возможностей инструментарияОдин из самых распространенных способов запуска процессов является модуль
Task
. При этом Elixir сохраняет идентификатор процесса родителя в словаре запущенного процесса по ключу$ancestors
. Это позволяет утилитам анализировать систему и прослеживать происхождение различный событий. Однако этого недостаточно, так как часто дочерний процесс запускается не на прямую а через посредника, напримерsupervisor
. В таком случае хоть ваш код и вызывает запускTask
однако родителем будет указан процесс супервизора.В новой версии Elixir добавлен ключ
$callers
который указывает на оригинальный процесс вызвывший запускTask
.
Например при таком вызове:
[your code] -- calls --> [supervisor] ---- spawns --> [task]
В
$callers
будет сохранен идентификатор изначального процесса:[your code] [supervisor] <-- ancestor -- [task]
^ |
|--------------------- caller ---------------------|
Несколько дней назад вышла свежая версия Pagure - хостинга git-репозиториев с открытыми исходниками, похожего на GitHub и GitLab.
Pagure написан на python и обладает всеми обычными для такого рода приложений возможностями:
- встроенным баг-трекером,
- хостингом документации,
- системой обсуждения и принятия pull-риквестов,
- подсветкой синтаксиса,
- встроенным просмотрщиком документов Markdown и reStructuredText.
Также есть и уникальные особенности:
- полностью открытые исходники (не «open core», в отличие от GitLab);
- есть возможность создавать pull-риквесты из любых сторонних git-репозиториев;
- все важные данные (включая issues и метаданные pull-риквестов) тоже хранятся в git-репозиториях, что упрощает резервное копирование и возможную миграцию с одного хостинга на другой.
В данный момент Pagure активно используется разработчиками Fedora.
Пользовался я последние года 4 кедами с дефолтным оформлением плазмы, пока однажды не сел за макбук. После этого потерял сон, в глаза бросался убогий дизайн(возможно просто поднадоело). Менять Dell XPS на макбук немного странно, а еще и просто из-за оформления(ибо из софта использую только vscode, chrome, konsole, dolphin, иногда libreoffice).
Началось всё с цветовой темы konsole. Сначала нашёл её(Galaxy), потом взялся за поиски темы плазмы. Весь store.kde.org забит вырвиглазными темами, ощущение будто листаешь циан в поисках съемной квартиры и смотришь эти распрекрасные интерьеры.
Но в итоге всё-таки набрёл на Materia, и мои волосы стали мягкими, а сон крепким.
>>> Просмотр
(1920x1080,
1245 Kb)
GoldenDict — свободная программа-оболочка для работы с электронными словарями.
В июне 2012 года, когда AppImage ещё не был мейнстримом да и назывался иначе — AppRun, на официальном форуме пользователей GoldenDict’а был создан топик «GoldenDict Portable Linux available - Early Access Builds» в котором публиковали ночные сборки для Linux в виде AppRun-пакетов. Но уже в 2013 году сборку AppRun-пакетов прекратили предложив пользователям искать ночнушки в репозиториях своих дистрибутивов или же собирать всё вручную… Спустя почти шесть лет и благодаря усилиям @probonopd
формат самодостаточных пакетов AppImage стал одним из самых популярных форматов для поставки бинарных сборок десктопного ПО для ползователей Linux. И вот только чейчас, с начала 2019 года пользователи GoldenDict могут не заморачиваться с репозиториями и компиляцией программы вручную, а просто скачать один AppImage-файл и сразу же запустить его двойным кликом либо же командой:
$ ./GoldenDict-*.AppImage
Возможно, уже очень скоро GoldenDict обзаведётся официальными AppImage-пакетами, а пока-что ночнушки в виде AppImage-пакета можно брать у @probonopd
.
Другая проблема, которая часто волновала пользователей GoldenDict так это отсутствие стандартной тёмной темы интерфейса. В июне 2016 года в багтрекере проекта на GitHub’е пользователь @babygau
создал трэд с предложением создать официальную тёмную тему для — GoldenDict Dark Theme и опубликовал черновую версию файлов стилей в тёмных тонах, а в ноябре 2018 года пользователь @ilius
слегка подправил файлы стилей.
Также в ноябре 2018 года пользователь @WeibingChen17
опубликовал свой вариант тёмной темы для пользователей GoldenDict на платформе macOS.
>>> Просмотр
(1280x800,
149 Kb)
- OS: Linux Mint 19.1 Tessa x86_64
- Kernel: 4.15.0-43-generic
- DE: Cinnamon 4.0.8
- Theme: Minty
- Icons: Korl,Plex