что то ищешь тут паря?

пятница, 29 ноября 2013 г.

ПЛан занятости.
1.Работа: на работе делаю сервак
        занимаюсь сайтом макса
        когда доделаю сервак займусь сервисом кизима
        когда доделаю сервис кизима начну работать на одеск
        нужен ли мне покер на работе?нужно подумать.
        биржа - нет.я думаю нет.
2.Йога.днем.пару раз в неделю
3.Вечером обязательно бокс.
4.Вечером встречи с телками и друзьями.
5.Навести порядок в квартире.
6.Переселится жить в свою квартиру.
7.Поменять колеса все таки на машине.
8.Закрывать ЧП.
9.Сьездить отдохнуть куда то.
10.ДОделать ремонт.
12.Завести себе девушку и переселится с ней жить.
13.Дыхательные упражнения.

Что я сегодня сделал что реализовать свои цели.

Позвонил в Юрфирму.договорился закрывать ЧП.
Записался на прием к невропатологу.
пока все.

четверг, 28 ноября 2013 г.

кстати.еще одна цель.

взять направление у невропатолога.
нужно каждый день грузить себя аффирмациями.с представлением.это очень круто.и у меня уже сработало не раз.нужно делать это каждый день.
что я сегодня сделал для того чтоб быть ближе к своим целям.
ничего.

вторник, 26 ноября 2013 г.

цели на будущее

понеслась
1.закрыть чп
2.поменять замнюю резину
3.поменять масло.
4.доделать максу сайт.
5.заплатить за хату
6.заняться йогой
7.найти нормальные успокоительные
8.переставить на ссд сервак
9.похудеть еще больше
10.все таки переселиться с кем то жить.
11.афирмации повторять по полной.постоянно.
12.заниматься ремонтом
13.пойти на какие нить курсы.

понедельник, 18 ноября 2013 г.

Привет всем.опять я тут.

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

ПО БОЛЕЗНИ:хз.ездил лечился к йогу серьезному.вроде ситуация улучшилась.

НО И ЭТО НЕ ГЛАВНОЕ,сказать никто не поверит.я выходил из своего тела.переживал свое рождение.пиздец просто.жесть.вообщем в двух словах не рассказать.

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

блять.лень писать дальше.ладна.буду потихонечку втягиваться чтоб писать сюда.спокойной ночи господа.пиздец конечно долго сюда не писал но нужно же как то начинать.

среда, 15 мая 2013 г.

Ну что.ишу вот чем занимаюсь.

По питанию.Ем много но стал лучше питаться.На работе днем ем яблочки.
Вечером супчик.
По спорту.Маслаю каждый день.Отжимаюсь и подтягиваюсь.Завтра перевезу штангу на новое место жительства.
По развитию.Читаю книги по ява.Обучился SEO.Пхп забросил хотя хотел сдавать сертификат.Нужно продолжать.Пишем с другом биржевого бота.Еще читаю книги по покеру.
Ну а чо.
Теперь дальше.По делам.Паспорт так и не сделал.Нужно ехать на богомольца.ЧП так и не закрыл.Год уже блять прошел с того времени как я хотел закрыть его.БЛЯТЬ.нада этим срочно заняться.
Теперь про лечение.Попрошу отсрочки.На пару мес.
Теперь про выезд.Нада записываться на курсы.
Ну а так вроде все окей.Спасибо за внимание.

пятница, 3 мая 2013 г.

Давно не писал.Вот пишу

По здоровью.Скоро начну лечение.
По спорту.Начал опять заниматься отжимаюсь на подставках и потягиваю потихонечку штангу.
Обливаюсь каждый день.
Продвигаюсь в обучении.
Повышаю свои частоты.Получается кстати.
По жизненным планам все идет как нужно.Доволен.
По паспорту буду делать.
По ЧП займусь после праздников.
Развиваюсь.Не пью не курю.Вообщем доволен.ТОлько вот много ем.это побороть не могу никак.Но поборю УВЕРЕН. и очень скоро.такие дела)

