Блокнот для брони
Здравствуйте.
На ЕП запущен онлайн-блокнот, http://pad.everypony.ru
После месяцев обкатки он работает теперь в стабильном режиме, как один из проектов ЕП, и поддерживается не как эксперимент уже, но как часть портала.
Теперь брони смогут прямо на ЕП редактировать совместно документы, писать фанфики, переводить серии, просто писать для себя заметки — и попутно общаться во встроенном чате там же.
Старые блокноты не удаляются, то есть, не имеют «срока давности». Ссылки на старые блокноты вида projects.everypony.ru/pad/… продолжают работать перенаправлениями на новый адрес, данные в них сохранились.
147 комментариев
i.imgur.com/aEGGrbR.png
И ничего не создается.
И вот такая фигня через некоторое время появляется.
С Осла всё работает нормально.
А, ну да. Сториз — не Табун. Только что Рэндом расписался в этом. И влился в серую липкую массу кудахчущих «Кококо! Сториз — не Табун».
Администрацию, разумеется, надо уважать. Она чистит программные ошибки, отбивает атаки кулхацкеров и донатит на содержание серверов столько, что вам и не снилось, мои дорогие брони. Но...
Короче, писатели не_нужны. Официально.
Есть пост о том, как стать пони-художником. Набрал 1000+, кто помнит, тот помнит. С тех пор у нас в Табуне — сотни «художников». А настоящих — как было пять-шесть, так и осталось.
Пилим пост «Как стать пони-писателем»? Только отказываемся от огромной взаимной лжи. От твинководства, срачей и взломов учёток.
И тогда рэндом, который живёт категориями даже не 2012ого, а 2011ого года, не будет считать Сториз одной огромной чОрной дырой.
И не будет высылать вас за сотый километр в блокнотик, которому даже плашку не прикрутили в верхней строке.
Доброй ночи, милые брони. Читайте новости в Блоге
им. Олдбоя, Вспоминайте одиннадцатый год, вот сюда не ходите, там же злые модеры, азаза, без комментариев, играйте в Daggerfall.Это не Daggerfall? Странно. А так похоже...
У меня всё.
Вот стоило несколько недель не появляться, а тут такое...
Рандом и ПРодий сказали что «второй Табун нинужин», «Сториез для читателей, а не для писателей».
Ну, я бы случайно сгенерированную стену текста из блокнота взял.
Скатываемся в Фикбук, товарищи.
А чем плох фикбук?
Тем, чем сториез не очень-то и богат.
Как давно на табуне правились косяки хотя бы вроде тех же бегущих поней?
Так что ли? Напоминает:
«Винни, Винни, у тебя есть синяя краска?»
«Нет».
«Вот, держи. Я принес тебе синюю краску».
— …когда я слышу подобные слова, я непроизвольно тянусь за туго скрученной газеткой
с чугуниевым ломом унутри.смотрю код, фейсхуф: какую ъеччожу я тогда писал вместо кода…
1) Себе, потому что я всем ною, какой ты плохой не хочешь чинить сториз
2) Пользователям сториза, потому что поиск сейчас не работает вообще, а ты кнопочки перекрашиваешь (а я после фикса оттестировал все возможные случаи и состояния и не представляю, что мог упустить)
Пока ты не сказал, я вообще не знал, что кто-то где-то кмоу-то про меня что-то ноет.
«Не работает вообще» — это явная неправда. Давай конкретнее.
P.S. Ещё раз заглянув в код,
Обясни, как будет работать такой сценарий:
1) пользователь 1 создаёт фик А
2) пользователь 2 создаёт фик Б
3) пользователь 2 публикует фик Б
4) запускается SPhinx и индексирует фик Б (но не А)
5) пользователь 1 публикует фик А
Что после этого будет с фиком А? Проиндексируется ли он?
Что сразу же подразумевает, что Sphinx из кода сайта не запускается. И действительно, я этого в коде нигде не нашёл ни тогда, ни сейчас. Из чего следует, что индексация фика А зависит только от того, запустишь ли лично ты (или cron) этот самый Sphinx, точно так же как он запускался в пункте 4. И при чём тут я и мой пулл-реквест, я совершенно не понимаю.
Я перетыкал публикацию сторизов туда-обратно, обратно-туда, одобрял-не одобрял, перезапускал индексацию — всё работало просто идеально.
Какой командой?
Но это неправильное решение. Не знаю, в курсе ты или нет, но у Sphinx есть такая вещь под названием real-time индексы, которые предназначены как раз для мгновенной переиндексации подобных вещей типа публикации фика, не запуская переиндексацию сайта целиком (которая из-за большого объёма данных может длиться долго). Если бы ты потрудился отметить этот момент в комменте под пулл-реквестов (в идеале — описав организацию работы сфинкса на сервере), я бы к этому времени, возможно, уже бы впилил их поддержку и поиск вообще был бы шустренькой конфеткой (если бы не столкнулся по пути с какими-нибудь сходу не очевидными проблемами, разумеется).
Ещё мимо меня совершенно прошёл тот факт, что главы не индексируются совсем. Я мог бы прочитать это в описании реквеста, но взгляд проскочил мимо.
В общем, это был суровый случай недопонимания :(
Да, я про это знаю. Вот именно это и стоило бы сделать. Это нормальное, правильное решение. Намного лучше, чем городить костыли из бесхозных полей в таблице.
У меня в том пулл-реквесте задача — починить поиск на сторизе, чтобы он работал хоть как-нибудь, кривенько, слоупочно, но работал, и пользователи более не ныли. Так-то, конечно, это не очень красиво, и вообще название поля draft не очень говорящее (и, предполагаю, в давние времена использовалось для других целей).
Один момент есть, в котором я не уверен. Сейчас поиск находится в views, но я считаю это неправильным и думаю, что нужно завести соответствующие методы для поиска в модели Story (как минимум ради нормального юнит-тестирования, например). Но я по неопытности не знаю, делается ли так в джанге? Я пытался нагуглить что-то внятное, но нагуглил лишь срачи, где бизнес-логику размещать.
Или bl.bl_*, чтобы в будущем можно было без особого рефакторинга удобно прикрутить IoC (если уж настолько разрастется)
Но я бы не стал переносить это в модели. Поиск через Sphinx — это надстройка к моделями. Они от него не зависят. Кроме того, поиск можно реализовать разными способами, Sphinx не единственный.
Отделять поиск от view я бы тоже не стал. Весь смысл той функции в том, чтобы сформировать запрос по данным HTTP-запроса, прогнать его через Sphinx и сгенерировать страницу с результатами. Можно разделить это на две функции для удобства тестирования: одна составляет запрос и извлекает результаты в виде списка объектов, другая отрисовывает страницу. (В новых версиях Django появился класс TemplateResponse, который откладывает отрисовку страницы и даёт это разделение бесплатно). Если пытаться разделять и абстрагировать дальше, то в конце ты обнаружишь, что написал тонкую обёртку для SphinxApi, которая ничего в нём принципиально не меняет, а только видоизменяет интерфейс. Это не даст тебе никакой выгоды, так что лучше не увлекайся.
почти аналогичная ситуация как раз сейчас и не работаетi.imgur.com/2iyfuTZ.png
i.imgur.com/KUZNjba.png
?
Ну и куда же без классики (которую я пулл-реквестом как раз и починил):i.imgur.com/6YhClZN.png
Ты тоже коммент отредактировал? Там вроде ссылка на пэд была и я сперва не понял)
i.imgur.com/UBF54k5.png
i.imgur.com/1fCVSsy.png
Короче, прими пулл-реквест, хуже точно не станет)) А я тогда, может, следом прикрою дырку, через которую я название этого рассказа вообще нашёл
вон, Кипу не нравится Табун. он создал свой собственный и терь счастлив! :3
А потом снова забываешь! ) Тому что аналоги гуглодоки, фанффикшины, форумы аля ЕП.ком и олдобойская эквестрия дейли нинужны. хотя… может кому и пригодится.
Не доделали
1. Есть куда лучше «пады» такого же типа.
2. На этом нельзя создать командный пад. Не страничку, а именно кучку страничек.
3. Зная, как часто валится ЕП как-то не хочется ждать, пока встанет пад, чтобы нужную инфу из него взять.
НАФИГА?
Нормальные блокноты etherpad'a в полной его версии, а не этот жалкий огрызок в какой-то мере полезнее гуглдоков. Быстрее, например.
А если серьёзно, то Блокнот — интересный эксперимент. Пусть поживёи, может, и сгодится.