Поиск по этому блогу

пятница, 31 августа 2018 г.

php рекурсия пример вывода категорий меню

Здравствуйте!

Хотелось бы поделиться очень хорошим примером рекурсии для php по самой распространённой задаче - сделать меню с категориями.

php, программирование, рекурсия,

Прежде всего создадим таблицу в базе данных.
CREATE  TABLE `categories` (
`id` INT  NOT NULL AUTO_INCREMENT ,
`parent_id`  INT NOT NULL ,
`name`  VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY  ( `id` )
);
Заполним её данными.
INSERT INTO `categories` (`id`, `parent_id`, `name`) VALUES
(1, 0, 'Раздел 1'),
(2, 0, 'Раздел 2'),
(3, 0, 'Раздел 3'),
(4, 1, 'Раздел 1.1'),
(5, 1, 'Раздел 1.2'),
(6, 4, 'Раздел 1.1.1'),
(7, 2, 'Раздел 2.1'),
(8, 2, 'Раздел 2.2'),
(9, 3, 'Раздел 3.1');
Создаём наш php файл для вывода и вытаскиваем данные из базы данных.
//Выбираем всё из нашей таблицы
$result=mysqli_query($connect, "SELECT * FROM  categories");
//Если в базе данных есть записи, формируем массив
if   (mysqli_num_rows($result) > 0){
    $cats = array();
//В цикле формируем массив разделов, ключом будет id родительской категории, а также массив разделов, ключом будет id категории
    while($cat =  mysqli_fetch_assoc($result)){
        $cats_ID[$cat['id']][] = $cat;
        $cats[$cat['parent_id']][$cat['id']] =  $cat;
    }
}
Рекурсивная функция для вывода.
function build_tree($cats,$parent_id,$only_parent = false){
    if(is_array($cats) and isset($cats[$parent_id])){
        $tree = '<ul>';
        if($only_parent==false){
            foreach($cats[$parent_id] as $cat){
                $tree .= '<li>'.$cat['name'].' #'.$cat['id'];
                $tree .=  build_tree($cats,$cat['id']);
                $tree .= '</li>';
            }
        }elseif(is_numeric($only_parent)){
            $cat = $cats[$parent_id][$only_parent];
            $tree .= '<li>'.$cat['name'].' #'.$cat['id'];
            $tree .=  build_tree($cats,$cat['id']);
            $tree .= '</li>';
        }
        $tree .= '</ul>';
    }
    else return null;
    return $tree;
}
Вызываем функцию и передаём в неё наш массив.
echo build_tree($cats,0);
На выходе получаем очень красивую структуру:
<ul>
    <li>Раздел 1
        <ul>
            <li>Раздел 1.1
                <ul>
                    <li>Раздел 1.1.1</li>
                </ul>
            </li>
            <li>Раздел 1.2</li>
        </ul>
    </li>
    <li>Раздел 2
        <ul>
            <li>Раздел 1.1</li>
            <li>Раздел 1.2</li>
        </ul>
    </li>
    <li>Раздел 3
        <ul>
            <li>Раздел 3.1</li>
        </ul>
    </li>
</ul>
Я считаю что это очень хороший пример рекурсии в php. Кроме того он решает столь распространённую задачу вывода меню или списка категорий.

Надеюсь код был полезен.
Успехов и хорошего дня!

четверг, 30 августа 2018 г.

js получение выбранного option в select

Здравствуйте!

Порой бывает ситуация что нужно в js отследить выбор элемента в select, а так же выбранное значение. На чистом js это реализуется через событие onChange.

js, html, программирование,

JS:
function getValue(selectObj) {
    alert(selectObj.value);
}
HTML:
<select onchange="getValue(this)">
     <option value="val1">Text 1</option>
     <option value="val2">Text 2</option>
     <option value="val3">Text 3</option>
</select>
Очень удобно когда вместе с значением нужно передать ещё что то ( например id некого элемента заполняемое в php ).

Надеюсь код был полезен.
Успехов и хорошего дня!

среда, 29 августа 2018 г.

php multi image upload загрузка множества фото

Здравствуйте!

Встала тут задачка сделать загрузку множества фотографий с динамическими input . Да имеется возможность multiple но не всегда она удобна. Был найден и использован следующий вариант. Требует jQuery для работы.

php, js, jquery, html, программирование, инструкция, полезное,

HTML
<div class="field_wrapper">
<input type="file" name="photos[]" class="form-control">
</div>
<i class="add_button fa fa-plus">Добавить ещё</i> 
JS
<script type="text/javascript">
$(document).ready(function(){
    var maxField = 10;
    var addButton = $('.add_button');
    var wrapper = $('.field_wrapper');
    var fieldHTML = '<br><input type="file" name="photos[]" value="" class="form-control">';
    var x = 1;
   
    $(addButton).click(function(){
        if(x < maxField){
            $(wrapper).append(fieldHTML);
        }
    });
   
    $(wrapper).on('click', '.remove_button', function(e){
        e.preventDefault();
        $(this).parent('div').remove();
        x--;
    });
});
</script>
PHP
$total = count($_FILES['photos']['name']);
for( $i=0 ; $i < $total ; $i++ ) {
$tmpFilePath = $_FILES['photos']['tmp_name'][$i];
        $photo = generateFilename();
$photo.=".jpg";
move_uploaded_file($tmpFilePath, "../uploads/".$photo); 
          }

В коде так же используется самописная функция generateFilename которая возвращает созданное имя файла:

function generateFilename(){
$chars = 'abdefhiknrstyz123456789_';
$string = '';
for ($i = 0; $i < 30; $i++) {
$string .= substr($chars, rand(1, 24) - 1, 1);
}
return $string;
}


Надеюсь код был полезен.
Успехов и хорошего дня!

вторник, 28 августа 2018 г.

приказ минкомсвязи 335 о переходе на отечественое п.о.