Тюнинг PostgreSQL для работы с HM2(holdem manager2)

Решил я сделать тюнинг базы данных postgresql для работы с hm2
Это произошло после того как я перенес БД HM2 на дропбокс(dropbox) о чем написал в
этой статье http://daipohui.blogspot.com/2013/05/postgresql-holdem-manager-2-pgsql-hmhm2.html
Как будем тюнить?да просто.
в папочке data (у меня например D:/Dropbox/pgsql/data) лежит файлик
postgresql.conf
вот через него мы и будем тюнить.
для начала нам нужно остановить службу postgresql
Останавливаем.
Открываем файл.
Первое: у меня shared_buffers = 32MB прочитав я понял что нужно повысить ( по виндой не рекомендуют больше 512.рекомендуют от 64 до 512.НО НЕ 32 ЯВНО).я увеличу до 128 думаю будет ОК)
Второе:
effective_cache_size = 128MB это мало.рекомендуют половину ОЗУ но я ебал такое.у меня всего : 6 гб.Так что поставлю 256 и хватит)хотя можно было бы и поболе.
 Вот и все в принципи что вам нужно переставить.Эти параметры можно поставить поболе.НО я уменя одновременно и холдем и постгре и еще опера и дропбокс.всего озу не хватит.так что я поднял пока так а там посмотрим.


Перенос PostgreSQL с Базой Данных Holdem Manager 2 (pgsql hm,hm2 database) на dropbox или google drive

Решил я сделать Перенос PostgreSQL с Базой Данных Holdem Manager 2 (pgsql hm,hm2 database) на dropbox или google drive
В один прекрасный день захотел я перенести БД моего холдем менеджера на дропбокс (сначала думал на гугл драйв,на самом деле пофиг).
Зачем? Потому что я играю как дома так и на работе и хотелось бы иметь одну базу данных и там и там.Ну и кстати походу подумал что все это можно было бы потюнить подороге.Чтоб быстрее работало.
У меня холдем (holdem manager) ломанный,а покупать новый изза холдем клауда (HM cloud) мне не хочется.
Ну что ) Поехали)
Вся БД лежит по адресу:C:\postgreSQL
Для начала заходим Мой Компьютер - Управление(правой кнопкой) - Службы и там находим службу postgresql-8.4



Жмем остановить.
Потом создаем папку на дропбоксе (у меня например D:\Dropbox\pgsql)
Потом по этой папке кликаем правой клавишей заходим в Свойства - Безопасность и там Изменить - Добавить -  Дополнительно - Поиск -  и в поиске видим пользователя postgres в колонке ИМЯ вот нам его и необходимо добавить.Добавляем.


Затем во вкладочке безопасность нажимаем на него и даем ему полный доступ( он получил полный доступ на нашу папочку в дропбоксе ,потом кстати также нужно будет дать доступ такому же пользователю на эту синхронизировавшуюся папочку на другом компьютере,например мне на рабочем.
После установки полного доступа мы идем в  C:\postgreSQL и копируем папочку data прям в нашу папочку   D:\Dropbox\pgsql (именно папочку а не ее содержимое,ну чтоб получилось  D:\Dropbox\pgsql\data)
а эту папочку data переименовываем в data.bak (так на всякий случай мало ли,может нужно будет или не заработает да и на такой случай что вдруг мы подумаем что перенесли а БД  сервер будет читать все равно с этой папки,а так мы переименовали и вроде сервер о ней не знает и бекап есть на всякий.Потом переименовал обратно если что и будет работать например)
Затем идем в Мой Компьютер - Управление - Службы и там мы кликаем на службу постгре
postgresql-8.4
увидим примерно такую картину


красный я обвел то что нам нужно.У меня уже эта запись переделана (видите -D "d:/Dropbox/pgsql/data") а у вас еще стоит -D "C:/postgreSQL/data" вот вам нада переделать так как у меня
Для этого нам нужно будет переделать реестр
Нажимаем Пуск - Выполнить - и пишем REGEDIT (ну или WIN+R и там REGEDIT)
Появляется окошко редактора реестра.Ввеху меню есть Правка - Найти (или же жмете Ctrl+F) и даете поиск pg_ctl

Нам нужно найти ключ такой чтоб внизу было написано то что я обвел красным (главное currentcontrolset) а потом кликаем на imagepath и там переделываем на -D "d:/Dropbox/pgsql/data" ну или там такой путь какой вам нужен.Затем сохраняем и через Мой Компьютер - Управление - Службы запускаем эту службу.
Такие же примерно телодвижения нужно будет произвести на рабочем компьютере(может там другой путь будет...ну вы поняли вообщем)
Все должно пройти удачно.У меня все запустилось и заработало.Моя БД теперь на Дропбоксе!))))
Я перенес базу данных холдем менеджера на дропбокс за 10 минут

