Cписок timezones UTC

Находил много разных вариантов выпадающего списка timezone. Многие из них устаревшие или не полные. Практически все используют GMT, хотелось бы привызываться к UTC. Многие современные ресурсы показывают timezone в UTC (см. wikipedia). А GMT уже давно считается устаревшим вариантом. Поэтому написал свой вариант html выпадающего timezone списка в виде select (на php), временные зоны сгруппированы по регионам. Список временных зон останется актуальным со временем, т.к. использует системную информацию, полученную из стандартного класса DateTimeZone, который появился в php 5.2. C обновлением версии php мы можем получить и новые временные зоны.

Такой вариант вывода списка timezone подойдёт для выбора timezone в личном кабинете пользователя.

Вывод списка UTC timezones на php в виде html select списка

Обжим витой пары RJ-45

ReactOS - альтернатива Windows?

https://www.reactos.org/ru/download-reactos

ReactOS - это современная, свободная и открытая операционная система, основанная на лучших принципах архитектуры Windows (Windows 7, XP и т.д.), имеющая аналогичный Windows графический интерфейс. Так сказано на официальном сайте ReactOS. Попробуем проверить, так ли это.

Скрипт автоматического открытия вкладок guake при загрузке системы

Все опции можно увидеть в хелпе guake:

i5:~ eugene$ guake -h
Usage: guake [options]

Options:
  -h, --help            show this help message and exit
  -f, --fullscreen      Put Guake in fullscreen mode
  -t, --toggle-visibility
                        Переключение видимости окна
                        терминала
  -p, --preferences     Показать окно настроек Guake
  -a, --about           Показать информацию о Guake
  -n NEW_TAB, --new-tab=NEW_TAB
                        Новая вкладка
  -s SELECT_TAB, --select-tab=SELECT_TAB
                        Выбрать вкладку
  -g, --selected-tab    Вернуть индекс выбранной
                        вкладки
  -e COMMAND, --execute-command=COMMAND
                        Выполнить произвольную
                        команду в выбранной вкладке
  -r RENAME_TAB, --rename-tab=RENAME_TAB
                        Переименовать выбранную
                        вкладку
  -q, --quit            Скажите Guake'у уйти =(
 
Пример открытия, переименования вкладки, выполнения команды подключения по ssh на вкладке:
guake --new-tab='tab1' --rename-tab='jeka.by' --execute-command='ssh jekaby@vh40.hoster.by'

Открытие, переименование вкладки, подключение к mysql:

guake --new-tab='tab1' --rename-tab='mysql local' --execute-command='mysql -u root'

 

Горячие клавиши терминала Guake

  • F12 — открытие/закрытие Guake;
  • F11 — переключение в полноэкранный режим и обратно;
  • Shift+Ctrl+Q — выход из Quake, без запроса подтверждения, больше в этом сеансе он вызываться не будет;
  • Shift+Ctrl+T — открытие новой вкладки;
  • Shift+Ctrl+W — закрытие текущей вкладки, без запроса на подтверждения;
  • Ctrl+PgUp — переключение на предыдущую вкладку;
  • Ctrl+PgDn — переключение на следующую вкладку;
  • F2 — переименование текущей вкладки;
  • Shift+Ctrl+C — копирование в буфер;
  • Shift+Ctrl+V — вставка из буфера.

Создание скриншотов сайтов, исходный код

Вашему внимания предлагаются 4 linux библиотеки создания скриншотов (Webscreenie, PhantomJs, PythonWebkit2Png и WkHtml), которые могут сделать запрос к сайту, получить ответ, отрендерить ответ, создать снимок сайта (скриншотснапшот, в англоязычной литературе - screenshot). Либы позволяют использовать возможности WebKit в консоли.

Библиотеки создания скриншотов полностью работоспособны под Debian7, также я не заметил никаких проблем в установке и работе под Ubuntu.

1. Webscreenie

Установка Webscreenie:

The project url is: https://webscreenie.googlecode.com/svn/trunk

2. PhantomJs 

Установка PhantomJs (use precompiled binary):

cd /opt
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2
mv phantomjs-1.9.7-linux-x86_64 phantomjs
rm phantomjs-1.9.7-linux-x86_64.tar.bz2
// На основе examples/rasterize.js делаем свой snapshot-phantom.js