Здравствуйте!

Вот такое чудо нашёл сегодня.

Об утверждении методических рекомендаций по переходу органов исполнительной власти субъектов Российской Федерации и органов местного самоуправления муниципальных образований Российской Федерации на использование отечественного офисного программного обеспечения, в том числе ранее закупленного офисного программного обеспечения
Полный текст приказа.
Если это подстегнёт всякие ленивые alt linux и прочих - будет здорово. В противном случае всё будет очень плохо.

импортозамещение, минкомсвязь, отечественное п.о., приказ 335, linux,

Кто знает - это обязует использовать только п.о. из реестра?
10. Переход на использование отечественного офисного программного обеспечения рекомендуется осуществлять в отношении: иностранного офисного программного обеспечения и (или) офисного программного обеспечения, сведения о котором не включены в единый реестр российского программного обеспечения

Надеюсь всё будет хорошо.
Успехов и хорошего дня!

понедельник, 27 августа 2018 г.

freeipa установка клиента

Здравствуйте!

Помимо установки сервера free ipa так же требуется установить и настроить клиент на сторонней машине который будет подключаться к этому серверу каталогов. В качестве клиентской машины я использовал Linux Mint 19 Cinnamon 64bit. Как по мне очень приятный дистрибутив стабильный и готовый для домашнего использования из коробки.

инструкция, настройка, полезное, freeipa, linux, ubuntu, ubuntu server,

Установить клиента и ввести в домен достаточно просто:
1. Прежде всего требуется задать имя машины в будущем домене. Делается это так же в файле /etc/hostname где нужно указать имя вида client1.your-domain-name.ru
2. Т.к. в моей сети днс для внутренний имён отсутствовал напрочь - требуется в хосты /etc/hosts прописать жёсткие адреса для клиента и сервера. Например: 192.168.0.х ipa.your-domain-name.ru и 192.168.0.х client1.your-domain-name.ru
3. Следующим шагом будет обновление
apt-get update && apt-get upgrade
4. Устанавливаем клиент:
apt-get install freeipa-client
5. Настройка клиента так же производится в режиме мастера. Для её запуска требуется выполнить команду от рута:
ipa-client-install --mkhomedir
Благодаря ключу --mkhomedir при заходе каждого нового пользователя в каталоге /home/ будет создаваться директория с именем пользователя.
В процессе работы с мастером установки потребуется указать адрес домена ( символьный! ) который соответствует тому что было прописано в шаге 2. А так же ввести имя пользователя и пароль администратора домена ( которые были заданы при настройке сервера ).

На этом настройка завершена и после входа можно входить под пользователем. В Linux Mint для того что бы можно было вводить имя пользователя на экране входа требуется зайти в раздел Настройки - Окно входа в систему - Разрешить ввод имени пользователя.

Для работы прав администратора требуется произвести действия с sudoers по аналогии с данной инструкцией опубликованной ранее. Исключением будет разве что имя группы - в free ipa это группа admins. Хотя ничего не мешает использовать группу wheels для раздачи прав администратора.

Надеюсь инструкция была полезной.
Успехов и хорошего дня!

воскресенье, 26 августа 2018 г.

freeipa установка сервера

Здравствуйте!

Решил написать немного о free ipa. Централизованная система АА пользователей в сети. В поиске linux дистрибутива готового из коробки задумаваешься о самостоятельной сборке и настройке. Поэтому решил попробовать что такое free ipa. Устанавливается оно на удивление просто. Для установки использовалась Ubuntu 16.04.05 server.

инструкция, настройка, полезное, linux, ubuntu, ubuntu server, freeipa

Пошагово:
1. Имя компьютера выступающего сервером free ipa должно быть уникальным и ссылаться на локальный компьютер. Так что в /etc/hostname прописываем ipa.your-domain-name.ru
2. В хостах делаем жёсткую ссылку доменного имени на локальный пк. Лично я сделал запись в хостах на внутренний ип вида 192.168.0.x ipa.your-domain-name.ru
3.
apt-get update && apt-get upgrade 
4. Устанавливаем пакеты используя
apt-get install freeipa-server freeipa-server-dns
5. Далее
ipa-server-install 
Запустится мастер установки и настройки сервера который проведёт по всем шагам. В большинстве случае требуется лишь нажать ввод что бы подтвердить стандартное значение - например имя домена или имя текущего хоста. Dns я не настраивал поэтому про настройку bind в процессе установки пока увы написать не могу. Возможно попробую и напишу отдельный пост.
6. Как закончится установка включаем пользователя админ:
​​kinit admin
7. Веб интерфейс сервера будет доступен по https://ipa.your-domain-name.ru для дальнейшей конфигурации.

Пока что пытаюсь разобраться как это дело правильно настроить поэтому отзыв о free ipa будет значительно позднее.

Надеюсь инструкция была полезной.
Успехов и хорошего дня!

суббота, 25 августа 2018 г.

ubuntu server зависает установка проблема

Здравствуйте!

В процессе установки Ubuntu Server 16 столкнулся с проблемой - установка просто останавливалась после просмотра компакт диска. Фиолетовый экран и белая полоса внизу. Нет она не зависала и можно было вводить с клавиатуры или перезагрузить компьютер по ctrl alt del - она просто дальше не шла. Поиск по интернетам толку не дал. Пробовал другие версии ubuntu - 14 и 18 установка шла корректно.

ubuntu, ubuntu server, linux, проблема, установка

По прошествии некоторого времени решени проблемы было найдено. В случае если столкнётесь с такой бедой - решение оказалось очень простое. Просто оставьте всё. Пройдёт час может и больше - и установка продолжится. Дальнейших багов не выявлено всё корректно работает. Поэтому что там происходит в это время к сожалению понятия не имею. Но благо всё заработало.

Надеюсь пост был полезен.
Успехов и хорошего дня!