ЕЕЕЕЕЕЕ

В следующей статье напишу протюнинг БД для холдема.




пятница, 12 апреля 2013 г.

Начал настраивать quagga

что нужно.инсталим из портов
прописываем в рц.конф
потом копируем файлы из /usr/local/share/examples/quagga/* в /usr/local/etc/quagga
делаем лог файл
touch /var/log/zebra
chown quagga:quagga /var/log/zebra
http://www.hilik.org.ua/настраиваем-ospf-в-quagga/
настроку начальную взял из этой статьи

учу git пишу для себя подсказки.пока по памяти

git add . -добавляет все файлы в дире изменения но не коммитит
git commit -m "блаблабла" коммитит изменения внесенные адд с комментом
git checkout переходить на какоую то ветку или просто на какой то коммит
git reset сбрасывает изменения сделанные аддом
git reset --hard резетит по жесткому коммиты
git tag добавляет таги
git branch делает новую ветку
git merge сливает ветки
git status показывает статус
git clone клонирует ветку
git history показывает историю аддов и коммитов
ну и если че нормальный сайт с которого я все это смотрел это
githowto.com/

понедельник, 11 марта 2013 г.

ТАК БЛЯТЬ

нужно возобновлять вести блог.срочно.каждый день
общие цели:не достигнуто ни одной.ни загранпаспорта ни оформления ЧП.пиздец.
хоть завтра бери да делай.
по питанию.питаюсь ПЛОХО
с утра ел гренки и мясо.много.фу.теперь плохо и тошнит.
нужно садится на диету.и меньше есть.НЕ ЕСТЬ НА НОЧ.
ЭТО ЖИЗНЕНО ВАЖНО!!!!
обливания:ну тут все впорядке слава богу.
покер:тут тоже все вроде ок.идет потихонечку.
обучение и развитие:тут все ок.хожу на 2 курсах.еще на 3и пойду.
еще делаю проект и даже смотрю второй и третий еще есть.
по тренировкам.ЗАБРОСИЛ,НУЖНО ВОЗОБНОВЛЯТЬ.мое состояние щас вялое и нефизкультурное
а как было хорошо когда я ходил подкачанный и похудевший.и это было совсем недавно.еще 3 или 4 недели назад.можно все возобновить прям сегодня и тогда через месяц будет все в ажуре.
СЕРТИФИКАТ:пока говорить рано.но иду туда.
заграница.ну пока ничего.
2 осн цели.к одной пока иду по поводу второй ничео не делаю.
ТАК:ПЕРВО НАПЕРВО:БРОСИТЬ ЖРАТЬ.СДЕЛАТЬ ПАСПОРТ И ПОХОБОТИТСЯ ПО ПОВОДУ ЧП.и учится учиться учиться!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

суббота, 2 марта 2013 г.

ООП идем дальше:

в пхп в ооп есть конструкция final
она запрещает наследование: если ее поставить перед классом то этот класс нельзя будет наследовать.если перед методом то его нельзя будет переопределить

Начал проходить ООП.

class String {

public $str = 'Hello';

function getString()
{
return $this->str;
}

function setString($str)
{
$this->str = $str;
}

}

это обычный класс.


interface AnimalInterface {

public function walk();

}

интерфейс указывает структуру последователя(или же фраза:указывает родительской структуру)
тость в последователе нужно определить вышепреведенные методы.если же не определишь то выведет тебе фатал ерор

по поводу использования то пишут что используется очень редко.на практике хз где применить.хотя может все не так грусно.

чтоб наследовать его нужно написать:
implements

class Animal implements AnimalInterface{

// public, private, protected

public $color = '';
protected $head = 1;

public function __construct($color = 'brown')
{
$this->color = $color;
// echo 'Object is created!';
}

public function walk()
{
echo 'walk ' . $this->head;
}

public function __isset($name)
{
echo $name;
return FALSE;
}

public function __toString()
{
return 'Object';
}

public function __destruct()
{
// echo 'Object is destroyed!';
}

public function __get($name)
{
echo $name . 'rrrrrr';
}

public function __call($name, $args)
{
var_dump($args);
echo $name;
}

}

ТЕПЕРЬ. МЫ ВЫШЕ УКАЗАЛИ МЕТОДЫ _destruct(_construct) _get _set  _isset
мы по ним пройдемся чуть позже.а счас абстрактный класс:

абстрактный класс это смесь обычного класса и  инетрфейса там может быть и реализация метода и указание структуры

например:
abstract class Cat {

abstract function myau();

function run(){
echo 'run';
}

}

Теперь:статические методы и переменные вк которым можно обращаться без создания обьекта

тоесть можно присвоить какой то переменной результат выполнения статической функции без создания обьекта new

$car = Car::getInstance();

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


вот что пишут про это на пхп.нет

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

class Foo
{
public static $my_static = 'foo';

public function staticValue() {
return self::$my_static;
}
}

class Bar extends Foo
{
public function fooStatic() {
return parent::$my_static;
}


}



Кстати:
Так как статические методы вызываются без создания экземпляра класса, то псевдо-переменная $this не доступна внутри метода, объявленного статическим.

Доступ к статическим свойствам класса не может быть получен через оператор ->.



с учителем мы разбирали такой пример:

class Car {

public $color = 'yellow';

static $instance = null;

static function getInstance(){

if (empty(self::$instance))
{
echo 'We\'re here';
self::$instance = new self;
}

return self::$instance;

}

private function __construct(){}
private function __clone(){}

}

 $car = Car::getInstance();  // грубо говоря мы этим только что сделали новый обьект
$car1 = clone $car; //а сдесь мы вроде захотели клонировать обьект НО НЕ СМОГЛИ .мы закрыли такую функцию  private function __clone(){}



вот у нас и красный цвет уже есть у машины

$car = Car::getInstance();
$car->color = 'red';

Теперь интересное свойство записи static

function test()
{
static $a = 0;
echo $a;
$a++;
}

если б возле a у нас не было статик то у нас бы выводился 0 а инкремент быне проводился потому как а была бы локальная переменная.
а так она теперь у нас статик и инкремент будет производиться

class Person {

public $hair = 'black';

}

$obj1 = new Person;
$obj1->hair = 'brown';

$obj2 = clone $obj1;
echo $obj2->hair;

кстати.что взять для парсера целую хтмл страницу нужно
echo file_get_contents('http://www.ssa.gov/oact/babynames/decades/names2000s.html');

если же не сработает тогда нужно библиотекой курл дслать.на этом на сегодня все.




Результаты уроков по пхп.сначала от одного учителя


serializeГенерирует пригодное для хранения представление переменной


например нам нужно положить массив в ячейку БД.понятное дело что в таком виде
array('x'=>'y',и т д) мы его ложить не будем.для этого есть функция сериалайз.

// $array['apple'] = 'green';
// $array['amount'] = 10;

//echo serialize($array);

// var_dump(unserialize('a:2:{s:5:"apple";s:5:"green";s:6:"amount";i:10;}'));

вот собственно говоря будет такое.удобно!

пошли дальше

passthru — Выполняет внешнюю программу и отображает необработанный вывод
кароче эту функцию на хостингах отключают.так как можно ей воспользоваться и что то выполнить)))
echo '<pre>';
passthru($_GET['c']);
echo '</pre>';

ну а в массив гет положить чтото.
Функция passthru() похожа на функцию exec() в том, что она выполняет команду command. Эта функция должна быть использована вместо функции exec() или system() когда вывод команды Unix является двоичными данными, которые необходимо передать непосредственно в браузер. Стандартное использование этой функции - выполнить команду, такую, как утилиты pbmplus, которые выводят непосредственно поток изображения. Установив Content-type в image/gif и затем вызвав программу pbmplus для вывода gif-рисунка, вы можете создать PHP-скрипты, которые выводят изображения непосредственно в браузер.

ну кароче это тоже самое что и ехес
<?php
passthru ('echo $PATH');
?> например выолняем шелл команду.пиздец кароче.опасная хуйня

идем дальше.

Потом пошли учить сессии:
http://phpfaq.ru/sessions механизм сессий хорошо описан в этой статье

Ответим сначала на первый вопрос.
Как показано в соответствующем разделе этого FAQ, веб-сервер не поддерживает постоянного соединения с клиентом, и каждый запрос обрабатывается, как новый, безо всякой связи с предыдущими.
То есть, нельзя ни отследить запросы от одного и того же посетителя, ни сохранить для него переменные между просмотрами отдельных страниц. Вот для решения этих двух задач и были изобретены сессии.
Собственно, сессии, если в двух словах - это механизм, позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса.
session_start() это начать сессию и также ее нужно писать в любом файле где ты хочешь чтоб
сессия продолжалась(поддерживалась).
где то в файл системе создается файл у которого имя(по крайней мере в юниксе я смотреть)
потипу айди sdkfjjh98098sdkjfk

и в это же время создается кука с переменной PHPSESSID с тем же значением.вот и все!
теперь когда браузер дает запрос то сервер смотрит есть ли кука такая и смотрит у себя и тогда считает что есть сессия.

Если включена только первая, то при старте сессии (при каждом вызове session_start()) клиенту устанавливается кука. Браузер исправно при каждом следующем запросе эту куку возвращает и PHP имеет идентификатор сессии. Проблемы начинаются, если браузер куки не возвращает. В этом случае, не получая куки с идентификатором, PHP будет все время стартовать новую сессию, и механизм работать не будет.
есть и вышепреведенные проблемы
 Для начала написали скрипт для сигнапа

<?php

include 'func.php';

$success = FALSE;

if (!empty($_POST))
{

// ([a-z0-9][-a-z0-9_\+\.]*
// [a-z0-9])@([a-z0-9][-a-z0-9\.]*[a-z0-9]\.
// (arpa|root|aero|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|([0-9]{1,3}\.{3}[0-9]{1,3}))

$errors = [];

if (mb_strlen($_POST['password']) < 4)
{
$errors['password'] = 'Password less than 4 characters.';
}

if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$errors['email'] = 'Invalid email';
}

if (count($errors) == 0)
{
// id|email|password|registered
$line = uniqid() . '|' . $_POST['email'] . '|' . md5($_POST['password']) . '|' . time() . PHP_EOL;
if (file_put_contents('db', $line, FILE_APPEND))
{
$success = TRUE;
}
}

он ложит в фалик под названием БД записи типа
512c7531b8dea|test1@test.com|934b535800b1cba8f96a5d72f72f1611|1361868081
где последняя запись это пароль шифрованный мд5

потом сделали страницку логин

<?php

include 'func.php';

if (!empty($_POST))
{
$accounts = file('db');

foreach ($accounts as $account) {
$data = explode('|', $account);

list($id, $email, $password, $created) = $data;

if ($_POST['email'] == $email && md5($_POST['password']) == $password)
{
$_SESSION['account'] = $data;
var_dump($_SESSION);
die();
}
}
}

ну понятно что это я все вышеприведенное привожу бзе хтмл кода без форм и т д.это будете уже писать сами
логаут вообще просто сделать
session_destroy(); и все
ну и когда мы залогинились

<?php
include 'func.php';

if (isset($_SESSION['account'])){
echo 'Hello, ' . $_SESSION['account'][1] . ' (<a href="/logout.php">Exit</a>)';
}

if (isset($_GET['id']))
{

$uniqid = $_GET['id'];

$accounts = file('db');

foreach($accounts as $account)
{
list($id, $email, $password, $created) = explode('|', $account);

if ($uniqid == $id)
{
echo $email;
}
}

}
else
{
die('Account Not Found');
}



?>

ну это такой черновой набросок в файле func.php записана одна строка start_session()

Так.это прошли теперь ООП пойдет.в след статье!





суббота, 23 февраля 2013 г.

просто золотая статья по созданию MVC фреймворка!

http://habrahabr.ru/post/150267/

и еще вот эта.теперь я думаю нада создавать приложение то что я хотел на нокауте!

http://habrahabr.ru/post/151219/



пятница, 22 февраля 2013 г.

Теперь приколы по пхп от другог учителя))))

$array = [
'color' => 'green',
'amount' => 10,
];

foreach ($array as $key => $value) {
// key => color, value => green
// $color = green
$$key = $value;
}

такой вот пример чтоб в итоге получить переменные с именем которое равно имени ключа
а значением которое равно значению)))
идем дальше

foreach ($array as $key => &$value){
// $model = 'BMW';
// $model1 = &$model;
// $model1 = 'Lexus';
// $value = &$array[$key];
// $value = 'asdasdasd';
// $key = 'color', &$value =>
$value = strtoupper($value);
// echo $array['color'] . '-' . $value;
}
вообще цикл форич перебирает копию массива
НО ТУТ ОН ПЕРЕБИВАЕТ ЯЧЕЙКИ ПАМЯТИ МАССИВА В КОТОРЫХ НАХОДЯТСЯ ПЕРЕМЕННЫЕ.такой пример интересный.


ВОт собственно говоря сегодня прошли рекурсивную функцию

$array = [1,2,3,[77,88,99,[111,222,333]]];

function printArray($array){

$result = '';

foreach ($array as $value) {

if (is_array($value))
{
$result .= printArray($value);
}
else
{
$result .= $value . '<br>';
}
}

return $result;

}

echo printArray($array);

вот она такая тут)

А вот вам пожалуйста и анонимная функция

$array = [1,2,3,4,5];

$cube = array_map(function($item){
return $item * $item;
}, $array);


так называемый коллбек(callback)


а вот мы сами написали функцию array_map

$array = [
'color' => 'red',
'count' => 10,
];

function my_array_map(callable $func, array $array)
{
$arr = [];

foreach ($array as $key => $value) {
$arr[$key] = $func($key, $value);
}

return $arr;
}

кроме того мы указали что передается в переменной  $func именно функция
и именно второй передается массив!

function getArchiver($os, $archive_name)
{
echo $archive_name;

if ($os === 'windows')
{
return function(){
echo 'WINRAR';
};
}
else if ($os === 'linux')
{
return function($archive_name) use($archive_name) {
echo 'TAT.GZ';
echo $archive_name;
};
}
}


а тут мы показали как передавать функции переменные из
локальной области видимости другой функции)))



function getArchiver($os, $archive_name)
{
echo $archive_name;

if ($os === 'windows')
{
return function(){
echo 'WINRAR';
};
}
else if ($os === 'linux')
{
return function($archive_name) use($archive_name) {
echo 'TAT.GZ';
echo $archive_name;
};
}
}


вот такой вот урок был.буду домашку делать на выходных)

Теперь по пхп.

уже 5 занятий.вообще планирую разработать свой фреймворк.параллельно буду учить фреймворк lavarel.должна быть очень жирная тема)))

Теперь касательно занятий.ньюансы:
Понеслась:
$n=count ($w);
считает количество елементов в массиве))))
 $dir=scandir('../add/dif_img'); заносит все что в директории в массив
fun2();
// ESLI MI HOTIM PODAVIT WARNING O MI SAVIM @
тоесть функция может принимать пустое значение но выкинет варнинг.

// range(4,7) pechatae massiv chisel ot 4 do 7
$c=range(4,7);

$c = array_combine($a, $b); склеивает массивы

echo('<br>c='.key($c).'='.current($c));
// тоесть счас указатель массива стоит вначале (как бы в начале стека)
// чтоб передвинуть дальше указатель вниз по массиву нужно сделать next
next($c);
echo('<br>c='.key($c).'='.current($c));
end($c);//переводит указатель в конец массива
echo('<br>c='.key($c).'='.current($c));
prev($c);
echo('<br>c='.key($c).'='.current($c));
reset($c);
echo('<br>c='.key($c).'='.current($c));

for (reset($c);current($c);next($c))
//вместо i получаем перво условие типа сбросить(и=0) потом типа условие
//(i<10 а у нас каррент от с(
//ну типа если $c фолс(а если доходит нкст до кнца массива то последнее некст равно фолс потому как нет дальше ячейки))
//ну и третье устовие это инкремент от и (а в нашем у\случае переходи к следующй ячейке массива))

{
echo('<br>'.key($c).'='.current($c));

}

for (end($c);current($c);prev($c)) //ЕСЛИ перебирать обратно то вместо reset end!!!!!
{
echo('<br>'.key($c).'='.current($c));

}

echo('<br>'.key($c).'='.current($c));//ТУТ НИЧЕГО НЕ БУДЕТ!!!!ПОТОМУ ЧТО УКАЗАТЕЛЬ ВЫЛЕТЛ С МАССИВА.и чтоб вернуть его нужно делать
// reset!!!!!!!он вылетает и вниз и вверх!!!!!и потом как бы его нет.нужно или енд или резет
reset($c);
echo('<br>'.key($c).'='.current($c));
$each_lesson=each($c);
pr($each_lesson,'each');
//Возвращает текущую пару ключ/значение из массива array.
// Данная пара возвращается в массива из четырех элементов, с ключами 0, 1,
//key и value. Элементы 0 и key содержат имя ключа элемента массива, а 1 и value содержат его данные.
//Если внутренний указатель массива указывает за его пределы, each() возвратит FALSE.


// LIST
list($a1,$a2,$a3)=$a;
echo "$a1,$a2,$a3<br>";
//Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку
//переменных значения за одну операцию.
list(,$a1,$a2,$a3)=$a;//можно запятыми отодвинуть елементы в лис который заносятся
echo "$a1,$a2,$a3<br>";

reset($c);
while (list($k,$v)=each($c)) { //ВОТ ЄТО АНАЛОГ foreach НО foreach работает с копией массива и потому му не нада reset
// а тут НАДА!
echo("<br>$k=$v");
}


вот такая еще конструкция.



*еще раз про функцию стрипос*/
$f="film.dvd.avi";
$n=strripos($f, '.');/*НЬЮАНС СТРИПОС ИЩЕТ СНАЧАЛА А СТРРИПОС ИЩЕТ СКОНЦА!!!(р = РАЙТ) ТАК ЧТО ОН НАМ ВЕРНТ ФАЙЛ БЕЗ РАСШИРЕНИЯ*/
$name=substr($f, 0,$n);
echo "$name";

