Архив рубрики: Документация

Узнать какой процесс «слушает» порт

netstat -tpln | grep ПОРТ

ПОРТ — номер порта.

например:

 

root@scm:~# netstat -tpln | grep 1132
tcp        0      0 0.0.0.0:1132              0.0.0.0:*               LISTEN      1057/sshd
tcp6       0      0 :::1132                   :::*                    LISTEN      1057/sshd

Видно, что соединение на порт 1132 будет обслужено программой sshd.

FreeBSD: избавиться от запросов настройки портов

Очень часто при установке порта во Фришке приходится сидеть и конфигурировать очередной порт, от которого зависит устанавливаемый.

Команда

make config-recursive

Позволит один раз настроить все нужные порты и потом командой

make install clean

просто установится нужный софт.

Совет всем родителям

По следам новости:
В Красноярске 12-летняя девочка пропала по дороге из школы

Всем родителям:
1. Покупайте детям телефон с геопозиционированием (лучше имеющие два стандарта: GSM и ГЛОНАСС, второе работает лучше, но меньше распространено).
Например Samsung SM-G318H Galaxy Ace 4 Neo DS 4 Гб стоит чуть меньше 4000 руб в ДНС.

2. Не жалейте денег на интернет на телефоне, выбирайте тарифный план или доп.услугу, которые позволят аппарату быть онлайн.
Теле2 — пакет «Черный» или «Очень черный».  На планшете у меня «Оранжевый» и доп.услуга «Интернет на мобильное устройство». Думаю и у других операторов можно выбрать.

3. Поставьте программу типа «Семейный локатор» или что-то подобное.

Например вот
https://play.google.com/store/apps/details?id=com.life360.android.safetymapd


Вы всегда будете на экране своего устройства видеть где ваш ребенок. При пропадании устройства из сети, при его выключении, вы увидите где аппарат был выключен.

Это простые шаги.

Команда apt-get требует вставить диск.

Корни проблемы в том, что при установке ОС не возможно отказаться от сканирования установочного диска и записи ссылки на локальный CD-ROM  в списке репозитарий.

И при выполнении команды

$sudo apt-get install -y mc samba

Получаем такое сообщение:

Смена носителя: вставьте диск с меткой
«Debian GNU/Linux 8.3.0 _Jessie_ — Official amd64 DVD Binary-1 20160123-19:03»
в устройство «/media/cdrom/» и нажмите ввод

Для того, что бы отучить систему искать пакеты в репозитарии на диске, открываем на редактирование файл  /etc/apt/sources.list

$ sudo nano /etc/apt/sources.list

Видим содержимое файла:

#

# deb cdrom:[Debian GNU/Linux 8.3.0 _Jessie_ — Official amd64 DVD Binary-1 2016$

deb cdrom:[Debian GNU/Linux 8.3.0 _Jessie_ — Official amd64 DVD Binary-1 201601$

deb http://mirror.mephi.ru/debian/ jessie main
deb-src http://mirror.mephi.ru/debian/ jessie main

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib

# jessie-updates, previously known as ‘volatile’
deb http://mirror.mephi.ru/debian/ jessie-updates main contrib
deb-src http://mirror.mephi.ru/debian/ jessie-updates main contrib

Удаляем строку, указывающую на локальный CD-ROM, оставляем только  указатели на сетевые репозитарии.

PHP Хранение временных данных в методах

Проблема: реализация алгоритмов обработки данных требует генерации и дальнейшего использования неких промежуточных данных. Хранение которых требует выделение места в оперативной памяти.  Что, при неаккуратном использовании, может создавать «мусор», засорять память и, в итоге, замедлять работу приложения.

Предлагаемый способ:

В моих приложениях всегда существует некий базовый класс, на основании которого я  создаю остальные классы. В этот базовый у меня скидываются те методы, которые оказываются нужны всем объектам. Даже если в некоторых классах я потом переопределяю метод.

И так в этом базовом классе создаем новое свойство

private $ini = array();

 

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

В деструкторе, конечно, есть строчка

function __destruct() {
unset($this->ini);
}

Теперь как использовать.

class НОВЫЙ_КЛАCС extends БАЗОВЫЙ_КЛАСС

function __destruct() {
    parent::_destruct();
}

Ну и метод, в котором используем:

function methodTwoTwo() {
$this->ini[__FUNCTION__] = 2*2;
return ( $this->ini[__FUNCTION__] );
}

 

function methodTwoSix() {
$this->ini[__FUNCTION__] = 2*6;
return$this->ini[__FUNCTION__);
}

Если бы мы использовали $this->ini в обоих случаях, то в случае вызова метода в методе мы бы получили путаницу, поскольку свойство $this->ini в зоне видимости всех методов класса. Добавляя ключ массива __FUNCTION__ мы используем массив $this->ini раздельно в разных методах, не допуская путаницы данных.

Освобождается память при уничтожении экземпляра объекта автоматическим вызовом __destruct().