пятница, 24 августа 2018 г.

vnc удалённый доступ

Здравствуйте!

Для организации удалённого управления в локальной сети так же можно использовать очень популярный VNC. Популярен он прежде всего тем что базируется на полностью бесплатном протоколе. И лишь клиент / сервер могут лицензироваться и продаваться. Как следствие есть множество халявных вариантов под любую платформу. Управляй откуда чем хочешь называется.


К сожалению из за обилия реализаций сложно сказать что то однозначное о качестве работы. Лично я использую на Linux tigervnc а на Windows thigthvnc. В целом функционала хватает но качество управления порой оставляет желать лучшего - артефакты прорисовка экрана и прочее. Но бесплатность конечно делает данный вариант очень популярным. А при наличии программистов в штате и открытых исходниках - ничего не мешает собрать свою клиент серверную версию.

Вот и закончился цикл постов о удалённом управлении. Было рассказано о всех основных возможностях управления устройствами через интернет и локальную сеть. Надеюсь информация была вам интересна и узнали что то новое для себя.

Ammyy
RaAdmin
TeamViewer

Надеюсь информация была полезной.
Успехов и хорошего дня!

четверг, 23 августа 2018 г.

raadmin удалённый доступ

Здравствуйте!

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

raadmin, отзыв, обзор, вдруг кто не знает, полезная информация,

RaAdmin как раз относится к программе для организации удалённого доступа в локальной сети. Достаточно развернуть server на рабочих местах и настроить права доступа ( можно создать локального пользователя или использовать аутентификацию домена ). Программа крайне качественная управлять удобно и эффективно. Так же можно подключаться в режиме просмотра экрана передачи файлов и прочее.

Лицензирование идёт на количество лицензий. Из минусов - проект остановился в развитии. Да он работает и работает хорошо но хотелось бы обновлений и новых возможностей. Но тем не менее - лучший вариант для организаций на текущий момент.

TeamViewer
Ammyy
VNC

Надеюсь информация была полезной.
Успехов и хорошего дня!

среда, 22 августа 2018 г.

ammyy удалённый доступ

Здравствуйте!

Текущий пост будет посвящён второму по популярности средству для удалённого доступа - Ammyy Admin. Говорят что программа платная но про факты покупки я не слышал. Наверное это связано с корявостью работы и множеству уязвимостей в программе. Работает через интернет, при этом скачать её можно только через IE - остальные браузеры блокируются на сайте.



Для быстрого доступа через интернет при не рабочем teamviewer вполне подходит. Но использовать на постоянной основе я бы не стал. Больно часто выходят новости об уязвимостях а проект будто застыл в развитии и не обновляется. Обратите внимание на чудесный логотип выше ( скачан с официального сайта ). Вот так и весь ammyy - тяп ляп). К сожалению так же отсутствует возможность работы через локальную сеть что очень актуально для организаций имеющих всегда свою подсеть.

TeamViewer
RaAdmin
VNC

Надеюсь информация была полезной.
Успехов и хорошего дня!

вторник, 21 августа 2018 г.

teamviewer удалённый доступ

Здравствуйте!

Решил отдохнуть от линукса и сделать 4 небольших поста про возможности удалённого управления устройствами, а именно: teamviewer, ammyy, raadmin, vnc.

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

teamviewer, отзыв, обзор, вдруг кто не знает, полезная информация,

Очень удобный мобильный клиент - даже можно играть ( привет дейлик в LoL ). По качеству связи - зависит от качества интернета на стороне клиента и сервера. К сожалению работа через локальную сеть отсутствует совершенно - поэтому где летают эти данные неизвестно. 

В целом самый готовое и мощное средство для удалённого управления через интернет.

Ammyy
RaAdmin
VNC

Надеюсь информация была полезной.
Успехов и хорошего дня!

понедельник, 20 августа 2018 г.

alt linux сервер alt linux рабочая станция недообзор

Здравствуйте!

И так второй платный дистрибутив в моей очереди это alt linux . Дистрибутив который в своё время получил тысячи клиентов за счёт перевод медицинских учреждений на Linux. Я делал на него большие надежды и в целом дистрибутив показал себя хорошо. Да конечно как и любой Linux дистрибутив он имеся уже 8ую! версию сыпет внезапными проблемами но без этого как я понял увы никуда.

Стоимость Alt Linux сервера 10 тысяч рублей. Техподдержка базового уровня стоит 12 тысяч рублей за каждый год использования. В целом довольно большая цена но она окупается большим выбором программного обеспечения заранее выбираемому при установке. Как минимум домен представлен аж в 3 вариантах: openldap + kerberos + samba, samba 4, freeipa. Главное правильно выбрать всё при установке что бы после неё не получить кирпич. Имеет встроенный vnc сервер для удалённого управления и кучу дополнительного хлама. Работает вполне стабильно на машине с 1гб памяти DDR2 и Core2Duo. Сервер имеет заранее подготовленный веб интерфейс который после установке доступен по адресу https://localhost:8080 . Для авторизации используется учётная запись root, есть русский язык. Описание всех пунктов довольно скудное но благо у дистрибутива есть wiki хотя большинство статей не актуализировались долгие годы. А отсылки на форум порой ссылаются на 2010 год и ранее - как следствие бесполезны.
alt linux, altlinux, отзыв, обзор, cryptopro, криптопро, linux,

Стоимость Alt Linux рабочая станция 4 тысячи рублей. Техподдержка ежегодно будет обходиться ещё в 4 тысячи. Заранее подготовленный дистрибутив содержащий возможность ввода в домен, кучу предустановленного п.о., возможность удалённого управления через vnc ( увы у меня не завелось - не получается отключить шифрование ). В целом дистрибутив производит приятные впечатления.

Но...