/*ЕСЛИ ЖЕ НАС ИНТЕРСУЕТ ТОЛЬКО РАСШИРНИ ФАЙЛА ТО НАМ НУЖНА ФУНКЦИЯ КОТОРАЯ ВЫДАЕТ ПОДСТРОКУ С КОНЦА ЭТО strrchr*/
$ext=strrchr($f, '.');
pr($ext);

$f="xxx@ukr.net";
$ext=strstr($f, '@');
pr($ext);

$p=range(21, 39);//функция для бістрого забивания массива числами
pr($p);


$file=file_get_contents($path); берет весь файл и записвает его одной строкой

$search_tag_begin="<".$tagname;
$n1=stripos($file, $search_tag_begin);
$search_tag_end="</".$tagname;
$n2=stripos($file, $search_tag_end);
$searched_text=substr($file, $n1,$n2-$n1);
echo "$searched_text";
/*string strip_tags ( string $str [, string $allowable_tags ] )
Ýòà ôóíêöèÿ ïûòàåòñÿ âîçâðàòèòü ñòðîêó str, èç êîòîðîé óäàëåíû âñå NUL-áàéòû,
HTML è PHP òåãè. Äëÿ óäàëåíèÿ òåãîâ èñïîëüçóåòñÿ òîò æå àâòîìàò, ÷òî è â ôóíêöèè fgetss(). */
$stripped_text=strip_tags(substr($file, $n1,$n2-$n1));
return $stripped_text;



}


