http://www.w3schools.com/ – очень хороший сайт по WEB-программированию. Охватывает огромное количество языков и технологий – HTML, CSS, JS, SQL, PHP, JSON, AJAX, etc
Author: weril
Ruby: вызов внешних команд
Дока
Правило: в общем случае лучше не использовать вызов внешних команд, а попробовать положиться на standart libraries/gem/modules native ruby.
Недостаток в подходе вызова внешних команд очевиден – мы полагаемся на внешние пути, переменные в ОС и скрипты, будь то системные или написанные на других языках, а ошибки из-за этих проблем зачастую сложно обнаружить.<br><br> Читать дальше
Ruby: работа с ФС (файлами и папками)
ФАЙЛЫ
Прежде всего нужно обозначить, что закрытие файла крайне необходимый процесс:
1) открытый файл может быть заблокирован файловой системой для других скриптов
2) при открытии создается file descriptor, их количество ограничено файловой системой, хотя и обычно значение ограничения довольно большое
3) могут произойти race conditions, когда несколько процессов пытаются прочитать/записать один и тот же ресурс (в данном случае файл) в один момент времени
Чтение и вывод
# вывод контента (первой строки)
File.open("test.txt")<br><br> Читать дальше Oracle DB: разное
Установка сервера на Windows
Oracle Database 11g Express Edition – с сервером идет сразу WEB интерфейс встроенный для управления БД. Качнуть можно бесплатно с сайта Oracle.
Файлы/папки
C:\oraclexe\app\oracle\product\11.2.0\server – основная папка сервера
C:\oraclexe\app\oracle\product\11.2.0\server\bin – тут утилиты oracle, например:
- sqlplus.exe – Sql plus CLI, по умолчанию через ярлык запускается с опцией /nolog (sqlplus.exe
Ruby: работа с датой и временем
TIME
Получить hours:minutes (h:m) из Time.now можно по разному
1) лучший и самый универсальный способ через strftime
h_m = Time.now.strftime("%H:%M") # можно выцепить все что угодно, не только h:m, формат %d/%m/%Y %H:%M
2) хуже
h_m = "#{Time.now.hour}:#{Time.now.min}"
3) плохой
time_and_date = "#{Time.now}".split("<br><br> Читать дальше Ruby: работаем с базой mysql
Как показала недолгая практика использования gem mysql, лучше его не использовать вообще, а сразу использовать gem mysql2.
gem mysql не развивается (последний апдейт в 2013) и имеет косяки, например, с кодировкой (кириллица кладется в cp1251 и изменить, насколько я понял, никак).<br><br> Читать дальше
Ruby: удаляем спец. символы перед insert в базу
Метод на ruby по удалению мусора в виде разных скобок, exclamation и других символов, которые гарантированно приведут к ошибке при insert в базу. При необходимости можно добавить символы в переменную pattern.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ....<br><br> Читать дальше
Cisco reverse telnet через async порты (aux/db68)
Очень удобная тема, хотя и старая как жигули. Соединяешь новую железку (напр. BRAS) с аплинковой через AUX+консоль или DB68+CAB-OCTAL-ASYNC. Чуть настраиваешь line’ы (пример ниже для DB68 или выше в ссылках). Далее можно с любого места, с которого доступна аплинковая Cisco (причем по любому из ее IP адресов, не только Lo0) зайти на ненастроенный или, божи-божи, упавший по data портам девайс поконсоль через telnet.<br><br> Читать дальше
Демонизация приложений, делаем демон приложения systemd в CentOS (Debian), работа с сервисами (sysvinit, systemctl)
- systemctl (system control) без запущенных аргументов выдает список systemd объектов/UNIT (mount, target, service, socket, timers, etc) запущенных в системе. с флагом —type <UNIT> можно отфильтровать конкретные объекты.
# systemctl UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-pci0000:00-0000:00:07.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device<br><br> Читать дальше
Поднимаем TFTP сервер на CentOS 7
Пошаговый гайд
0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должна помочь строка setsebool -P tftp_anon_write 1
sudo vi /etc/selinux/config SELINUX=disabled
1) Загружаем сервер, клиент и xinetd (без него никак, через него работает tftpd)
sudo yum install tftp tftp-server xinetd
2) Редактируем файл с конфигурацией /etc/xinetd.d/tftp.<br><br> Читать дальше