Как обычно всплывают одни и теже проблемы линукса. Отсутствие gui то там то тут. Общая недоделанность интерфейса. Крипто про который так и не работает. Кстати vb на altlinux с w7 и chrome без проблем авторизовался в esia. Что ещё можно сказать - куча мелких ошибок по каждого пункту. То домен внезапно перестал работать то у клиента не отключается шифрование на vnc сервере. Ну и конечно после переустановки домена он перестал подключаться даже сам к себе. И снова вики форумы и гуглы что бы сделать те вещи которые должны работать из коробки. А ну и конечно отсутствие nano в предустановленных пакетах - святотатство.

В целом altLinux производит более менее положительное впечатление поэтому возможно задержусь на нём подольше что бы понять все плюсы и минусы данного решения. Конечно многое ещё будет зависеть от технической поддержки и её качества - ведь вопросов при развертывании в реальных условиях будет очень очень много.

Надеюсь вам было почитать о данном дистрибутиве.
Успехов и хорошего дня!

воскресенье, 19 августа 2018 г.

phonerlite как лучший sip клиент

Здравствуйте!

Что то бесконечная череда Linux проблем и постов про них начала выматывать. Хочется рассказать про что то отстранённое от этого слова на 5 букв. Поэтому пожалуй сегодня поведаю о лучшем на мой взгляд ( из бесплатных ) sip клиенте.

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

windows, sip, phoner lite, полезное, вдруг кто не знает, отзыв

С sip сервером asterisk в локальной сети подружился без каких либо лишних телодвижений. Адрес сервера имя пользователя ( он же внутренний номер ) и пароль. После чего соединение было успешно установлено. Т.к. не имею физического телефона и пользуюсь только им могу с уверенностью сказать что sip клиент удобен для ежедневного использования и я его однозначно рекомендую. Конечно случаются очень редко какие нибудь непонятные зависания программы - но я даже не уверен что виноват phonerlite.

Так что если ищите что же установить для телефонии на компьютере - возможно это именно то что вам надо. Лично я остановился на нём и менять не собираюсь.

Надеюсь информация была полезной.
Успехов и хорошего дня!

суббота, 18 августа 2018 г.

virtualbox on linux usb device in vb machine проброс usb в гостевую машину

Здравствуйте!

Отдохнули от linux и хватит. И так ситуация. На машине с linux установлен virtualbox где в свою очередь была создана машина и туда установлена windows 7. Требуется пробросить подключенную флешку в гостевую систему для работы с ней но windows 7 упорно горит жёлтым треугольником в диспетчере устройств и говорит о том что устройство может работать не верно.

virtualbox, linux, windows, usb, vb extension pack, инструкция, полезная информация, полезное,


По умолчанию USB в virtualbox используется версии 1.1. и лично у меня на windows 7 оно работать отказалось. Для включения режима USB 2.0 или USB 3.0 требуется установить набор дополнений для virtualbox:
  1. Если вы используете актуальную версию virtualbox то достаточно скачать пакет VirtualBox 5.2.18 Oracle VM VirtualBox Extension Pack с официального сайта.
  2. Если же вы используете не актуальную версию ( которые чаще всего и находятся в репозиториях ) то данный набор дополнений можно скачать с страницы устаревших версий vb.
  3. Далее закрываем всё что связано с virtual box - рабочие виртуальные машины интерфейс итд.
  4. Устанавливаем набор двойным кликом ( при наличии интерфейса ).
  5. Соглашаемся с соглашением и после недолгой установки в настройках машины ( раздел USB ) появятся вариант USB 2.0 и USB 3.0
Сразу после переключения в машине USB на вторую версию флешка без проблем увиделась в гостевой системе. 

Надеюсь инструкция была полезной.
Успехов и хорошего дня!

пятница, 17 августа 2018 г.

alt linux virtual box install как установить

Здравствуйте!

После rosa руки дошли до alt linux. Отзыв о данном дистрибутиве будет позднее когда я с ним наиграюсь а пока небольшая инструкция как запустить virtual box на alt linux. В wiki и на форуме у них увы информация датируется 2010 годом с vb 3.2 при актуальном vb 5.1.

Небольшое отступление которое ввело меня в ступор при начале работы с alt linux. Alt linux сам по себе базируется на rpm системе ( red hat etc ) но при этом использует менеджер пакетов apt.

И так что бы установить virtual box требуется ( все команды от рута ):

  1. Со страницы загрузки скачать версию для Fedora 26 / 27 / 28  i386 |  AMD64 в зависимости от разрядности вашей системы.
  2. Установить перейдя в директорию с загруженным пакетом командой apt-get install VirtualBox-5.2.-*
  3. ИЛИ установить из репозитория apt-get install virtualbox
  4. Обновить ядро и всё и вся. update-kernel -t std-def && apt-get update && apt-get upgrade && apt-get dist-upgrade
  5. Обязательно перезагрузить компьютер по завершению.
  6. Установить vb модули ядра ( спасибо советчику в официальной группе телеграмм за подсказку ) apt-get install kernel-modules-virtualbox-un-def
  7. Запускаем virtualbox из терминала и можно создавать а затем стартовать машину.

К сожалению мне попользоваться virtualbox так и не удалось. Видимо не стоило пытаться запустить windows 7 поверх alt linux сервер на машине с core2duo и 1гб памяти на борту. Но оно пыталось!)

p.s. попробовал на более мощном пк с установкой из репозиториев - всё нормально.

Надеюсь информация была полезной.
Успехов и хорошего дня!

четверг, 16 августа 2018 г.

sudoers group wheel

Здравствуйте!

В процессе настройки связки клиент - сервер на linux административные права выдаются путём принадлежности к группе wheel. Но здесь есть один небольшой момент который я хотел бы осветить. А именно - по умолчанию sudo не разрешает выполнения всех команд группой wheel что стало для меня открытием.

вдруг кто не знает, донастройка, инструкция, настройка, полезное, linux, sudo,