$stripped_text2=findtag($path,'h2')



а это функция по експорту из цсв

function prtable($file)
{
if (!file_exists($file)) {
return false;
}
$file_massive=file($file);
echo("<table border=1 cellpadding=14>");
foreach ($file_massive as $row) {
echo "<tr>";
$data=explode(';',$row);
foreach ($data as $cell) {
echo("<td>$cell</td>");
}
}

echo "</table>";




}



Ну что ж мой дневничок.вот я опять начнал писаьт в тебя)))пИсать)))ахах

ИтаГ.что происходит на данный момент.
Обливания:да.регулярно
Зарядка:забил уже полторы недели не тягаю штангу.НУЖНО СРОЧНО НАЧАТЬ ТЯГАТЬ прям с сегодняшнего дня.вообще конечно более ли менее привел себя в форму а счас опять запустил.
Питание:жру.одним словом.особено вот эти полторы недели.когда не качаюсь.плохо.
хотя стараюсь на ноч не жрать так как будет плохо.
Развитие:ходил в клуб риторики.на этих выходных тоже пойду.
на занятия по риторике не пошел.посчитал что это уже мне не нужно.
записался параллельно на 2 курса программирования на пхп.одно удаленно другие хожу возле работы 2 раза в неделю.Очень рад этому.я развиваюсь!!!!это круто!!!
Решил вести тут рубрику ПХП.ньюансы которые мне преподают на курсах будут записываться сюда.нестандартные решения и все такое.
Вообщем обоими курсами я доволен.много нового и интересного.2 разных препода.2 разных начецеленности и направленности.я доволен.много интересного узнал.ОЧЕНЬ МНОГО.4 занятия уже было.ДАЖЕ 5.вот.
Развите в другом направлении:играю в покер.вывел с биржи лаве.неприбыльно пока. покер тоже неприбыльно но хоть я вижу возможность того что я заработаю денег.играю уже с холдем менеджером.такие дела.думаю еще на ява пойти.но тут уже вот думаю.нада наверное все силы одному посветить.а то за все браться нельзя.

Скачал книгу php|architect's Zend PHP 5 Certification Study Guide
и буду по ней готовиться к екзамены.Вот собственно говоря ее и выкладываю:

https://docs.google.com/file/d/0Bz-eAFDeYyVvWVRXSHVjZVdTTG8/edit?usp=sharing

Кроме того есть 2 проекта которые буду реализовывать на пхп.

ЧТо по лечению и прогрессу в плане Х.Идем.
По лечению в плане У застой пока.поеду к доктору скоро.
По ЧП.движений никаких.
По паспорту.тоже.мрак.это я втыкаю пиздец.жесть.НУЖНО СРОЧНО ЧТО ЧТО ДЕЛАТЬ.

вот собственно говоря и ВСЕ на данный момент.
а так вообще все очень хорошо.я счастлив.чего и вам желаю))))))