вебдев
51 заметка
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

Файлы в базе

13 лет назад в категориях mongodb вебдев

Люди, которые хранят файлы в базе — больные извращенцы.

Если это MySql, хехе.

В Монго есть специальный механизм для хранения файлов в «базе», называется GridFS.

Полезностей у него минимум две:
1. Легкий бэкап кучи файлов с помощью репликации базы.
2. Все равно нужна таблица с метаинформацией к файлам, тут все хранится «вместе».

Цитата раз:

A: The nice thing about GridFS is that it streams the data back to the client, so you never need more than 4MB of memory.
Q: Now I know.

Цитата два:

There is currently no method that automatically streams chunks, but it would be fairly easy to write by querying the $grid->chunks collection.

Кто-то из них явно пиздит. Скорее всего, везде, кроме Советской России, файл и правда отдается чанками, но конкретно в PHP такого способа нет (MongoGridFSFile::getBytes() грузит файл целиком в память).

Пришлось делать как-то так, короче:

$cursor = $M[chunks]->find(array("files_id" => $img->file['_id']))->sort(array("n" => 1));

foreach($cursor as $chunk) echo $chunk['data']->bin;

В общем, я на очередном дейтинге проекте пока сделал «все картинки в базе», а там поглядим.

0

R3

13 лет назад в категориях mongodb вебдев spectator.ru

Вы, наверное, ждете, что я, как какой-нибудь Бирман, буду расписывать прелести нового движка? (Он называется, кстати, R3 — только потому, что предыдущий назывался R2).

Так вот, не буду.

В серверной части от тривиален. Нет, ну все же знают эту старую фишку, что разница эффективности программистов может достигать 20 раз, про это писали все, кому ни лень. Я не говорю, что я ровно в 20 раз эффективней остальных. Максимум в 19,95.

(Иными словами, я допускаю, что кому-то на что-то подобное потребуется 19 дней, но это не делает задачу нетривиальной).

Тем не менее, mongodb — документная база данных, прелести которой я уже расписывал. Очевидно, что комментарии к заметке хранятся прямо в документе «заметка», в комментариях хранятся «пользователи», про всякие мелочи, типа тэгов и поискового индекса я молчу.

И на все хватает одной «таблицы», которая называется «заметки». Удивительно!

Очевидно, что utf-8, потому что некуда деваться.

«Приводить примеры кода» просто бессмысленно, ну, скажем, выборка по тэгу делается «примерно так»:

$entries -> find (array ("tag" => "mongodb"));

Писать подобное глупо, потому что это просто обычный синтаксис выборки, — то же самое, что описывать SELECT в mysql, например.

Вся «серверная» часть занимает не больше дня (смотри про 19 дней выше), а делать блог без ояксов в наше время просто стыдно. Поэтому очевидно, что основные усилия пришлось приложить к html-ю, js и css — вещам, которые я совсем забыл/не знал. Тут тоже ничего такого нет, комментарии аяксом — тоже мне невидаль. Особенно если ты это умеешь (я не умею, но это не повод для гордости).

Прогресс не стоит на месте, сейчас даже девушка может собрать свой блогодвижок на каком-нибудь junko или boobie on trains за 15 минут, поэтому любой человек, который всерьез пишет о своем лучшем в мире движке блога сейчас (а не лет 10 назад), просто неадекватен.

0

Удлиннитель ссылок

13 лет назад в категории вебдев

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

Вернее, создать заметку тут, которая после редиректа... Ну, вы поняли.

Это же удлинитель ссылок!

0

Full Text Search in Mongo

13 лет назад в категориях вебдев mongodb

Прочитал про Full Text Search в Mongo.

Это великолепно.

Нет, правда.

0
Мой «Курс реабилитации людей с техническим образованием».

ЧПУ sucks balls

ЧеловекоПонятные Урлы — это фетиш. Я буду отказываться от них везде, где можно. В урле, типа www.hobius.com/?user=smirnov я не вижу ничего плохого, например. Особенно когда по адресу site.com/users/ нет ничего, а по адресу site.com/users/username уже есть. Ну и заодно, по аналогии с «твиттерскими» адресами, типа twitter.com/#/something, придумал самый простой способ реализовать ЧПУ почти везде безо всяких mod_rewrite и прочего. (еще 81 слово)

Retrograde

Из всех листалок вперед-назад по страницам, в которых всегда путаешься, где вперед-назад (и даже раньше-позже), на днях видел самую понятную, в которой ни разу не запутался. Там было написано «retrograde» и «anterograde». Доктор, что я делаю не так?.

United we stand

Stand-alone’ы будущего — это сайты, которые не экспортируют свои записи во всякие фейбуки, жж и прочие бложики, а ровно наоборот — забирают их оттуда и публикуют в одном месте.

Твиттер победит RSS

Я тут недавно прочитал заметку на тему «Твиттер победит RSS» от человека, который позиционирует себя, как не глупого, и долго смеялся. Аргументация все так же — «но я ведь использую это так-то и так-то». И мы очень за тебя рады!!! Проблема со всей этой синдикацией ровно одна: всем по большому счету посрать, как оно экспортируется, «чем хуже — тем лучше», чтобы не было наездов на воровство контента и не деление трафиком. (еще 210 слов)

Building iPhone Apps with HTML, CSS, and JavaScript

Хорошей DB должно быть монго

Много-много лет назад, великий гений, коим я, несомненно, являюсь, осознавал неуместность использования реляционных баз данных в веб-программировании и регулярно травил пхп-программистов, которые любили писать, например, логи в базы. (еще 927 слов)

Гамифицируйся!

Придумали «новый» тренд, называется «gamification». Вы не поверите — это тренд про добавление в (веб) проекты игровых элементов!!111 Во-первых, это напоминает бессмертное «можно добавить к игре любого жанра элементы RPG, и она хуже не станет». Во-вторых, как и все тренды, этот существует уже сто лет, но просто «слово появилось». (еще 168 слов)

NoSQL

Чуть было очередной тренд не пропустил. Я так понимаю, что nosql и вообще key-value это теперь пиздец как модно. Мы же пишем свой твиттер и фейсбук, каждый второй. Скалабилити, хуё-моё. Надо озаботиться. Кто работал с сабжем (и с каким), плюсы, минусы, подводные камни?.