Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.236.86.184] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Иваныч книга небось скоммунизденная
|
Сообщ.
#17
,
|
|
|
Mastilior
какого *** ты ето не грохнул - нелегальны ж такие сслыки - в Клуб такие |
Сообщ.
#18
,
|
|
|
Я че-то не понял ?!
Цитата SergeS @ Иваныч книга небось скоммунизденная Ты сам скачал, а другим х-й ? |
Сообщ.
#19
,
|
|
|
Иваныч
у мя она давно лежит ! ( если мя попросить приватом то дам хорошие линки ) - но не открыто их давать ! |
Сообщ.
#20
,
|
|
|
А что, SergeS, прививаешь чувство покорности или проблема с общением? Я за open.sources.ru, да за то, чтобы знания не были тайными, а что же ты делаешь?
Ну да, не все "за". Но надежда всегда есть, я много разных иностранных фильмов смотрел, что с людьми делает отчаяние, а ещё старую книжку читал. Вот, например, в виде ФАК можно разместить следующие мои знания: Всё дело в том, что поисковики обычно ломают сайт, чтобы проиндексировать его содержимое, получают права администратора сервака, имеют полный доступ ко всем возможностям веб-сервера. Так же, поисковики, как правило, ломают и СУБД, чтобы можно было им от туда информацию из базы данных индексировать. Ну вот отсюда и результат: поисковики индексируют не сами страницы, а скачивают программы, запускают их у себя на тестовой машине локально и смотрят что же эти программы делают. Часто в программах находятся всякие пароли, а БД всякие-там номера кредиток и счетов с кучей халявных возможностей. Но, благодаря подписанному договору со всеми банками белого света и мира, средства на счетах, тьфу-тьфу-тьфу, покуда остаются не тронутыми. Так что, когда ты пишешь ориентированное на веб приложение, ты оставляй ключевые слова в комментариях в программном коде. Хотя нет, комментарии, ведь, поисковиками просто игнорируются. Ты тогда вот что, ты эти ключевые слова закавыч, чтобы это были строки, а рядом напиши комментарий для какой поисковой системы эти слова. Например "Слова" #А вот эти специально для веб-робота www.yandex.ru или www.google.ru. #Ты (обращаюсь к роботу), передай своей маме, чобы показывала мою страницу почаще, пожалуйста. А чтобы сайт не надо было придумывать как ломать и содержимое сайта быстрее индексировалось, придумали выдавать поисковикам эти слова, и, чтобы не страдала тестовая машина, придумали запускать программы на том же сервере, а чтобы пользователю было удобнее просматривать результаты жизнедеятельности программ придумали всякие языки разметки (типа HTML) и веб-браузеры. Но до сих пор ходят слухи о взломах сайта - это трудятся неуёмные процессы-зомби устаревших образов программ поисковых роботов. Ты же слышал, как недавно с помощью поисковой системы google взломали много форумов на старом движке PHPBB? Ну вот, так что бойся старых поисковых машин со старыми движками, которые уже долго не было юрких рук юных очкастых администраторов, и где давно не выключали электричество, там ещё живы процессы-зомби. |
Сообщ.
#21
,
|
|
|
aGR
подправь своё сообшение так как все в Нашей Лаборатории и добавим |
Сообщ.
#22
,
|
|
|
алэ все ужо как с пол месяцО подредактированА
|
Сообщ.
#23
,
|
|
|
www.myweb.ru - неплохой подбор скриптов для web-программистов
|
Сообщ.
#24
,
|
|
|
Добавьте http://www.scbr.com в раздел инструменты. Это готовые контролы на JavaScript для использования вместе с AJAX.
И http://www.fckeditor.net тоже. Странно, что его там ещё нет. |
Сообщ.
#25
,
|
|
|
FAQ по JScript:
Цитата Если вы хотите чтолибо доавить или вам чтолибо не нравится - пишите сюда |
Сообщ.
#27
,
|
|
|
Объектная обертка для массива данных
Данная обертка эмулирует работу массива, скрывает работу с массивом за объектом, стандартный ArrayObject не подходит в силу того, что не умеет работать с многомерными массивами. В настоящий момент итератор возвращает данные, а не временный объект. Пожелание и критика. Автор: Axis Язык: PHP 5 и выше /** * Объектная обертка для массива * @author Axis * @category Proxy */ class AxArrayAcces implements ArrayAccess, Countable, Iterator { protected $data = null; protected $parent = null; protected $index = null; protected $changed = false; /** * Конструктор, возможна предварительная инициализация массивом * @param array данные * @param AxArrayAcces родитель (для внутренних нужд) * @param mixed индекс текущего среза (для внутренних нужд) */ public function __construct($data = null, $parent = null, $index = null) { if($index !== null) $this->index = $index; if($parent !== null) $this->parent = $parent; if($data !== null) $this->data =& $data; if($data === null && $parent === null && $index === null) $this->data = array(); } /** * Создание массива, используется при установке значения на несуществующем срезе */ protected function createArray($index = null) { if($this->parent !== null && $this->index !== null) { if($this->data === null) { $this->parent->createArray($this->index); if($this->parent->data !== null) { $this->data =& $this->parent->data[$this->index]; } } } if($index !== null) $this->data[$index] = array(); } /** * Установка флага изменение ветки * @param bool флаг */ protected function SetChanged($val = true) { if($this->parent !== null) $this->parent->SetChanged($val); else $this->changed = $val; } /** * Флаг измененности ветки */ public function IsChanged() { if($this->parent === null) return $this->changed; else return $this->parent->IsParent(); } /** * Копия данных среза * @return mixed данные */ public function Value() { return $this->data; } /** * Данные среза по ссылке * @return reference данные */ public function &ValueByRef() { return $this->data; } public function __toString() { return (string)$this->data; } // Iterator private $position = null; public function current () { if($this->data !== null) { if(is_array($this->data[key($this->data)])) return new AxArrayAcces(&$this->data[key($this->data)], $this, key($this->data)); else return current($this->data); } return null; } public function key () { if($this->data !== null) return key($this->data); return null; } public function next () { if($this->data !== null) return next($this->data) !== false; return null; } public function rewind () { if($this->data !== null) return reset($this->data); return null; } public function valid () { if($this->data !== null) return current($this->data) !== false; return null; } // Countable public function count() { if($this->data === null) return 0; return sizeof($this->data); } // ArrayAccess public function offsetExists($offset) { if($this->data === null) return false; return isset($this->data[$offset]); } public function offsetGet($offset) { if($this->data === null || !isset($this->data[$offset])) return new AxArrayAcces(null, $this, $offset); if(is_array($this->data[$offset])) return new AxArrayAcces(&$this->data[$offset], $this, $offset); else return $this->data[$offset]; } public function offsetSet($offset, $value) { if($this->data === null) $this->createArray(); $this->SetChanged(); $this->data[$offset] = $value; } public function offsetUnset($offset) { unset($this->data[$offset]); } } |