LINUX.ORG.RU

Избранные сообщения shaplov

Научите utf8 в perl

Форум — Development

Использую perl 5.20 в debian 8. Вот такой код:

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use open qw(:utf8 :std);
use Data::Dumper;

print "тест utf8\n";
my @files = glob "Стільниця/*";
push @files, "кирилица для Dumper";
print Dumper @files;

2/0; # Делаем ошибку для проверки utf8 в STDERR

Даёт вот такой результат:
Useless use of division (/) in void context at ./Стільниця/test_utf8.pm line 14.
тест utf8
$VAR1 = 'Стільниця/тест.txt';
$VAR2 = 'Стільниця/test_utf8.pm';
$VAR3 = "\x{43a}\x{438}\x{440}\x{438}\x{43b}\x{438}\x{446}\x{430} \x{434}\x{43b}\x{44f} Dumper";
Illegal division by zero at ./Стільниця/test_utf8.pm line 14.

Как видите нормально прошло только print с строкой utf8, всё остальное ..., ну вы видите. Как заставить perl выводить кирилицу а не кракозябры???
А ещё где-то читал что в perl самая лучшая поддержка юникода. Если это называется «лучшая» то мне страшно представить что творится в других языках.

 

SyntaxError
()

Представлен donate ― self-hosted сервис пожертвований на задачи

Новости — Open Source
Представлен donate ― self-hosted сервис пожертвований на задачи
Группа Open Source

Особенности:

  • KISS;
  • self-hosted;
  • отсутствие сборов (для примера, bountysource и gitcoin забирают себе 10% от выплаты);
  • поддержка множества криптовалют (на данный момент это Bitcoin, Ethereum и Cardano);
  • предполагается (и предусмотрена) поддержка GitLab, Gitea, и других Git-хостингов в будущем.
  • глобальный список задач со всех (то есть одного, на момент написания новости) инстансов на donate.dumpstack.io.

Механизм работы для GitHub со стороны владельца репозитория:

  • (опционально) необходимо развернуть сервис, можно использовать готовую конфигурацию для NixOS;
  • необходимо добавить GitHub Action — внутри вызывается утилита, которая сканирует задачи проекта и добавляет/обновляет комментарий о текущем состоянии кошельков для пожертвований, при этом приватная часть кошельков хранится только на сервере пожертвований (в будущем с возможностью вынести в оффлайн для крупных пожертвований, для ручного подтверждения выплаты);
  • во всех текущих задачах (и новых) появляется сообщение от github-actions[bot] с адресами кошельков для пожертвований (пример).

Механизм работы со стороны выполняющего задачу:

  • в комментарии к коммиту указывается, какую именно задачу этот коммит решает (см. closing issues using keywords);
  • в теле pull request указываются адреса кошельков в определенном формате (например, BTC{address}).
  • при принятии pull request выплата совершается автоматически.
  • если кошельки не указаны, либо указаны не все, то выплата средств для неуказанных кошельков совершается на кошельки по-умолчанию (например, это может быть общий кошелек проекта).

Безопасность:

  • поверхность атаки в целом небольшая;
  • исходя из механизмов работы, сервис должен иметь возможность отправлять средства самостоятельно, так что получение доступа к серверу будет означать контроль над средствами в любом случае — решением может быть только работа в неавтоматизированном режиме (например, подтверждение выплат вручную), которая вероятно (если проект будет достаточно успешен для того, чтобы кто-то задонатил на эту функциональность, то не вероятно, а точно) будет когда-то реализована;
  • критически важные части четко отделены (по сути, это единственный файл pay.go на 200 строк), тем самым упрощая security code review;
  • код прошел независимое security code review, что не означает отсутствие уязвимостей, но снижает вероятность их наличия, особенно в свете запланированной регулярности ревью;
  • также есть те части, которые не контролируются (например, API GitHub/GitLab/etc.), при этом возможные уязвимости в стороннем API планируется закрывать дополнительными проверками, тем не менее, в целом проблема в текущей экосистеме нерешаема и out of scope (возможная уязвимость с, например, возможностью закрывать чужие pull request и тем самым добавлять код в чужие проекты ― имеет гораздо более глобальные последствия).

>>> Подробности

 , , ,

anonymous
()

FreeOrion 0.4.9

Новости — Игры
FreeOrion 0.4.9
Группа Игры

После полутора лет разработки вышла очередная версия FreeOrion — свободной космической 4X параллельно-пошаговой стратегии, основанной на серии игр «Master of Orion».

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

Ключевые изменения:

  • Улучшения многопользовательской игры:

    • Многопользовательская игра может быть запущена на сервере без подключённых игроков, и принимать игроков независимо.
    • Империи в игре могут быть привязаны к авторизованным игрокам.
    • Сервера, на которые заходил игрок, сохраняются и отображаются в списке серверов в окне подключения.
    • Чат в лобби и игре теперь общий.
    • История чата может быть сохранена и отправляется игрокам при подключении.
    • Окно сообщений мерцает при поступлении сообщения.
    • Окно лобби показывает настройки галактики из загружаемой или текущей игры на сервере.
    • Окно лобби показывает империи без подключенных игроков отдельно для загружаемой или текущей игры на сервере.
    • Сервера могут иметь заблокированные игровые правила.
    • Добавлен таймер хода для сервера.
  • Нацеливание в битвах:

    • Зенитные орудия нацелены только на истребители.
    • Перехватчики предпочитают атаковать бомбардировщики, потом истребители, потом корабли.
    • Бомбардировщики предпочитают атаковать корабли, затем истребители.
    • Расы также могут влиять на нацеливание.
  • Корпуса кораблей характеризуются топливной эффективностью, которая масштабирует дополнительное топливо от топливных частей и другого контента, добавляющего топливо.