Для того что бы исправить данное недоразумение достаточно на целевой машине отредактировать файл /etc/sudoers/ и раскомментировать строку для данной группы. Права на редактирование файла /etc/sudoers/ есть только у root.
## Uncomment to allow members of group wheel to execute any command
WHEEL_USERS ALL=(ALL) ALL 
После этого любой пользователь состоящий в данной группе получит возможность использовать команду sudo -i и работать под root.

Надеюсь информация была полезной.
Успехов и хорошего дня!

среда, 15 августа 2018 г.

rosa server rosa fresh недообзор

Здравствуйте!

Первым платным дистрибутивом который я решил посмотреть стал так называемый Rosa Linux от НТЦ ИТ РОСА. Сразу в минус что клиентской версии в открытом доступе для теста нет. Поэтому для теста клиента был взят Rosa Fresh разрабатываемый "силами сообщества". С легковесным lxqt работает очень даже бодро. Проблем с аппаратурой не возникло - ставил сразу на реальный пк. По умолчанию имеет встроенный cups и samba с интерфейсами. Конечно не имеет никаких возможностей для работе с домене. Редакция похожа на Home от Windows. Изначально подумал что надо написать и попросить на тестирование Rosa Enterprice Desktop в котором могло бы быть много хорошего, но...

rosa, linux, обзор,

Rosa Server. Чудесный маны на хабре, веб интерфейс, преднастройка всего и вся. По факту - после установки общедоступной версии менеджера настройки сервера нет. Установить его нельзя - общедоступная версия сервера подключается к репозиторию по паролю. В итоге несколько попыток переустановки и бессмысленные попытки зайти на localhost:8000 . Видимо в теории серверная версия идёт урезанная и нужно просить для теста полную версию.

Итого могу сказать что Rosa не оставил никаких впечатлений. Видимо судить этот продукт можно имея лишь полные версии Enterprise на руках. Но т.к. не хочется пока связываться с sale@rosa ( замучают же потом предложениями ну купите нас ) - можно попробовать что то иное. Поэтому на очереди altLinux.

Надеюсь у вас будет более приятный опыт.
Успехов и хорошего дня!

вторник, 14 августа 2018 г.

linux debian gentoo dist office пост-отзыв

Здравствуйте!

Прошла уже неделя тестирования и работы с Linux и среди череды постов "как сделать что бы что то работало" хотелось бы указать чего Linux лишён начисто. Постараюсь затронуть критичные для многих моменты.


  1. GUI. Концепция зачем gui если есть консоль - не подходит для современных реалий. GUI требуется всем - пользователям администраторам программистам. Практически по каждому дальнейшему пункту даже не буду упоминать - но gui нет. А должно быть.
  2.  ESIA. Единая система авторизации и аутентификации столь продвигаемая в РФ - работает крайне плохо или не работает совсем. Подружить esia + ifcc plugin + cryptopro так и не удалось. Документация выложена в 2010 году и не особо актуальна. Форум содержит не актуальные инструкции как сделать. Утилита cryptopro удобство не блещет. В целом пока что всё очень плохо.
  3. Одна программа - одна функция. Один из фундаментальных принципов систем *nix который вместо одной проблемы делает множество проблем ( привет неудовлетворящие зависимости и устаревшие или слишком новые версии ).
  4. AD + samba. Полнофункционального аналога Windows AD пока не существует. openLdap оставляет желать лучшего. Авторизация прикручивается через kerberos и в итоге всё работает крайне плохо. Ну и конечно же samba которая испозуется для шары. Всё очень плохо.
  5. Оптимизация всего и вся. Отсутствует. Вечные ошибки приложений медленный запуск и отсутствие банальных вещей в интерфейсе ( привет запуск от имени администратора или запрос прав администратора ).
  6. Готовность к работе. Довольно расплывчатое определение которое я пожалуй опишу как "готовность ОС исполнять свои функции". Уже более 20 лет как компьютер и софт вышли из стадии "учиться что бы пользоваться". А linux в этой стадии погряз. Так что пока не будет поставил и пользуешься - шансов популяризации мало. Привет reactos вся надежда на вас.
  7. Разделение труда. Пользователь и программист не должны заниматься настройкой. Администратор не должен заниматься программированием. В linux же значительную часть недоработок программиста приходится брать на себя администраторам. 
linux, debian, gentoo, reactos, всё очень плохо, мысли, open source


В итоге что я могу сказать. Linux подходит исключительно для простых серверов из разряда настроил забыл ( web sip ftp etc ) . Если Linux приходится использовать и более того использовать в качестве клиентской машины - можно вешаться. Как бы не продвигался стандарт открытого п.о. - с него нет выхлопа. Так что.. Linux нужны специалисты деньги и ещё раз деньги. Думаю лишь после этого оно станет более менее "юзерфрендли". А пока... Пойду смотреть rosa, alt, astra что же там наделали и стоит ли оно своих денег.


Надеюсь у вас более положительный опыт.
Успехов и хорошего дня!

понедельник, 13 августа 2018 г.

debian 9.5 установка драйвера amd hd 7750

Здравствуйте!

После установки Debian 9.5 появилась проблема - загруженный до 100% центральный процессор. В процессе поиска причин проблемы выяснилось что графическая оболочка при отсутствии корректной работы с драйверами видеокарты будет использовать ЦП.

linux, debian, инструкция, amd, настройка, донастройка, amd hd,

На компьютере стоит довольно древняя HD 7750. Конечно прежде всего я попробовал установить наиболее актуальные драйверы Amd Gpu которые мне сказали: Unsupported System. Большинство инструкций ссылаются на
firmware-linux
Но в Debian 9.5 он отсутствует по умолчанию.

В процессе поиска был найден список пакетов которые требуется установить:
apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati
Для того что бы они установились требуется подключить репозитории contrib non-free.
Для этого открывается файл /etc/apt/sources.lost и после main требуется добавить contrib non-free