3. Python-webkit2png

Установка python-webkit2png:

apt-get install python-qt4 libqt4-webkit xvfb python-setuptools
cd /opt
git clone https://github.com/adamn/python-webkit2png.git python-webkit2png
cd python-webkit2png
python setup.py install

4. WkHtml

Установка WKHtml:

cd /opt
wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1-dev/wkhtmltox-0.12.1-c22928d_linux-wheezy-amd64.tar.xz
tar -xpJf wkhtmltox-0.12.1-c22928d_linux-wheezy-amd64.tar.xz
rm wkhtmltox-0.12.1-c22928d_linux-wheezy-amd64.tar.xz
 

Linux запуск приложений в фоне — screen

  1. Вам нужно выполнить sql-запрос, результат которого нужно ждать несколько часов или дней? 
  2. Вам нужно запустить приложение в фоне?
  3. Вам нужно выполнять программу в фоне и иметь возможность к ней вернуться?
  4. Вы используете линукс-консоль и работаете с ssh?

Тогда вам в обязательном порядке нужно знать о screen.

Основы screen

Screen в linux — это как "окна в Windows", которые можно свернуть/развернуть. Вы можете что то делать в одном окне, например смотреть фотографии. Но, если вам нужно кроме просмотра фотографий слушать музыку, то вы откроете новое окно (проводник), зайдёте в каталог с музыкой и отроете песню в аудио-программе.

Когда речь идёт о консоли линукс (особенно при работе по ssh), то нам будет крайне не удобно в одной консоли выполнять различные приложения. А, может, и совсем не удастся выполнять вторую операцию в то время, когда первая ещё продолжает свою работу. Это первый момент. Второй момент заключается в том, что в случае какого-либо сбоя с вашей стороны (со стороны клиента) - текущая операция прервётся. Пара примеров, когда при работе с ssh может понадобиться screen:

  • если вы копируете или перемещаете большой объём файлов с одного каталога в другой
  • если вы выполняете тяжёлый sql-запрос
  • если нужно запустить приложение, которое "захватывает" консоль

Наверное, вам было бы очень грустно, когда из-за случайно-закрытого терминала или скачка напряжения прервался бы sql-запрос, который уже выполнялся более 10 часов. В случае же с screen, screen работает на сервере, инициатором запроса будет объект screen и запрос уже не оборвётся не при каких проблемах клиента. При обрыве связи процессы не останавливаются, а продолжают работать, и к ним можно вернуться в любой момент.

Включить и выключить swap в linux

Swap – раздел подкачки в linux. Свап используется операционной системой при недостаточом количестве оперативной памяти. Т.е. вместо записи данных в оперативную память, если она практически вся заполнена, данные помещаются на жёсткий диск (свап-раздел). При этом производительность сервера как правило падает (по крайней мере если жёсткий диск не SSD) по причине того, что работа с оперативной памятью происходит гораздо быстрее записи/считывания с жёсткого диска, на котором и располагается файл подкачки (Swap).

Для выключения swap в linux (Ubuntu) без перезагрузки системы воспользоваться командой:

sudo swapoff -a

Затем включить swap:

sudo swapon -a

MySQL - изменение полей, структуры таблицы

Mysql alter add/drop index (добавление и удаление индексов):

ALTER TABLE sites 
  DROP INDEX keyname;

// эквивалентно DROP INDEX
ALTER TABLE sites 
  DROP KEY keyname;

ALTER TABLE categories
  DROP PRIMARY KEY,
  ADD  PRIMARY KEY (`site_id`,`category_id`);

 

Определяем язык текста с помощью cld2+python+php

cld2 (Compact Language Detection) — библиотека от компании google, написанная на С. Как заявляет google, со второй версии она стала быстрее и детектит большее количество языков. Библиотека может задетектить более 80 языков. Определяет до 3-х языков, использованных в тексте. Например, 800 байт - английский, 200 байт - французский и т.д.

Библиотека cld2 используется в популярном браузере Chrome (Chromium) для определения языка, с которого нужно перевести сайт.

Для определения языка по входной строке нам понадобится: cld2, python, php для удобства.

НОВЫЕ ПОЛЬЗОВАТЕЛИ