Полезное свойство функции substr в PHP
Функция substr служит для взятия подстроки, синткасис у нее следующий:
string substr ( string string, int start [, int length] )
Допустим, вам нужно отрезать последний символ, знатоки Javascript или Си напишут примерно следующее:
$s = 'some string1'; $s = substr($s,0,strlen($s)-1); //some string
пока терпимо, хотя код уже явно громоздкий и трудный для понимания, задача усложняется если нужно получить несколько последних символов в строке:
$s = 'some string123'; $s = substr($s,strlen($s)-4); //123
понять что делает этот код довольно трудно, несмотря на то что его назначение тривиальнейшее.
К счастью в PHP в substr можно использовать ОТРИЦАТЕЛЬНЫЕ ЗНАЧЕНИЯ для стартового символа и длинны:
//пример первый $s = 'some string1'; $s = substr($s,0,-1); //some string //пример второй $s = 'some string123'; $s = substr($s,-3); //123
Кака видно, в этом случае код читается на порядок проще. Ничего подобного нет ни в Си ни в JavaScript, а жаль.
Про науку и образование в России
Про то, что науку и образование в России уничтожают сейчас говорить уже даже не интересно. При этом по телевизору постоянно твердят о куче миллионов якобы выделяемых на науку.
Типичный пример - покупка ПО для школ и ВУЗов. Из бюджета выделили огромные деньги на закупку программного обеспечения для нужд образования. Причем провернули все очень технично, никто ничего даже не заметил. Сначала взяли за шкирку сельского учителя с хорошей говорящей фамилией Поносов. Раструбили о проблеме на всю страну, а потом взяли да и закупили ПО от Microsoft во все школы и ВУЗы.
Как раз это происходило когда я работал в Саратовском Государственном Техническом Университете - история сама по себе любопытная.
На нашей кафедре годами существовал собственный парк компьютеров. Компьютеры были так себе - их собирали годами на деньги студентов, которые не хотят учиться сами кафедры. Когда началась борьба за лицензионное программное обеспечение в один прекрасный день на кафедру принесли совершенно новые современные компьютеры с предустановленным Microsoft Windows , Microsoft Word, Mathcad, Matlab.
Представляете сколько это все стоит только на одной машине? А компьютеров на кафедру выделили около пятнадцати штук. И это только на одной кафедре - тоже самое было на других кафедрах. Везде новые компьютеры, и везде Windows.
Во всем мире вузы стараются экономить на программном обеспечении, поэтому все открытое программное обеспечение разрабатывается энтузиастами - студентами и преподавателями в вузах. Причем, выигрывают от этого все - студенты получают прекрасную возможность приобрести навыки программирования, преподаватели имеют возможность показать студентам как надо разрабатывать ПО, причем на конкретных примерах - тысячи исходных кодов доступны для ознакомления.
Однако, в нашей стране все не так. В нашей стране на каждом компьютере стоит Microsoft Windows, открытое ПО пусть пишут в других странах а мы и так программировать научимся.
На мой взгляд для школ и вузов Microsoft Windows противопоказан. Студенту гораздо нагляднее и проще освоить программирование в Unix среде - ведь это по сути большой конструктор. Для линукса не нужен антивирус - а это значительная статья расходов для вуза. В линуксе из коробки есть все необходимое для работы. В то же время на Windows нужно покупать и ставить кучу дополнительного софта, особенно это касается разработки ПО и научных программ.
Но все дело в том что Линукс не выгоден ВУЗам - все в России живут откатами - больше платить преподавателям не выгодно - преподаватели не откатывают ректору за повышение зарплаты - но если пустить эти денежки на закупку новых компьютеров - будьте уверены, те кто принимают решение у какой фирмы эти компьютеры закупать получат хорошие откаты. Как можно получить откат с покупки Линкус, он же бесплатный! Наоборот, придется платить специалистам за внедрение, а они откаты как то не очень дают - работы у них и без ВУЗов выше крыши. А с ПО Microsoft будьте уверены - все хорошо наварятся. Антивирусы же вообще весчь отличная - за них платят каждый год - а значит бюджетные денежки будут освоены без проблем.
Хотя все же говорить, что виноваты в том, что в ВУЗах стоит Windows а не Линукс только руководители не совсем правильно. Преподаватели тоже виноваты. Если бы на всех кафедрах уже стоял Линукс - хрен бы его кто заменил на Windows - все бы сразу взбунтовались. Но на кафедрах стояла левая винда.
Просто после определенного возраста очень сложно осваивать новые технологии. А на кафедрах сейчас работают одни старики - молодежь туда не заманишь - зарплаты в ВУЗах сейчас смешные - правда почему никто то не смеётся. Доценту платят в месяц столько, сколько хороший программист зарабатывает за день. Новых людей на кафедре нет, старые - умирают. За те пять лет что я там проработал - от старости и болезней умерло пять человек, и это только на одной кафедре.
Поэтому, образованию в том виде в котором оно было в советские времена приходит пушистый северный зверек. То образование, которым мы все так гордимся уходит вместе с последними представителями старой системы. Новой системы никто не создал. Какое образование будут получать наши дети это еще не известно. Но все в наших руках, давайте же не бояться осваивать новые технологии, давайте сами решать какие программы нам нужны - иначе за нас это сделают другие.
Как найти все жесткие ссылки на файл
Чтобы найти все жесткие ссылки на файл, сначала выполнием ls и смотрим какой у файла inode, затем скармливаем этот inode команде find:
> ls -li filetosearch.txt
9964445 -rwxrwxrwx 2 root root 1813 Sep 25 03:06 filetosearch.txt
> find /home -xdev -inum 9964445
Микрософт что то совсем опустились
Ура, теперь микрософт всем раздает бесплатный антивирус, однако, как было бы здорово для пользователей если бы под windows не было бы вирусов, совсем. Как например в случае с Линуксом - нет вирусов под Линукс, и это основное его преимущество, что бы кто не говорил...