После этого выполнить
apg-get update
и произвести установку пакетов описанных выше.

После перезагрузки проблема устранилась и загрузка ЦП упала до минимума.

Надеюсь инструкция была полезна.
Успехов и хорошего дня!

воскресенье, 12 августа 2018 г.

wildstart online mmorpg free to play

Здравствуйте!

"Дело было вечером делать было нечего" (с). Одно время достаточно основательно зависал в World Of Warcraft - более 10 одетых героев и 10к+ очков достижений. Но после повышения цены подписки вов перестал радовать. Платить 500р в месяц что бы поделать дейлики? Нет спасибо.

Не далее чем как вчера наткнулся на презабавнейшую игру - Wildstar Online. Free to play mmorpg с графикой в стиле WoW, сделанная выходцами из Blizzard под крылом NcSoft ( издатели Lineage 2 ). Казалось бы такое сочетание должно позволить этой игре стать топ 3 в mmorpg но что то пошло не так.

игры, free to play, games, lineage 2, ncsoft, wildstar, wildstar online, mmorpg


Ru сервер так и не открылся полностью. На Европу один сервер и один в США. Видимо NcSoft зажал денег на локализацию и рекламу. А очень очень жаль. Лично мне игра понравилась. Хороший клон WoW со своей вселенной и лором. Данжи, множество классов и вариантов развития. Достаточно динамичная и не требует для комфортной игры жёсткого доната.

В процессе общения с игроками выяснилось что большинство ru игроков ушли на сервер США в период бана телеграмма ( заодно заблокировали и Европейский сервер Wildstart ). Поэтому найти рускоговорящих достаточно проблемно. Хотя может оно и к лучшему - никаких шуток про мам.

В эту игру нужно поиграть что бы понять нравится она или нет. Лично мне зашла и я с удовольствием побегаю ещё по этим чудным мирам.

Надеюсь найдётся минутка оценить эту игру.
Успехов и хорошего дня!

суббота, 11 августа 2018 г.

cryptopro linux информация

Здравствуйте!

В процессе изучения и проверки работоспособности Calculate Linux была выявлена одна такая неприятность - crypto pro официально не поддерживаем gentoo. На этом моё знакомство с данным дистрибутивом увы завершилось. По неофициальной информации crypto pro версии 5 будет работать корректно, но до момент сертификации может пройти много лет ( учитывая что крипто про 4.0 RC4 до сих пор не получил сертификацию ).

На текущий момент в Linux крипто про представлен версиями .deb и .rpm . После скачивания официального дистрибутива с страницы загрузки требуется его распаковать и сделать выполняемыми файлы install.sh и install_gui.sh ( chmod +x ). Увы в gentoo требутеся руками найти и собрать пакеты для успешной установки крипто про.


От себя хочу сказать что очень неприятный выбор со стороны крипто про - поддерживать только сборки основанные на debian и redhat. Думаю это обосновано тем что платные ОС на Linux основаны исключительно на них. Надеюсь умельцы однажды перенесут его на gentoo. А пока - буду искать debian дистрибутив для работы.

Надеюсь информация была полезной
Успехов и хорошего дня!

пятница, 10 августа 2018 г.

google assistant mi home xiaomi control devices

Здравствуйте!

Прошло уже 2 недели с начала использования google assistant и неделя с момента выхода русской версии. Поигравшись с "привет сири" я решил оставить телефон на English локали и пользоваться качественным google asistant. Кроме того я влюбился в возможность управления умными устройствами от xiaomi. К сожалению пока что это только лампы yeelight.

Настраивается это довольно просто:
1. Открываем приложение Google в правом нижнем углу открываем меню и выбираем Settings.
2. В открывшемся меню повторно выбираем пункт Settings в разделе Google Assistant.
3. Проматываем вниз и открываем раздел Home Control.
4. Остаётся только найти в списке Mi Home указать данные учётной записи mi и всё - устройства добавлены.

Процедура простейшая но имеет и свои загвоздки. Так например раздел Home Control может отсутствовать. Дело в том что после изменения языка телефона требуется зайти в Play Market и обновить приложение Google иначе он так и не появится.

После настройки можно переименовать лампы для большего удобства. Без проблем работают команды turn on/off , set brightness, set color , turn all on / off all lights. Только вот с цветами косяк - чаще всего есть значительный перекос ( например вместо yellow явный зелёный ).

Надеюсь инструкция пригодилась.
Успехов и хорошего дня!

четверг, 9 августа 2018 г.

konika minolta linux authentication pdd driver download

Здравствуйте!

В процессе попыток продолжить работу с calculate linux встала простая задача: подключить принтер. Но как оказалось для linux ничего простого тут нет и решении заняло более 2 часов.

настройка, полезное, authentication, cups, debian, gentoo, konica, linux, minolta, ubuntu, calculate

Дело в том что используемый принтер - Konica Minolta 754 с включенной авторизацией. Все отделы печатают под своими учётными записями. И ( тадам ) официальный драйвер Konica для Linux эту возможность не поддерживает!

И так путём поисков и проб была найдена инструкция как это сделать:

1. Скачиваем драйвер с официального сайта . Не забываем выбрать язык English что бы появилась ОС Linux.
настройка, полезное, authentication, cups, debian, gentoo, konica, linux, minolta, ubuntu, calculate
2. Открываем в текстовом редакторе файл KOC754UX.ppd ( находится по пути English - Cups 1.2 ) . В calculate linux версия cups 2.+ но установилось без проблем.
3. В самом начале добавляем строку
*PPD-Adobe: "4.3" 
*FormatVersion: "4.3"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*FileVersion: "20000.0000"
*% Linux Version

*cupsFilter: "application/vnd.cups-postscript 0 minolta"

