Локальная Flibusta на NAS от WD

Есть у меня сетевое хранилище WD MyCloud на 2ТБ и есть база книг флибусты от 2012 года на 67ГБ, и пользовался я программой LibRus — Библиотекарь. Все было хорошо, но хотелось загружать книги прямо с самой читалки.

Читать далее Локальная Flibusta на NAS от WD

Интерактивная SVG карта в Android

Имеется svg-карта, необходимо создать Android-приложение показывающее эту карту и реагирующую на клики по регионам.

Для этого нам понадобятся
android.webkit.WebView для отображения SVG и android.webkit.JavascriptInterface для доступа к java-объектам с JavaScript

Читать далее Интерактивная SVG карта в Android

Об администрировании UNIX

Можно выделить четыре типа системных администраторов UNIX:

  • Технический бандит. Обычно в прошло программист, вынужденный заниматься администрированием. Пишет скрипты на смеси языков интерпретатора Bourne shell, sed, C, awk, perl и APL.
  • Администратор-фашист. Обычно законченный тунеядец (реже — бывшая ведьма-секретарша), вынужденная заниматься администрированием системы.
  • Маньяк. Стареющий хакер, обнаруживший, что ни Массада, ни Куба не собираются оплачивать достойно его улуги по компьютерному шпионажу, вследствии чего подавшийся в системные администраторы.
  • Идиот. Полный кретин или старый программист на Коболе, выбранный в админы комитетом, состоящим из таких же кретинов или старых программистов на Коболе.

Как определить, к какому типу принадлежит ваш администратор.

Читать далее Об администрировании UNIX

Покажем точки на карте

Задача: Необходимо показать несколько gps точек с базы на карте с возможностью измерения расстояния между ними.

Будем использовать apache, php, mysql для бекенда.

Читать далее Покажем точки на карте

Настройка RBAC в Yii2

Установка Yii2 с шаблона yii2-advanced по данной инструкции

Добавление поддержки RBAC используя DbManager.

Редактируем файл /yii2app-path/common/config/main.php

return [
    // ...
    'components' => [
        'authManager' => [
            'class' => 'yii\rbac\DbManager',
        ],
        // ...
    ],
];

 

Запускаем миграцию в корневой папке нашего приложения

./yii migrate --migrationPath=@yii/rbac/migrations

Добавим в /yii2app-path/console/controllers RbacController.php

<?php
namespace app\commands;

use common\models\User;
use Yii;
use yii\console\Controller;

class RbacController extends Controller
{
    public function actionInit()
    {
        $auth = Yii::$app->authManager;
        $admin = $auth->createRole('admin');
        $auth->add($admin);
        $auth->assign($admin, 1);
    }

    public function actionCreatePermission($name, $description)
    {
        $auth = Yii::$app->authManager;
        $permission = $auth->createPermission($name);
        $permission->description = $description;
        $auth->add($permission);
    }

    public function actionCreateRole($name)
    {
        $auth = Yii::$app->authManager;
        $role = $auth->createRole($name);
        $auth->add($role);
    }

    public function actionAssignRole($username, $roleName)
    {
        $user = User::findByUsername($username);
        $auth = Yii::$app->authManager;
        $role = $auth->getRole($roleName);
        $auth->assign($role, $user);
    }
}