P.S. Действует публичный сервер игры freeorion-test.dedyn.io.

P.P.S. Действует сервер игры с удлинённым временем хода, регистрация на форуме игры.

>>> Подробности

 , , ,

O02eg
()

Hobbits 0.21 — визуализатор бинарных файлов для реверс-инжиниринга

Новости — Разработка
Группа Разработка

4 марта увидел свет Hobbits 0.21 - инструмент для визуализации бинарных файлов в процессе реверс-инжиниринга. Инструмент написан на связке Qt и C++ и распространяется по лицензии MIT.

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

Для бинарных файлов доступные следующие виды представлений:

  • Классический шестнадцатиричный HEX-код
  • Двоичный код
  • ASCII
  • Побитная или побайтовая растеризация
  • Символьная растеризация

>>> Инструкция по работе с программой

>>> Репозиторий на GitHub

>>> Подробности

 hobbits,

Zhbert
()

Lazygit — псевдографический консольный клиент для Git

Новости — Open Source
Lazygit — псевдографический консольный клиент для Git
Группа Open Source

Если у вас есть проблемы с восприятием основных моментов в работе с Git-репозиторием из консоли, то вы всегда можете воспользоваться графическим клиентом. Один из них - Lazygit, псевдографический клиент, написанный на языке Go с использованием библиотеки gocui.

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

Просто посмотрите на картинку с примером работы и все вопросы отпадут сами собой.

>>> Библиотека gocui (BSD 3-Clause «New» or «Revised» License)

>>> Обучающее видео

>>> Подробности

 , lazygit

Zhbert
()

gplaycli 3.27 - клиент Google Play для скачивания apk файлов

Новости — Android
Группа Android

Состоялся релиз gplaycli версии 3.27 — консольного клиента для магазина Android приложений Google Play, написанного на Python 3 под лицензией GNU AGPL. Изменения в новой версии касаются обновления API со стороны сервисов Google. Помимо исходных кодов, релиз доступен через pip и в виде deb-пакета. Основные возможности программы:

  • Поиск и скачивание бесплатных и купленных приложений в формате apk.
  • Возможность использования нескольких профилей разных устройств и аккаунтов.
  • Функция обновления ранее скачанных приложений (отдельного приложения или набора в папке, вручную или через cron).
  • Поддержка аутентификации по паролю или токенам, с использованием своего или демонстрационного логина (при отсутствии собственной регистрации пользователя в Google).

>>> Подробности

 , ,

linuks
()

Pale Moon 28.7.0

Новости — Open Source
Группа Open Source

Доступна новая значительная версия Pale Moon — браузера, который когда-то был оптимизированной сборкой Mozilla Firefox, но со временем превратился в достаточно самостоятельный проект, уже во многом не совместимый с оригиналом.

Это обновление включает частичную переработку движка JavaScript, а также реализацию в нём ряда изменений, которые могут повлиять на работоспособность сайтов. Данные изменения реализуют версии спецификаций JavaScript (они же реализованы в других браузерах), которые могут не быть обратно-совместимыми с прежним поведением.

( читать дальше... )

>>> Ссылки для загрузки

>>> Сайт с дополнениями

>>> Подробности

 , ,

xaizek
()

Funkwhale — децентрализованный музыкальный сервис

Новости — Open Source
Группа Open Source

Funkwhale – это проект, который даёт возможность слушать и обмениваться музыкой внутри открытой децентрализованной сети.

Funkwhale состоит из множества независимых модулей, которые могут «общаться» друг с другом, используя свободные технологии. Сеть не связана с какой-либо корпорацией или организацией, что дает пользователям некую независимость и возможность выбора.

Пльзователь может присоединиться к существующему модулю или же создать свой, куда можно загрузить личную библиотеку музыки, а затем поделиться с кем-нибудь из пользователей. Есть возможность взаимодействия с пользователями (независимо от того, к какому модулю они присоединились) как через веб-интерфейс, так и через совместимые приложения для разных платформ. Также доступен поиск по названиям треков и исполнителям.

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

У проекта есть развитое коммьюнити, а разработку можно поддержать как финансово, так и поучаствовав.

>>> Подробности

 ,

anonymous
()

Perl Weekly Challenge

Новости — Разработка
Группа Разработка

Весёлые старты для любителей Perl'а и всех кто хочет попробовать силы в чёрной магии.

Каждую неделю публикуются две несложные задачки. Можно решать, а можно предложить себя в качестве наставника и помогать начинающим.

Упор сделан на TIMTOWTDI. Организатор просит избегать гольфа и JAPH, в остальном: «Пусть расцветают сто цветов».

По итогам пишут отчёт с наиболее интересными решениями.

Цель: популяризация Perl, обмен опытом и веселье!

>>> Подробности

 , , , ,

perl5_guy
()