Pull to refresh
202
0
Максим @ort

Разработчик

Send message
rm -rfd путь в дебиане и убунте удаляет миллионы файлов без построения списка файлов…
UFO landed and left these words here
Не пробовал, но из этой статьи можно узнать, как дебажить привычным образом в Хроме.
1) По поводу JOIN можно эмулировать (видео, слайды [слайд 52])
2) По поводу GROUP BY тоже есть (выглядеть будет примерно так — пример с книги):

db.runCommand({"group" : {
... "ns" : "stocks",
... "key" : "day",
... "initializer" : {"time" : 0},
... "$reduce" : function(doc, prev) {
... if (doc.time > prev.time) {
... prev.price = doc.price;
... },
... "condition" : {"day" : {"$gt" : "2010/09/30"}}
... })

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

Соответствие MySQL и MongoDB запросов:
memo.undr.su/2010/01/27/sootvetstvie-mysql-i-mongodb-zaprosov/
www.dealtaker.com/blog/2010/05/12/php-mongodb-sitting-in-a-tree-part-1/
Идея ясна, но мне кажется не очевидна, как мне кажется. Если бы была та же черная рамка, но, скажем коротка надпись «Этот подарок нашли до Вас» или что-то вроде все таки было бы понятнее…
Зачем мучаться со страничками? cssdesk.com/
мда, а вы тоже самое не пытались делать с помощью встроенных утилит мускула? он ведь и сам может поместить базы в оперативу и писать апдейты на диск с отложением, а?

ну и так на будущее
www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/
www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/

PS удачных велосипедов
Есть решение намного проще. Дело в том, что когда вы вытаетесь записать значение в несуществующий массив:
$my->some['sub'] = 'test';
то вызывается метод волшебный метод __get. Т.е. вы получаете значение $my->some, а потом в это значение пытаетесь добавить индекс ['sub']. Чтобы всё-таки записать элемент в массив тостаточно передавать его по ссылке:

class MyClass {
protected $data = array('some' => array('sub' => 'data'));

public function __set($name, $value) {
$this->data[$name] = $value;
}
public function &__get($name) {
return $this->data[$name];
}
}
UFO landed and left these words here
Насчет кеша.
Один запрос будет быстрее, чем 100 обращений к memcached, тем более к диску.
Мне нравится такая схема: в самой таблице с объектами (как вариант в присоединенной, всеже шаблонов на тип может быть несколько) хранится кеш. Выборка айдишников идет вместе с кешем, смотрится если кеш есть — выводится он. Если кеш пуст — вызывается что-то, что кеш заполнит, внесет его в таблицу объектов и отдаст выводу. Лучше сразу после получения кешей определять объекты с промохом, делать на всех один запрос и заполнять кеш тоже одним запросом.

В результате при пустом кеше: 1 запрос легкий, кеш пустой, одни айдишники. 1 запрос тяжелый, скопом собираем всю информацию для всех объектов, которые нужно вывести. Один мощный апдейт.
При полном кеше: один запрос достаточно тяжелый по трафику, но зато в нем уже прямой вывод на страницу.
Когда передо мной стояла задача сделать блог для программистоя, я использовал Geshi Highlighter. Перебрал я довольно много всяких приблуд, в том числе на perl, shell, специальный лексический анализатор какой-то, но в конечном итоге остановил выбор на Geshi. В нём реализована поддержка кучи языков и разработка довольно активно продолжается, судя по списку рассылки. Отличная штуковина, что ни говори.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity