ChartJS пропуск излишних значений в Labels

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

Например было:

snimok-ekrana-iz-2016-09-30-14-59-15Как убираем лишние? Все достаточно просто. Нужно поменять в массиве labels: 1,2,3,4,5, значащие величиные на », на пусто. Например сделав для этого функцию:

function Diffuse($label,$cnt){
    $mass=  explode(",", $label);
    //var_dump($mass);
    $pz=round(count($mass)/$cnt); //каждый какой оставляем?
    $zz=$pz;
    foreach ($mass as &$value) {
	if ($zz==$pz){
	  $zz=0;	  
	} else {
	    $value="\"\"";
	};
	$zz++;
    };
    $ext="";
    foreach ($mass as &$value) {
	$ext=$ext.$value.',';
    };
    $ext=substr($ext,0,strlen($ext)-1);
    return $ext;
};

, где $label — это метки, а $cnt — это количество оставляемых в массиве меток.

Результат:

var ctx = document.getElementById("myChart").getContext("2d");
var startWithDataset =1;
var startWithData =1;
options = {
      animationStartWithDataset : startWithDataset,
      animationStartWithData : startWithData,
      animationSteps : 60,
      canvasBorders : false,
      canvasBordersWidth : 3,
      canvasBordersColor : "black",
      graphTitle : "График соотношения новых абонентов и отключенных ТВ",
      legend : true,
      inGraphDataShow : true,
      annotateDisplay : true,
      graphTitleFontSize: 18,      
      animationLeftToRight : true,
      animationByDataset : true,
      responsive : true,
      
      maintainAspectRatio : true
};
var data={
    labels: [<?php echo Diffuse($labels,28);?>],
    datasets: [	
        {
	    axis : 1,
            title: 'Новые',fillColor: "rgba(65,244,23,0.3)",strokeColor: "rgba(220,220,220,1)",pointColor: "rgba(65,126,164,1)",pointStrokeColor: "#fff",pointHighlightFill: "#fff",pointHighlightStroke: "rgba(220,220,220,1)",
            data: [<?php echo "$ntv_dat";?>]
         },	
        {
	    axis : 1,
            title: 'Отключенные',fillColor: "rgba(244,23,44,0.3)",strokeColor: "rgba(244,23,44,1)",pointColor: "rgba(65,126,164,1)",pointStrokeColor: "#fff",pointHighlightFill: "#fff",pointHighlightStroke: "rgba(220,220,220,1)",
            data: [<?php echo "$btv_dat";?>]
         },		 	 
        {
	    axis: 2,
            title: 'По балансу',fillColor: "rgba(25,144,123,0)",strokeColor: "rgba(220,220,220,1)",pointColor: "rgba(65,126,164,1)",pointStrokeColor: "#fff",pointHighlightFill: "#fff",pointHighlightStroke: "rgba(220,220,220,1)",
            data: [<?php echo "$btv_dat_1";?>]
         }         
    ]
    };

snimok-ekrana-iz-2016-09-30-15-25-30

Подключения сканера штрихкодов к ТИС

Задача: старая-старая ТИС, не обновляемая лет 10 уже. Прикрутить сканер штрихкодов. ОС Windows 10

Решение: используем последнюю «бесплатную» версию драйверов АТОЛ для подключения.

  1. Скачаем эти драйвера. Установим по учетной записью администратора. Если ругнется на то что «не подходят драйвера» — не обращаем внимание
  2. Заходим в папку куда установилась утилита, копируем всё содержимое папки bin в windows/system32
  3. Можно запустить утилиту scaner_t.exe и потестировать, что-то посканировав.  Если сканирует — ок, идем в 1С
  4. В 1С запускаем меню «подключение внешнего оборудования», создаем новый тип устройства, dll обработки указываем scaner1C.dll из папки АТОЛ.
  5. В меню Сервис-Настройки должна появится настройка сканера.

Инструменты для мониторинга в Linux

Создано на основе публикации: https://habrahabr.ru/company/first/blog/310164/

dstat — показывает текущую нагрузку на сеть и жесткий диск

strace — показывает все системные вызовы выполняемые программой. Например:

strace php script.php

opensnoop, execsnoop, eBFP — показывает в реальном времени файлы открываемые программой. Например:

opensnoop -p 2016

— покажет открытые файлы процессом с PID 2016

netcat — позволяет из консоли выполнять сетевые запросы.

netstat — просмотр «занятых » сетевых портов

ngrep — просмотр сетевого трафика. Например:

ngrep -d any yandex

tcpdump — то-же просмотр сетевого трафика с более широкими возможностями.

wireshark — просмотр трафика с gui

perf — просмотр, чем занимается процессор. Например:

perf record php  -записываем что делает php
затем смотрим:
prefreport

 

MySQL операции с датами

Первое число текущего месяца:

DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY) AS 'month_create'

Первое число следующего месяца:

date_add(DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY),interval 1 month) AS 'month_pay'

Последний день месяца следующего месяца:

date_add(date_add(DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY),interval 2 month),interval -1 day) AS 'month_free'

Еще один будущий создатель Антивируса Савина и СавинОС..

Знакомьтесь! Это Савин Михаил.

meЮное дарование, которое просто взяло исходники «Учет ТМЦ в организации», и наплевав на то что ПО распространяется по лицензии GPL v3 (хотя думаю что по малости лет он просто не знает что это такое), затер копирайты создателей кода во всех файлах, и вставил свои.

Screenshot_3

Вот так, ни вставив ни строчки своего кода легко можно превратиться из сисадмина в матерого разработчика..

Да что стесняться в выражениях — назовем это своим именем — это просто ВОРОВСТВО.

Особенно понравилось из его бложика и страницы во вконтактике:

  • «Начальство думает, что платит деньги… пусть думает, что я работаю…«
  • «Мне плевать на всех. Я сисадминю как хочу!«

Работодатель (Argosy Technologies) интересно читают что там у их сисдамина на уме? 😉

Отправил ему письмо, с просьбой почитать что такое GPLv3, жду реакции..