*Manufacturer: "KONICA MINOLTA"
*ModelName: "KONICA MINOLTA C364SeriesPS/P"
*ShortNickName: "KONICA MINOLTA C364"
*NickName: "KONICA MINOLTA C364SeriesPS(P)"
*PCFileName: "KOC364UX.ppd"
4. Устанавливаем принтер с этим драйвером.

настройка, полезное, authentication, cups, debian, gentoo, konica, linux, minolta, ubuntu, calculate

5. Создаём файл minolta в /usr/libexec/cups/filter/ или /usr/lib/cups/filter/ - это зависит от версии Cups.
Содержимое файла:
#!/bin/bash

source /etc/cups/ppd/${PRINTER}.km

echo -en "\033%-12345X"
echo -en "@PJL JOB\015\012"
echo -en "@PJL SET KMUSERNAME = \"${ACCOUNT_NAME}\"\015\012"
echo -en "@PJL SET KMUSERKEY2 = \"${ACCOUNT_PASSWORD}\"\015\012"
echo -en "@PJL SET KMCOETYPE = ${ACCOUNT_COETYPE}\015\012"
echo -en "@PJL ENTER LANGUAGE = POSTSCRIPT\015\012"

cat -

echo -en "\004\033%-12345X\015\012@PJL EOJ\015\012"
echo -en "\033%-12345X"
6. Ставим на файл minolta права 755 ( командой chmod 755 minolta ).
7. Создать в директории /etc/cups/ppd файл повторяющий название драйвера но с расширением .km
8. В созданном .km файле прописываем:
ACCOUNT_NAME="ИМЯ ПОЛЬЗОВАТЕЛЯ ИЗ АУТЕНТИФИКАЦИИ КОНИКИ"
ACCOUNT_PASSWORD="ПАРОЛЬ"
ACCOUNT_COETYPE="0"
9. Ребут.

На этом всё. Принтер начал печатать и я впервые в своей жизни распечатал тестовую страницу из linux :) . Так же оставлю ссылочку на архив с выше указанными файлами можно их просто скопировать и не забывать поставить 755 minolta ( так же стоит проверить что бы название km файла совпадало с вашим ppd ).

Да кстати по умолчанию управлять принтерами в cups может только рут. Для добавления пользователя в группу управления управления принтерами надо выполнить от рута команду
gpasswd -a ИМЯ_ПОЛЬЗОВАТЕЛЯ lp

Надеюсь информация была полезной.
Успехов и хорошего дня!

среда, 8 августа 2018 г.

calculate linux обзор от виндоюзера

Здравствуйте!

После недавнего изучения операционных систем начинаю потихоньку ставить и смотреть версии дистрибутивов из реестра отечественного п.о. Прежде всего конечно стоит обратить внимание на бесплатные версии и первым в списке оказывается Calculate Linux от некой компании "Калкулэйт". Серверная и клиентская версия + бесплатность + форум + документация + ирка. В целом выглядит привлекательно особенно учитывая что мне как виндовс юзверю довольно тяжко переползать на nix.

ос, calculate, linux, обзор, настройка, virtualbox, полезное, полезная информация,

Официальный сайт
Страница загрузки
Документация

Некоторые дистрибутивы вызывают кучу проблем и головной боли. Поэтому что хочется прежде всего? Стабильности адекватности и поиска по форуму.

ос, calculate, linux, обзор, настройка, virtualbox, полезное, полезная информация,

Сервер устанавливается без проблем через команду
cl-install
При этом установка будет произведена с настройками по умолчанию. Лично потребовалось поменять настройки сети т.к. не было dhcp.

cl-install --netconf openrc --iface eth0:192.168.1.47:24 --hostname iivanov.company.ru --route default:192.168.1.1:eth0:192.168.1.47 --dns 192.168.1.1,8.8.8.8

Установка клиента имеет графический интерфейс и в целом не вызывает трудностей.

ос, calculate, linux, обзор, настройка, virtualbox, полезное, полезная информация,

Подробнее об установке можно прочитать в документации.

В целом установка прошла корректно и единственное что удивило - это минимальный размер по месту при установке ( 30 гигабайт ). Очень понравилось в клиентской машине наличие так называемой "консоли" где собраны все самые необходимые настройки. Вступление в домен настройки сети итд.

ос, calculate, linux, обзор, настройка, virtualbox, полезное, полезная информация,

При разворачивании на VirtualBox главное не забыть добавить dns записи в хосты что бы всё работало корректно. Именно из за отсутствия записей у меня сначала ничего не завелось при включении samba сервера. Но после добавления в хосты на клиентской машине ип имени сервера всё заработало - добавил пользователя на сервер и авторизовался под ним на клиентской машине. Дальше пока не лез с правами dns и прочей прелестью. Наверное буду пробовать эту сборку в реальной сети на настоящем оборудовании. В целом дистрибутив оставил приятные впечатления. Было бы здорово если бы он продолжил развиваться.

Надеюсь после прочтения поста вам тоже захотелось попробовать эту версию.
Успехов и хорошего дня!

вторник, 7 августа 2018 г.

free music collection запуск блога

Здравствуйте!

Как я писал ранее хранение бесплатной музыки было решено производить в новом блоге. Постараюсь ежедневно выкладывать альбомы ( преимущественно с fma ) которые стоит посмотреть и использовать. Для удобства навигации ярлыки будут соответствовать жанрам альбома. Заходите ко мне на https://collectionfreemusic.blogspot.com - буду рад.


Надеюсь зайдёте и найдёте нужную вам музыку.
Успехов и хорошего дня!

понедельник, 6 августа 2018 г.

у вас нет прав для просмотра данной страницы zakupki.gov.ru

Здравствуйте!

В последнее время после обновления программного обеспечения на стороне ИС закупок ( можно найти в новостях ) стала вылезать проблема с заходом в личный кабинет сотрудников отдела закупок. При заходе пишет "У вас нет прав для просмотра данной страницы". Благо как оказалось это лечится довольно просто - нужно зайти в личный кабинет под учётной записью администратора и повторно сохранить права. После чего всё заработает.

zakupki.gov.ru, полезное, полезная информация, проблема, инструкция,

Надеюсь информация была полезной и поменьше вам глюков с закупками.
Успехов и хорошего дня!

воскресенье, 5 августа 2018 г.

распродажа xiaomi aliexpress tmall

Здравствуйте!

Пришла тут очень интересная реклама. В разделе tmall ( доставка из Москвы ) на AliExpress 08 августа 2018 года будет распродажа продуктов под брендом Xiaomi в честь его 8 летия. Ради интереса глянул и удивился. Не знаю в каком количестве но они предлагают Xiaomi Redmi 6A за жалкие 6.000 рублей. Да мне не нравится что там поставили MTK вместо Qualcomm Snapdragon. Да мне не нравится что это такая лопата.

Но! Получить за такие деньги качественный 8 ядерный безрамочник да ещё и от именитого бренда - такого мне кажется никогда не будет. Так что если задумывались о покупке телефона кому либо - самое время следить за распродажей и урвать себе это чудо.

полезное, полезное из китая, xiaomi, aliexpress, mtk, snapdragon, qualcomm, интересное, покупки в интернете,

Ссылка на распродажу: https://tmall.aliexpress.com/ru/__pc/pages/1p_3c_xiaomi8thsale.htm

Надеюсь у вас получится что нибудь урвать.
Успехов и хорошего дня!

суббота, 4 августа 2018 г.

русский google assistant заработал

Здравствуйте!

Вот и ко мне прилетело обновление помощника. Русский язык воспринимает очень хорошо. 95 текста правильно распознаёт. Может открывать приложения, ставить таймеры напоминания, звонить и отправлять смс. Продублирую здесь список возможных действий вдруг кому будет полезно. От себя скажу что понравилось включать клипы с ютуба голосом и отправлять смс. Надеюсь дальше он будет развиваться и становиться круче и круче.

Из минусов конечно скажу что до уровня английской версии ему ещё расти и расти. Надеюсь google не забудет про другие языки помимо английского.

инструкция, полезная информация, полезное, google, google assistant, команды google assistant, что умеет google assistant

Что рядом

  • Погода. Какая сегодня погода? Какая погода будет на этих выходных?
  • Еда. Какие рестораны рядом? Сегодня вечером я хочу поесть пиццу.
  • Предприятия поблизости. Где ближайшая автозаправочная станция? Какая аптека открыта?
  • Навигация. Сколько займет дорога до аэропорта? Сколько времени займет дорога домой?

Личная информация и развлечения

  • Сведения о вас. Спросите Ассистента "Как меня зовут?" или расскажите ему о себе, например: "Меня зовут Маша. Я вегетарианка. Мой любимый цвет – синий". Вы также можете сообщить Google Ассистенту о своих предпочтениях, например получать информацию о температуре в градусах Цельсия. Если нужно, чтобы Ассистент забыл какие-либо сведения, скажите ему об этом.
  • Звонки. Позвони маме. Позвони Ивану.
  • Игры. Игра в факты. Игра в "Угадай смайлик".

Задачи

  • Календари и напоминания. Запланируй встречу с Алексеем во вторник в 15:00. Покажи мое расписание на завтра.
  • Часы. Установи будильник на 6:00. Установи таймер на 30 секунд.
  • Фотографии. Покажи мои фотографии пляжа. Покажи картинки со щенками.
  • Перевод (доступно более 100 языков). Как будет "Как дела?" по-немецки? Как будет "Доброе утро" по-арабски?

Информация

  • Развлечения. Покажи трейлер последнего мультфильма студии "Пиксар". Воспроизведи трек.
  • Новости. Покажи последние новости. Отправляй мне новости ежедневно в 10:00.
  • Факты. Сколько планет в Млечном Пути? Какова высота Эвереста?
Информация взята с https://support.google.com/allo/answer/7103463?hl=ru
Ссылка на google play https://play.google.com/store/apps/details?id=com.google.android.apps.googleassistant&hl=ru

Надеюсь у вас тоже заработал ок гугл.
Успехов и хорошего дня!

пятница, 3 августа 2018 г.

php excel базовый файл экспорта

Здравствуйте!

Уже очень давно занимаясь веб программированием и встречая задачу экспортировать нечто в XLSX - обращаюсь к библиотеке PHP Excel. Прожорливая на ресурсы но зато простая и эффективная. Разобраться с ней сходу порой не так просто поэтому решил выложить "базовый костяк" файла осуществляющего экспорт данных в формат XLSX. Так же в корне должны присутствовать PHPExcel.php и одноимённая директория PHPExcel содержащая все компоненты данной библиотеки.

<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');

require_once dirname(__FILE__) . '/PHPExcel.php';

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Автор")
->setLastModifiedBy("Автор Последних Изменений")
->setTitle("Заголовок")
->setSubject("Заголовок")
->setDescription("Заголовок")
->setKeywords("Ключевые Слова")
->setCategory("Категория Файла");

$objPHPExcel->getActiveSheet()->setCellValue("A1", "Файл экспорта сформирован автоматически");

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Redirect output to a client as web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="имя_файла.xlsx"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0

//$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
?>
инструкция, полезное, программирование, php, php excel,

Заносим информацию в столбцы
$objPHPExcel->getActiveSheet()->setCellValue("A1", "Файл экспорта сформирован автоматически");

Меняем имя файла и прочее в файле - и данные уже успешно экспортированы в xlsx!

Кстати говоря если вам понадобится файл в устаревшем формате xls - достаточно раскомментировать строку
//$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
И закомментировать
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

Так же оставляю ссылочку на скачивание библиотеки PHPExcel 2015

Надеюсь информация была полезной и экспорт пройдёт без проблем.
Успехов и хорошего дня!