В гостях у Хомуры-нян. Продолжаем шатать Курисабу, обсуждаем нововведения, сообщаем об ошибках и реквестируем новые плюшки. Предыдущий >>15697
Перекатился
Заползаю в тред и поясняю, что против редактирования. Есть удаление постов, позволяющее удалить свой посто и внести нужные исправления в текст, заново отправив. Не стоит множить сущее без необходимости же.
Полностью поддерживаю вышеотписавшегося. От себя добавлю, что если редактирование постов всё-таки будет введено, то я согласен только на такую реализацию: — нет ограничения по времени после отправки, когда можно отредактировать пост; — нет сообщения о том, что пост был отредактирован. Только так от этого редактирования будет какой-то профит.
>>32820 Благодарим за советы.
>>32699 О, аригато за инфу, теперь тайна раскрыта, значит. >>32728 >Скопировать можно любой пост, просто спойлеры и разметку вручную придется проставлять. Ну тут суть в том, что кнопочка «скопировать исходный текст поста» позволит это делать, даже не заморачиваясь над проставлением разметки, что, возможно, может изначальному автору поста типа как не понравиться. Но я тут поразмышлял, и понял, что да, какое-то это у меня странное опасение. >С удаленными постами проще — всем сразу видно, что там что-то было, но уплыло, и не будут плодиться похожие ответы на один и тот же пост. Зато плодятся обстоятельные ответы на ныне несуществующие посты, и ты силишься понять, что же там было. =) Впрочем, это совсем другой разговор, и удалять удаление я не буду же. >>32730 >>32737 Спасибо за перекат =) >>32820 >нет сообщения о том, что пост был отредактирован. Ну это сообщение по-любому должно быть как троллезащита. В общем, пока действительно предлагаю такую вещь. 1) Вместо редактирования поста будет кнопка «Отправить по-новой» (рядом с кнопкой «быстрый ответ»); 2) Эта кнопка будет открывать форму быстрого ответа, но с определёнными отличиями от кнопки «быстрый ответ»: 2.1) В полях «имя», «тема», «текст» будет то же самое, что в исходном посте (галочки сажа и ноко копировать, думаю, смысла нет); 2.2) Если в посте было прикреплено видео, то в зоне «Прикрепить» будет выбрано «Видео», в поле будет введён его id; 2.3) Если в посте была картинка, то в зоне «Прикрепить» будет выбрано «Ссылка», в поле будет введена ссылка особого вида (например, просто ссылка на пост типа «>>12345»); 3) Само собой, что как картинку, так и видео можно при желании приложить другое; 4) В поле «пароль» необходимо будет ввести пароль, идентичный паролю для удаления старого поста (он же останется паролем на удаление нового поста); 5) При нажатии кнопки «отправить»: 5.1) Если ссылка — специального вида, то файл по этой ссылке будет забэкаплен; 5.2) Если пароли совпадают, то старый пост будет удалён (иначе будет выдана ошибка «пароли не совпадают» и ничего больше не будет сделано); 5.3) После удаления будет отправлен новый пост (уже с другим id и датой), в который будет вложена указанная картинка или видео; 5.4) Если пост не получится отправить, то форма ответа останется нетронутой (иначе очистится и будет обновлён блок постов на странице, как при успешной отправке), но признак того, что это не обычная форма отправки, а форма переотправки будет снят, и можно будет отправить пост заново. По сути — это автоматизация удаления и последующей отправки поста заново. Подводные камни: — если старый пост удалился, но новый не отправился (например, неправильно введена капча), то забэкапленный файл можно будет отправить только в течение 10 минут. Если править пост дольше, то этот файл просто удалится, и попытка отправить пост приведёт к ошибке «время хранения файла истекло»; нужно тогда будет любым из известных способов залить файл заново. — автоматически сгенерированную ссылку >>12345, конечно, можно заменить на какую-нибудь >>23456, надеясь сдублировать файл из поста >>23456. Однако проверка по хэшу, очевидно, пресечёт эти поползновения. Как вам подобная идея вместо редактирования? Алсо, я тут вчера занялся немного оптимизацией, и сумел сделать так, чтобы посты отправлялись быстрее у нас, на самом деле, на новом хостинге поразительно медленная база: вроде все индексы есть, а последовательно получить четырьмя запросами первое сообщение, три последних, количество сообщений всего и количество картинок оказалось на порядок медленнее, чем получить одним запросом все блин 500 постов треда и из них уже средствами php подсчитать, что надо. Надеюсь, вы это оценили. =) Ну и ставшая уже традиционной сводка трекера: — (NEW) ошибка скрытия треда (normal) (easy) — DONE — (NEW) многочисленные ошибки и огрехи в css (minor) (easy) — DONE — (NEW) обновление постов ускорено и сделано из html, а не базы, чтобы базу не нагружать (minor) (medium) — DONE — (NEW) ускорить отправку постов (major) (hard) — DONE — javascript-обновление карты ответов после подгрузки новых постов (normal) (medium) — CANCELLED (с новой подгрузкой постов более неактуально) — (NEW) при включенной кукле и отключенной курисабовой карте ответов в превьюшках, что открываются при наведении на рефссылку всё равно есть курисабовая карта ответов (minor) (medium) — CANCELLED (кукла показывает превьюшки сама, не ориентируясь на средства курисабы — таким образом, курисаба не имеет возможности скрыть карту ответов в посте; решение — отключайте карту ответов куклы, а не курисабы) — вылетает опера (major) (hard) — путь решения неизвестен — длинные скрипты в админке вызываются два раза (проблема сервера?) (normal) (hard) — путь решения неизвестен — если нет куков, отдаются просроченные страницы (normal) (medium) — путь решения неизвестен — видео+картинка (major) (hard) — добавить редактирование поста (major) (hard) — отключаемые звуковые оповещения о новых постах (normal) (medium) — спойлеры картинок (normal) (medium) — внезапно тег code и инлайновый код не всегда работает (normal) (medium) — javascript-удаление постов (minor) (hard) — cделать отдельно однопоток постов как на хорочане или как на хайбане (minor) (medium) — анимированные превьюшки, выключенные по дефолту (minor) (medium) — ускорить удаление постов (minor) (medium) — отключаемое автообновление новых постов по таймеру, как на других бордах (minor) (medium) — добавить иконку статуса куклоскрипта (реквест Лита) (minor) (easy) Алсо, ничьи реквесты не забыл?
>>32846> Ну тут суть в том, что кнопочка «скопировать исходный текст поста» позволит это делать, даже не заморачиваясь над проставлением разметки, что, возможно, может изначальному автору поста типа как не понравиться.Я думаю, это не должно зависеть от желания автора поста. Копирующий может просто вручную выставить разметку, а может даже каким-то скриптом. Нет ничего плохого в том, чтобы это автоматизировать без каких-либо ограничений.Кстати, в дашачане так можно делать. Я никогда не использовал эту фичу на практике, но на первый взгляд она очень даже работает.
>>32846 >Как вам подобная идея вместо редактирования? такое,лишь бы что нибудь,меня это удаление не устраивает т.к до сих пор из за мудреной системы еще не получалось ни один пост удалить,проще базу данных фбр взломать,чем на курисаче удалить пост,у нормальных людей все по кукам работало,а тут через задницу,не прокает такой вариант.
>>32846 > Ну это сообщение по-любому должно быть как троллезащита. А я не хочу троллезащиту, понимаешь? Ладно, проехали. > Вместо редактирования поста будет кнопка «Отправить по-новой» (рядом с кнопкой «быстрый ответ») Я не против. > если старый пост удалился, но новый не отправился Так может быть, сначала создавать новый, а потом удалять старый? И если новый не отправился, то старый не трогать. В таком виде это реализуемо? >>32852 > это удаление не устраивает т.к до сих пор из за мудреной системы еще не получалось ни один пост удалить Тут проблема скорее не в мудрёной системе, а в твоей криворукости.
>>32846 >кнопочка «скопировать исходный текст поста» позволит это делать К слову говоря — в базе же хранится уже пробразованный HTML-код, откуда ты возьмешь исходный? >— если старый пост удалился, но новый не отправился (например, неправильно введена капча), то забэкапленный файл можно будет отправить только в течение 10 минут. Если править пост дольше, то этот файл просто удалится, и попытка отправить пост приведёт к ошибке «время хранения файла истекло»; нужно тогда будет любым из известных способов залить файл заново. Капча обязательно должна проверяться в первую очередь. Потом — пароль для удаления. Потом отправляется новый попутно проверяясь на корректность и удаляется старый. Тут уже только если лаги сервака что-то испортят. >>32852 >еще не получалось ни один пост удалить,проще базу данных фбр взломать,чем на курисаче удалить пост А ты не пробовал перед отправкой вводить пароль в поле «пароль»?
>>32855>>32856Пароли слишком сложна! Для нэк.
>>32852 Ну у всех всё получается, а у тебя нет? Пароль, в принципе, сохраняется в куках, если ты его ввёл, конечно. В любом случае, редактирование можно сделать тоже только по паролю. Для того, чтобы иметь возможность удалить отправляемый пост — вводишь свой пароль в поле «Пароль» постбокса. Когда нужно посту удалить — тот же самый пароль вводишь в поле «Пароль» рядом с кнопочкой «Удалить пост», ставишь галочку на нужном посте (если несколько постов требуется удалить — то несколько галочек), и жмёшь «Удалить пост». >>32855 >А я не хочу троллезащиту, понимаешь? YOU SHALL NOT PASS >Так может быть, сначала создавать новый, а потом удалять старый? И если новый не отправился, то старый не трогать. В таком виде это реализуемо? Реализуемо, но подводных камней здесь больше, например что делать, если новый пост отправился, а старый не удалился (например, пароль неверен), и как реализовывать временную отмену проверки на одинаковый хэш файла (ведь в момент, пока новый пост уже есть, а старый ещё не удалён, в каталоге с картинками должны существовать два одинаковых файла). >>32856 >К слову говоря — в базе же хранится уже пробразованный HTML-код, откуда ты возьмешь исходный? Некоторое время назад я начал сохранять и исходный код — специально для реализации редактирования в будущем =) >Капча обязательно должна проверяться в первую очередь. Потом — пароль для удаления. Потом отправляется новый попутно проверяясь на корректность и удаляется старый. Тут уже только если лаги сервака что-то испортят. Понимаешь, такой механизм — по сути дела, отдельный алгоритм, который будет во многом повторять как отправку, так и удаление, но и во многом от них будет отличаться. А я не хочу плодить похожие, но разные алгоритмы, потому что поддерживать такой код гораздо тяжелее (я уже намучался с двумя копиями постбоксов, с различной генерацией оп-поста и обычного поста, с различной генерацией страницы треда и страницы борды и так далее). В моём же случае реализация отлично укладывается в три абсолютно отдельных этапа — копирование пикчи во временный каталог (новый кусок кода), стандартное удаление (вызов уже имеющегося board.php) и стандартная отправка (опять вызов уже имеющегося board.php). Единственное — надо будет обработчик загрузок научить понимать ссылки вида >>12345 в поле «ссылка».
>>32946Чому никому не понравилась анимация в моем посте? К черту чертовы пароли,мне нужны печеньки! Арррр
>>32948 Дакимакура у Твайлайт топовая.
тест
тест4
>>/sg/33097 У меня тоже самое с /vid.
>>32736 Реквестирую разворачивающийся спойлер. И где иконки черт побери?
>>33150 Ок, записал себе. Иконки сделал твои, раз уж они так тебе хотелись, лол.
>>32736 Хомура-нян,нэка придбала 19 том,так что обращайся.И готовь 40 рушлей.
>>33648 Это немного не в этот тред, но ладно. Я, кажется, в рандоме отвечал, что у меня кивей нет, зато могу перевести на сберовскую карту, например, покатит такой вариант?
>>33699 нет не прокатит,заведи себе киви же,бака. Если есть терминалы,то проблемы ниту.
>>33699 откуда у нэк сберовскаяя карта,или ты думаешь что нэка Путинский агент и сеппаратист же ?
Базу картинок нужно чистить, ящитаю. Картинки непостяцца, пишут, что такая уже есть и приходицца пускацца на хитрости.
>>33764 Это норма. Ищи новые картинки же.
>>33856 Это не норма, а это администрация-лентяйка, так то.
>>33764Так потому что такая картинка уже есть, вот и не постится. Всё логично.
>>33881 Вот поэтому и надо это убрать, штобы постилось, ясненько? У Каны, конешно, большой пак, но пикчи должны соответствовать посту, а не просто абы-што.
>>33880 >>33882 Куклоскрипт установи. И там поставь галку Форма—Возможность отправки одинаковых картинок.
>>33890 >Куклоскрипт установи. Не-а, обойдёмся.
>>33890 Итис дазнт ворк же
>>33894 Ну тогда и не ной, что картинки не постятся.
>>33899 Так ис или дазнт?
>>33902 Что тебе больше нравится? Май инглиш вери претти гуд
>>33900 Хм, оправдывать лень администрации тем, что юзер не скачал себе каких-то сторонних костылей.. Ты у Путина чиновником не работаешь, м?
>>33906 На всех бордах так. Хочешь себе дополнительных плюшек — устанавливай сторонние костыли. Всё просто.
>>33908 >На всех бордах так. А вот и нинавсех, на том же Эксачане базу чистили раз в сутки, например. На Доброчане таких проблем тоже небыло, а тут доска помнит картинки, которым месяц уже.
>>33912 Речь про борды, а не про эксопараши и ханабироподмывальню.
>>33912 На доброборде по-другому пикчепостинг устроен. Там из базы картинка достаётся
>>33915 >борды Это вобщемта довольно растяжимое понятие. >эксоп..раши Эксачан существовал в интырнетах задолго до того, как ты про борды на Луркморе прочитал и хорошего на нём было больше, чем ты из себя выжал за всю свою глупую жизнь, запомни и знай.
>>33917 Ну так просили примеров — чем не примеры? Просто это ужасно глупо, когда неможешь запостить пикчу из-за того, что постил её столетназад, этоятакщитаю.
>>33918 Давай, расскажи мне, как я пришёл на борды и каким хорошим был эксачан.
>>33920 Да нужен ты кому какбудтобы, расказывать тебе ещё, ага.
>>33882Никто не будет удалять старые картинки только для того чтобы дать тебе возможность снова их постить. При желании жми на ссылку и удаляй изображение из старого поста.>>33906> Хм, оправдывать лень администрации темКакая ещё лень? Это абсолютно дурацкая просьба, если администрация что-то не делает, то это не значит, что ей лень.>>33912> А вот и нинавсех, на том же Эксачане базу чистили раз в сутки, например.И только ради того, чтобы угодить аватарочкам? Сомневаюсь.> На Доброчане таких проблем тоже небыло, а тут доска помнит картинки, которым месяц уже.На доброчане совершенно иные принципы работы движка. Там есть премодерация и прочее, чего здесь никогда не будет. К тому же там доски резиновые. Это позволяет убрать ограничение на постинг одинаковых пикч.>>33921> Да нужен ты кому какбудтобы, расказывать тебе ещё, ага.А ты кому нужен, чтобы твои просьбы выполнять?
>>33969 >Никто не будет удалять старые картинки А их никто и не просил удолять, вобщемта. >И только ради того, чтобы угодить аватарочкам? Какбудтобы у тебя нет любимых макросов, ага. >Сомневаюсь. Так всё и было, можешь спросить у других и картинки, кстати говоря, для этого удолять не требывалось. >А ты кому нужен, чтобы твои просьбы выполнять? Да не выполняй, делов-то. Нехочешь лебедем лететь — лети бульдозеристом, такова логика вещей.
>>33979> А их никто и не просил удолять, вобщемта.Вот это прикол.> Базу картинок нужно чистить, ящитаю.Чтобы было немного яснее: такой базы не существует. Есть только сами картинки. Ещё есть хеши у постов, но это другое.> Какбудтобы у тебя нет любимых макросов, ага.Я со своими любимыми макросами не лезу с такими предложениями, как и другие любители макросов.> Так всё и было, можешь спросить у других и картинки, кстати говоря, для этого удолять не требывалось.Я не сомневаюсь в том, что удаляли. Я о мотивации.
>>33996 >Вот это прикол. Ага, такой прикол што правда. >Чтобы было немного яснее: такой базы не существует. Такбы и сказал, что на этом движке этого сделать нельзя, сэкономил бы много букв и нервов, этоужточно. >Я со своими любимыми макросами не лезу с такими предложениями >лезу Как это так «лезу»? Довольно обидные ваши слова. Кана высказываецца, как все люди. >Я о мотивации. Ну просто Экс это зой Эксачана, если ты вдрук незнаешь очень любил своё детище и регулярно совершенствовал его для удобства пользователей, вот оно как. Может это нас и разбалывало, кто его знает..
>>33701 >>33702 Ок, ладно, заведу, перекину тогда >>33764 >>33880 >>33882 И ящетаю, что это правильно — в идеале это предназначено для того, чтобы ты луркал по инету в поисках новых картинок, а не постил по кругу один и тот же десяток. Некоторые, конечно, просто изменяют отдельные пиксели в пикчах, но будем считать, что это недокументированная фича борды, лол. >>33899 Хм, почему дазнт ворк? Вернее, каким образом — что происходит при отправке? >>33906 >лень администрации Это не лень, а политика администрации. Ладно ещё смайлы, но постить одинаковые картинки — это совсем не имиджборд получается. >>33912 >базу чистили раз в сутки О.О это что ж, можно было каждые сутки постить пикчи из одного и того же пака? как-то это совсем не торт. >>33917 >Там из базы картинка достаётся О.о то есть, есть фиксированный пул картинок, и ты выбираешь одну из них? Тогда это тем более ИБ назвать сложно. >>33979 >Какбудтобы у тебя нет любимых макросов, ага. Если я вижу эксплоитабельную ситуацию, то я сам делаю нужный макрос, а не юзаю готовый. Ориджинал контент производить — всегда хорошее дело. >>34111 >что на этом движке этого сделать нельзя Технически можно, причём достаточно просто — в сравнение по хэшу картинки добавить "WHERE 'timestamp' >= ". (time() - $postinglimit). Однако, имхо, это рушит один из важных принципов ИБ (уникальность контента в посте). И если смайлы можно было сделать так, чтобы для не желающих их видеть ничего бы не поменялось, то по условию убирать одинаковые картинки из постов я по понятным причинам не могу. Вернее могу, но это получится уже Мадока знает что. Так что, я щетаю, что не катит такая возможность (если прямо так хочешь — потрать немного своего времени и уж натыкай хотя бы пикселей в картинку, если уж бурить не хочется). >очень любил своё детище и регулярно совершенствовал его для удобства пользователей Ну я вроде так же, но имхо, не всегда совершенствование == выполнение всех реквестов.
"WHERE 'timestamp' >= ". (time() - $postinglimit)
>>34247 >то есть, есть фиксированный пул картинок, и ты выбираешь одну из них? Тогда это тем более ИБ назвать сложно Ты не пони Да и я объяснить не смогу. Знаю только, что уже запощенный ранее картинки доброчан распознаёт, даёт им название, которое было при первом постинге и сам выставляет рейтинг, выбранный при первом постинге. Такие-то дела.
>>34247 >почему дазнт ворк? Вернее, каким образом — что происходит при отправке? Сейчас скажу
>>34256 Выдаёт всё то же: обнаружен дублирующий файл. Галка в кукле никак не помогает. Кстати, иконка обнаружения куклоскрипта на борде у меня его не обнаруживает
>>34247 >в идеале это предназначено для того, чтобы ты луркал по инету в поисках новых картинок, а не постил по кругу один и тот же десяток. Оно понятненько, только луркать в интырнетах подходящую картинку оченьчасто нет времени. >Это не лень, а политика администрации. Хорошо-хорошо, если это так важно — то наздоровье, такбы и сказали сразу. >это что ж, можно было каждые сутки постить пикчи из одного и того же пака? >как-то это совсем не торт. А для тех, кто сидит с телефона очень удобненько, например. >Если я вижу эксплоитабельную ситуацию, то я сам делаю нужный макрос, а не юзаю готовый. Ориджинал контент производить — всегда хорошее дело. Опятьже: когда есть время. А ещё всё, что ты говоришь уже говорилось тысячу раз, можно и не изобретать велосипед.
>>33097 >>33098 Посмотрите, плз, в консоли браузера не вылезает никаких ошибок javascript, случайно? Да, будет весьма продуктивно, если кто-нибудь, у кого такая ошибка стабильно возникает, свяжется со мной через контактик или скуп, и мы вместе с ним посидим какое-то время половим ошибку. Мне тоже интересно, из-за чего она возникает. >>34252 Ну это опять же уменьшает количество ориджинал контента на борде. Потому что в этом случае для того, чтобы запостить картинку повторно — даже никаких усилий прилагать не нужно, и в здравом уме пополнять паки никто не пойдёт. >>34257 >Кстати, иконка обнаружения куклоскрипта на борде у меня его не обнаруживает Хм. У тебя случайно не хром? С хромом связка кукла работает почему-то криво (у тебя, случаем, нет ли двух ссылок «ответить» внизу треда?) Если можешь, то проверь, плз, на фаерфоксе. >>34263 >пик отличный розенкомп =) >луркать в интырнетах подходящую картинку оченьчасто нет времени. у меня тоже нет времени, но чтобы годно проиллюстрировать что-нибудь, я не гнушаюсь даже креативить пикчи, не что их гуглить. >А для тех, кто сидит с телефона очень удобненько, например. Ну это ж не повод дискриминировать тех, кто сидит с компа. >всё, что ты говоришь уже говорилось тысячу раз Это да. =) Алсо, обнаружил досадный баг — после отправки поста форма чистится, а пароль не подгружается. Сегодня поправлю. А на выходных, думаю, сделаю переотправку, как предлагал в >>32846 : >1) Вместо редактирования поста будет кнопка «Отправить по-новой» (рядом с кнопкой «быстрый ответ»); >2) Эта кнопка будет открывать форму быстрого ответа, но с определёнными отличиями от кнопки «быстрый ответ»: >2.1) В полях «имя», «тема», «текст» будет то же самое, что в исходном посте (галочки сажа и ноко копировать, думаю, смысла нет); >2.2) Если в посте было прикреплено видео, то в зоне «Прикрепить» будет выбрано «Видео», в поле будет введён его id; >2.3) Если в посте была картинка, то в зоне «Прикрепить» будет выбрано «Ссылка», в поле будет введена ссылка особого вида (например, просто ссылка на пост типа «>>12345»); >3) Само собой, что как картинку, так и видео можно при желании приложить другое; >4) В поле «пароль» необходимо будет ввести пароль, идентичный паролю для удаления старого поста (он же останется паролем на удаление нового поста); >5) При нажатии кнопки «отправить»: >5.1) Если ссылка — специального вида, то файл по этой ссылке будет забэкаплен; >5.2) Если пароли совпадают, то старый пост будет удалён (иначе будет выдана ошибка «пароли не совпадают» и ничего больше не будет сделано); >5.3) После удаления будет отправлен новый пост (уже с другим id и датой), в который будет вложена указанная картинка или видео; >5.4) Если пост не получится отправить, то форма ответа останется нетронутой (иначе очистится и будет обновлён блок постов на странице, как при успешной отправке), но признак того, что это не обычная форма отправки, а форма переотправки будет снят, и можно будет отправить пост заново.
>>34667 >Посмотрите, плз, в консоли браузера не вылезает никаких ошибок javascript, случайно? Да, будет весьма продуктивно, если кто-нибудь, у кого такая ошибка стабильно возникает, свяжется со мной через контактик или скуп, и мы вместе с ним посидим какое-то время половим ошибку. Мне тоже интересно, из-за чего она возникает Шира тебе показывала, што там же, вот тут >>33716 например>< Ниакаких явах там нислова, просто не прогружается и дело с концом:с
>>34671 Я же писал в >>34272 : >Да, про это. Почти то, что надо, только попробуй еще раз так сделать, выключив сообщения типа «Network» (подозреваю, это делается либо через иконку с воронкой слева от надписи «top frame», либо треугольничком справа от нее, вероятно, галка типа «Hide network messages»).
>>34667 >Алсо, обнаружил досадный баг есть и другой баг, менее досадный — сылки в «ответах» отображаются в неправильном порядке.
>>31681 Ответ дублируется (из-за 2-х ссылок в посте).
>>34874 Ок, поправил. >>35020 Тоже поправил. Теперь, если на один пост ссылаются в другом посте несколько раз, то в карте ответов первого поста второй появляется только один раз, а не столько раз, сколько раз на него ссылались во втором посте (если кто понял, о чём я. =) Алсо, теперь удаление и репорт постов тоже сделан через js, а значит — скоро будет ускорено удаление нескольких постов и сделано квазиредактирование (в виде переотправки поста). Алсо, поправил для Кейт шапку её треда про радивач и сделал, чтобы после отправки поста пароль в форме ответа не сбрасывался, а «прикрепить» переключалось в «открыть файл» правильным образом.
Решила наконец разобраться в PHP, и мне стало интересно: как осуществляется добавка новых тредов, например, здесь? Откуда скрипт знает, в какую точку HTML-страницы пихать ссылку на тред?
Курисаба использует MySQL?
>>34247 В ханабире скорее всего просто проверяется хэш и если он есть в базе, то картинка линкуется с постом. Т.е в итоге одна картинка много раз переиспользуется что порой весьма экономит место. Однако это работает в условиях борды-архива, где резина. В старой маюри, например, было так же, но я при очередной обновлении это просто выпилил и не стал проверять хэши, пусть постят что хотят, это свободное общение как никак. >«WHERE 'timestamp' >= ». (time() — $postinglimit) А что, PDO уже не модно? Хотя весь код кусабы такой, я ж вам давно говорил чтобы поставили нормальный движок и пилили его. Ну или уж на крайняк начали разработку своего, уникального™.
Хомурапи, ты эта, нирассказывай про политику партии, а пили картинкоповторяемость же! Будь няшей^^ А лялкоскрипты нинужны же:3
>>32736Не помню, спрашивал ли: как у нового хостера дела с ffmpeg? Может теперь удастся превью webm файлов сделать?
>>36841 Здесь есть не очень эффективный, но тем не менее, простой механизм: при создании нового треда или бампе старого перегенеряются все страницы борды. При написании в уже существующий — перегенеряется страница треда, а также страницы первых и последних его постов. Соответственно, страницы борды и треда отдаются в уже готовом html. При перегенерении страницы борды треды сортируются по времени бампа, при перегенерении страницы треда посты сортируются по id. >>36869 Да. >>36889 >PDO Wut? Я просто в веб-технологиях не то, чтобы очень труъ собственно, курисаба — первый мой серьёзный проект, в который я что-то пилю, вот, благодаря ей, нехило так взботал DOM, jquery, AJAX, передачу данных с помощью JSON и подобные вещи. >Хотя весь код кусабы такой, я ж вам давно говорил чтобы поставили нормальный движок и пилили его И в него вновь запиливать те фичи, которые мы тут сделали? Вроде бы, большинство пока и этот устраивает. >>36897 >а пили картинкоповторяемость же! Чтобы потом все заспамили тут всё одинаковыми картинками? =) Ну какой тогда это будет ИБ? Так у вас есть хоть минимальная мотивация это я про пиксели вставлять. >>36966 ну в выводе phpinfo(); упоминаний о libffmpeg или чём-то подобном нет, а exec() и всё подобное на хостинге запрещено =(
phpinfo();
exec()
>>36969Может хостеру попробовать написать? Авось добавит.
>>36969 >pic Блядь, смеюсь, как ебанутый, с этой картинки. Сделал день.
>>36974 Ок, попробую сегодня написать. >>36978 Ну да, бывает и годнота в моём пикчепаке. =)
Итак, я (с опозданием на неделю от первоначально заявленных планов, лол =) сделал вам «редактирование». Открывается кнопочкой с карандашиком в посте (там же, где форма быстрого ответа). По результатам обсуждения выше я понял, что редактирование надо делать не в формате исправления занявшего своё место поста, а в формате переотправки (удаления исходного и отправки нового). Само собой, чтобы «отредактировать» таким образом пост, надо ввести как пароль (чтобы старый пост смог удалиться), так и капчу (чтобы новый смог отправиться). В случае, если старый пост удалился, а новый не отправился (например, капча неправильная) — форма редактирования остаётся открытой (и превращается в форму обычного ответа), то есть можно попытаться отправить пост ещё раз. Различие формы редактирования и ответа — это надписи вида «Фикс 12345» и просто «>>12345» справа от кнопки «Ответ». После удачного удаления, но неудачной отправки картинка из старого поста (доступная по ссылке вида >>1234567890123.жпг или подобной) хранится 10 минут, так что если продолбать это время, то придётся заливать её ещё раз. Видео, очевидно, «хранится» столько, сколько оно хранится на ютубе, вимео или кубе, лол. Алсо, сделал нумерацию постов (теперь сразу видно «скока там ищо до бамплимита»). Само собой, можно её отключить в настройках. Ещё теперь посты удаляются тоже через javascript, так что можно смотреть, какой пост именно сейчас удаляется (к сожалению, я не придумал пути, как можно обойтись без ребилда треда после удаления каждого одиночного поста: при проблемах с паролем это приведёт либо к тому, что после неудачного удаления тред не обновится, либо к тому, что даже введя неправильный пароль, можно устроить эдакий DoS на курисач, заставляя его многократно перегенерять один и тот же тред без ввода правильных капчи или пароля). Ну и ещё много мелких правок сделал (см. ниже). Алсо, >>36974, печалька: Welcome to the One.com chat support. We are doing our best to answer your queries soon. We kindly ask for your understanding that our answers may be delayed during busy periods. You are number 1 in the queue for our customer support. Currently the estimated waiting time is 0 minutes and 10 seconds. You are now chatting with 'Devlon' Devlon: Thank you for using One.com 24/7 Interactive Online Support. My name is Devlon. How may I assist you? Devlon: Hi there! you: Good day! Is it possible to use something like ffmpeg executable or library through PHP on your hosting? Devlon: No, ffmpeg isn't supported on our servers. you: As far as I know, exec() and similar things are prohibited there, abd libffmpeg is not exist in phpinfo(); output you: Ok, it's a bit sad. Then thank you for information. Традиционный дамп трекера: — вылетает опера (major) (hard) — путь решения неизвестен — длинные скрипты в админке вызываются два раза (проблема сервера?) (normal) (hard) — путь решения неизвестен — если нет куков, отдаются просроченные страницы (normal) (medium) — путь решения неизвестен — добавить редактирование поста (major) (hard) — DONE — внезапно тег code и инлайновый код не всегда работает (normal) (medium) — DONE — javascript-удаление и репортинг постов (minor) (hard) — DONE — добавить иконку статуса куклоскрипта (реквест Лита) (minor) (easy) — DONE — (NEW) после отправки поста форма чистится, а пароль не подгружается (minor) (easy) — DONE — (NEW) сылки в «ответах» отображаются в неправильном порядке (minor) (medium) — DONE — (NEW) ответ в списке ответов дублируется (из-за 2-х ссылок в посте) (minor) (easy) — DONE — (NEW) надо, чтобы «прикрепить» переключалось в «открыть файл» правильным образом (minor) (easy) — DONE — (NEW) ссылка ломаная «видео с этим id уже находится здесь» (minor) (easy) — DONE — (NEW) сделать отключаемый показ номера поста в треде (minor) (medium) — DONE — (NEW) борд-темплейт: где «ответ» добавить пробел (minor) (easy) — DONE — ускорить удаление постов (minor) (medium) — CANCELLED (javascript-удаление сняло лимит в 50 секунд, а безопасно ускорить нельзя, чтобы не дать путь к возможности DoS-а) — (NEW) с хостером решить вопрос с ffmpeg (minor) (easy) — CANCELLED (хостер сообщил, что ffmpeg у него не поддерживается) — (NEW) в некоторых тредах у некоторых людей не грузится капча (?) (major) (medium) — NEED INFO — видео+картинка (major) (hard) — отключаемые звуковые оповещения о новых постах (normal) (medium) — спойлеры картинок (normal) (medium) — (NEW) детектить ошибки в расширении файлов (к примеру, jpg как png) (normal) (medium) — cделать отдельно однопоток постов как на хорочане или как на хайбане (minor) (medium) — анимированные превьюшки, выключенные по дефолту (minor) (medium) — отключаемое автообновление новых постов по таймеру, как на других бордах (minor) (medium) — (NEW) разворачивающийся спойлер (minor) (medium) — (NEW) ускорить статистику (minor) (easy)
Welcome to the One.com chat support. We are doing our best to answer your queries soon. We kindly ask for your understanding that our answers may be delayed during busy periods. You are number 1 in the queue for our customer support. Currently the estimated waiting time is 0 minutes and 10 seconds. You are now chatting with 'Devlon' Devlon: Thank you for using One.com 24/7 Interactive Online Support. My name is Devlon. How may I assist you? Devlon: Hi there! you: Good day! Is it possible to use something like ffmpeg executable or library through PHP on your hosting? Devlon: No, ffmpeg isn't supported on our servers. you: As far as I know, exec() and similar things are prohibited there, abd libffmpeg is not exist in phpinfo(); output you: Ok, it's a bit sad. Then thank you for information.
>>37121Какой плохой, этот ваш хостер.
>>37121 сейчас будем устанавливать все игры тестить редактирование постов nya ура,все работает же.
Сломался автоматический переход при ответе в тред. Это раз. Два — при постинге с доски (не с треда) периодически кушает сообщения. Из трёх отправилось только два. Не знаю, какие нужны данные. Пишет «капча была введена неверно» — пост при этом пропадает. Так же стало при ответе сбрасывать вниз страницы доски. Непорядок.
Хамурыч-тян, ну проверь ты Ширу по ойпиже — малали там штота левое лезет и из-за этого всё и приключается. Уже четыре раза за сегодня выбирала лисапеты, горы и прочие картошки же:с
>>37123 Угу =( Впрочем, сейчас вроде как превьюшки средствами браузера нормально отображаются, единственное — я не могу узнать их размер, длительность и всё такое. >>37132 Отлично =) >>37154 >Сломался автоматический переход при ответе в тред. Очень странно, у меня потому что всё работает (только что проверил). Скажи, пожалуйста, 0) что за браузер (+версия) и стоит ли куклоскрипт (если стоит, то включен или выключен, и правильно ли определяется его наличие?); 1) в каком положении у тебя галочка «Javascript-подгрузка постов после отправки» в верхнем меню; 2) в каком положении у тебя галочки «noko» (должна быть включена, очевидно) и «отправка через javascript» в постбоксе; 3) через какой постбокс ты отправляешь (быстрый ответ или обычный постбокс); 4) отправляешь ты со страницы треда или борды; 5) что происходит вместо перехода в тред (выдаются ли какие сообщения, появляются ли ошибки в консоли, происходит полная перезагрузка страницы, происходит переход на страницу «success»/«ошибка», ещё что-нибудь подобное)? >при постинге с доски (не с треда) периодически кушает сообщения. Из трёх отправилось только два. Хм, это как вообще? Теоретически, если сообщение не отправлено, он не должен ничего делать. Сломалось что ли? Если да, то плохо. Тогда нужна та же самая информация, что и в предыдущем пункте. «Капча была введена неверно» пишет в окошечке сверху, или переходит на новую страницу? >Так же стало при ответе сбрасывать вниз страницы доски. Поправил. Издержки работы getnewposts(); были. >>37191 Если это клаудовская капча, то вроде пофиксил, у меня в логах было три раза «bad browser» (правда, странно, что три, а не четыре). UPD: сделал желающим автообновление тредов через 20 секунд и звуковое оповещение о новых постах. Включаем в настройках и тестим =) UPD2: а ещё сделал вот такие каты: Развернутьэто инлайновый кат, делается тегом [ cutline ] текст [ /cutline ], и вот такой:Развернутьэто многострочный кат, делается тегом [ cut ] текст [ /cut ]. Можно запиливать много строк внутри него, как видно. Разница между ними такая же, как между инлайновыми и построчными цитатами или инлайновым и блочкым кодом.
getnewposts();
>>37269 0) Хром 48.0.2564.109 m, стоит включен. Наличие не определяется, но всё остальное функционирует приемлемо. 1) Включена (была на тот момент, на данный — отключена) 2) Включена (отправка в пост бокса включена) 3) Через «ответить на пост» куклоскрипта, полагаю это быстрый ответ 4) Со страницы борды. 5) Ничего не происходит. Кидает вниз страницы, выскакивает стандартное у меня «неправильно введена капча» (даже если она введена правильно) сверху по центру и всё. >«Капча была введена неверно» пишет в окошечке сверху, или переходит на новую страницу? Сверху по центру. Вроде так. Никаких иных окошек с ошибками не заметила.
>>37280 >Хром 48.0.2564.109 m, стоит включен. Наличие не определяется Ох, понятно. Хром вообще странно работает с куклоскриптом на кусабоподобных бордах (яркий пример — две ссылки «ответить» или «новый тред» в нижнем сваппере). >2) Включена (отправка в пост бокса включена) То есть, обе галки «noko» и «отправка через javascript» включены, так? >3) Через «ответить на пост» куклоскрипта, полагаю это быстрый ответ Боюсь, что это отдельная форма, которую делает куклоскрипт (как и обычный постбокс) — ибо такая же фича у него есть даже на бордах, где формы быстрого ответа нет (вальпургисчан, например). Еще такая просьба: можешь посмотреть, при подобной отправке в консоли не появляется никаких ошибок javascript? Попробовал повторить эту же вещь через форму быстрого ответа без куклоскрипта — всё сработало на ура. Завтра попытаюсь сымитировать эту ситуацию с куклоскриптом на Хоро и Хроме.
>>37345 Странно. Теперь даже со всеми прежними настройками нормально перекидывает в тред. Ладно, оставим пока. Ты мне лучше скажи: нормально, что окошки с ошибками по центру, а так же форма быстрого ответа без куклоскрипта — прозрачные?
>>37348 >Странно. Теперь даже со всеми прежними настройками нормально перекидывает в тред. Хм... Жесть какая-то. >нормально, что окошки с ошибками по центру, а так же форма быстрого ответа без куклоскрипта — прозрачные? Нет. Какой стиль включен? Включение/выключение куклоскрипта влияет на это?
>>37352 >Какой стиль включен? >Включение/выключение куклоскрипта влияет на это? Куклоскрипт всё правильно отображает в форме ответа. Однако форма ошибки по центру — попрежнему прозрачная. Гурочан, но с любым другим — ситуация та же.
>>37355 Сам проверить не успел (последнеие два дня адов завал на работе), но говорят, что прозрачности этой не наблюдается. Попробуй почистить кэш браузера, потому что такая ошибка была когда-то давно — может, просто css не обновился с тех времён, а браузер не посылает запросы с If-Modified-Since. Если не поможет — посмотри в консоли в инспекторе, какой стиль назначен тому, что прозрачно, попробую разобраться.
После обновления лисы: При попытке постить с картинкой. Error: Accessing TypedArray data over Xrays is slow, and forbidden in order to encourage performant code. To copy TypedArrays across origin boundaries, consider using Components.utils.cloneInto(). at cleanFile (Dollchan_Extension_Tools.user.js:11622:1) at html5Submit$ (Dollchan_Extension_Tools.user.js:11539:13) at tryCatch (Dollchan_Extension_Tools.user.js:2204:37) at invoke (Dollchan_Extension_Tools.user.js:2480:22) at defineIteratorMethods/
>>37534 Обновление greasemonkey помогло.
>>37534 Т-только что проверил отправив пост с лисы. Работает все. >>37544 О, ну хорошо раз все заработало.
Обнаружила, что в течении 10 минут можно аватаркофажить 1 пикчей без изменений. Думаю вызвано новой формой редактирования постов. Вопрос в следующем: может стоить тогда это время расширить? Какие подводные камни? Зато можно было бы аватаркофажить, не меняя пиксели.
Где сохраняются данные «options»?
>>37534 >>37544 Да, судя по сообщениям, это проблема в использовании в связке greasemonkey+куклоскрипт фишки, которую новая Хоро посчитала устаревшей. Курисач тут ни при чём =) >>37547 О.о а вот это интересно. Дай линк на пост с одинаковыми картинками, посмотрю, в чём дело. Такого быть не должно — когда хэш в базе, то новый файл с тем же хэшем добавить нельзя. >>37593 В localStorage. Посмотреть содержимое можно, введя в консоли браузера на странице с курисачем localStorage; и ткнув на выданный результат. Ну и покликав по значениям, можно их поменять, либо удалить. Сам алгоритм сохранения/загрузки настроек находится в строках 1870-1896, и соответствие названий и текста — в строках 84-93 файла kusaba.new.js. Кстати, для тех, кто юзает куклоскрипт: какая такая киллер-фича в нём есть, которая нужна на Курисаче, а в дефолтной курисабе её нету?
localStorage;
Итак, после 10 часов поиска бага с необновляющейся капчей вместе с Ханакофагом (за что ему грейт респект) мы, кажется, всё-таки доползли до сути этой проблемы. Дело было в разных дефолтных параметрах тега <video> у хрома, оперы и Хоро. Кстати, вылеты оперы могли быть связаны тоже с этим. Если кому интересна подробная информация: Развернутькороче, Хоро — мудрая волчица и когда видит тег <video>, подгружает картинку и метаданные — что делается быстро и беспроблемно а хром, и наверное, опера — пытаются грузить всё видео целиком, причём не после того, как ты нажмёшь play, и даже не после того, как видео покажется на экране, а СРАЗУ сразу все-все видеофайлы в треде! естественно, к такому жизнь никого не готовила и кто-то ложится — или хром, или клауда, или хостинг — и блочит дальнейшую отдачу данных и до капчи дело не доходит то есть, Хоро автоматически подразумевает параметр preload=«metadata» при подгрузке видео я попробовал поставить preload=«none», чтобы увидеть, в этом ли дело, запретив подгрузку вообще каких бы то ни было данных о файле и оно сработало потом напрямую поставил preload=«metadata» и для Хоро ничего не поменялось (она всё-таки сама подразумевает preload=«metadata»), а хром и опера, которые по умолчанию грузили всё видео, теперь грузят только метаданные какая же всё-таки Хоро мудрая волчица =) и как же опыт общения с ней расслабляет при работе с остальными её коллегами, получается =) Те, у кого в каких-то тредах не грузилась капча — просьба почистить кэш браузера и попробовать ещё раз зайти в тот тред — проверить. Те, у кого опера вылетала — тоже обратите внимание, не стала ли она вылетать ощутимо реже (думаю, это могло бы быть одной из веских причин). Алсо, я сделал так, чтобы обновление по таймеру подгружало только новые посты, не трогая старые. Это позволяет избежать той проблемы с ребилдом всей области постов, когда страница дёргается вверх-вниз (однако, очевидно, удалённые посты при этом не исчезают, а в старых постах остаётся старая же карта ответов). Чтобы обновить все посты треда — достаточно вручную ткнуть «Получить новые посты», и вуаля. И да, ответьте же мне, наконец, на вопрос в >>37747 : >Кстати, для тех, кто юзает куклоскрипт: какая такая киллер-фича в нём есть, которая нужна на Курисаче, а в дефолтной курисабе её нету? Итак, как обычно, summary по новой пачке правок: — в некоторых тредах у некоторых людей не грузится капча (major) (hard) — DONE — (NEW) при автообновлении сделать страницу более стабильной. А то она немного прыгает вверх когда обновляется. (normal) (hard) — DONE — отключаемые звуковые оповещения о новых постах (normal) (medium) — DONE — детектить ошибки в расширении файлов (к примеру, jpg как png) (normal) (medium) — DONE — (NEW) у тега code сделать max-width (normal) (easy) — DONE — (NEW) квотинг кавычек при редактировании поломался (normal) (easy) — DONE — отключаемое автообновление новых постов по таймеру, как на других бордах (minor) (medium) — DONE — разворачивающийся спойлер (minor) (medium) — DONE — (NEW) сломался автоматический переход при ответе в тред (normal) (hard) — CANCELLED (>>37348 >Ладно, оставим пока, баг не подтвердился) — (NEW) при постинге с доски (не с треда) периодически кушает сообщения (normal) (hard) — CANCELLED (>>37348 >Ладно, оставим пока, баг не подтвердился) — (NEW) проверь ты Ширу по ойпиже — малали там штота левое лезет и из-за этого всё и приключается. Уже четыре раза за сегодня выбирала лисапеты, горы и прочие картошки (minor) (easy) — DONE — (NEW) стало при ответе сбрасывать вниз страницы доски (normal) (easy) — DONE — (NEW) окошки с ошибками по центру, а так же форма быстрого ответа без куклоскрипта — прозрачные (minor) (easy) — DONE — (NEW) в течении 10 минут можно аватаркофажить 1 пикчей без изменений (minor) (easy) — CANCELLED (баг не подтвердился; проблемы с куклой, в которой иногда работает галочка «отправлять одинаковые пикчи», а иногда — нет) — оптимизировать загрузку (normal) (hard) — DONE (сделал всё что мог, в основном ускорила всё отложенная загрузка смайлов) — (NEW) переотправка ОП-поста приводит к удалению треда — влепить предупреждение (minor) (easy) — DONE — (NEW) не работает переотправка ОП-поста (minor) (easy) — DONE — (NEW) останавливать автообновление постов, когда на экране есть окошко сообщения (minor) (easy) — DONE — длинные скрипты в админке вызываются два раза (проблема сервера?) (normal) (hard) — путь решения неизвестен — если нет куков, отдаются просроченные страницы (normal) (medium) — путь решения неизвестен — вылетает опера (major) (hard) — NEED INFO (проверяйте, всё ещё вылетает?) — (NEW) говорят, при постинге иногда пост не отправляется и перебрасывает на нулевую (major) (medium) — NEED INFO (не могу воспроизвести) — (NEW) «этот тип файла не разрешён к отправке на эту доску» у Клары (normal) (medium) — NEED INFO (не могу воспроизвести) — видео+картинка (major) (hard) — (NEW) запилить каталог а-ля нульчан (minor) (hard) — спойлеры картинок (minor) (medium) — cделать отдельно однопоток постов как на хорочане или как на хайбане (minor) (medium) — анимированные превьюшки, выключенные по дефолту (minor) (medium) — ускорить статистику в админке (minor) (easy) — (NEW) предпросмотр поста не закрывать при клике по кату (minor) (easy) А теперь я, наконец-то, пойду спать... =)
>>37999 >>Кстати, для тех, кто юзает куклоскрипт: какая такая киллер-фича в нём есть, которая нужна на Курисаче, а в дефолтной курисабе её нету? Что-то подобное прикреплению одинаковых пикч же. Если я со старой разобраться не могу. >ломался автоматический переход при ответе в тред Больше не наблюдаю данной проблемы. Видимо она была тогда же, когда страницу бросало вниз. >при постинге с доски (не с треда) периодически кушает сообщения Так же после фикса сброса вниз страницы — больше не замечала. >если нет куков, отдаются просроченные страницы А мне нравится. Этакая зощита от всяких набегачеров, которые хотят гет взять.
>>37999Интересно, как preload metadata работает. Браузер для этого в любом случае должен загрузить часть видео, а значит происходит http запрос с последующим разрывом соединения. Или нет? Даже любопытно стало, никогда о таком не слышал.> Кстати, для тех, кто юзает куклоскрипт: какая такая киллер-фича в нём есть, которая нужна на Курисаче, а в дефолтной курисабе её нету?Скрытие сообщений по регуляркам, например, но это непросто и не нужно.>>38001> А мне нравится. Этакая зощита от всяких набегачеров, которые хотят гет взять.Вот только при первой же загрузке страницы браузером, куки заполняются всякими кусабонастройками. Твоя теория не рабочая.
>>37999 >«этот тип файла не разрешён к отправке на эту доску» у Клары (normal) (medium) — NEED INFO (не могу воспроизвести) Берешь файл не картинку, например doc, выскочит ошибка. >>38029 >Вот только при первой же загрузке страницы браузером, куки заполняются всякими кусабонастройками. Твоя теория не рабочая. Ага, а если я например, я буду пытаться взять гет скриптом, то я сохранение сессии приделаю.
>>38001 >Что-то подобное прикреплению одинаковых пикч же. А, ну ок, тогда понимаю ибо этой вещи, надеюсь, в курисабе не будет. >>38029 >Интересно, как preload metadata работает Похоже, это суровая тайна, которая устроена по-разному в разных дебрях разных браузеров. Вот, например, тут эту загадку пытались решить: http://www.stevesouders.com/blog/2013/04/12/html5-video-preload , но не факт, что всегда так. По крайней мере, у меня Хоро ведёт себя так: запрашивает весь файл, но прерывает загрузку на отметке от 300 килобайт до 2 мегабайт (в то время, как сервер отдаёт ей Content-Length, например, 6 или 18 мегов). Вероятно, тогда, когда понимает, что полученного ей достаточно, чтобы отобразить картинку и т.п. >Скрытие сообщений по регуляркам А, понятно. Думаю, вряд ли значительное количество народу этим пользуется, так что это тоже можно оставить на откуп кукле. >>38053 >Берешь файл не картинку, например doc, выскочит ошибка. Это понятно, но у Клары эта ошибка возникает даже когда он вообще файл не прицепляет к посту.
>>38116 Вот такая шутка. Собственно ссылка http://vignette2.wikia.nocookie.net/rozenmaiden/images/2/2b/Rozen_Maiden_Suigintou_Mercury_lamp_shoes_ver_01-2-03.jpg/revision/latest?cb=20120730153014&path-prefix=ru
>>38123 >шутка Штука. Самофикс.
>>38123 Хм. Запишу себе, поправлю, как получится. Да, там просто расширение файла не отдаётся, поэтому надо по контенту смотреть будет.
Хомура-нян,а что такого из программирования лучше учить,что по легче и полезнее было,яву или css+html
>>38116То есть всё равно делается куча полноценных запросов, да ещё и с разрывом соединения. Это ведь тоже большая нагрузка, странно что клауда и хостинг от этого не ложится.>>38240css+html это вообще не программирование. А джаву можешь поучить. Если ты вообще никогда этим не занимался, то не так важно, с чего начинать. Бери любой популярный язык программирования по принципу «название нравится» и вперед.не-совсем-хомура-нян
>>38246 я никогда подобным не занимался, а java нужна и сложна? не-совсем-хомура-нян
>>38255Один из самых востребованных на рынке языков. Не очень сложно. Хотя я сам не большой любитель этого языка. Решай сам, ты всё равно не станешь получать деньги сразу как начнёшь изучать, так что всё это сейчас не важно.
>>38289 Джаваскрипт это говно которое устаревает и скоро вымрет, как сейчас вымирает флеш. Не нужно советовать это. >>38240 Учи лучше питон, это актуальный ЯП, на нем можно писать как веб-приложения, так и под винду \ линукс и т.д. Сам вот думаю начать учить, но все откладываю. Увидел ахуенные советы, не удержался. мимо-клара
>>38291> Джаваскрипт это говно которое устаревает и скоро вымретВот это прикол. Кстати, при чём тут джаваскрипт вообще?> Увидел ахуенные советы, ничего не понял, вот и не удержался.Теперь правильно.Кстати, парсер не обрабатывает emoji, обрезая весь пост после него. Хомура, попробуй исправить.
>>38240 Прежде всего задай себе вопрос «зачем тебе это» (нет, я не отговариваю, а именно задаю вопрос, потому что от этого зависит ответ). Вообще, если ты видишь себя в будущем именно профессиональным программистом, то лучше начинать с чего-то относительно низкоуровневого, на чём можно понять базовые принципы (в идеале — С, но в принципе, как замена пойдёт что-нибудь типа паскаля, лол) и научиться думать, как программист. Почему я говорю так? Потому что с С переползти на любой язык достаточно просто, потому что принципы везде одни и те же, но зато если сразу привыкнуть к плюшкам типа нестрогой типизации и не учиться работать с памятью (как в веб-программировании на php или вообще javascript, лол =) — то заботать что-то другое становится адски сложно, потому что надо будет менять сложившийся образ мыслей и потом всюду ловить себя на необъявленных переменных или на memory leak-ах и тотальных тормозах из-за неумения нормально создавать и удалять объекты. Один из гуру программирования, Дональд Кнут, вообще для объяснения алгоритмов придумал собственный «мысленный» процессор и компьютер (MIX), на языке ассемблера которого он эти алгоритмы и излагает, так что С — это ещё цветочки, лол. А ещё заодно в процессе изучения ты поймёшь, твоё ли это, и быть ли тебе программистом или нет. Главный принцип — не надо учить язык, надо учиться программировать. Если ты будешь уметь программировать, то любой адекватный язык ты сможешь выучить буквально за день (я сейчас не говорю про BF и прочую эзотерику). Сложность здесь не в обучении языкам, а в обучении используемым в написании проги технологиям (в том числе библиотекам). Есть противоположная точка мнения — учить то, что сегодня «модно», но имхо, она справедлива только в том случае, когда это не твоё основное занятие, и ты хочешь, к примеру, просто уметь делать кое-какие интерактивные сайтики, например, не погружаясь в дебри именно общепрограммерского ремесла (ну это как с гитарой: если хочешь стать Блэкмором и играть в Deep Purple — то тебе надо ботать одно; если распевать «всё идёт по плану» в походах у костра — совершенно другое я, кстати, очень жалею, что в своё время пошёл по второму пути, в итоге теперь в гитарных делах достиг своего потолка и дальше никак, потому что уже в мозгу засели специфические моторные паттерны, что ли.) В таком случае да — php, javascript+DOM, jquery, ajax, html5+css, xml+json, http, sql — это всё технологии (то есть не только языки программирования, но, например, и языки описания, язык запросов, библиотека, метод работы и стек протоколов) из этой области. Но сразу будь готов к тому, что как только тебе потребуется что-то более сложное или смена области применения — то ты сразу же будешь затрачивать кучу усилий, чтобы приучить себя к чему-то новому. Кстати, насчёт опыта программирования: когда ко мне попала курисаба, я поначалу в ней ничего не понял и подумал, что хрен я с ней разберусь — Ханакофаг, наверное, ещё помнит мои попытки спихнуть на кого-нибудь уход за курисабой, лол. Но некоторые эксперименты (с пониманием, в каком направлении экспериментировать) и изучение исходников мне буквально за пару недель неспешного копания дали понять, что я вполне могу с ней совладать (и это при том, что я кое-как был знаком только с php, многое из остального я знал только поверхностно — а-ля «есть такая штука жаваскрипт, ей как-то можно делать какой-то интерактив на страницах, а ещё есть таинственный аякс, которым типа можно страницу загружать, но не загружать лол», а про jQuery я тогда вообще не знал). Алсо, можешь почитать тред >>9098, там ближе к концу сходный вопрос разбирается. >>38246 >То есть всё равно делается куча полноценных запросов, да ещё и с разрывом соединения. Это ведь тоже большая нагрузка, странно что клауда и хостинг от этого не ложится. Думаю, тут разница в том, что эти вопросы достаточно быстро выполняются (особенно если учесть эмпирически установленный лимит на 5 одновременно открытых подключений с одного ip — уж не знаю, лимит ли это клауды или хостинга, к которому все запросы клиента идут через один «луч», кажется). Быстрые запросы пролетают быстро, а пять полновесных видюшек закупоривают всё, и пока не прогрузятся — не дают грузиться странице дальше. >>38293 >Кстати, парсер не обрабатывает emoji, обрезая весь пост после него. Хм. Можешь запилить мне текстовый файл с текстом, который парсер обрезает и выложить куда-нибудь на файлообменник? Я посмотрю, что в нём так не нравится движку. Кстати, няши: никто не хочет себе элитную почту @kurisa.ch лол? =) Если кто хочет, то посылайте мне на akemi_homura@да-да, kurisa.ch логин, я заведу и в ответном письме пришлю пароль (его потом можно будет сменить) и инструкцию как и куда входить (есть как вебпочта, так и pop+smtp/imap).
>>38296http://pastebin.com/nByG9cif
>>38296 Еще есть препроцессоры для css забыл (LESS, SASS. все дела).
>>38305 Ок, спасибо. Записал в баглист, как дойдут руки до копания в движке — попробую. >>38317 Олололо, только хотел спросить, когда уже там двадцатый том. Так вот, когда же, Неко? =)
>>38354 хотел бы я и сам это знать,обещали в конце месяца или в начале нового,в общем как только так сразу же. Что то от Рудеуса я ожидал большего,какой то кавайный дохляк,я минимум Гатса ожидал увидеть,а тут такое.
Хомура-нян,мне нужно такое типа в переходе лабать Сектор газа и что бы прохожие мелочь бросали,не сложное и с быстрым результатом
Однажды Neko сосал мой член.
>>38360Как будто что то плохое  ̄ω ̄
>>38360 Этим членом был Альберт Энштейн.
>>38357 Ну Рудэус, лол, типичный альфач жи. Мне больше Нанахоши импонирует же (она же целеустремлённая няша, совсем как Хомура, да. =) >>38359 Щито?
>>38439 ладно,нэки попробуют яву помучать.
>>38453 Лол, я-таки понял про что ты. Ок, попробуй помучать. Кстати, так, на всякий случай, а то вдруг: java и javascript — это немного разные вещи.
>>38481Ага, совсем немного.
>>38500 Я думал, что было понятно, что это пикрелейтед.
>>38600Сарказм по отношению к тому, кто не разбирается в вопросе, — очень злая шутка.
>>38643 Ну я просто немного привык иногда использовать слово «немного» в качестве эвфемизма для «совсем» и подобных понятий вот и сейчас...
Хомура-нян зайди в вк.
Хомура-нян! Что произошло?
>>39310 Отвечу з-за него. С хостингом что-то было. Точнее он ненадолго перестал работать.
>>39310 >>39311 А что именно было, кстати?
>>39332 Писало, что сервер не работает, посекундно обновляя страницу.
>>39333 А скриншота не осталось? Просто интересно, кто писал: клауда, хостинг или вообще какой-нибудь проксик провайдера, например.
>>38291 Девяталь, ты то куда лезешь хуисосина, тупой дебил? Во-первых не надо путать java и javascript. Во-вторых js активно развивается и уходить никуда не собирается(с фронтенда уж точно). В-третьих есть нода, которая позволяет писать и бекенд и фронтенд. Другое дело что жс как первый ЯП бы никому не советовал.
>>39373 лол, «ускорить статистику в админке» прочитал «покорить статистику в ад!» =) отличная пикча, бтв =)
>>39373 Кек, напомнило похождения мистера Rubbish'a.
Хомура-нян,всегда задавался вопросом,существует ли софтина,при помощи которой можно посмотреть из за какой детали компьюктерна тормозит игра,ну диагностика какая нибудь,или по верх игори окошко о загруженности системы.
>>39589 Увы, адекватного подобного софта я не видел. Тут надо смотреть, где узкое место: скорость диска, загруженность сети (если игра по сети, конечно же), объём оперативки, быстродействие и объём памяти видюхи, быстродействие проца и т.п. С другой стороны, перебрать все эти варианты можно и ручками (память и проц, к примеру, отлично отслеживаются в том же диспетчере задач, про видюху, скорее всего, существуют соответствующие тулзы от ати и нвидии, и т.п). Можно попробовать поставить комбайн типа AIDA и в нём посмотреть.
Хомура-нян, а Андрей Иванов — это ты?
>>40684 Как ты смог меня раскрыть? =)
>>40690 Это ты насмехаешься или и правда непонятно, как? Я даже домашний адрес твой знаю.
>>40684 Н-нет, это не Хомура-нян.
>>40684 >>40692 Таки-нет (и если немного почитать этот тред, да и Курисач дальше нулевой, то это можно было бы понять). Хомура, конечно, тоже не сильно переживает по поводу возможных деанонов (корректировать воспоминания, как Тсучимикадо-доно, Акума отлично умеет, хехехехе), и теоретически, если хорошо изучить Курисач, меня тоже возможно сдеанонить (хоть и не до ИРЛ-адреса). Но там, откуда ты эту инфу взял, анон (а я знаю, откуда) — инфа не моя. >>40690 Лол, у нас вторая Акума в треде? Наверняка, это проделки ведьмы! =) Впрочем, ведьмы не очень сообразительной, ибо та не знает, что в нашем мире даже Дьяволу приходится вкалывать по рабочим дням (и только в промежутке с 14 до 15 Она позволяет себе расслабиться, когда у всех «нормальных» обед, а у Акумы — Курисач, лол), а кроме того, если уж Она дорывается до Курисача — то начинает массированную атаку постами на все треды, где были новые посты, лол. =)
>>40775 А я т-то думал как ты смог написать так рано.
Тест
Хомурапичка, а давай зашатаешь курицабу так, шоб при осмотре доски посты имели ограничение на выглядывание? Ато ваши с Канюшкой стены оче мешают када тредик ищешь же:3
>>32736 Хому-тян реквестирую спиздить с куклы скрытие постов. Фича полезная. А еще у тебя чутка фрейм барахлит, если ответить на пост с главной используя фрейм, то страничку колбасит пытаясь редиректнуть, не редиректит, а потом если опять нажать на номер поста то перенаправляет в тред.
>>32736 О, Хомура. А можно немного подробностей? На чём базируется Курисаба? Как работает?>>32820 >нет сообщения о том, что пост был отредактирован. Мне кажется такой подход крайне мерзким. Сообщение изменено, а никто и не знает. Я вообще за то, чтобы не было ни редактирования, ни удаления. Написанное пером.>>36969 >ну в выводе phpinfo(); упоминаний о libffmpeg или чём-то подобном нет, а exec() и всё подобное на хостинге запрещено =( Это очень, очень грустно.>>38291 >Джаваскрипт это говно которое устаревает и скоро вымрет, как сейчас вымирает флеш. Не нужно советовать это. Что, простите? Нет, конечно, все мы умрём когда-нибудь, но этот язык по темпам развития сейчас топовый. Не думаю, что его поддержка прекратится хоть сколько-нибудь близко.>>39589 >Хомура-нян,всегда задавался вопросом,существует ли софтина,при помощи которой можно посмотреть из за какой детали компьюктерна тормозит игра,ну диагностика какая нибудь,или по верх игори окошко о загруженности системы. Называются утилитами для профилирования. Есть такие, конечно. Используются разработчиками, весьма активно. Но вот есть ли для обычного пользователя — не знаю. Если есть возможность, лучше просто брать сбалансированное железо без особых пробелов в скорости. А вот по этому вопросу Хомура подскажет куда лучше меня.
>>42074 >ни редактирования Фигушки тебе, Кана им пользуецца, например. >ни удаления Ага, напишешь в посте с тыщу знаков, наошибаешься, напутаешь с разметкой так, што тебе пост весь перекудолчит, а его потом ещё и удолить нельзя — это ты здорово придумал, точно-точно.
>>42074> На чём базируется Курисаба?На инстант-нульче, который, в свою очередь, на кусабе х.> Как работает?Как и большинство современных движков — через жопу. Посмотри, как работает кусаба, каких-то серьёзных отличий нет.> ни удаления.Глупо. Минусов от возможности удаления гораздо меньше, чем плюсов.хомуразаменитель
>>42040 В смысле, на странице борды показывать только первые n символов каждого поста, где n, например, 1000, да? Хорошо, записал. >>42066 >скрытие постов В смысле, скрытие постов по имени, да? Или как? >чутка фрейм барахлит, если ответить на пост с главной используя фрейм, то страничку колбасит пытаясь редиректнуть, не редиректит, а потом если опять нажать на номер поста то перенаправляет в тред. Хорошо, спасибо, посмотрю. >>42074 >На чём базируется Курисаба? Когда-то это была KusabaX, потом из неё сделали нульчедвижок, а я уже допиливал его по реквестам и по своим идеям, в итоге получилась вот эта вот курисаба. =) >Как работает? Эмм... ну, хорошо работает, подтормаживает порой, глючит иногда, кухихихи, но так — норм. Я просто не очень понимаю, что реквестуется в ответ на этот вопрос. >Мне кажется такой подход крайне мерзким. >Сообщение изменено, а никто и не знает. Я предлагал несколько разных вариантов, решающих эту проблему, но в итоге сошлись на нынешнем. Сейчас основная проблема — оборванные ссылки на посты, которые кто-то отредактировал. >Я вообще за то, чтобы не было ни редактирования, ни удаления. Ну ошибки в постах всегда случаются, так что не вариант. Тут просто важен баланс: чтобы не был слишком лёгким троллинг с редактированием, но при этом можно было бы исправить неправильно оформленный пост — или удалить отправленный не туда, например. >Это очень, очень грустно. Ну, вроде бы, как-то и так живём. >Называются утилитами для профилирования. Только они предназначены, если я правильно понимаю, о чём ты, для поиска узких мест в коде, а не в железе. А вот насчёт железа адекватных решений «в лоб» нет, только бенчмарки и сравнения а-ля «вытащил одну видюху, вставил взятую на денек у друга другую, всё залетало — значит, проблема в видюхе». >>42075 >Ага, напишешь в посте с тыщу знаков, наошибаешься, напутаешь с разметкой так, што тебе пост весь перекудолчит Ну, у нас, конечно, есть предпросмотр, но редактирование переотправка, по идее — эту задачу решает более продуктивно. Заменитель Хомуразаменителя, то есть сама Хомура, лол =)
>>42136> Заменитель Хомуразаменителя, то есть сама Хомура, лол =)Но не каждый заменитель Хомуразаменителя — Хомура!заменитель заменителя хомуразаменителя
>>42136 >скрытие постов по имени И это тоже. Если пост соответствует установленным пользователем критериям, то он автоматически скрывается. Система куклоскрипта со спелами идеальна.
>>42136 >В смысле, на странице борды показывать только первые n символов каждого поста, где n, например, 1000, да? Хорошо, записал. Поддержу эту инициативу. Ваши с Каной посты тянут на 15к символов каждый и 3 последних отображаемых в треде поста это объем 25 страничной работы набранной 14м шрифтом с 1.5 интервалом. Эти посты не уходят вверх как в рандоме, а продолжают висеть на нулевой. Пролистывать такое каждый раз не очень удобно. >например, 1000, да? Думаю можно задать лимит и побольше в 1.5-2к символов с учетом пробелов, а остальная часть поста в идеале должна разворачиваться по клику.
>>42136 >но при этом можно было бы исправить неправильно оформленный пост — или удалить отправленный не туда, например. Ну для этого есть предпросмотр. Не вижу разницы в том, чтобы перечитывать пост в предпросмотре или на месте. Можно вообще извратиться, и сделать движок обработки предпросмотра на javascript, чтобы моментальный и без капчи. А сразу не перечитал, и хочется исправить уже ошибку, на которую указал кто-то другой — то пускай лучше перехочется. Иначе у всех остальных возникнет путаница с тем, что вообще произошло. Я бы запретил изменения или удаления постов, на которые уже кто-то сослался. Хотя, впрочем, пускай всё будет как есть. Оно работает, и пока редактированием никто не злоупотреблял.
>>42138 Но каждая Хомура — заменитель Хомурозаменителя! Заменитель заменителя заменителя Хомуразаменителя >>42143 Ох, боюсь, спеллы будет сделать адово сложно. В принципе, это же всё делается на javascript-уровне, поэтому можно просто взять исходники http://kurisa.ch/lib/javascript/kusaba.new.js (они скомпрессены клаудой, но если кто-то захочет — я без проблем могу дать оригинальный файл) и исходники куклоскрипта. Если найдётся кто-то, кто будет готов этим заняться и попробовать интегрировать спеллы в курисач — я буду весьма благодарен, но боюсь, что это нужно от силы 1-2 людям, а они в случае чего и куклу могут настроить так, чтобы с курисачем проблем не возникало, думаю. Или нет? А скрытие по имени или по словам в тексте поста я, в принципе, вполне могу сделать, да. Надобно? >>42146 >Ваши с Каной посты тянут на 15к символов каждый 30к, на самом деле, лол. =) >Думаю можно задать лимит и побольше в 1.5-2к символов с учетом пробелов, а остальная часть поста в идеале должна разворачиваться по клику. Да, я так и хочу. >>42147 >Ну для этого есть предпросмотр. Ну для этого его ещё и тыкать надо, а ошибки обычно вылезают, когда их совсем не ждёшь. Хотя большие посты я практически всегда «предпросматриваю». >сделать движок обработки предпросмотра на javascript, чтобы моментальный и без капчи. Это ведь нарушение принципа DRY — нужно будет парсер, делающий одно и то же, иметь как в php-коде, отвечающем за добавление пропарсенного текста в базу, так и в javascript-е, отвечающем за предпросмотр и все апдейты вносить и туда, и туда. А парсер весьма нетривиален. Переместить целиком в JS не получится — это всё равно, что разрешить постить plain html, а к чему это могло бы привести — мы уже помним по ситуации с Кларой и его редиректом. >Иначе у всех остальных возникнет путаница с тем, что вообще произошло. Это да, когда пост не сохраняет оригинальный номер — путаница вполне бывает, увы. Но так решили. >Я бы запретил изменения или удаления постов, на которые уже кто-то сослался. Это очень сложно — надо парсить весь массив постов каждый раз, либо запиливать отдельную систему цитирования (сейчас же ничто не мешает тебе написать >>1234567890, и это преобразуется в обычную ссылку, хоть и на несуществующий пост). Ну, теоретически, это реально, но думаю, игра не стоит свеч. >Хотя, впрочем, пускай всё будет как есть. >Оно работает, и пока редактированием никто не злоупотреблял. Да, я думаю, пока что всё с ним нормально.
>>42233> Но каждая Хомура — заменитель Хомурозаменителя!А вот и нет!другая хомура-заменитель заменителя заменителя заменителя хомуразаменителя
>>42233 Надобно, rito plz
Таки поднимаю тему картинок. К-как насчет того компромисса с очисткой базы раз в неделю? Думаю тут многие согласятся с данным предложением.
Кстати, лабмемы мы т-тут капчу отключили. Так что можете ее теперь не вводить.
>>42245 Можно и чуть подольше не чистить. Алсо, вопрос: Баклажанчик, а можно прикрутить к движку возможность просмотра превью файла, как на кукле? А так же форму ответа крепить под пост?
>>42245Негативно. Знаю одну борду, где так делают, это напрягает, когда, видя тред на 1 странице, ты не можешь посмотреть в нём картинки.Если этот вопрос стоит остро, то можно сделать так: пост старше месяца и тред с этим постом на 3 странице или дальше, тогда уже удалять картинку.>>42246Не боитесь, что опять вайпать будут?
>>42246 проверим
>>42274 >Если этот вопрос стоит остро Многие просят запилить что-то подобное. Вот теперь будем пытаться выработать компромисс. >Не боитесь, что опять вайпать будут? Ну сейчас всё спокойно. Д-да и если что я наготове.
>>42282> Многие просят запилить что-то подобное.А, я подумал, что проблема в дисковом пространстве. Тогда лучше вообще не делать этого, а дать возможность грузить повторные файлы, если такой был загружен, скажем, более месяца назад.> Ну сейчас всё спокойно. Д-да и если что я наготове.Игра с огнём получается.
>>42284 Места ещё очень м-много. И если, что куплю расширение. >Игра с огнём получается. П-посмотрим. Не думаю, что-то страшное произойдёт.
>>42284 >дать возможность грузить повторные файлы если такой был загружен, скажем, более месяца назад. Я тоже за такой вариант. >Игра с огнём получается. Ханако любит такие вещи, лол. А нельзя сделать капчу добровольно отключаемой? Ну например рядом с Simple добавить пункт none. Местные решат сами как им сидеть, а залетные могут и не догадаться залезть в опции.
>>42245Молодец,эту тему уже давно поднимали,делайте очистку хотя бы раз в месяц,или вообще запилите так что бы пикча дублировалась с другого поста
>>42246 Работает>>42284 Погодите-ка. Невозможно загрузить один и тот же файл дважды??? Т.е. чтобы работало, нужно к каждому jpg'у дописать байт с конца? Но зачем так делать же? Есть база данных хеш сумм, это хорошо. Значит, серверу не нужно один и тот же файл хранить дважды. Но зачем блокировать дубликаты?
>>42313 Д-думаю скоро уже это исправим.
>>42313 Хотя, пускай и неприятно, но не катастрофа же. Можно и вправду пока так и делать. Пару строк в консоли по этому поводу: File name: file.jpg Unix shell: echo -n '0' > tmpfile; cat file.jpg tmpfile > file-0.jpg; rm tmpfile Win cmd: echo "0"> tmpfile & type file.jpg tmpfile > file-0.jpg & del tmpfile>>42285 >Места ещё очень м-много. И если что, куплю расширение. Это хорошо. Возникла у меня сумасшедшая идея феерического костыля, чтобы сервер сам дописывал этот байт в конец файла автоматически для каждого jpeg файла. И это, вроде бы, помогло бы. Мне стыдно за такие мысли.
File name: file.jpg Unix shell: echo -n '0' > tmpfile; cat file.jpg tmpfile > file-0.jpg; rm tmpfile Win cmd: echo "0"> tmpfile & type file.jpg tmpfile > file-0.jpg & del tmpfile
>>42240 >А вот и нет! То есть, ты хочешь сказать, что я — не Хомура, или не могу заменять того, кто заменяет Хомуру, даже будучи Хомурой? =) Заменитель другой Хомуры-заменителя заменителя заменителя заменителя хомуразаменителя >>42244 >Надобно, rito plz Хорошо, тогда как у меня время появится, сделаю. Пока записал в списочек. >>42245 >К-как насчет того компромисса с очисткой базы раз в неделю? Ну базу чистить не надо, просто достаточно таймаут поставить, чтобы нельзя было запостить картинку, которая уже была запостена менее, чем этот таймаут назад. А неделя — не мало ли? >>42258 >Баклажанчик, а можно прикрутить к движку возможность просмотра превью файла, как на кукле? В смысле? Превьюшки у нас открываются по клику, или это не о том? >А так же форму ответа крепить под пост? А форма быстрого ответа (кнопка с треугольничком вверх) не подходит? >>42274 >это напрягает, когда, видя тред на 1 странице, ты не можешь посмотреть в нём картинки. Ну, по таймауту картинки не удаляются, просто нельзя запостить второй раз за это время одну и ту же картинку. >Не боитесь, что опять вайпать будут? Думаю, до первой попытки вайпа, потом снова включим. >>42284 >Тогда лучше вообще не делать этого, а дать возможность грузить повторные файлы, если такой был загружен, скажем, более месяца назад. Я, кстати, думаю, что это наиболее адекватный компромисс, тем более — места у нас пока много. Такими темпами оно закончится только где-то к декабрю, думаю. >Игра с огнём получается. Ну, в крайнем случае можно сделать DELETE FROM posts WHERE timestamp > ... и пересоздать карту ответов и все страницы. Но я думаю, что до этого не дойдёт. >>42287 >Местные решат сами как им сидеть, а залетные могут и не догадаться залезть в опции. Залётные (по крайней мере, пока я поле не убрал) могут и не догадаться, что капчу вводить не надо, лол. =) >>42313 >Невозможно загрузить один и тот же файл дважды??? Ага. >Т.е. чтобы работало, нужно к каждому jpg'у дописать байт с конца? Да, кукла так и делает при галочке «разрешить грузить одинаковые файлы» (только она туда штук 5 байт дописывает, вроде). А те, у кого куклы нет, вручную это делают заменой пикселей в файле, лол. >Но зачем блокировать дубликаты? Ну принцип такой, что на бордах считается правильным доставлять ориджинал контент и новые картиночки, и дублирование контента считается моветоном. Опять же, это приучает к периодическому пополнению паков, а не ротации одного и того же пака с интервалом в месяц, к примеру. А с другой стороны, раз уж все и так юзают куклу, вставляют пиксели и т.п. — может, этот принцип уже и потерял актуальность. Короче, я могу сделать проверку одинаковости по таймауту, но пообещайте, что вы не будете особо злоупотреблять одними и теми же пикчами, кухихи. Ладно? Таймаут в неделю, кажется, маловат, предлагаю месяц. Нормально? >>42315 >echo -n '0' > tmpfile; cat file.jpg tmpfile > file-0.jpg; rm tmpfile Погоди, а почему не сработает так: cp file.jpg file-0.jpg && echo -n a >> file-0.jpg ? И временный файл не нужен. >echo "0"> tmpfile & type file.jpg tmpfile > file-0.jpg & del tmpfile И здесь аналогичный способ: copy /b file.jpg file-0.jpg & echo a >> file-0.jpg. >чтобы сервер сам дописывал этот байт в конец файла автоматически для каждого jpeg файла А зачем серверу себя обманывать, если он сам может себе разрешить это, лол?
DELETE FROM posts WHERE timestamp > ...
echo -n '0' > tmpfile; cat file.jpg tmpfile > file-0.jpg; rm tmpfile
cp file.jpg file-0.jpg && echo -n a >> file-0.jpg
echo "0"> tmpfile & type file.jpg tmpfile > file-0.jpg & del tmpfile
copy /b file.jpg file-0.jpg & echo a >> file-0.jpg
>>42317Тайм аут в неделю многоват,а не маловат.Расскажи ка моему дашчану как юзать куклу,бака.
>>42315> Пару строк в консоли по этому поводу:А можно просто поставить куклоскрипт чтобы он всё это автоматически делал.>>42317> То есть, ты хочешь сказать, что я — не Хомура, или не могу заменять того, кто заменяет Хомуру, даже будучи Хомурой? =)Хочу сказать, что Хомурой может быть кто угодно и не каждая Хомура заменяет того, кто заменяет Хомуру! Ведь может быть так, что Хомура заменяет Хомуру.Заменитель заменителя другой хомуры-заменителя заменителя заменителя заменителя хомуразаменителяНа самом деле это не так уж весело, скопировать текст любой дурак может. А вот если такое ирл устно проворачивать...> Ну, по таймауту картинки не удаляются, просто нельзя запостить второй раз за это время одну и ту же картинку.Так говорили про очистку базы, тогда будут удаляться, а это не хорошо.> Ну, в крайнем случае можно сделать DELETE FROM posts WHERE timestamp > ... и пересоздать карту ответов и все страницы. Но я думаю, что до этого не дойдёт.Полезные посты так тоже можно случайно удалить...> Таймаут в неделю, кажется, маловат, предлагаю месяц. Нормально?Именно такой, какой я предлагал. Мне пофиг, на самом деле, у меня всё равно аватарки больше нет.> И здесь аналогичный способ: copy /b file.jpg file-0.jpg & echo a >> file-0.jpg.Не знаю насчёт линукса, но в винде в файл запишется символ + \r\n. И вроде даже что-то ещё, я давно как-то пробовал. А хочется только 1 байт.> А зачем серверу себя обманывать, если он сам может себе разрешить это, лол?Полагаю, в этом шутка и заключалась.
>>42318А что ты хотел? Может, смогу подсказать.
>>42317 >пообещайте, что вы не будете особо злоупотреблять одними и теми же пикчами >Таймаут в неделю, кажется, маловат Мне это кажется странным. Видимо, я чего-то не знаю. Но, знаешь, я буду даже рад, если так будет. Как раз не хотел повторять арты, и следил за этим. Судя по тому, что про дубликаты сам не узнал, получалось. Теперь спокойней немного. Знаешь, я бы ограничил репостинг предупреждением. Да и всё. А от спаммеров у нас и капчи нет, и менять 8 байт они тоже смогут. >Погоди, а почему не сработает так Сработает. Честно говоря, единственное объяснение, почему сам так не подумал, может быть только поздняя ночь на улице. >Ну, в крайнем случае можно сделатьDELETE FROM posts WHERE timestamp > ... Теперь я спокоен.>>42319 >Не знаю насчёт линукса, но в винде в файл запишется символ + \r\n. И вроде даже что-то ещё, я давно как-то пробовал. А хочется только 1 байт. Честно говоря, комманда «echo -n» не пишет знаков конца строки. В Win я сразу вот так не скажу подобного аргумента, чтобы не писались эти символы. Честно говоря, даже ту комманду я нагуглил из кусочков, т.к. bat скриптами я не разбирался, а в sh умею хоть немного.
>>42317 А, т.е. капчу отключать — это прямо «по-бордовски»? Как же горит, пиздец. Тебе легко говорить про пополнение, у тебя распиаренная и облизанная на десять раз Хомура. А у меня мало известные по сравнению с этим Кейт и Фран. В Кейтопаке еле-еле 400 пикч, во фран паке 230+ из них 150+ — это лично мною вырезанные из манги, что не очень-то удобно. Да и раньше я собирала паки основываясь на эстетическом удовольствие «нравится/не нравится картинка», а после прихода на курисач стала гребсти всякий девиантартовский мусор, лишь бы цыферок в папке было побольше.
>>42317 >А неделя — не мало ли? Достаточно. Н-но месяц это много. А, и если ты боишься, что все станут постить одни и теже картинки и не пополнять пак, то зря беспокоишься. Я пак Ханако собирать стал не из-за того, что на борде постить ей хотел. >В смысле? Превьюшки у нас открываются по клику, или это не о том? Она имеет ввиду когда в файл выбрал была картинка в окне ответа. >Короче, я могу сделать проверку одинаковости по таймауту, но пообещайте, что вы не будете особо злоупотреблять одними и теми же пикчами, кухихи. Ладно? Конечно же нет. Я думаю все при первой же возможности пополняют свой пак. Правда некоторым это труднее сделать. >>42322 >А от спаммеров у нас и капчи нет Зато я есть от них, лол.
>>42318 >Тайм аут в неделю многоват,а не маловат. О.О >>42319 >Хочу сказать, что Хомурой может быть кто угодно Но Хомурой может быть только Хомура! >и не каждая Хомура заменяет того, кто заменяет Хомуру! То есть, отношение заменимости некоммутативно в случае, когда один из операндов — Хомура? >Ведь может быть так, что Хомура заменяет Хомуру. Но это значит лишь то, что Хомура — тоже хомурозаменитель, а значит, и заменитель хомурозаменителя. >На самом деле это не так уж весело, скопировать текст любой дурак может. А вот если такое ирл устно проворачивать... На бордах пока, увы, войсом нельзя общаться, кухихи! Заменитель заменителя заменителя другой хомуры-заменителя заменителя заменителя заменителя хомуразаменителя >Так говорили про очистку базы, тогда будут удаляться, а это не хорошо. Так я и считаю, что базу чистить не надо — это не решает никаких проблем лучше, чем таймаут проверки хэша. >Полезные посты так тоже можно случайно удалить... Я думаю, что во время массивного вайпа полезных постов никто особо не пишет же. >Не знаю насчёт линукса, но в винде в файл запишется символ + \r\n. Да, это проблема винды, ещё со времён DOS-а — в ней нельзя с помощью штатных средств вывести строку без \r\n. Так что с этим придётся смириться. Впрочем, можно написать echo. — тогда запишется только \r\n, т.е. два байта. >Полагаю, в этом шутка и заключалась. Лол, да. >>42322 >Мне это кажется странным. >Видимо, я чего-то не знаю. А что именно кажется странным? >Знаешь, я бы ограничил репостинг предупреждением. Да и всё. А от спаммеров у нас и капчи нет, и менять 8 байт они тоже смогут. Ну, одно дело менять байты или хотя бы поставить куклу, а другое — просто тыкать «ок» на предупреждении. >В Win я сразу вот так не скажу подобного аргумента, чтобы не писались эти символы. Там, к сожалению, этого нет. В своё время специально писал .com-файл, который выводил строку без \r\n — но он немного тормозил, когда работал с дискетки (echo — встроенная команда command.com (предшественника cmd.exe), и выполняется прямо из памяти). >>42328 >А, т.е. капчу отключать — это прямо «по-бордовски»? Ну не на всех бордах есть капча, кстати. >А у меня мало известные по сравнению с этим Кейт и Фран. В Кейтопаке еле-еле 400 пикч, во фран паке 230+ из них 150+ — это лично мною вырезанные из манги При таймауте в месяц тебе хватит одного только этих двух паков, чтобы отправлять в среднем по 18 постов ежедневно. >раньше я собирала паки основываясь на эстетическом удовольствие «нравится/не нравится картинка», а после прихода на курисач стала гребсти всякий девиантартовский мусор, лишь бы цыферок в папке было побольше. Ну согласись, видеть 10 одних и тех же пикч каждую неделю надоест. >>42336 >Достаточно. Н-но месяц это много. А, и если ты боишься, что все станут постить одни и теже картинки и не пополнять пак, то зря беспокоишься. Ну ладно, тогда поставлю, как доберусь до курисабы, таймаут в неделю, и посмотрим на результат. А там дальше, если что, поменяем. >Она имеет ввиду когда в файл выбрал была картинка в окне ответа. А-а. Ну с «открыть файл» это сделать нереально (файл грузится в момент отправки формы), а с «перетащить файл» это и так реализовано. Ну либо делать «открыть файл» на том же механизме, но я не вижу в этом смысла — этот пункт специально был оставлен для тех, кто не хочет грузить файлы через javascript. Или всё-таки нужно, чтобы был и диалог открытия и превью? Могу сделать по клику на зоне «перетащи файл сюда», если очень хочется. Надо?
echo.
>>42417 >не на всех бордах есть капча На большинстве борд можно постить одинаковые пикчи. Шах и мат. >При таймауте в месяц тебе хватит одного только этих двух паков, чтобы отправлять в среднем по 18 постов ежедневно. Ну, что ж, спасибо, что разрешил мне писать 18 постов ежедневно не ебя себе мозг. >Ну согласись, видеть 10 одних и тех же пикч каждую неделю надоест Просто сравни эти цифры: akemi homura (24,354) + 1girl (1,754,857) + rating:s = 5,522 hoshimiya kate (717) + 1girl (1,754,856) + rating:s = 312 Тебе хорошо говорить, с твоим хреналлионом картиночек. Прибавь в таком же соотношении количество картинок из пиксива, гуглпикч и зерочана. На одну Кейт приходится 18~ Хомур. Крч, делай что хочешь. Я своё мнение высказала. Нахрена мне тут спорить. Просто тебе не понять этого, вот и всё.
>Да, это проблема винды, ещё со времён DOS-а — в ней нельзя с помощью штатных средств вывести строку без \r\n. Всегда знал, что на MS коммандный интерпретатор далеко не так крут, но не настолько же. Да они же вообще на cli тотально забили как на технологию. >Ну, одно дело менять байты или хотя бы поставить куклу, а другое — просто тыкать «ок» на предупреждении. Ты жесток по отношению к людям, неподкованных технически. Им в этом разробраться будет куда сложнее, чем тебе. Это жестоко. >Впрочем, можно написать echo. Не пойму, есть тег «[my_code]», который не делает перехода на новую строку? >>42417 >То есть, отношение заменимости некоммутативно в случае, когда один из операндов — Хомура? Вижу это смешным. >Ну с «открыть файл» это сделать нереально (файл грузится в момент отправки формы) Ну до самой отправки и вправду нереально. На всех сервисах, что я видел, сразу закидывается файл, делается предпросмотр, а потом у тебя есть выбор: постить загруженный на сервер файл или отменить. Это позволяет загрузить файл в фоновом режиме, во время набора текста. Видимо, плюс для медленного интернета. Я, правда, не сидел на курисаче с медленного интернета ещё. Ну и позволяет серверу сразу сгенерировать предпросмотр, который автор и увидит как искомый результат. Но да, мысль про отправку без javascript имеет смысл. Оставить это для особых случаев необходимо.
>>42318 >Тайм аут в неделю многоват,а не маловат. Зачем нужен таймаут меньше недели? Если есть необходимость запостить несколько раз подряд одну и ту же пикчу ты всегда можешь это сделать и знаешь как это сделать. Я солидарен с Хомурой в том, что при таймауте в день или час многие пойдут по пути наименьшего сопротивления, с другой стороны так как есть сейчас тоже не совсем хорошо. Подразумевалось конечно, что со временем старые треды будут тонуть, а картинки выходить из кулдауна, только вот треды двигаются вниз очень медленно и даже первый написанный мной тут пост такими темпами утонет только месяца через 2-3. Пак в 1.4к Ринокартинок практически целиком в кулдауне и как верно замечает Кейт >>42328 >гребсти всякий девиантартовский мусор, лишь бы цыферок в папке было побольше не очень то хочется, к тому же не у всех вообще есть возможность набирать паки таких размеров — не все вайфу одинаково популярны, да. И как уже говорил Ханако >>42336 многие собирают и пополняют паки вовсе не из за таймаутов на Курисаче. В общем нынешняя система приводит скорее переходу из качества паков в количество для тех у кого такая возможность есть и создает лишние проблемы для тех у кого возможности собрать большой пак в принципе нет. Этого ли ты добивался, Хомура-нян? Компромисный вариант с неделей или месяцем таймаута мне видится самым оптимальным вариантом — ещё не настолько легко чтобы постить одной картинкой, но и не так как сейчас, когда любого пака будет мало. Меня устроит любой вариант, а дальше уже пускай голосуют остальные лабмемы. >>42420 >Крч, делай что хочешь. Я своё мнение высказала. Нахрена мне тут спорить. Просто тебе не понять этого, вот и всё. Вуууу-хууу вот это подрыв!
>>42420 >спасибо, что разрешил мне писать 18 постов ежедневно И тебе мало? =) >>42422 >на MS коммандный интерпретатор далеко не так крут, но не настолько же. А если учесть, что он ведёт свою историю от обрезанного интерпретаора CP/M... >Да они же вообще на cli тотально забили как на технологию. Это да, и это печально (иначе бы не появлялись всяческие интерпретаторы вроде 4DOS, NDOS (даже bash.exe, лол! =), драйверы типа ANSI.SYS или CHISTRY.COM, да и Norton Commander и бесчисленные его клоны были насущной для DOS необходимостью). >Ты жесток по отношению к людям, неподкованных технически. Ну моя логика — если человек долго на бордах, то он, с одной стороны, сможет поставить куклу, а с другой стороны, знает, когда не стоит злоупотреблять. А тыкнуть «OK» любой может, даже не вчитываясь в текст. >Не пойму, есть тег «[my_code]», который не делает перехода на новую строку? Инлайновый код делается обратными апострофами, блочный — тегом code. Это как инлайновый и блочный кат или инлайновая или полнострочная цитата. >На всех сервисах, что я видел, сразу закидывается файл, делается предпросмотр, а потом у тебя есть выбор: постить загруженный на сервер файл или отменить. Да, сейчас с перетаскиванием именно так. И предпросмотр там есть. Возможно, есть смысл, если это не дроп, а клик в область перетаскивания, открывать окно выбора файла, но обрабатывать его не стандартным контролом, а как-то хитро, но как это сделать — я пока не разобрался. >>42449 >Если есть необходимость запостить несколько раз подряд одну и ту же пикчу ты всегда можешь это сделать и знаешь как это сделать. Ну для этого как минимум надо подготовиться, а не просто ткнуть «ОК» или даже вообще ничего не делать. >только вот треды двигаются вниз очень медленно и даже первый написанный мной тут пост такими темпами утонет только месяца через 2-3. 2-3? Бери выше. Например, программер-тред >>9098 полгода со времени последнего бампа уходил на 11-ю страницу, лол. >Этого ли ты добивался, Хомура-нян? Аааа, это же звучит, как фраза главного злодея в конце эпического фильма, когда тот с сочувствующим видом обводит рукой усеянные бесчисленными трупами поля вокруг своей крепости, пытаясь показать почти поверженному герою всю бессмысленность его усилий! =) >Компромисный вариант с неделей или месяцем таймаута мне видится самым оптимальным вариантом Да, думаю, сейчас это будет наиболее нормальный вариант, судя по отзывам тут.
>>42526 >И тебе мало? Нет, в самый раз. Буду считать. Зато ты, вот, можешь 186 постов в день оставлять. Сразу ясно кто здесь буржуй, а кто так — крепостной.
>>42533 >ты, вот, можешь 186 постов в день оставлять. 186 постов в день — это больше, чем количество постов в день на Курисаче вообще. =)
>>42676 Н-ну так, что запилишь нам загрузку картинок с компромиссом? Как время будет конечно же
>>42810 Да, я себе уже записал. Может быть, как раз завтра (уже сегодня =), хоть и не обещаю... Может, завтра с работой надо будет ковыряться
>>42822 Вот и отлично.
Хомура-нян! У меня вот этот пост: http://kurisa.ch/sg/res/42761.html#42847 Вызывает горизонтальную прокрутку. Для воспроизведения вопроса, он гарантированно присутствует в стандартном штатном Firefox при разрешении окна браузера что 800х600, что 1024х768. И, кстати, почему нажатие на номер поста в новую вкладку делает ссылку «#i42847»? откуда буква 'i', которая делает ссылку нерабочей?
>>42920 Проверил, такая же история что при 1920х1200, что 1200х1920 Opera 36.0 >делает ссылку «#i42847»? А вот с этим у меня всё в порядке.
Предлагаю забанить куклоёба «Кану»
>>42939 Лит, залогинься.
>>42940 Канахуй, залогиньтесь.
>>42942 Кейт, залогинься.
>>42944 Фейтофаг, залогинься
>>42947 Но я Хомура же.
>>42940 >>42942 >>42944 >>42947 >>42949 А теперь все выйдите и зайдите нормально. Ну и базар, честное слово.
>>42951 Иди на хуй, Канахуй.
>>42952 Шизик, залогинься.
>>42920 Хм, это из-за того, что там слишком длинное слово; движок-то режет его, но видать, на 800х600 и 1024х768 этого недостаточно. На 1920х1080 (у меня) всё ок. Подумаю, что можно с этим сделать. >И, кстати, почему нажатие на номер поста в новую вкладку делает ссылку «#i42847»? откуда буква 'i', которая делает ссылку нерабочей? Это ссылка типа «перейти на страницу и вставить этот номер в форму ответа». Перейти к посту — без «i». Ссылка с «i» берётся с самого номера, ссылка без «i» — со слова «No.». >>42921 >Проверил, такая же история что при 1920х1200, что 1200х1920 Opera 36.0 А вот это уже странно. >>42949 Из какой ты таймлинии, лол? Алсо, запилил проверку дубликатов пикч только за последнюю неделю и обрезку постов на странице борд. Пока подглючивает, но уже хочу спать, думаю, следующей ночью поправлю.
>>43013 >Ссылка с «i» берётся с самого номера, ссылка без «i» — со слова «No.». Ясно, это я пользуюсь как-то не так. >запилил >Пока подглючивает >следующей ночью поправлю. Production-test driven development? Кстати, в гости к Хомуре переношу обсуждение из сырнотреда >>/sg/42824 Ведь там оно немного неуместно. >>Проверил, такая же история что при 1920х1200, что 1200х1920 Opera 36.0 >А вот это уже странно. Может, сервер не учитывает картинку или размеры бортиков? Так или иначе, в идеале этого не должен делать сервер. Такая тема уже должна бы на клиенте обрабатываться.Немного копания в дебри. Такая функция действительно реализована в браузерах, и ещё до IE6. Вот такая вставка лечит проблему отлично: .postnode{ word-wrap: break-word; table-layout: fixed; }строка «word-wrap: break-word;» позволяет браузеру делать разрыв посреди слова, если иначе никак. Обязательна ещё «table-layout: fixed;», т.к. это таблица. Без этого он думает, что не так уж и обязательно сохранять размер по ширине. Также отмечу, что при отключенной функции «посты в ширину экрана» это не форсирует обрыв посреди слова, а видно исходный текст. Поэтому разрывалку слишком длинных слов сервером можно бы отключить. Функцию «Разворачивать картинки до исходного размера» это всё не ломает. А вообще решение нагуглил отсюда: http://stackoverflow.com/questions/3058866/how-to-force-a-line-break-in-a-loooooong-word-in-a-div
.postnode{ word-wrap: break-word; table-layout: fixed; }
>>43032 >Production-test driven development? Ахаха, оно самое. Особенно эпически получается, когда правка, сделанная ночью, ломает Курисач полностью — а я могу потом это исправить только придя домой — и весь день творится адъ =) Или на обеде/вечером (хотя тут приходится извращаться с ftp over web, поскольку наш фаерволл блочит всё, что не относится к http/https), если прямо совсем экстренно. Помню, как я сломал страницу борды, там было что-то типа все треды были скрыты и их было нельзя раскрыть, или что-то подобное... Ханако, скорее всего, помнит. >Так или иначе, в идеале этого не должен делать сервер. Такая тема уже должна бы на клиенте обрабатываться. Да, верно, мне тоже это пришло в голову. >Немного копания в дебри. О! Аригато тебе большое, теперь мне не придётся искать солюшен. Думаю, сегодня ночью запилю это. >>42824 >того самого тормозящего дополнения А, понял, то есть, в стоковом браузере тормозить не должно, как я понимаю. Верно? >Можно странный вопрос: откуда «//lib»? Лол. Да, похоже, пороблема с переменными. Пофиксю. >Можешь, пожалуйста, выпилить в файле Ок, выпилю.
>>43051 Да, было. Т-треды нельзя было раскрыть.
>>43051 >хотя тут приходится извращаться с ftp over web, поскольку наш фаерволл блочит всё, что не относится к http/https Ты знаешь, что делать. http://www.nocrew.org/software/httptunnel.html >В стоковом браузере тормозить не должно. В нём не тормозит. Вся та проблема была на моей стороне. Кстати, плюс за рехост jquery в /lib, а не просто линк на внешний веб. До идеала нехватает только рехост миниатюр с youtube. Хотя могу предположить, что это будет технически сложно без exec().
Даже Юлечка няшечка, для Юлечек картинку с видевой в посте запилил, пока некоторые телятся всё:3
>>43106 Всё в порядке очереди. Как только так сразу запилим.
>>43112 А без очереди можна? Как блокаднице, али раненому ополченцу можна?
>>43065 >http://www.nocrew.org/software/httptunnel.html Эх, если б у меня еще на работе на рабочей машине была бы не винда без админских прав... >До идеала нехватает только рехост миниатюр с youtube. Хотя могу предположить, что это будет технически сложно без exec(). Хм, мне казалось, что там важно только вытащить через api картинку — и всё, там exec() не нужен. Ну тоже запишу себе.
Можешь, пожалуйста, в Получить новые посты (если есть) (20) зафиксировать высоту newposts_get и newposts_load на одинаковую? Сейчас при включенном автообновлении поле ввода внизу дёргается каждые 20 секунд.
Получить новые посты (если есть) (20)
Хомура-нян, а ты где Курисач хостишь?
Хомур помоги мне понять. Зачем мне лупбек интерфейс прописывать в циске в протоколе OSPF, если все работает и без него. Тоесть конкретно зачем я понимаю... Объясняют это генерацией ID роутеров. Но так ли это.
>>43318 Это у меня уже записано было, повышу приоритет с minor до normal. Правда, боюсь, до Курисабы доберусь только в следующие выходные... >>43352 Это не я хостю, это Ханако хостит. На one.com. >>43353 Вот уж чего не знаю, того не знаю...
>>43405 Может тогда ты ответишь мне на вот такой вопросик жи. Как правильно настроить прокси и блокировку рекламы? Где то читал ,что реклама удаляется посредством закрытия доступа к её серверам ?
https://youtu.be/1THUeTaygiU Хомура-нян, может можно сделать так, чтобы во время редактирования поста попытка сослаться на ещё один пост не приводила к удалению всего текста?
>>43421 Мм... прокси — в смысле сервер а-ля squid, или настройки прокси в браузере? Блокировку рекламы с помощью чего? С помощью самого проксика? Да, просто возвращай 404 или пустую страницу при запросе к списку «запрещённых» доменов (можешь скопипастить из настроек какого-нибудь адблока). >>43441 Во, курисачую за видео — сразу всё понятно. На всякий случай: если кто хочет репортнуть баг и у него есть возможность записать видео, как баг воспроизвести — пожалуй, это идеальный вариант. Так вот, смотри: если ты тыкаешь на кнопку редактирования, то открывается форма редактирования поста (в ней написано «Фикс 12345», где 12345 — номер поста). Если тыкаешь на кнопку быстрого ответа — то форма быстрого ответа (в ней написано «>>23456», где 23456 — номер поста, в котором нажата эта кнопка). Это, по сути разные формы (хоть и выглядят похоже). И чтобы редактируемый пост и то, что уже есть в форме ответа не влияли друг на друга, текст в них тоже сделан разным. То есть, когда ты открыл форму редактирования, а потом — ткнул на кнопку «быстрый ответ», ты переключил содержимое формы с режима редактирования на режим быстрого ответа (обрати внимание на надпись, про которую я говорил выше), соответственно, она уже будет не редактировать пост, а отправлять новый, и соответственно, редактируемый текст заменится на отвечающий. Как этого избежать: если ты хочешь вставить ссылку на пост в текст, надо кликать не на кнопке «быстрый ответ», а на номере поста (именно номере, а не буквах «No.» — они тебе просто показывают внешнюю и внутреннюю ссылку на пост или переходят к нему).
>>43446 >Это, по сути разные формы (хоть и выглядят похоже). Доходчиво и понятно, теперь понял в чем суть. > надо кликать не на кнопке «быстрый ответ», а на номере поста Опробовал, полет нормальный.
>>43446 Ну хомур на самом деле я говорил про роутер. Тоесть ограничить как то на роуторе. Не знаю прописать может адреса или ещё чего. Включить протоколы которые способны защитить на компьютер от этих вредненьких вещей. Просто я прочел на одном форуме что кто то так смог сделать. И один интелегентный человек задал логичный вопрос ,как настроить как правильно настроить прокси и блокировку рекламы на Микротике 951-2n?
>>43468 Ну есть как способ просто блокировать их адрес. Ещё лучше — DNS имена реклам, а не IP адресы. Как в этой статье описано: https://habrahabr.ru/post/264001/ Но вот в чём суть: этот метод, очевидно, не защитит тебя от всей на свете рекламы. Можно заблокировать много, и даже большинство, но магического способа «сделать хорошо», но оставить всю универсальность интернет доступа невозможно. Кому как, а с моей точки зрения блокировка DNS имён рекламодателей является довольно грубым и грязным хаком. Но и рекламу не люблю своей назойливостью, так что в случаях, когда это не ломает остальную функциональность, можно и задействовать. По своему опыту скажу, что очевидный AdBlock Plus на браузер справляется отлично. А людей, не способных его установить нужно защищать уже в первую очередь не от рекламы. Если же у тебя телевизор/смартфон/планшет — сочувствую. И предложу искать другие методы решения проблемы. А вообще через блокирование DNS имён рекламодателей — метод вполне рабочий.
Эй, а там вон чего, а это почему? Кстати, удоли пост, пожалуйста, если тебе нетрудно, ладненько?
>>43468 Думаю, на роутере для этого нужно будет ставить кастомную прошивку. Ну, ты можешь, конечно, «вычеслить» ip-адреса, с которых прилетает реклама, и поставить их в блок на роутере (iptables или web-интерфейс — без разницы), но это сведется только к тому, что браузер будет долго тупить и вставлять тебе в разные места «невозможно отобразить страницу» или непрогрузившиеся пикчи. Надо заставлять его отдавать 404 (или пустую страницу) по определённым запросам, а это уже на уровне HTTP, а не IP. Например, взгромоздить проксик на роутер и хорошенько его настроить — но боюсь, ему нужно будет количество оперативки поболее того, что стоит в роутере (обычно там мало). Ещё, как вариант — на роутере резолвить dns хостов с рекламой куда-нибудь на localhost, а с localhosta уже отдавать 404. Но игра опять-таки, думаю, не стоит свеч. А вообще, на стороне клиента (в браузере) это решается всяческими дополнениями гораздо удобнее. UPD: в статье >>43477 описан как раз второй способ, правда, если на локалхосте действительно ничего не стоит, некоторые браузеры (Лисичка, например) долго тупят, возможно, пытаясь перезапросить страницу несколько раз. >>43512 Посмотрел сейчас в базе — почему-то у тебя у всех твоих постов разный пароль, иногда даже пустой почему-то (в базе хэши все разные, а иногда даже пустые). Ради интереса проверил свои посты за последние несколько дней — у всех пароль одинаковый. У тебя куки сохраняются? Если да, то попробуй набери в консоли браузера: document.cookie; и посмотри, равен ли postpassword паролю, который ты вводила. Если нет — то тут тебе либо каждый раз вводить пароль в форму поста при отправке и в поле «Пароль» рядом с кнопкой «удалить пост» при редактировании, либо полагаться на автосохранение паролей браузера. Если кука postpassword не установлена, то пароль генерится каждый раз заново, и естественно, подходить при редактировании к посту, сделанному с другим паролем, не будет. P.S.Пост, думаю, уже Ханако успел удалить.
document.cookie;
postpassword
>>43552 >document.cookie; Ого, так если пароль не вводить, то всё равно можно манипулировать своими постами, покуда пользуешься тем же браузером? >Думаю, на роутере для этого нужно будет ставить кастомную прошивку. Зависит от уровня прошивки роутера. Думаю, Mikrotik может иметь весьма продвинутую прошивку сразу. >но это сведется только к тому, что браузер будет долго тупить и вставлять тебе в разные места «невозможно отобразить страницу» или непрогрузившиеся пикчи Немного не так. Реклама уже не ставится просто «ссылкой». Это обычно iframe или что-то подобное. На телефонах/планшетах в случае, когда нет связи с сервером рекламы, он просто не показывает там ничего. А то, что браузер будет долго тупить — для этого перенаправляют DNS на 127.0.0.1, или IP на IP роутера. Так браузер быстро (на самом деле за 1 секунду) понимает, что там нет тех дроидов, которых он ищет. >а с localhosta уже отдавать 404. Проще: он поймёт, что порт закрыт. А если включен веб сервер, то он сам и скажет 404. >Но игра опять-таки, думаю, не стоит свеч. >А вообще, на стороне клиента (в браузере) это решается всяческими дополнениями гораздо удобнее. Вот тут соглашусь. Но если это телевизор/телефон/планшет, то что ещё делать остаётся?
>>43552 >У тебя куки сохраняются? Схороняюцца пока не закроецца браузер, а потом удоляюцца, это ещё с Апачана такая привычка. Только Кана браузер незакрывала — вот и удивилась, раньше-то посты удолялись совершенно спокойненько.
Запрашиваю скрытие отдельных постов. Навроде кнопочки скрытия треда, только для постов. А то без куклы удручает сидеть.
>>43732 Может тебе проще упиздовать отсюда, удручённый?
>>43567 >Ого, так если пароль не вводить, то всё равно можно манипулировать своими постами, покуда пользуешься тем же браузером? Да, можно, пароль запоминается при удалении или отправке поста и потом при обновлении страницы грузится из куков. >Думаю, Mikrotik может иметь весьма продвинутую прошивку сразу. Ну может быть, я с их роутерами не знаком. В D-link-ах, TrendNet-ах, Netgear-ах я такого не встречал. =) >Это обычно iframe или что-то подобное. Вот именно с iframe и получается «невозможно отобразить страницу» же. >Проще: он поймёт, что порт закрыт. Мне в своё время подобное с Хоро не помогло. Ну, может быть, и я что-то делал не так, но вроде как в винде правка hosts и последующее ipconfig /flushdns решала, ip резолвился уже подставленный. >Но если это телевизор/телефон/планшет, то что ещё делать остаётся? Ну с мобильными девайсами всегда проблемы =) Несмотря на то, что всякие эпплы то и дело пытаются пересадить людей с компов на айпады... >>43575 Хм, странно. Часто такое бывает? Можешь максимально детально алгоритм воспроизведения рассказать, если выяснишь? >>43732 Записал.
ipconfig /flushdns
>>43736 Может это тебе проще упиздовать на свой субботник, обоссышь.
>>43806 Неслабо так у тебя бомбануло)))
>>43812 >бомбануло I dunno lol'd.
>>43804 >Ну может быть, я с их роутерами не знаком. В D-link-ах, TrendNet-ах, Netgear-ах я такого не встречал. =) На разные уровни администраторов рассчитаны, видимо. Поэтому и говорил про Mikrotik. >Вот именно с iframe и получается «невозможно отобразить страницу» же. Правда? А когда размер не указан, разве не будет на его месте ничего? Хотя что уж говорить, я не пробовал так настраивать. У меня все замены на уровне браузера. >Несмотря на то, что всякие эпплы то и дело пытаются пересадить людей с компов на айпады Но, судя по современным тенденциям, телефон или планшет никогда не будет такой универсальной машиной, как компьютеры. На обычных десктопах из-за этого не могут поменять не то, что архитектуру процессора, так даже операционную систему. А всё потому, что будет отказ от имеющегося софта и сузится область возможных действий. Новым видам, это, конечно, не грозит. Но то же время вижу, как на iOS и Android приняли за стандарт максимально простой, но ужасно медленный интерфейс. Ни жестов, ни быстрой смены приложений, да и взаимодействие приложений тоже не продумано. Например, кому пришло в голову принимать длительное нажатие как стандартный оборот интерфейса? Т.е. намеренно ждать — это теперь вполне нормальный метод взаимодействия. Та же панель задач, как бы она ни съедала экранного пространства, позволяет быстро переключаться между рабочими окнами. По сути говоря, при составлении современного вида тачфона, а если вы заметили, сейчас все современные стили идут из Apple, разработчики отказались от всех уже имеющихся наработок по интерфейсу. Также замечу, что от множества хороших внутренних программных решений тоже отказались. И пару вопросов: Насколько тяжело серверу обрабатывать «предпросмотр поста»? Это можно делать каждую секунду или нежелательно? А то нажатие мыши на предпросмотр поста закрывает его. Нередко приходится заказывать новый из-за случайности. Кстати, Хомура, а почему ты — Хомура? Ты из нашей временной линии вообще?
https://youtu.be/1aW3MXrrUfU >>43806 >субботник >обоссышь Кого, блядь, обоссыш, какой субботник, про что несёт? мимо >>43736-кун
>>43814> Ни жестов, ни быстрой смены приложений, да и взаимодействие приложений тоже не продумано.Потому что жесты это объективно неинтуитивно. Всё равно что на рабочем столе компьютера ты всем ярлыкам будешь назначать прозрачные значки.Там, где возможно, жесты присутствуют.> Например, кому пришло в голову принимать длительное нажатие как стандартный оборот интерфейса?А почему нет? Длительное нажатие не требует точности и достаточно быстро, если ты не из тех людей, которые за пк мышкой между папками за четверть секунды переходят. Всегда удивляло, зачем такая спешка при работе с чем-то вообще.Какие у тебя есть разумные альтернативы?> все современные стили идут из Apple, разработчики отказались от всех уже имеющихся наработок по интерфейсу.Это неправда. Какие-то базовые элементы перешли с первых айфонов, на этом всё.
Привет, няши, привет, Хомура-нян! Хомура-нян, можешь меня слегка проконсультировать по поводу баз данных на досуге? А то вроде всё так, а не идёт Хохоряч. Всё расскажу и покажу.
>>43822Забыл еще про это написать:> да и взаимодействие приложений тоже не продумано.А какого взаимодействия приложений ты хотел бы? Оно ведь и так присутствует, можно отправлять какие-то данные в другие приложения, часто какое-то действие в одном приложении может перекинуть тебя в другое, есть всякие виджеты по управлению плеером, событиями календаря и прочими вещами, причем всё это разные приложения (это уже к андроиду относится). По мне так этого более чем достаточно.
>>43838 Думаю, для этого стоит почитать учебник.
>>43838Что тебе не понятно? и так уже все объяснили. Если не понятно, то есть гугл. Извините, но Ю-тян уже надоела.
>>43845 Ч-чем она тебе так насолила?
>>43822 если ты не из тех людей, которые за пк мышкой между папками за четверть секунды переходят. >Потому что жесты это объективно неинтуитивно. Пользовался жестами мыши ещё со времён Оперы. И ещё до того, как они добавили значков и прочих подсказок, чтобы было интуитивно понятно. Не вижу в этом ничего сложного. Те, кому сложно, пользовались обычным интерфейсом. >если ты не из тех людей, которые за пк мышкой между папками за четверть секунды переходят Ну не мышью, а клавиатурой, и не четверть, а минимум 0.8, но это не «безразлично малые» величины. Да и не только в переходе между директориями вопрос. >Всегда удивляло, зачем такая спешка при работе с чем-то вообще. Почитай внутренние рекоммендации IBM по поводу скорости отклика. Наверное, тогда тебе будет сложновато понять, что такое состояние «потока». А с такой скоростью доступа будет куда сложнее его продержать вменяемое количество времени. >Какие-то базовые элементы перешли с первых айфонов, на этом всё. Во-первых, «какие-то». Вся основа взаимодействия перешла с айфонов. В Google-Android добавили только кнопки «назад» и «menu», и то, от последней потом отказались. Также хорошо дополнили шторку. В техническом плане они сделали-таки доступ к
>>43857 Дважды за день случайная отправка. Это уже не смешно. Склоняюсь к отключению hotkey отправки по Ctrl+Enter. Её только недавно добавили, насколько я понимаю?>>43822 >Какие-то базовые элементы перешли с первых айфонов, на этом всё. В техническом плане они сделали-таки доступ к sd карте как обычный доступ к файлам. По сравнению с теми же айфонами это просто прорыв. >А какого взаимодействия приложений ты хотел бы? Оно ведь и так присутствует >По мне так этого более чем достаточно. Хмм, а вот в этом что-то есть. Видимо, это уже я что-то делаю не так.
>>43857> Не вижу в этом ничего сложного.Это сложно запомнить когда голова занята чем-то другим. Иконки и подписи для того и придуманы, чтобы тебе было сразу ясно, что произойдёт при нажатии.Я не буду отрицать, что есть люди, которым это не сложно (хотя, опять же, минимум жестов в андроиде тоже присутствует, вроде свайпа для удаления почты в gmail), но на таких никогда ориентироваться не будут и жаловаться бесполезно. Хотя, есть sailfish os, она мёртворождённая, но там, я слышал, много чего на этих свайпах завязано. Но я могу ошибаться.> Да и не только в переходе между директориями вопрос.А я не только про переход между директориями имел в виду.На долгий тап повешены действия, которыми пользуешься не очень часто по сравнению с обычными, а скорость этого лонгтапа около 0.4 секунд. Это вообще несерьёзно.Альтернативы ты мне не написал: я к тому, что для пальцевого интерфейса нет альтернатив, а лонгтап — самое напрашивающееся решение. Кучу кнопок ты не вместить, делать дополнительные кнопки вместо лонгтапа не всегда удобно и красиво.> Вся основа взаимодействия перешла с айфонов.Ты говоришь «все идут». Но сейчас не идут. Да и шли не все. По факту всеми была скопирована концепция удобной работы пальцами вместо стилусов.>>43858> В техническом плане они сделали-таки доступ к sd карте как обычный доступ к файлам.Вообще сейчас доступ к карте памяти сильно урезан, на карту можно записывать только с пк через кабель, на телефоне её содержимое редактировать нельзя. Но я понял о чём ты.Если сравнивать конкретно стили и интерфейсы, то разница сильно заметна. Быть может иллюзия схожести возникает просто из-за того, что все эти интерфейсы рассчитаны для пальцев.
>>43814 >На разные уровни администраторов рассчитаны, видимо. Да, кстати, я так глянул ради интереса, что за девайсы фирма производит — и да, похоже, там действительно оборудование не уровня «я не хочу ничего решать, я хочу воткнуть кабель — и чтобы у меня дома был инет по вайфаю», а серьёзные роутеры, если не профессионального, то как минимум «любительского» класса (у них даже есть консоль (telnet/SSH), и их операционку (RouterOS на базе Linux) можно даже взгромоздить на нормальный комп, лол, и всячески понастраивать). Хотя и цены тоже — это не 500 рублей за TrendNet, от 60 баксов — это вам не хухры-мухры. >А когда размер не указан, разве не будет на его месте ничего? Таки-тема в том, что обычно под рекламу размеры iframe-ов фиксируют (как минимум, некоторые; те, которые не фиксируют — я и не видел, очевидно. =) >телефон или планшет никогда не будет такой универсальной машиной, как компьютеры. Да, пик универсализма телефона/планшета уже прошёл, сейчас, наоборот, всё движется в направлении урезания функциональности: эппл, как флагман рынка, начинает диктовать пользователю, что он должен хотеть от планшета. Ну, как Microsoft в 1993-2010 годах диктовала всем, что пользователи могут хотеть от компьютера, поскольку была флагманом рынка ОС. >Но то же время вижу, как на iOS и Android приняли за стандарт максимально простой, но ужасно медленный интерфейс. >Также замечу, что от множества хороших внутренних программных решений тоже отказались. А всё потому, что в желании захватить побольше рынка ставка делается на «среднего пользователя». А с учётом того, что 95% людей — известно, кто, «средний пользователь» как раз таков, и когда тебе становится нужно от девайса что-то сверх того, что он может предложить (но при этом что на нормальном компе есть) — то тебе без вариантов предлагается обломиться. Зато когда девайсы только входят на рынок, то первыми за них берутся гики, и поэтому в первое время после появления нового концепта функциональность и возможность кастомизации очень быстро растёт (вспомним сименсовские телефоны, лол). >Насколько тяжело серверу обрабатывать «предпросмотр поста»? Ну в целом, предпросмотр — это почти отправка (аплоад картинки, парсинг разметки, оформление поста), но без добавления в базу (и соответствующего ребилда страниц). То есть, тяжелее, чем просто подгрузить пост, например по наведению на ссылку, но легче, чем отправить пост. >Это можно делать каждую секунду или нежелательно? По разу в секунду — вполне норм. Вот раз по 100 в секунду, думаю, уже нет =) >А то нажатие мыши на предпросмотр поста закрывает его. Да, клик по предпросмотру (кроме области картинки) — это его закрытие. А что, неудобно? Почему? >Нередко приходится заказывать новый из-за случайности. А ну один раз — не проблема. Если при этом ты еще открываешь предпросмотр с картинкой — то можно ещё попасть на лимит временных загрузок (тогда нужно будет подождать, пока сможешь новый предпросмотр открыть), но это если очень стараться. >Кстати, Хомура, а почему ты — Хомура? Лол, вопрос в лоб, называется =) Сложно сказать, просто как-то так случилось. Мне вообще нравятся целеустремлённые персонажи — будь то Окабе из Steins;Gate, будь то Нанахоши из Mushoku Tensei, будь то Хомура. Вообще я не сразу к хомуропостингу пришёл, сначала постил кого ни попадя, потом, после очередного пересмотра «Мадоки» (чем не sci-fi, прячущаяся под ярлыком «махоо-сёдзё»?), отчего-то сократил свой «пул аватарок» до Хомуры, Нагисы и Кёко, а потом понял, что Хомура из них самая уняня, плюс она ещё и Окабе заодно немножко. =) А ты почему Рейму? >Ты из нашей временной линии вообще? Десятки моих временных линий доказали мне: как только я пытаюсь кому-то рассказать о том, что было там — мне перестают верить, и исход оказывается закономерен. Так что... =) >>43822 >Всегда удивляло, зачем такая спешка при работе с чем-то вообще. Тормоза всегда нервируют (особенно, если они необоснованные). >Какие-то базовые элементы перешли с первых айфонов, на этом всё. ДА ЛАДНА Я всё время вижу непрекращающийся копипастинг фич — из яблодевайсов на андроиды, с андроидов — на винду, из винды — в декстоповые линуксы. Лол же! >>43838 Слегка проконсультировать — могу =) Главное, чтобы это не было, как в универе, когда под «слегка проконсультируй» понимается «сделай за меня и ещё расскажи, как это работает, чтобы я на зачёте преподу могла что-нибудь сказать», лол. =) >>43857 >Наверное, тогда тебе будет сложновато понять, что такое состояние «потока». Вот, тормоза особенно убивают как раз в «потоке», когда у тебя в голове куча инфы по конкретной проблеме, а вся информация о РЛ положена в «своп» сознания. Сразу в качестве аналогии представилась ситуация, когда стоишь с ведром воды над бочкой, в которую её надо вылить, а крышка открывается о-о-о-чень медленно. >>43858 >hotkey отправки по Ctrl+Enter. О.о у нас такое есть? =) UPD: Ух ты. Проверил — и правда есть. >Её только недавно добавили, насколько я понимаю? Лол. Я сейчас поэкспериментировал — Хоро, к примеру, по Ctrl+Enter отправляет любые формы, у которых вообще есть input типа submit. Даже если не указан action — всё равно отправляет, используя в качестве action текущую страницу. Может быть, раньше не работало, потому что капча была включена (хотя не знаю, как это могло повлиять). Сам я отправку по Ctrl+Enter не делал, я всегда жму «ответ» (потому что, как правило, прикрепляю картинку перетаскиванием мышкой), лол. >>43859 >Иконки и подписи для того и придуманы, чтобы тебе было сразу ясно, что произойдёт при нажатии. У меня иногда в ExpeditionPCB вылетает графика интерфейса, а перезагружать прогу долго и некогда (800-мегабайтная трассировка грузится около 5 минут). Так вот, неоднократно ловил себя на том, что тыкаю мышкой в кнопочки, например, «Display Controls», «Online DRC», «Batch DRC», «CES», «Place», «Route», «Drawing» на тулбаре, и только потом понимаю, что на кнопочке не картинка, а серый квадратик, как и на всех остальных кнопочках. Вывод: иконки и подписи работают первое время, когда ты привыкаешь к проге. Потом ты работаешь уже «вслепую» — рука сама двигает мышку к нужной кнопке, ещё до того, как с кнопкой налажен визуальный контакт. А жесты мышкой или пальцем — ещё проще, там даже попадать не надо, двинул на любом месте и норм. Меньше затрат на «низкоуровневые» действия типа прицеливания в кнопочку — больше результативность и удобство. >По факту всеми была скопирована концепция удобной работы пальцами вместо стилусов. Кстати, до сих пор считаю, что стилус на порядок удобнее пальца: как минимум, со стилусом ты видишь точку касания, а палец всегда немножко рандомом выбирает эту точку. В итоге на XDA Flame со стилусом я набирал текст со скоростью символов 3-5 в секунду, а на нынешнем OneTouch 4007D мало того, что не быстрее 1-2 символа в секунду, так ещё и с вероятностью процентов 5 попадаю не по той клавише. Жутко неудобно, а при наборе больших текстов — бесит. Сидеть на курисаче с телефончика потому очень тяжко =( Единственная проблема со стилусом — это блин, он теряется, а еще, если конструкция хлипкая, то может сломаться.
>>43806 >обоссышь А мягкий знак на конце потомушто обоссышь — это она, да? Мало того, што выдумал какое-то слово-урод, так даже его умудрился покалечить, неуч нещасный.
>>43859 Как-то мне уже надоедает эта тема, но некоторые моменты возвращают назад: >сполер последний Что? Ты о каких телефонах говоришь? Я это писал про Google-Android >но на таких никогда ориентироваться не будут и жаловаться бесполезно Знаешь, что случается, когда все гики и разработчики начинают ненавидеть ОС, на которой сидят от безальтернативности? — Они переходят на Линукс, ещё и агитируют это в широкие массы своим авторитетом. >Быть может иллюзия схожести возникает просто из-за того, что все эти интерфейсы рассчитаны для пальцев. Нет, нет. Именно основа. Понимаешь, сейчас это выглядит настолько привычным, что тебе даже сложно представить иное. А тогда, когда не было толком ничего, разработчики ломали голову над тем, как лучше всего продумать взаимодействие. Сюда же нашумевший патент Apple на zoom двумя пальцами, и так далее. Они действительно долго думали над этим.>>43866 >Ну, как Microsoft в 1993-2010 годах диктовала всем, что пользователи могут хотеть от компьютера, поскольку была флагманом рынка ОС. CLI как подход почти умер. Грустно. >клик по предпросмотру (кроме области картинки) — это его закрытие. >неудобно? Да нет, не проблема. Просто он выглядит совершенно как просмотр на месте поста по ссылке, вот и поведение ожидается такое же. Т.е. закрытие при отведении мыши. Я только сейчас заметил, что предпросмотр действительно не закрывается на отведении мыши. Даже не знаю. И выглядеть иначе ему не позволено: он же предпросмотр. >можно ещё попасть на лимит временных загрузок Рад, что такой существует. А с каким интервалом он обновляется? Надеюсь, не более, чем раз в 5 минут. >О.о у нас такое есть? =) Рассмешил. >Я всё время вижу непрекращающийся копипастинг фич Можно, я замкну твою цепь? В яблодевайсы фичи, включая даже целые библиотеки разработчиков, переняты из MAC OS, а в MAC OS тоже немало было почерпнуто идей и из линуксовых интерфейсов. Иногда бывают переходы MAC OS -> Linux напрямую, как Ubuntu Unity, иногда даже реверс Android -> iOS, как виджеты шторки и другие. Так что это больше каша, варящаяся в собственном соку. И откуда куда какая идея перешла даже порой отследить сложно. Я лишь говорил, что Google переняли и хороший опыт, и плохой при составлении ОС. >Может быть, раньше не работало, потому что капча была включена (хотя не знаю, как это могло повлиять). Тоже не знаю как. Но во времена капчи точно не работало, проверял. >последний спойлер Ого, со стилусом действительно было хорошо? Меня они как-то обошли стороной. Зато вот пользователей, набирающих в наклонённом на 90° тачфоне примерно такие же скорости я видел. Думаю, это вопрос использования. Но да, в примере был Samsung Galaxy какой-то серии, но уже довольно большой. И пальцы не особо большие у него были, по его росту. >спойлер первый У Рейму как раз есть и то, чего мне так нехватает, так и то, что уже есть и положительно мне. С сожалением скажу, что я не настолько открыт, чтобы вот так рассказать, что именно. Тоже пришёл к этому довольно неожиданно. Пула аватарок, как результат, нет. Это лишь директория «Reimu» в директории «Touhou», пускай и является около 50% от последней
>>43869 >Ты о каких телефонах говоришь? Я это писал про Google-Android Кстати, на хабре недавно видел статью про то, что в андроидодевайсах тоже собираются выпиливать нормальную поддержку карточек, мотивируя это тем, что mass storage требует блочный доступ, а значит, нужно отмонтировать флешку в ОС, и ААА СЛОЖНА юзеры не поймут, поэтому мы вообще нахрен запретим работу с флешкой, как с mass storage — только MTP, только хардкор. А это значит — тормоза, невозможность редактировать файлы прямо на флешке, кривая поддержка каталогов, невозможность создать разделы на карточке (и все их монтировать), и т.п. Зато юзеры-дебилы довольны — у них теперь не падают приложения, запущенные с флешки, если телефон подключить к компу (а «заклинания» типа mount -t vfat -o codepage=866,iocharset=utf8 /dev/sdc1 /mnt/usb для них вообще сродни посылу в известное место). Ждём, когда запретят выключать питание компа — ведь при жестком выключении питания тоже все запущенные программы падают. А ещё ждём, когда гугл решит, что MTP — тоже не комильфо, и напишет какой-нибудь PlayTunes, через который (и только через который) можно будет заливать файлы на девайс. >CLI как подход почти умер. Грустно. Ага, и вместе с ним умерла адекватная возможность автоматизации — а жаль =( >Я только сейчас заметил, что предпросмотр действительно не закрывается на отведении мыши. >Даже не знаю. И выглядеть иначе ему не позволено: он же предпросмотр. Ок, попробую сделать, чтобы закрывался при отведении мышки. Сейчас, когда капча отключена, это уже не так фатально. >Рад, что такой существует. >А с каким интервалом он обновляется? Насколько я помню, временно загрузить можно не более 50 файлов за последние 10 минут. То есть, скрипт сначала удаляет из каталога с временными загрузками всё, что старше 10 минут, а потом, если там более 50 файлов, говорит, что мол нельзя, попробуй позже. Временная загрузка применяется при перетаскивании картинки для отправки поста (она автоматически удаляется после отправки поста), а также для загрузки в предпросмотр (автоматически не удаляется, а только по таймауту). >Рассмешил. Лол, да я тоже удивился. =) >В яблодевайсы фичи, включая даже целые библиотеки разработчиков, переняты из MAC OS, а в MAC OS тоже немало было почерпнуто идей и из линуксовых интерфейсов. БДЫЩ! Stack overflow (possible infinite recursion). >Иногда бывают переходы MAC OS -> Linux напрямую, как Ubuntu Unity, иногда даже реверс Android -> iOS, как виджеты шторки и другие. >Так что это больше каша, варящаяся в собственном соку. Это да, просто как правило, равновесие в этой системе смещено в сторону потока заимствований от того, что модно, к тому, что менее массово. Т.е. андроид у iOS позаимствовал гораздо больше, чем яблоось у андроида. Проблема только в том, что «модно» — совсем не значит «хорошо». Гораздо чаще «модно» значит «в расчёте на дебилов», поэтому за красивеньким интерфейсом, как правило, скрывается тотальная невозможность настройки и расширения. >Но во времена капчи точно не работало, проверял. Ясно, попробую покопать инет на предмет того, чтобы сделать отправку по Ctrl+Enter настраиваемой. >Ого, со стилусом действительно было хорошо? Да, это примерно как писать ручкой на бумаге и писать пальцем на «мультимедиа-доске». Вроде как в первом случае есть дополнительное звено в процессе, но оно улучшает передачу данных объекту-носителю, а не ухудшает.
mount -t vfat -o codepage=866,iocharset=utf8 /dev/sdc1 /mnt/usb
Заранее спасибо тебе большое, Хомура-нян! Начну с того, что файл конфигурации у меня такой.
Базы две — изначальная служебная инфосхема и база yuchan_yuchancenter. Местный хостинг разрешает создавать базы только по имени, т.е. если мой логин yuchan, то база будет называться не иначе как yuchan_имябазы. Вроде как всё настроено, но файл league.php выдаёт ошибку 500. В то время, как у меня на компьютере всё действует. Что ещё может быть важным в моей проблеме?
>>43866> Тормоза всегда нервируют (особенно, если они необоснованные).Это не тормоза и совершенно надуманный аргумент.> ДА ЛАДНАРазговор шёл о том, что эппл сейчас задаёт стиль интерфейса, а ты говоришь, что все друг у друга копируют. Разные вещи, знаешь ли.> Вывод: иконки и подписи работают первое время, когда ты привыкаешь к проге. Потом ты работаешь уже «вслепую» — рука сама двигает мышку к нужной кнопке, ещё до того, как с кнопкой налажен визуальный контакт.Я помню как работает 3-4 приложения на андроиде и совершенно не помню, какие иконки и надписи используются в других. Будь в тех остальных приложениях жесты, можно было бы тратить неприлично много времени просто на то, чтобы их вспомнить. Ты себя сильно переоцениваешь в этом плане.>>43869> Ты о каких телефонах говоришь? Я это писал про Google-AndroidЯ тоже о них.> Знаешь, что случается, когда все гики и разработчики начинают ненавидеть ОС, на которой сидят от безальтернативности? — Они переходят на Линукс, ещё и агитируют это в широкие массы своим авторитетом.Так надоедает единицам. Критическая масса даже не намечается, да и альтернативных наработок толком нет.>>43872От UMS уже отказались на большинстве современных смартфонов.>>43869> Ого, со стилусом действительно было хорошо?А я скажу, что было плохо. Помимо очевидной необходимости таскать этот стилус, это просто лишний элемент при работе с устройством, в котором за ввод/вывод отвечает один и тот же компонент — экран. Всегда думал, что будь кнопки большего размера, было бы удобно пальцем по ним нажимать.Про проблемы со вводом ничего сказать не могу, примерно та же скорость, но, возможно, быстрый ввод текста с пальца поначалу сложнее. К этому привыкаешь и о стилусе даже не хочется вспоминать.
>>43814 >Ни жестов, ни быстрой смены приложений, да и взаимодействие приложений тоже не продумано. Как ты себе представляешь быструю смену приложений на телефоне? Панель задач? Такая панель съедает крайне ценное пространство на экране. На планшете это не критично, а вот на мобильном телефоне — очень даже. Жесты — опять-таки, учитывая то, что на экранах есть прокрутка, то возможный набор жестов крайне ограничен, чтобы не конфликтовать с прокруткой. Взаимодействие приложений — это как? Программы и на компе редко взаимодействуют. >Например, кому пришло в голову принимать длительное нажатие как стандартный оборот интерфейса? Как иначе симитировать правую кнопку мыши? Этот оборот интерфейса, как раз, не является какой-то выдумкой для мобильников, он обусловлен именно наследием из десктопного интерфейса, просто в условиях тачскрина его по-другому не реализовать. >>43873 НЕ ЗАБУДЬ СМЕНИТЬ ПАРОЛИ!
>>43874>>43873>mysql_connecthttp://php.net/manual/ru/function.mysql-connect.php>Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLiГайд по MySQLihttp://php.net/manual/ru/mysqli.quickstart.dual-interface.phpНа вики хостера.http://wiki.helionet.org/MySQL_Databases
>>43872 >Кстати, на хабре недавно видел статью про то, что в андроидодевайсах тоже собираются выпиливать нормальную поддержку карточек, мотивируя это тем, что mass storage требует блочный доступ, поэтому мы вообще нахрен запретим работу с флешкой, как с mass storage — только MTP, только хардкор. Мне на Хабр за этим ходить не пришлось — сам обнаружил, что функции подключения флешки телефона как флешки просто нестало. А это был самый простой для меня способ. Особенно со стареньким линуксом, на котором этого самого MTP ещё нет. Хорошо хоть в recovery эта функция есть, использую её когда нужно. Но, как мне кажется, это не дело. Хоть MTP и неплох по своей сути. >А ещё ждём, когда гугл решит, что MTP — тоже не комильфо, и напишет какой-нибудь PlayTunes, через который (и только через который) можно будет заливать файлы на девайс. Во-первых, всё это время для разработчиков был adb. Через него тоже можно перекидываться файлами, там кодировка utf-8, и ещё по нему можно строить туннели заодно. И что бы ни происходило, я буду находить способ получать root+adb для своих нужд. Во-вторых, это беспредел. И 100% будут находиться способы, кастомные сборки и прочие мелочи, чтобы такого не наступило. С куда большей вероятностью это наступит, если уберут USB из телефонов. Ведь зачем его проводами подключать к компьютеру вообще?>>43866 >Десятки моих временных линий доказали мне, .. Так и знал. >>CLI как подход почти умер. Грустно. >Ага, и вместе с ним умерла адекватная возможность автоматизации — а жаль =( Её в первую очередь и жаль. >как только я пытаюсь кому-то рассказать о том, что было там — мне перестают верить, .. Что тут поделать, придётся верить на слово.>>43877 >> Тормоза всегда нервируют (особенно, если они необоснованные). >Это не тормоза и совершенно надуманный аргумент. Ну да, это тормоза из-за собственной невозможности сделать быстрее. Даже не знаю, что больше раздражает. Ещё раз повторю, что аргумент не надуманный. >Я помню как работает 3-4 приложения на андроиде и совершенно не помню, какие иконки и надписи используются в других В том и вопрос, что это не стало нормой. Ты долго думаешь, находясь в приложении, где кнопка «назад»? Или как прокрутить вниз? Для прокрутки вниз используется жест «потянуть вверх», который активируется на всей рабочей области. И это настолько привычно, что задумываться об этом не приходится. В этом и прелесть интуитивного интерфейса — он такой же, как и все. Когда ты видишь строку «Файл|Правка|Вид», ты уже знаешь, что с ними делать. А ведь этот набор есть в тысячах приложений. Когда ты видишь кнопку «≡», ты тоже ожидаешь, что там все настройки. Так почему же жесты ты рассматриваешь как что-то особенное? Просто потому, что их не ввели как обыденные, не более. >>Ты о каких телефонах говоришь? Я это писал про Google-Android >Я тоже о них. Ну тогда я не понимаю, о чём ты. Как и ранее, есть программы: файловые менеджеры, видеоплееры, файловые серверы, и у всех есть прямой доступ к карте памяти. >> Знаешь, что случается, когда все гики и разработчики начинают ненавидеть ОС, на которой сидят от безальтернативности? — Они переходят на Линукс, ещё и агитируют это в широкие массы своим авторитетом. >Так надоедает единицам. Да, пока только единицам. Но я как раз говорил о ценности этих единиц. Обычному пользователю глубоко безразлично. Переходят специалисты, а это значительно важнее. >Критическая масса даже не намечается, да и альтернативных наработок толком нет. Кажется, ты чего-то не замечаешь. Судя по направлению разработок всего нового ПО, и довольно активного портирования старого, могу сказать, что ты явно чего-то не замечаешь. Возможно потому, что не хочешь замечать. >От UMS уже отказались на большинстве современных смартфонов. Подтверждаю. >Помимо очевидной необходимости таскать этот стилус, это просто лишний элемент при работе с устройством Джобс думал в точности также.>>43878 >Как ты себе представляешь быструю смену приложений на телефоне? Кнопками/жестами «следующее активное приложение», «предыдущее активное приложение». Действительно активно смениваемых будет не более 2-3, так что это хороший подход. >Панель задач? Если нужно. Пускай пользователь сам примет решение. Иногда была бы полезна, особенно на планшетах. >учитывая то, что на экранах есть прокрутка, то возможный набор жестов крайне ограничен, чтобы не конфликтовать с прокруткой. И даже при этом можно было придумать множество жестов, начинающихся из кнопки «дом», «меню», углов шторки с последующим продолжением на экране. Но максимум, до чего додумались — это по «вытягиванию вверх» из кнопки «дом» включать OK GOOGLE, без возможности переопределения. >Взаимодействие приложений — это как? Это забыл. Они и так неплохо взаимодействуют. >Как иначе симитировать правую кнопку мыши? А зачем её имитировать? Создаётся принципиально новый интерфейс. На тачпадах, например, имитировали нажатием двух пальцев. Но там это было необходимостью. Вообще имея как минимум два активных пальца в тач интерфейсе, можно было придумать куда больше оборотов и комбинаций. Но имеем то, что имеем. Меня удивляет, насколько же ограниченно нужно мыслить, чтобы задавать вопросы вида «а как иначе можно было бы сделать»?
>>43882> Ну да, это тормоза из-за собственной невозможности сделать быстрее.На андроиде есть куча инструментов для моддинга. Можешь этот лонгтап хоть в 10 раз быстрее сделать.> Просто потому, что их не ввели как обыденные, не более.Именно обыденные жесты как раз ввели. Вроде свайпа для удаления письма или сообщения, двойного тапа для увеличения картинки и так далее. Привычные и общие жесты присутствуют.А иконки и надписи в приложениях могут находиться в разных местах, как и жесты могут быть совершенно разные и выполнять разные функции. Разница лишь в том, что первые не вызывают никаких вопросов.> Как и ранее, есть программы: файловые менеджеры, видеоплееры, файловые серверы, и у всех есть прямой доступ к карте памяти.Только на чтение, начиная с 5.0 (может даже раньше, не помню).> Обычному пользователю глубоко безразлично. Переходят специалисты, а это значительно важнее.В данном случае переходят не специалисты, а просто недовольные. Это сильно меняет дело.> Кажется, ты чего-то не замечаешь.Где эти набирающие популярность мобильные ОС с жестами и прочими удобствами, которые вот-вот будут у всех на слуху?> Кнопками/жестами «следующее активное приложение», «предыдущее активное приложение».На андроиде и иос и так можно одной кнопкой к раньше открытых приложений перейти. А на Cyanogen можно сделать так, чтобы долгое нажатие на кнопку «домой» переключало между двумя последними приложениями. По мне так этого уже достаточно.
>>43890 >> Как и ранее, есть программы: файловые менеджеры, видеоплееры, файловые серверы, и у всех есть прямой доступ к карте памяти. >Только на чтение, начиная с 5.0 (может даже раньше, не помню). Что, простите? Только что специально проверил: на AOSP 5.1 в файлвом менеджере создал/удалил директорию, проблем нет. Да и ранее не было. Может, ты про какой-то особо огороженный Android: Google/Samsung/LG/Sony нужное подчеркнуть edition? Но даже так не особо-то верится, если честно. >В данном случае переходят не специалисты, а просто недовольные. Это сильно меняет дело. Как знаешь. >Где эти набирающие популярность мобильные ОС с жестами и прочими удобствами, которые вот-вот будут у всех на слуху? Её ещё не создали. И даже могу сказать сразу множество причин. Даже не вижу смысла все перечислять. Лишь скажу, что это будет очень нескоро. >А на Cyanogen можно сделать так, чтобы долгое нажатие на кнопку «домой» переключало между двумя последними приложениями. >долгое нажатие на кнопку Нет, ты правда смеёшься. Хорошо, дальше буду диетическое писать.
>>43891> Может, ты про какой-то особо огороженный Android: Google/Samsung/LG/Sony нужное подчеркнуть edition?Это называется не особо огорженный, а самый обычный андроид, с который поставляется любой андроид-смартфон. Это ограничение снимают в некоторых кастомных прошивках вроде cyanogen, но не более.Можешь загуглить «android external sd write restriction», увидишь множество жалоб и ни одного способа обойти это ограничение без получения рута или установки кастомной прошивки.> Её ещё не создали.Ну вот, о чём тогда говорить?> Нет, ты правда смеёшься.Вовсе нет. Сделай лонгтап короче и он тебя не будет так беспокоить.
>>43893 >Это ограничение снимают в некоторых кастомных прошивках вроде cyanogen, но не более. Ну и дела. Хорошо, что это несложно отключается у сборщиков прошивок. Спасибо, я даже не знал. >Вовсе нет. Сделай лонгтап короче и он тебя не будет так беспокоить. Он уже короче. Ладно, не так уж и беспокоит. Просто раздражает, что приходится выкручиваться в том, что должны были продумать разработчики, и уже давным давно. А ты так выглядишь, будто так всё и должно быть, вот я тебе всё и выдал, как представителю.>>32736 Хомура, взлянул я на этот пост из главной — >>43890 И он выдал мне некоторый вопрос от браузера. Вопрос в квадрате, что значит у него «битый символ». Не говори мне, что длина поста на главной режется просто по байтам, разрезая последовательность UTF-8. Кстати, я вообще удивлён, что ты это сделал на сервере. Это ведь нужно проследить за всеми особенностями разметки, всеми тонкостями и ничего не упустить. На других бордах просто включается прокрутка начиная с некоторой длинны поста. Хотя текущее решение вышло явно лучше появления прокрутки, она мешает скроллу. Но вот проследить за байтом цепочки UTF-8 нужно бы. Если выпал байт вида 10xxxxxxb, то нужно долистать назад, и сбросить вместе с 11xxxxxxb https://ru.wikipedia.org/wiki/UTF-8 Только делай проверки на длину сообщения, чтобы этим не смогли манипулировать твоим сервером. А то прилетит сообщение вида десяти тысяч байт 10xxxxxxb, и получится нехорошо. Ну или вообще абстрагируйся и скажи резать по байтам utf-8. Напряжнее для сервера, но в пределах погрешности.
Дожили. Сервер полетел к чертям. Ждём-с!.. >>43878 А чего их менять? Их же и так каждый посмотреть может.
>>43895> Кстати, я вообще удивлён, что ты это сделал на сервере.Тоже не понимаю, лучше обрезать на клиенте хоть тем же джаваскриптом, хоть через css.> А то прилетит сообщение вида десяти тысяч байт 10xxxxxxb, и получится нехорошо.Ничего не получится, цикл обойдёт это сообщение мгновенно, 10 тысяч байт — вообще ерунда.
>>43897 >> А то прилетит сообщение вида десяти тысяч байт 10xxxxxxb, и получится нехорошо. >Ничего не получится, цикл обойдёт это сообщение мгновенно, 10 тысяч байт — вообще ерунда. Грустно видеть, что ты даже при указании не понял, к чему это замечание. Дойдя до нулевого элемента, что будет делать цикл далее?>>43896 >А чего их менять? Их же и так каждый посмотреть может. Вообще-то, нет. PHP не показывает своего исполняемого кода клиентам. А если у тебя не выключен удалённый доступ к базе данных, с этим паролем можно будет копаться в базе и менять что вздумается.
>>43899 >менять что вздумается Это какбе в сути Хорохорача.
>>43899> Грустно видеть, что ты даже при указании не понял, к чему это замечание.Ты где-то это указал?> Дойдя до нулевого элемента, что будет делать цикл далее?Выйдет по условию, если цикл правильно написан.
>>43900 >Это какбе в сути Хорохорача. Видимо, я ещё не знаю Хорохорач. А это будет любопытный проект, если у каждого будет админский доступ к борде. Он меня ещё более заинтересовал. Хотя предположу, что закончится это установкой gentoo. https://www.opennet.ru/opennews/art.shtml?num=43239
>>43902 Ну, не админский доступ, скорее модераторский. А вот на соседней борде говорят, что борда превратится в инфантильное страдание...ерундой, кхм-кхм. И, конечно же, упал именно тот вид сервера, на котором я хощу.
Хомура-нян, а можно ли реализовать вставку ссылки с замещающим текстом, ну например как в ВВ коде? [url=http://kurisa.ch/sg]Курисач</a>[/url]
[url=http://kurisa.ch/sg]Курисач</a>[/url]
Решила пробануть такой конфигурат: <?php $db = mysql_connect("localhost","yuchan_yuchan","mamotteageru1"); mysql_select_db('yuchan_yuchancenter'); mysql_query("SET character set utf8 "); mysql_query("SET collation_connection=utf8_general_ci "); ?> Что же не так? Может, это только у меня не работает? http://horahorach.heliohost.org/league.php
<?php $db = mysql_connect("localhost","yuchan_yuchan","mamotteageru1"); mysql_select_db('yuchan_yuchancenter'); mysql_query("SET character set utf8 "); mysql_query("SET collation_connection=utf8_general_ci "); ?>
>>43911Используй MySQLi или попробуй вот так, хотя-бы узнаешь что за ошибка.<?php try { $db = mysql_connect(«localhost»,«yuchan_yuchan»,«mamotteageru1»); mysql_select_db('yuchan_yuchancenter'); mysql_query(«SET character set utf8 »); mysql_query(«SET collation_connection=utf8_general_ci »); } catch (Exception $e) { echo $e->getMessage();}?>
>>43913 Попробовала последнее. Бесполезно.
Хома, можна тя потревожить же7
>>43914>Бесполезно.Не выводится текст сообщения об ошибке? Там можно включить режим отладки?
>>43911Там еще чего то не хватает.>Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
>>43914 Обрати внимание, что анон не использовал тега `` курисабы. И все кавычки превратились в "цитаты". Так что его код не мог работать. И, всё же, не пойму: почему вы пытаетесь использовать функции mysql_*, если хотели использовать mysqli? Ну ладно. Лишь бы версия PHP была 5 или ниже. Если нет — попробуй все функции вида mysql_ заменить на mysqli_ Говорят, в большинстве случаев, а уж тем более, при несложном применении, всё заработает как нужно. И последнее: если у тебя не выходит весь блок, почему не попробуешь сначала просто запустить одну только "mysql_connect", потом вместе с "mysql_select_db", а уж потом все остальные? Попробуй для начала запустить с только этим куском кода: [code]$db = mysql_connect('localhost', 'yuchan_yuchan', 'mamotteageru1') or die ('Not connected : ' . mysql_error());
` курисабы. И все кавычки превратились в "цитаты". Так что его код не мог работать. И, всё же, не пойму: почему вы пытаетесь использовать функции mysql_*, если хотели использовать mysqli? Ну ладно. Лишь бы версия PHP была 5 или ниже. Если нет — попробуй все функции вида mysql_ заменить на mysqli_ Говорят, в большинстве случаев, а уж тем более, при несложном применении, всё заработает как нужно. И последнее: если у тебя не выходит весь блок, почему не попробуешь сначала просто запустить одну только "mysql_connect", потом вместе с "mysql_select_db", а уж потом все остальные? Попробуй для начала запустить с только этим куском кода: [code]$db = mysql_connect('localhost', 'yuchan_yuchan', 'mamotteageru1') or die ('Not connected : ' . mysql_error());
>>43873 >файл конфигурации Я вижу здесь не файл конфигурации, а вполне самостоятельный скрипт. >>43874 >но файл league.php выдаёт ошибку 500 Что за файл? Ошибка HTTP, не PHP? Если HTTP, то дело не в скрипте; возможно — проблемы с .htaccess (ловил такие ошибки, когда накосячивал в нём) или чем-нибудь ещё. >>43877 >Разговор шёл о том, что эппл сейчас задаёт стиль интерфейса, а ты говоришь, что все друг у друга копируют. Нет, я как раз про то, что копируют, по большей части, в одном направлении. >можно было бы тратить неприлично много времени просто на то, чтобы их вспомнить На самом деле, они быстро запоминаются — стоит только ими первые пару-тройку раз попользоваться «вспоминая, как», а потом — всё на полном автомате. >это просто лишний элемент при работе с устройством Ручка — тоже лишний интерфейс, почему бы не писать пальцем? Но неудобно же. >будь кнопки большего размера, было бы удобно пальцем по ним нажимать. Ну имхо, кнопка должна быть во столько же раз больше торца подушечки пальца, как кнопка для стилуса — больше кончика этого самого стилуса. То есть раз в 5 по линейным размерам. А теперь представь клавиатуру из кнопок 5х5 см? Кстати, самодельные «сенсорные» (на самом деле нет: такая же плёночная клава, только клавиши не механические, а нарисованные на ещё одной плёнке поверх) клавиатуры на некоторых «спектрумах» тоже страдали этой болезнью: попасть по нужной клавише было очень трудно, а играть в игры, не смотря на клаву, было вообще нереально. >К этому привыкаешь и о стилусе даже не хочется вспоминать. Ну, jedem das seine. >>43882 >Во-вторых, это беспредел. И 100% будут находиться способы, кастомные сборки и прочие мелочи, чтобы такого не наступило. Только до сих пор нормального способа залить что-то на айфон без iTunes нет (насколько я знаю). >С куда большей вероятностью это наступит, если уберут USB из телефонов. На этом моменте я пойму, что развитие мобильных устройств окончательно свернуло с пути истинного. Хотя придётся плакать, колоться, но юзать то, что тогда будет нормой — ибо по-другому никак. >Её в первую очередь и жаль. Доходит до того, что для хитрых операций (например, массивного переименования файлов по шаблону или подсчёта общего размера пикч на флешке во всех подкаталогах) мне проще вытащить флешку, воткнуть ее в линуксовый комп и запилить там простенький скрипт, чем извращаться с ручной работой средствами винды. >Переходят специалисты, а это значительно важнее. Проблема в том, что как раз-таки некоторые специалисты попадают под vendor lock, точнее, его разновидность — OS lock, когда, к примеру, пакет фирмы Mentor Graphics для разработки схем есть только под винду. У Cadence с этим проще — есть как OrCAD под винду, так и Cadence Suite под пингвина. Как правило, это для большинства профессиональных программ так. >Иногда была бы полезна, особенно на планшетах. Кстати, мне вот очень не хватает «работающих приложений» (или последних запущенных) на экране быстрых настроек и уведомлений (не знаю, как правильно называется, ну тот, который получается вытягиванием полосы сверху экрана, где часы и иконки вайфая, мобильной связи и т.п.). Особенно когда памяти телефона хватает только на одно «полновесное» приложение — типа алридера, контакта, микуоверчана или браузера. Перезапускать их, выбираясь на десктоп — напрягает иногда. >>43895 >Не говори мне, что длина поста на главной режется просто по байтам, разрезая последовательность UTF-8. Хорошо, не буду тебе этого говорить. =) На самом деле эту фичу в курисабу кто-то уже когда-то запилил, я просто её быстро включил (у меня тогда времени разбираться не было); видимо, тот товарищ не был в курсе, что существует utf-8, и резал всё прямо посередине поста (хорошо хоть теги закрывать не забыл). Я это увидел, и пообещал (>>43013) поправить потом (хотя, думал, что поправлю раньше — но не срослось). Несомненно, лучше это делать на клиенте, поэтому я, как найду время, попробую это сделать по-нормальному. >>43900 Лол. Правда, боюсь, обязательно найдётся уникум, который просто зайдёт и сделает DROP DATABASE yuchan_yuchancenter =) >>43907 Я раздумывал над этим в режиме «каких бы свистелок вообще можно запилить», но раз есть такой реквест — то записываю в трекер. >>43911 Слушай, а такой глупый вопрос: у тебя на сервере вообще php есть? Может, апач сконфигурирован без его поддержки (mod_php там и все дела)? Я, конечно, с трудом представляю сере хостинг без php, но кто его знает... Эти вот картинки из phpMyAdmin — они с твоего локального «полигона», или с хостинга? И если установлен, то реквестую вывод phpinfo();. >>43917 Ну потревожь, коли не шутишь. =) >>43920 Это просто .htaccess настроен на выдачу кастомной страницы об ошибке 500, но файла с сообщением об ошибке не нашёл. >>43929 Лол. У нас тег [ code ] обрабатывается раньше обратной кавычки (потому что обратная кавычка внутри кода (например, sql) встречается гораздо чаще, чем тег [ code ] внутри однострочного участка кода, да ещё и с тегом [ /code ] далее по тексту. А с учётом того, что им назначаются разные классы css, одновременно их обрабатывать я не пробовал. Гм, весьма интересный редкий баг курисабы.
DROP DATABASE yuchan_yuchancenter
.htaccess
>>43944 >Только до сих пор нормального способа залить что-то на айфон без iTunes нет (насколько я знаю). На iPhone без джейлбрейка нет смысла заливать файлы как файлы. Ни у одного приложения не будет к ним доступа. Это уже «платформа для нестандартных программных решений». >проще вытащить флешку, воткнуть ее в линуксовый комп и запилить там простенький скрипт, чем извращаться с ручной работой средствами винды А ты собирался переименовывать каждый файл отдельно? Если их больше пары тысяч, я был бы готов подключать флешку хоть к микроволновке, если она умеет делать это массво. >попадают под vendor lock, точнее, его разновидность — OS lock Я, видимо, не попал в первую очередь потому, что избегал попадания в таковый. >видимо, тот товарищ не был в курсе, что существует utf-8, и резал всё прямо посередине поста Стыдно сказать, но прямо сегодня заметил, что один мой скрипт не работал как нужно как раз из-за использования конструкции cat $filename | tail -c 40. Следующая комманда даже не запускалась, т.к. строка невалидна. Самое глупое, что я даже не ожидал такого, т.к. верил, что tail работает посимвольно, а не побайтно. >Гм, весьма интересный редкий баг курисабы. И именно в тот раз я не применил предпросмотр. Кстати, это общий «Development» тред, или тред разработки курисабы? А то мы с такими темпами за неделю-вторую пробъём бамплимит.
cat $filename | tail -c 40
>>43944> На самом деле, они быстро запоминаются — стоит только ими первые пару-тройку раз попользоваться «вспоминая, как», а потом — всё на полном автомате.Нет, не запоминаются, если их много и они разные в разных приложениях. Причём, я в этом убедился на собственном опыте, когда настраивал систему под себя и назначил на рабочем столе жесты на разные операции. Вроде просто и логично, а потом на улице достаёшь смартфон и понимаешь, что надо вспоминать, какой жест тебе нужен. Я отказался от этой затеи через полторы недели, это чрезвычайно неудобно, тем более я могу просто вынести значки на рабочий стол и это будет реально практичнее.> Ручка — тоже лишний интерфейс, почему бы не писать пальцем?Потому что не получится писать так, чтобы это было читаемо, да и пальцы придётся пачкать и потом оттирать. Твоя аналогия неверная.> Ну имхо, кнопка должна быть во столько же раз больше торца подушечки пальца, как кнопка для стилусаВовсе не обязательно. Во-первых, ты нажимаешь не всей подушечкой пальца. Во-вторых, ты стилусом мог бы нажимать на кнопки гораздо меньшего размера, чем они были. Их не делали меньше чтобы не засорять интерфейс и дать возможность вывода на кнопки читаемого текста/изображения.>>43949> А то мы с такими темпами за неделю-вторую пробъём бамплимит.Как будто это проблема.
>>43882 >А зачем её имитировать? Создаётся принципиально новый интерфейс. Вот только пользователь остается старым. Да и разработчик, на самом деле, тоже. Концепция элемента с основным действием и вызовом иных опций вторым действием настолько прочно сидит в мозгах, что я не уверена, можно ли от нее уйти. >Пускай пользователь сам примет решение. Иногда была бы полезна, особенно на планшетах. Тут соглашусь. >Но максимум, до чего додумались — это по «вытягиванию вверх» из кнопки «дом» включать OK GOOGLE У меня телефон на SailfishOS. Там есть управление жестами и интерфейс несколько другой — нет привычных кнопок и шторки (хотя аналог шторки по функционалу есть, но он не там), плюс парочка дополнительных фишек. Не сказать, что этот интерфейс чем-то принципиально лучше Андроида, да и описанные тобой недостатки в какой-то степени присутствуют и тут, но мне понравился. >Вообще имея как минимум два активных пальца в тач интерфейсе, можно было придумать куда больше оборотов и комбинаций Скажи честно — у тебя ведь планшет или телефон-«лопата»? Если говорить о мобильном интерфейсе, то нельзя привязывать часто используемые жесты к двум пальцам, потому что зачастую телефон используется одной рукой, когда только один палец. На два пальца можно привязывать только то, что заведомо подразумевает концентрацию пользователя — например, увеличение картинки. >>43896 >А чего их менять? Набегут рачки с сосача и все поудаляют.
>>43953> На два пальца можно привязывать только то, что заведомо подразумевает концентрацию пользователя — например, увеличение картинки.В андроиде уже давным давно сделали однопальцевый зум, правда, к сожалению, он не во всех приложениях работает, хотя с момента его ввода прошло уже несколько лет.
>>43944 Чёёёёёрт! Похоже, на том, что пользую я, и правда нет PHP... Ищу другой хостинг.
>>43958 Да ну, как так? Со страницы Heliohost: We offer professional-level PHP 5 hosting with safe-mode disabled. Installed libraries include cURL, GD, Sockets, XML RPC, and many more! Our community includes knowledgable PHP experts that can help you with your scripting problems Но вот именно на твоём сервере выдаёт:Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/0.9.8e-fips-rhel5 mod_mono/2.6.3 mod_jk/1.2.37 mod_bwlimited/1.4 mod_wsgi/4.4.13 Python/2.4.3 Server at horahorach.heliohost.org Port 80Тебе можно писать там на Python, на asp.net, на Java. А вот PHP и я в списке не вижу. Но на Heliohost точно есть серверы на PHP5. Видимо, тебе действительно не тот выдали.>>43954 >В андроиде уже давным давно сделали однопальцевый зум, правда, к сожалению, он не во всех приложениях работает, хотя с момента его ввода прошло уже несколько лет. Поначалу на андроидах даже двупальцевого не было. Были времена.>>43953 >У меня телефон на SailfishOS Ого. И как с ним? >Скажи честно — у тебя ведь планшет или телефон-«лопата»? Почти второе. По нынешним меркам размер едва выше среднего.>>43944 >Ну имхо, кнопка должна быть во столько же раз больше торца подушечки пальца, как кнопка для стилуса — больше кончика этого самого стилуса. То есть раз в 5 по линейным размерам. А теперь представь клавиатуру из кнопок 5х5 см? Что это было? Что за клавиатура с кнопками 5х5см? Зачем?
Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/0.9.8e-fips-rhel5 mod_mono/2.6.3 mod_jk/1.2.37 mod_bwlimited/1.4 mod_wsgi/4.4.13 Python/2.4.3 Server at horahorach.heliohost.org Port 80
>>43959> Поначалу на андроидах даже двупальцевого не было. Были времена.Просто андроид мультитач как таковой не поддерживал. Но это были времена 1.6, тогда про андроид толком никто не знал.
>>43959 >Но на Heliohost точно есть серверы на PHP5. Ага. Ток они платные, а я — нищебродка.
>>43944 >Ну имхо, кнопка должна быть во столько же раз больше торца подушечки пальца, как кнопка для стилуса — больше кончика этого самого стилуса. То есть раз в 5 по линейным размерам. Это еще зачем? Тачскрин определяет центральную точку воздействия, то есть центр пальца. Фактически, для гарантированного уверенного попадания достаточно кнопки размеров в подушечку пальца если у человека не ДЦП. Да и меньшие размеры возможны, только растет вероятность промахнуться. >>43959 >Ого. И как с ним? Есть две большие проблемы. Первая — это глючный браузер, он может даже падать, в нем не работает выделение текста, иногда отваливаются куки, которые возвращаются после перезагрузки. Вторая проблема — это ноусофт. Программ порой действительно не хватает, хотя поддержка андроида и заявлена, но там эмулируется андроид 4.1, что уже не достаточно для многих приложений, требующих 4.4. Мелких проблем много, но они редки и не критичны. Преимущества — формально, по сравнению с андроидофонами, каких-либо значительных преимуществ нет. Жестовое управление и иной интерфейс — основные фичи, но тут уже вопрос предпочтений конкретного пользователя. Что характерно, на далеко не топовом железе из 2013 года система не лагает, ей вполне достаточно, хотя там 1Гб. Впрочем, ресурсоемким приложениям, таким как браузер, столько памяти мало, но это уже специфика браузеров, от операционки зависящая мало. Пикрелейтед — «рабочий стол». С него выбираются и управляются запущенные приложения. Как такового домашнего экрана нет — если я прокручу с самого низу экрана вверх, откроется набор приложений. Прокручу вправо или влево — откроется окно, аналогичное по функциям развернутой шторке на андроиде. >>43981 Понимаю. На ПХП можно найти халявный хостинг, если поискать. Вот на питоне — уже сложнее.
>>44041 >на далеко не топовом железе из 2013 года система не лагает, ей вполне достаточно, хотя там 1Гб На железе из 2011 тоже система не лагает. Даже притом, что это увесистый ведроид 5.1 на 768 МБ оперативной. >но там эмулируется андроид 4.1, что уже не достаточно для многих приложений, требующих 4.4 Что тебе от него нужно вообще? Я себе обновлял вовсе не потому, что приложения не запускались. Просто ужасный баг на моём пофиксили только в 5.х Тот же Firefox должен работать хорошо на 4.1 Кстати, режим андроид приложений не сбоит? не тормозит? Просто ты говоришь про отсутствие приложений при возможности установки apk.
>>44051> На железе из 2011 тоже система не лагает.> Даже притом, что это увесистый ведроид 5.1 на 768 МБ оперативной.Что за смартфон? Самсунг галакси первых версий какой-то или аналогичный хтс?В любом случае, тебе просто кажется, что не лагает, тем более на 5.1. Стоит сменить смартфон на более-менее современный и, попользовавшись им некоторое время, взять в руки старый, как эти лаги мгновенно бросятся в глаза. У самого такой опыт был, около года назад менял смартфон.
>>44051 >На железе из 2011 тоже система не лагает. Повезло. У Сони не топовые модели 2013 года явно тормозят. >Даже притом, что это увесистый ведроид 5.1 на 768 МБ оперативной. Я не могу по-нормальному померить использование. Полсе запуска памяти потребляется немножко больше, нежели после того, как запустить приложения и снова их закрыть. А если начать открывать кучу приложений, то потребление памяти как-то практически не растет. Команда vmstat странно работает. >Что тебе от него нужно вообще? Да приложение от Алиэкспресса, например. Или ЯндексТранспорт. >Кстати, режим андроид приложений не сбоит? не тормозит? Не многими приложениями пользуюсь, чтобы утверждать точно.
>>44058 >Повезло. У Сони не топовые модели 2013 года явно тормозят. Только это же и хотел написать. Samsung последней модели, на удивление, даже в интерфейсе немного тормозит. Про Sony не слышал. Но, так или иначе, внутри Sony стоит Qualcomm процессор+видеокарта. И тачскрины у них хорошие. Так что это проблема прошивки. Да и у меня, иначе сейчас не бывает, на железе 2011 прошивка 5.1 неоффициальная. Есть даже интересная история по этому поводу: Нигде в документации телефона не была указана возможность подключения флешек к нему через USB. И ни у кого он так не делал. А аппаратно USB контроллер это умел. Обнаружили такую функцию кастомщики во время ковыряний в драйверах. Но куда большее удивление у меня вызвало то, что телефон имел даже возможность зыпитывать от себя USB устройства. Т.е. что имеем: на самом телефоне была продумана возможность подключать внешние USB устройства, это было продумано в USB контроллере, и для этого разведена цепь питания, в которой нужно было для этих целей установить преобразователь 3.7V -> 5V. Но на этапе прошивки про эту функциональность просто забыли. Её просто нет в оффициальной прошивке. Флагманский телефон, миллионные тиражи, топ 20 своего года. И просто забыли. Мне кажется, это высший пилотаж по созданию прошивок. >Я не могу по-нормальному померять использование Нет, ты не понимаешь. Это всего оперативной памяти на моём устройстве. >Не многими приложениями пользуюсь, чтобы утверждать точно. Тогда ладно. >Или ЯндексТранспорт Он требует 4.4?>>44053 >Стоит сменить смартфон на более-менее современный и, попользовавшись им некоторое время, взять в руки старый, как эти лаги мгновенно бросятся в глаза Ну, понятное дело, я говорю об интерфейсе. Также очевидно, что процессор на современном смартфоне будет выполнять те же задачи куда быстрее. Да и оперативной памяти больше.
>>44065> Ну, понятное дело, я говорю об интерфейсе.В том-то и дело, что интерфейс в этом списке будет первым.
>>43949 >На iPhone без джейлбрейка нет смысла заливать файлы как файлы. Вот-вот. >А ты собирался переименовывать каждый файл отдельно? Да, например, под виндой переименовать файл по регэкспу, к примеру, невозможно (ну если только вручную не делать bat-файл, и в нем — поиск с заменой). А вот под линуксом простейшая конструкция типа for i in *; do mv $i `echo $i | sed $regex`; done вполне себе решает проблему. А если приходится использовать переименование с инкрементом или какой-то модификацией типа выбора имени по условию — то тут даже bat-файл не спасёт, а вот гнушные expr и if — отлично подойдут. >Я, видимо, не попал в первую очередь потому, что избегал попадания в таковый. Ну, избегать попадания в таковый — это, как правило, не юзать какие-то специфические проги (от прог для разработки схем — до прог по управлению телескопами; к примеру, прога, управляющая проектом публичных телескопов itelescope.net работает, судя по всему, под XP-шкой (http://s.14.by/space/telescope2.jpg)) >но прямо сегодня заметил, что один мой скрипт не работал как нужно как раз из-за использования конструкции Ну, у всех такое бывает. И с UTF-8-то ладно, но иногда не отсеивают конструкции типа Robert'); DROP TABLE Students;-- — вот это уже реально опасно, лол. >т.к. верил, что tail работает посимвольно, а не побайтно. Самое весёлое, когда в зависимости от поставленной локали какие-то проги начинают считать в байтах, а какие-то — в символах. И если, к примеру, для dd вполне обоснованно считать строго в байтах, то для тех же tail/head, wc и т.п. — это уже не так очевидно. >Кстати, это общий «Development» тред, или тред разработки курисабы? Изначально он был именно что про курисабу. Но сейчас превратился в эдакую смесь из всего. =) Алсо, у нас когда-то был программер-тред >>9098 (возникший ещё в те времена, когда я ещё фажил не одной Хомурой, а всем подряд из «Мадоки» =), правда, сейчас он занимает гордое последнее место на последней странице, лол. >>43951 >Нет, не запоминаются, если их много и они разные в разных приложениях. Ну это да, в них весьма важная вещь — чтобы они были кастомизируемы. А так я тоже путаюсь, какую кнопку мышки надо зажать (среднюю или правую) и куда тащить для pan-а в ExpeditionPCB, CAM350 и AutoCAD. Везде по-разному, лол. Но значки внутри приложения (картинка, расположение) настраиваются в куда меньшем количестве случаев, чем жесты. >Потому что не получится писать так, чтобы это было читаемо, да и пальцы придётся пачкать и потом оттирать. Твоя аналогия неверная. Ну, если взять аналогию типа мультимедийная доска и обычная доска с маркером. Почему-то даже на первой из них пишут специальной палочкой в форм-факторе маркера, хотя прекрасно можно писать пальцем. >Во-первых, ты нажимаешь не всей подушечкой пальца. Именно, что не всей, а некоторыми «точками», первыми касающимися экрана. И расположение этой точки непостоянное. Яркий пример: в том же apMemo я стилусом мог писать не хуже, чем на бумаге, а теперь на новом телефоне получаются какие-то кракозябры. >Во-вторых, ты стилусом мог бы нажимать на кнопки гораздо меньшего размера, чем они были. Я думаю, что не гораздо. Точность стилуса с кончиком размером 1 мм — примерно 2х2..3х3 мм, кнопка — где-то 5х5 (ruQKeys). С учетом тряски в транспорте, немного изменяющейся координации движений в положении сидя/лёжа/стоя и т.п., 5х5 мм — вполне необходимый размер. >>43958 Вот уж фейл так фейл. =) >>43959 >Но вот именно на твоём сервере выдаёт Вот именно это меня и насторожило. >Поначалу на андроидах даже двупальцевого не было. Поначалу и тачскрины были резистивные (без мультитача), а не ёмкостные. Зато на них можно было стилус юзать, лол. >Что за клавиатура с кнопками 5х5см? Зачем? Это просто рескейлинг системы стилус-экранная клавиатура до системы палец-клавиатура_по_пропорциям_аналогичная_экранной. Кстати, на обычных клавах избавиться от необходимости таких больших кнопок как раз позволяет рельефность клавиатуры (в том числе вогнутость клавиш). >>43981 >Ага. Ток они платные, а я — нищебродка. Но есть же ведь бесплатные. Не ахти, но для мини-хорахорача пойдет. =) >>44041 >Тачскрин определяет центральную точку воздействия, то есть центр пальца. В том-то всё и дело, что точка воздействия != центр пальца. >Фактически, для гарантированного уверенного попадания достаточно кнопки размеров в подушечку пальца для этого у тебя должно быть 100% безошибочное наведение пальца, потому что точка касания может быть где угодно на подушечке. >Да и меньшие размеры возможны, только растет вероятность промахнуться. Ну я пытаюсь выдержать примерно ту же возможность ошибки, как с использованием стилуса. С ним, к примеру, у меня получалось набирать текст быстро, безошибочно и в «полуслепом» режиме (когда клаву и стилус видишь только боковым зрением, а сам смотришь на набираемый текст), а вот с пальцами так не выходит. А ещё пальцем просто убийственно тяжело выделять текст типичного экранного размера. Промахнуться мимо строчки — как нефиг делать, ну и о точном выделении по границе символов тоже можно забыть. Приходится для выделения увеличивать все, а потом обратно уменьшать, что удобства, само собой, не добавляет. >>44065 >Мне кажется, это высший пилотаж по созданию прошивок. А мы IPMI-флешку ставим на платы с 2013 года, всё время намекая программистам, что «ребята, ну запилите уже FRU ID, доступный по I2C, наконец!» Так они отнекиваются «у нас и без вас проблем хватает», и вот ТОЛЬКО СЕЙЧАС, О СВЯТАЯ МАДО-КАМИ-САМА, ТОЛЬКО СЕЙЧАС, И ПЯТИ ЛЕТ НЕ ПРОШЛО, они наконец-то завели в трекере баг в стиле «у нас заказчики давно хотят менеджмент, может сделаем его поддержку, FRU ID там, сенсоры на I2C, COM over Ethernet, все дела». И при этом аппаратно эта функциональность была поддержана ещё три года назад! Бомбит от них. (с) Клара
for i in *; do mv $i `echo $i | sed $regex`; done
expr
if
Robert'); DROP TABLE Students;--
dd
tail
head
wc
>>44077> Но значки внутри приложения (картинка, расположение) настраиваются в куда меньшем количестве случаев, чем жесты.Даже если жесты будут настраиваемыми, то от этого лучше не станет. И вообще это какая-то дикость, когда можно кастомизировать тонкие элементы интерфейса. Это надо очень узкой аудитории и, будь уверен, если бы существовала жестовая мобильная ос, там бы такого не было.> Ну, если взять аналогию типа мультимедийная доска и обычная доска с маркером. Почему-то даже на первой из них пишут специальной палочкой в форм-факторе маркера, хотя прекрасно можно писать пальцем.Потому что люди привыкли писать, используя маркер. Они делают это быстрее и лучше. И, возможно, это ещё зависит от реализации самой доски, я не знаю, как она устроена, но вполне возможно, что нужен специальный контакт или что-то подобное.> Именно, что не всей, а некоторыми «точками», первыми касающимися экрана. И расположение этой точки непостоянное.Тем не менее, при тех размерах, что даёт смартфон, этой точности достаточно.> 5х5 мм — вполне необходимый размер.5х5 — да, но на смартфоне и так все кнопки такие и даже больше.
>>44065 >Но, так или иначе, внутри Sony стоит Qualcomm процессор+видеокарта. И тачскрины у них хорошие. У топовых моделей. Они и не глючат. А то, что попроще, со временем скатывается в бездну лагов. >Но на этапе прошивки про эту функциональность просто забыли. В случае с моим телефоном на Sailfish ситуация обратная — операционка поддерживает внешние устройства по USB, а вот железо не выдает питание, потому не работает. >Это всего оперативной памяти на моём устройстве. Неужели хватает? По моему опыту, именно количество оперативы весьма критично. >>44077 >Да, например, под виндой переименовать файл по регэкспу, к примеру, невозможно Если написать скрипт, например, на питоне, то можно. >В том-то всё и дело, что точка воздействия != центр пальца. Точка воздействия — это, приблизительно, центр области соприкосновения пальца и тача. >потому что точка касания может быть где угодно на подушечке А вот и нет. Касание осуществляется не точкой, а некой областью. Открой какое-нибудь приложение для теста тача и убедись, рисуя пальцем линии. Более того, клавиатура реагирует не мгновенно, у нее специльно есть некоторая задержка, чтобы палец окончательно «приземлился». Можешь открыть клавиатуру, а потом резко и быстро провести пальцем по ряду кнопок — сработают далеко не все по пути. >>44080 >И, возможно, это ещё зависит от реализации самой доски, я не знаю, как она устроена, но вполне возможно, что нужен специальный контакт или что-то подобное. Все горазо проще. Когда пишешь пальцем, он трется и пачкается, это неприятно.
>>44081> Все горазо проще. Когда пишешь пальцем, он трется и пачкается, это неприятно.Вряд ли это аргумент в мою пользу, выходит так, что сейчас пальцем экраны смартфонов пачкаются, а это, пожалуй, минус. Зачем я подсказываю?..Хотя, с другой стороны, современные смартфоны оснащаются олеофобом, и надо постараться загадить экран.
Добавьте в настройки опцию отключения встроенных рефлинков, чтобы у тех у кого кукла могли их отключить, 5 минут дела же.
>>44107 Так отключи их в кукле.
>>44108 Да я то уже отключил уже, просто когда первый раз заходишь то это как-то смущает.
Хм... что за временные парадоксы? Этот тред на первой странице, а на нулевой такой перепад. Судя по включившейся капче — набежал вайпер?
>>44885 Т-так точно. Вот и он поднял некоторые треды. Так что сидим снова вводим капчу
>>44885 >Спойлер Так и есть. Постил неприятные глазу картинки. Некоторое время даже была введена экстренная мера: макс. длинна сообщения: 0 символов, разрешённые форматы прикреплений: никаких. Но было довольно быстро устранено и работа возобновлена.>>32736 Кстати, Хомура, по этому поводу ещё раз поднимаю вопрос: Нужно сделать исключение на ввод капчи для предпросмотра. Да, это уже не мера защиты от DDoS'а, но от вайпа защитит. Пускай DDoS'ят CloudFlare на здоровье. А лучше сделать квоту на 40 предпросмотров в минуту. Собственно, можно включить предпросмотр в общую квоту на количество постов в минуту. Также просто задам вопрос: Почему редактирование, которое кстати, почему-то называется «переотправкой», не может именно изменить содержимое поста? Т.е. вызвать функции освобождения прикреплённых файлов, пристыковать новые файлы на это место, а текст заменить? Возможно, даже не делать функцию изменения файла: просто вариант с изменением текста на месте уже будет подходящим в большинстве случаев. Можно будет так избежать разрыва ссылок при редактировании. Хотя, в случае злоупотребления редактированием, возможно, разрыв ссылок оказался бы скорее плюсом, чем минусом. Но, как меня уже убедили, мы рассчитываем на отсутствие злоупотребления.
>>44080 >Даже если жесты будут настраиваемыми, то от этого лучше не станет. И вообще это какая-то дикость, когда можно кастомизировать тонкие элементы интерфейса. Вот у меня прямо противоположное мнение, и я ненавижу тех, кто запрещает мне кастомизировать то, что я хочу (особенно, если при этом в аналогичных вещах, например, на компе эта кастомизация есть). >Потому что люди привыкли писать, используя маркер. Они делают это быстрее и лучше. Я бы сказал даже — точнее. Для клавиатуры, возможно, это не так серьёзно, но, например, рисовать пальцем на экране смартфона гораздо тяжелее, чем стилусом. >И, возможно, это ещё зависит от реализации самой доски, я не знаю, как она устроена, но вполне возможно, что нужен специальный контакт или что-то подобное. Ну пальцем на ней тоже вполне нормально пишется. >Тем не менее, при тех размерах, что даёт смартфон, этой точности достаточно. Ну, кому-то, наверное — да. Кому-то (мне, например) — нет. >5х5 — да, но на смартфоне и так все кнопки такие и даже больше. Ну для стилуса это вполне необходимый размер. А, например, в процессе сильной тряски в транспорте или ходьбы я набирать текст на смартфончике вообще не могу, хотя стилусом мог. Может, это со мной что-то не так, лол >>44081 >а вот железо не выдает питание, потому не работает А внутри нигде нет +5V? Если припаяться проводочком оттуда к разъёму? >Если написать скрипт, например, на питоне, то можно. Понимаешь, на винду можно и поставить и GNU utils и питон, и всё, что угодно, но только их надо искать и ставить, а под линуксом bash уже из коробки. Когда у тебя состояние «я не хочу ничего решать, я хочу просто переименовать эти три с половиной тысячи файлов нафиг» — то воткнуть флешку в линуксовый комп проще. >Точка воздействия — это, приблизительно, центр области соприкосновения пальца и тача. Суть кроется в слове «приблизительно». >Касание осуществляется не точкой, а некой областью. Ну хорошо, я неправильно выразился: область касания может быть где угодно на подушечке. Причём это зависит от кучи параметров типа угла касания пальца, скорости (в процессе касания «центр масс» пятна смещается — обычно в направлении от ногтя к внутреней части пальца, поэтому при медленных касаниях, когда экран успевает среагировать раньше, чем палец окончательно опустился, есть больше вероятность прокосить на клавишу вверх) и т.п. >Можешь открыть клавиатуру, а потом резко и быстро провести пальцем по ряду кнопок — сработают далеко не все по пути. У меня иногда и от чёткого касания не срабатывают, лол. >Когда пишешь пальцем, он трется и пачкается, это неприятно. Почему же об экран телефона он не пачкается и не трётся, а об доску — которая суть такой же, только 100-дюймовый, например, а не 3-дюймовый экран — делает всё перечисленное? >>44107 >Добавьте в настройки опцию отключения встроенных рефлинков Можно поконкретнее? >>44109 Ну когда ты зайдёшь первый раз, они так же будут неотключенными, ибо этот «первый раз» рассчитывается на тех, у кого нет куклы же. >>44485 >спойлер Угадал. И он даже украл у нас 44444-гет, лол. >>44948 >Нужно сделать исключение на ввод капчи для предпросмотра. Ок, сделаю. >А лучше сделать квоту на 40 предпросмотров в минуту. Ну в принципе, я сейчас подумал и решил, что вряд ли возможно будет как-то так ддосить через предпросмотр, раз уж клауда есть. Разве что забивать пикчами временное их хранилище — но это, думаю, вайперу не будет особо интересно, плюс, максимум, что это убьёт — возможность перетаскивать файлы и собственно возможность предпросмотра поста с пикчей. >в общую квоту на количество постов в минуту. А её и нет. =) С одного IP нельзя отправлять более 1 сообщения в 5 секунд, ЕМНИП, только и всего. >Почему редактирование, которое кстати, почему-то называется «переотправкой», не может именно изменить содержимое поста? Выше в этом ИТТ треде есть дискуссия по этому поводу. Если кратко, то народу не хочется, чтобы редактирование давало больше возможностей, чем удаление и отправка поста снова; моя работа была — только автоматизировать и сделать удобным этот процесс. Редактирование уже имеющегося поста (то есть, не как сейчас) оставляет у поста тот же номер и то же место в треде, то есть, получается, свежеотредактированный пост может быть где-то в дебрях треда и изменений в нём можно не увидеть. Ну и повышенная трололоёмкость такого подхода, когда ты отвечаешь кому-то «я согласен», а тот изменяет свой пост на «вы все дураки и не лечитесь». Конечно, это могло бы решаться запретом на правку после некоторого времени, или после первого же ответа на пост, или пометкой «отредактировано тогда-то» — но народ решил, что это не комильфо. А разрыв ссылок — увы, неизбежная мера при нынешнем механизме. >Но, как меня уже убедили, мы рассчитываем на отсутствие злоупотребления. Ну вот, с капчей рассчитали — и поимели 700 вайпопостов за ночь. Плюс, кто-то там прямо писал, что будет эксплуатировать это в хвост и в гриву.
>>44083 >выходит так, что сейчас пальцем экраны смартфонов пачкаются В случае с интерактивной доской обычно наоборот, пачкается палец, потому что она все время висит на стене и там пыль. >>44960 >А внутри нигде нет +5V? Понятия не имею. Вроде нету. >то воткнуть флешку в линуксовый комп проще Ну-у, если компа с линуксом под рукой нет, то вряд ли проще. Да еще и баш придется осваивать. >Суть кроется в слове «приблизительно». Это не критично, потому что сильно тач не ошибается, как правило. >У меня иногда и от чёткого касания не срабатывают, лол. Больше похоже на лаги или косяк железа. >а об доску — которая суть такой же, только 100-дюймовый, например, а не 3-дюймовый экран — делает всё перечисленное? Потому, что доска, во-первых, висит на стене и пыль собирает, а во-вторых из-за размеров, потому что пальцем приходится проводить расстояние раз в 20 больше за почти такое же время, от этого трется больше. >>44107 Теоретически можно, но не вижу смысла.
>>44962 >потому что она все время висит на стене и там пыль. Лол, никогда не задумывался, что на доске, на которой всё время «пишут», может быть какая-то заметная пыль... >Вроде нету. Тогда печалька. Ну, в крайнем случае можно носить с собой мини-хаб с входом питания и подключаться через него. Хотя, конечно, всё сопутствующее хозяйство в кармане рубахки или джинсов не поносишь, да, не очень удобно. >Да еще и баш придется осваивать. Ну, как будто питон не надо осваивать. =) Я в детстве вообще тулзы для подобного на кубейсике писал вроде до сих пор жив, не брат же. Вопрос в том, что лучше знаешь и что вообще доступно, а то я помню, как в особо экстримном случае на XT без диска мне приходилось для чего-то писать COM-файл в текстовом редакторе: сначала пишешь прогу на листике на асме, потом там же на листике «компилируешь» её с использованием лежащей рядом книжки с опкодами, переводишь всё в десятичные коды символов и, создав новый файл, через Alt+... забиваешь туда символ за символом. Самое весёлое, что символы меньше 0x20 таким образом не введёшь, и приходилось, например, вместо MOV AX, 0010h придумывать нечто вроде MOV AX, 4050h; AND AX, 3F3Fh (про конструкции типа XOR AX, AX я ещё тогда не знал). >потому что сильно тач не ошибается Ну палец зато ошибается. >Больше похоже на лаги или косяк железа. У меня есть подозрение, что это из-за того, что сухой слой кожи толстый слишком (меньше на гитаре надо лабать, наверное, лол). >потому что пальцем приходится проводить расстояние раз в 20 больше за почти такое же время, от этого трется больше Хм, ну да, наверное это аргумент (сейчас поставил эксперимент, проведя по обоям сначала маркером (закрытым, лол), а потом пальцем, да, пожалуй, пальцем чуть менее приятно).
MOV AX, 0010h
MOV AX, 4050h; AND AX, 3F3Fh
XOR AX, AX
>>44960 >ибо этот «первый раз» рассчитывается на тех, у кого нет куклы же Может я не очень понятно выразился, но я имел в виду тот случай, что когда рандомный анон с куклой а таких довольно много заходит на вашу борду то первым делом в глаза бросаются дублирующиеся рефлинки, и это портит первое впечатление для человека ведь все знают какие люди вспыльчивые. Но как уже сказали выше — нет смысла добавлять опцию отключения, потому что такая же есть в кукле, но раз уж вы детектите куклу в правом нижнем углу, то я бы предложил отключать встроенные рефлинки для тех у кого кукла автоматически. В итоге те у кого её нет видят рефлинки, а те у кого есть видят кукловские рефлинки, без этой ужасной вакханалии. >Можно поконкретнее? .replieslist { display: none; }
.replieslist { display: none; }
>>45036 Ага, понял. Хорошо, сделаю так, что если нет куки с настройками, а кукла задатектилась, то настройка «показывать ответы» будет по умолчанию выключена, а иначе — включена.
>>45062 Извини, я не очень тебя понял, но если ты хочешь отключать кукловские рефлинки в этом случае, то лучше не надо, стоит отключать встроенные, хотя бы потому что если у человека есть кукла, то он возможно будет настраивать их отображение, а встроенные настроить например время исчезновения нельзя. К тому же кукловские работают намного шустрее. Но это просто моё мнение, разумеется.
Буду стиль здесь доделывать. Сажа просто для теста. >>44986 >на доске, на которой всё время «пишут», может быть какая-то заметная пыль У меня в школе такая была — да, пыль там собирается. >Ну, в крайнем случае можно носить с собой мини-хаб с входом питания и подключаться через него Надо будет проверить с хабом. Кстати о питании — не знаешь, где можно купить блоки питания нормальные? На алиэкспрессе, говорят, периодически попадается помойка, которая быстро сгорает. >Вопрос в том, что лучше знаешь Именно. >на XT без диска А что это? >Ну палец зато ошибается. Если он ошибся чуть-чуть, то это не критично, проблемы пойдут если ошибка значительна. На ipod touch 4 была очень годная клавиатура — не знаю почему, но там ошибки у меня были гораздо реже, чем где бы то ни было. >что это из-за того, что сухой слой кожи толстый слишком Очень может быть. Попробуй юзать крем для рук. >>45112 >К тому же кукловские работают намного шустрее Как? Здесь карта ответов на сервере, рефлинки загружаются вместе с постами, а не генерятся куклоскриптом.
Более-менее доделала стиль. http://pastebin.com/Yubgeaif Проблемы: — плагины, добавляющие стили, как правило не отключают те, которые имеют, и возникает конфликт, когда прорывается другой стиль. Если подключать этот стиль плагином, то надо сначала на борде выбрать стиль Dark, он не конфликтует. — Для фрейма стили почему-то идут отдельно, потому этот стиль не работает во фрейме. — Не придумала, какого цвета сделать спойлеры. Сейчас они просто черные, но это не удобно.
>>45129 >>К тому же кукловские работают намного шустрее >Как? Видимо, кукла же и тормозит с ними. >>45132 >плагины, добавляющие стили, как правило не отключают те, которые имеют Даже после тега !important? >>44109 >пик Всё же, есть что-то прекрасное в этом арте, завораживающее взгляд. Как так спокойно можно жить в столь необычной обстановке, совершенно не боясь?
!important
>>45129 >Как? Ну вообще да, никак. Я ошибся, сейчас потестил, встроенные тоже быстрые. >>45133 Кукла не тормозит с ними.
Кстати, просьба анона по «подсветке» картинки реализована, но только для картинок с прозрачностью. На самом деле для всех, но для остальных не видно Посмотреть эффект можно на этой >>38600 пикче. >>45133 >Даже после тега !important? Нет, конфликт происходит в другой момент — например, когда в том стиле определено что-то (например, фон и границы), а в устанавливаемом с плагина стиле это что-то оставлено по дефолту, например только фон, тогда берется фон твоего стиля и границы от того.
>>45112 Не, естественно, я свою настройку буду отключать, а не кукловскую. >>45129 >Кстати о питании — не знаешь, где можно купить блоки питания нормальные? Если универсальные — в своё время (курсе на втором, это уж лет 10 прошло, до сих пор работает) покупал в годной палаточке на Митино. Проблема только в том, что сейчас из Митино сделали непонятно что, и вместо этих палаточек там банальная стоянка. >На алиэкспрессе, говорят, периодически попадается помойка, которая быстро сгорает. Это да, порой сгорает вообще при первом же включении. >А что это? Ну это был комп, «Правец 16», советский аналог IBM PC XT. Ко мне он попал с нерабочим винчестером, да и дискетки он читал через одну. >Если он ошибся чуть-чуть, то это не критично, проблемы пойдут если ошибка значительна. Если ошибка больше, чем полклавиши (а клавиша, например, лично у меня — 7х9 мм). >Как? Здесь карта ответов на сервере, рефлинки загружаются вместе с постами, а не генерятся куклоскриптом. Кстати да, я тоже не понял этого. Время «работы» нашей карты ответов — вообще нулевое, лол. >>45132 >Более-менее доделала стиль. Ок, попробую добавить. >надо сначала на борде выбрать стиль Dark, он не конфликтует. А если его ставить без подключения каких-либо стилей — будет нормально? (т.е. подключать вместо, а не вместе со старым стилем)? >Для фрейма стили почему-то идут отдельно, потому этот стиль не работает во фрейме. Да, там есть файлы типа menu_xxx.css и site_xxx.css. Можешь попробовать их поподправлять.
menu_xxx.css
site_xxx.css
>>45148 >Нет, конфликт происходит в другой момент — например, когда в том стиле определено что-то (например, фон и границы), а в устанавливаемом с плагина стиле это что-то оставлено по дефолту, например только фон, тогда берется фон твоего стиля и границы от того. А, понял о чём ты. Да, меня тоже значительно раздражает отсутствие тега «unset». Но что поделать, его нет. Да, у моддеров это решалось определением заново уже определённого на такое же значение. Глупо по своей сути, но хоть работало. А вообще нужно искать путь более гармоничной установки. Попробуй попросить хомуру включить этот стиль как один из основных. А на данный момент можно тестировать через файлозаменяющий девелоперский прокси или любую другую уловку по этой теме. Кстати, про интеграцию новых типов: Хомура, ведь звуковые оповещения в mp3. На загнутом Open Source не работает. Можно зашатать оповещатель в <audio> тег, и там указать несколько <source>, и сконвертировать аудио, чтобы работало на всех форматах. Или можно забить, конечно. Вряд ли у кого-то кроме меня это не работает. Да и у меня когда-то доделается, наверное. И ещё во время поиска по файлу «kusaba_new.js» нашёл ещё любопытную функцию function expandmp3. Кажется, этому плееру уже пора на свалку, даже пускай у меня и не работает mp3.>>45164 >Время «работы» нашей карты ответов — вообще нулевое, лол. Кстати, а ответ в другой тред видно?
function expandmp3
>>32736 Хомура, ещё такую деталь заметил тут >>45082 Если в тег code написать ссылку, то прибавится закрывающий тек ссылки. Сразу тут же тесты по этому вопросу: http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a>
code
http://kurisa.ch/sg/res/32736.html</a>
http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a> http://kurisa.ch/sg/res/32736.html</a>
>>45166 >Попробуй попросить хомуру включить этот стиль как один из основных. Да, я так и хочу. >Хомура, ведь звуковые оповещения в mp3. >На загнутом Open Source не работает. Лол. >2016 >MP3 ещё не лицензионно чист Жесть какая-то. >Можно зашатать оповещатель в <audio> тег, и там указать несколько <source>, и сконвертировать аудио, чтобы работало на всех форматах. Попробую. >И ещё во время поиска по файлу «kusaba_new.js» нашёл ещё любопытную функцию Ох, там столько наслоений кода от разных авторов, что аж ужас берёт. >Кстати, а ответ в другой тред видно? Да, видно, и даже на другую доску видно (к примеру, в этом посте: >>/vg/191) >>45170 >Если в тег code написать ссылку, то прибавится закрывающий тек ссылки. Лол. Поправлю.
>>45164 >Ок, попробую добавить. Если не трудно. >А если его ставить без подключения каких-либо стилей — будет нормально? Да, это переделанный стиль Dark. >Можешь попробовать их поподправлять. Сделаю, но уже не сегодня. >>45166 >На загнутом Open Source не работает. Это насколько же загнутый? Фряха? Мне казалось, что mp3 лицензия уже везде добавлена.
>>45197 >Это насколько же загнутый? Фряха? Да нет, это немного не в ту сторону. Я знаю, что на фряхе тоже это спокойно настраивается. Не работает как раз на загнутых. Trisquel и в ту сторону далее. Честно говоря, у меня не таковый. Просто gstreamer вешает браузер, и его пришлось выключить. >Да, это переделанный стиль Dark. Тогда уж «Gindark»? Не удалать же старый, если он тоже неплох.>>45182 >Да, видно, и даже на другую доску видно О, а это очень даже здорово. Как раз такие связи, хоть и довольно неожиданны, но очень даже хорошие. >Ох, там столько наслоений кода от разных авторов, что аж ужас берёт. Кстати, он случайно не обфусцирован? Я его каждый раз через «beautify» открывал.
>>45182 >>Можно зашатать оповещатель в <audio> тег, и там указать несколько <source>, и сконвертировать аудио, чтобы работало на всех форматах. >Попробую. Спасибо, Хомура. Уже услышал в работе.
>>45197 >Если не трудно. Добавил. Называется «Suigintou» (name subject to change, конечно, как у истинных лабмемов!) Если нужны исходники .css (возможно, клауда их сокращает) — то говори, положу куда-нибудь. >>45226 >Как раз такие связи, хоть и довольно неожиданны, но очень даже хорошие. В некотором смысле и ради них тоже делалось. =) >Кстати, он случайно не обфусцирован? В оригинале — нет, но клауда его, возможно сокращает (чтобы грузилось и обрабатывалось быстрее, типа). Если нужен исходник — говори, дам. >>45228 >Спасибо, Хомура. Да не за что. =) Итак, сегодня (и не только сегодня) я запилил много-много обновок: — (NEW) при редактировании поста иногда вылазит флуд детектив (minor) (easy) — DONE — (NEW) фрейм: добавить ТВ, радио, подкасты, убрать умерший тувач (minor) (easy) — DONE — (NEW) прибраться в верхней менюшке (minor) (easy) — DONE — (NEW) front.php параметры mode=default,newyear,touhou (minor) (easy) — DONE — (NEW) 1 апреля (timelimit) (medium) — DONE — (NEW) таймаут проверки хэша — неделя (normal) (easy) — DONE — (NEW) зашатать оповещатель в <audio> тег, и там указать несколько <source> (minor) (easy) — DONE (сделан формат ogg) — (NEW) «помимо курисача» переименовать в «ссылки» (minor) (easy) — DONE — (NEW) цвет кнопок неправильный (minor) (easy) — DONE — (NEW) ссылки вида http://vignette2.wikia.nocookie.net/rozenmaiden/images/2/2b/Rozen_Maiden_Suigintou_Mercury_lamp_shoes_ver_01-2-03.jpg/revision/latest?cb=20120730153014&path-prefix=ru тупят (minor) (easy) — DONE — (NEW) сделать счётчик до дозагрузки постов и индикатор дозагрузки одной высоты, чтобы не дёргалось (normal) (easy) — DONE — (NEW) Двойной слеш в //lib (minor) (easy) — DONE — (NEW) сделать, чтобы было нельзя грузить по ссылке гигантские файлы (major) (easy) — DONE — (NEW) добавить стиль Suigintou (minor) (easy) — DONE — (NEW) $_SERVER[«HTTP_CF_CONNECTING_IP»] (minor) (easy) — DONE — (NEW) sort descending в поиске (minor) (easy) — DONE — (NEW) в поиске ничего не работает (ссылки хоум, ссылки на доски и етц), в поиске нет номеров постов (minor) (easy) — DONE — (NEW) добавить поддержку встраивания видео с niconicovideo (minor) (medium) — CANCELLED (я не сумел найти нормального api у niconico) — (NEW) вот этот пост: http://kurisa.ch/sg/res/42761.html#42847 Вызывает горизонтальную прокрутку (normal) (easy) — DONE — (NEW) сворачивание больших постов (normal) (medium) — DONE — (NEW) при разворачивании поста нет номеров поста; также их нет при поиске (minor) (easy) — DONE — (NEW) Автоперенос слов на стороне клиента (normal) (easy) — DONE — (NEW) отключение тегов в разметке (minor) (easy) — DONE — делается тремя бэкслэшами (см. ссылку «информация» в постбоксе) — (NEW) Если в тег code написать ссылку, то прибавится закрывающий тек ссылки (minor) (medium) — DONE — (NEW) тег [code] обрабатывается раньше обратной кавычки (minor) (easy) — CANCELLED (в этом есть некая логика, оставим так) — (NEW) отключить капчу при предпросмотре поста (minor) (easy) — DONE — (NEW) >>43490: корявая ошибка, если файл слишком большой (minor) (easy) — DONE — (NEW) ссылки >>>01 не работают (minor) (easy) — CANCELLED (не понял, вроде всё работает) — (NEW) при постинге иногда пост не отправляется и перебрасывает на нулевую (кажется, дело в длинных ссылках! см. пост в едатреде) (major) (easy) — DONE (теперь, вроде, должно быть нормально) — (NEW) >>45148 просьба анона по «подсветке» картинки (minor) (easy) — CANCELLED (не помню такой просьбы — можно детали?) — (NEW) пофиксить наложение на ютубовский плеер (minor) (easy) — DONE — (NEW) сделать так, что если нет куки с настройками, а кукла задетектилась, то настройка «показывать ответы» будет по умолчанию выключена (minor) (easy) — DONE — (NEW) реализовать вставку ссылки с замещающим текстом, ну например как в ВВ коде (minor) (easy) — DONE — длинные скрипты в админке вызываются два раза (проблема сервера?) (normal) (hard) — NEED INFO (путь решения неизвестен) — если нет куков, отдаются просроченные страницы (normal) (medium) — NEED INFO (путь решения неизвестен) — вылетает опера (major) (hard) — NEED INFO (проверяйте, всё ещё вылетает?) — «этот тип файла не разрешён к отправке на эту доску» у Клары (normal) (medium) — NEED INFO (не могу воспроизвести) — (NEW) есть проблемы с символами в файле http://pastebin.com/nByG9cif (minor) (hard) — NEED INFO (проблема с кодировкой соединения через ADODB 1.42 с базой; если кто подскажет, как решить — пофиксю) — (NEW) автообновление: счетчик тикает, но посты не обновляются (normal) (medium) — NEED INFO (не могу воспроизвести; у кого так — мне нужен вывод консоли браузера) — видео+картинка (major) (hard) — (NEW) сделать отправку по Ctrl+Enter настраиваемой (normal) (hard) — (NEW) включенное автообновление жрёт очень много ресурсов почему-то (normal) (hard) — (NEW) сделать архив тредов (normal) (hard) — (NEW) без капчи посты с куклы отправляются два раза (normal) (medium) — запилить каталог а-ля нульчан (minor) (hard) — (NEW) скрытие постов по имени, тексту поста (minor) (hard) — (NEW) сделать переключение английского и русского интерфейса (minor) (hard) — спойлеры картинок (minor) (medium) — cделать отдельно однопоток постов как на хорочане или как на хайбане (minor) (medium) — анимированные превьюшки, выключенные по дефолту (minor) (medium) — (NEW) сделайть улучшенный хеш для бана, чтобы он высчитывался без последних 2-5-10 байт (minor) (medium) — (NEW) vimeo не отображает превьюшки видео (minor) (medium) — (NEW) фрейм колбасит (см. пост 42066) (minor) (medium) — (NEW) чтобы был и диалог открытия и превью по клику на зоне «перетащи файл сюда» (minor) (medium) — (NEW) до идеала нехватает только рехост миниатюр с youtube (minor) (medium) — (NEW) скрытие отдельных постов, навроде кнопочки скрытия треда, только для постов (minor) (medium) — (NEW) сделать, чтобы предпросмотр закрывался при отведении мышки (minor) (medium) — ускорить статистику в админке (minor) (easy) — (NEW) предпросмотр поста не закрывать при клике по кату (minor) (easy) — (NEW) кат не помещается в пост с картинкой правильно (minor) (easy) — (NEW) сделать в шаблоне капчу только если на доске капча включена (minor) (easy) Если кому нужны пояснения по какому-либо пункту, или есть мысли о том, как пофиксить или повторить то, что я не знаю, как — пишите.
>>>01
>>45226 >Trisquel и в ту сторону далее. А-а, этот я даже не знаю. >Не удалать же старый, если он тоже неплох. Так можно просто добавить. >>45240 >(возможно, клауда их сокращает) Нет, Клауда не сокращает. Скорее всего понадобится немного пофиксить стиль через некоторое время, я напишу.
>>45240 >убрать умерший тувач Но Тувач жив, вот же он. >(NEW) реализовать вставку ссылки с замещающим текстом, ну например как в ВВ коде (minor) (easy) — DONE Отдельное спасибо за мой реквест. >вылетает опера (major) (hard) — NEED INFO (проверяйте, всё ещё вылетает?) Проблема я так понимаю только на бета сборках оперы? За пол года на стабильных сборках вылета не было ни разу. >«этот тип файла не разрешён к отправке на эту доску» у Клары Имеется в виду отказ вставлять ссылку при прикреплении ссылки в окне постбокса? Это я могу воспроизвести.
>>45240 >отключить капчу при предпросмотре поста (minor) (easy) — DONE Точно «всё идёт по плану»? Капча же везде отключена. Ещё раз: Точно ничего не напутано?
>>45257Эх, с-спалил контору. Но этого стоило ожидать. С-сейчас включу.
>>45258 >Эх, с-спалил контору. Ты же главадмин, Ханакофаг. Мог бы тихо удалить сообщение, и написать на этом месте, что «всё идёт по плану».
>>45261 М-можно было и так. Но это не красиво я считаю. На будущие если кто заметит, что капча старайтесь не писать об этом. Глаза и Уши организации повсюду."
>>45263 >Но это некрасиво, я считаю Я тебе разрешаю такое делать с моими постами. Без проблем. Ты не станешь это делать во вред.
https://youtu.be/zcZOWx6WKKE >>45254 >Это я могу воспроизвести. Об этом шла речь?
>>45240 А вообще впечатляющий список. Ты над курисабой всю ночь сидел? Или ещё и весь день до этого?
>>45240 Х-хорошо, что так пошатал Курисабу. Молодец, спасибо.
>>45240> — запилить каталог а-ля нульчан (minor) (hard)Это одной строчкой в конфиге делается на кусабе, разве нет?> — (NEW) до идеала нехватает только рехост миниатюр с youtube (minor) (medium)Зачем?
>>45322 >Зачем? Тебе никогда этого не понять.
>>45331Зависит от того, насколько хорошо вы мне это объясните.
>>45342 Ты недостаточно пафоса вложил в то предложение. Шутка. Ну, понятное дело, можно объяснить. Это вопрос локального хранилища всех автоподключаемых данных. для меня это препятствие отслеживания гуглом активности пользователей.
https://youtu.be/1kDueM0Zros Еще немного веселья
>>45240 Странное поведение всплывающих по рефлинку постов.
>>45250 >Так можно просто добавить. Уже. >Скорее всего понадобится немного пофиксить стиль через некоторое время, я напишу. Хорошо. >>45254 >Но Тувач жив Лол, туваче воскресе. =) Ладно, запилим обратно, что уж тут. >Отдельное спасибо за мой реквест. Незачт, Хомура не забывает (и иногда даже не прощает, лол. =) >За пол года на стабильных сборках вылета не было ни разу. Ну тогда будем считать, что действительно, проблема в опере, а не Курисаче. Поставлю в CANCELLED. >Имеется в виду отказ вставлять ссылку при прикреплении ссылки в окне постбокса? Это я могу воспроизвести. Ну там у него, как я понимаю, валидный файл не прикреплялся. А в отказе к прикреплению невалидного файла ничего страшного нет, это штатный режим работы. Алсо, я тут выяснил, что нам можно было туда каждые 10 минут заливать многогигабайтный файл во временный каталог и тем самым занять нам много места на сервере — но вовремя починил, пока какие-нибудь колчаки не допёрли. >>45257 Ну, про это я не был в курсе (Ханако, наверное, сам специально отключил). Прямо хоть невидимые vip-трипкоды вводи, чтобы можно было писать без капчи, лол. Хотя это уже совсем не АИБ будет, а какой-то вконтач, лол. А при предпросмотре должна быть отключена. >>45261 >удалить сообщение, и написать на этом месте, что «всё идёт по плану». Шурик, это же не наш метод! Алсо, даже админ у нас может максимум удалять пост, но не редактировать (во избежание) На самом деле нет — просто я не допиливал такую функциональность за ненадобностью. =) >>45280 Почти. О том, что этот механизм иногда отказывается грузить валидные файлы. >>45302 >Ты над курисабой всю ночь сидел? Угу, к вечеру закончил более-менее дела и пошёл в атаку на полчища багов. =) >>45304 Да пожалуйста. =) >>45322 >Это одной строчкой в конфиге делается на кусабе, разве нет? Может быть, я пока не проверял. При условии, что этой строчки там нет — это (hard), можно будет реклассифицировать как (easy), если действительно одной строчкой решается. >Зачем? Ну, лично для меня — чтобы видеотред и музтред не грузились в два раза дольше обычных тредов (не 2 секунды, а 5). А ещё Рейму так хотела... Ну, в смысле, хотел. Это странное чувство, когда для тебя уже Рейму, Ханако и Мари становятся мужскими именами, лол. А ещё я начинаю писать, как Рейму — каждое предложение на отдельной строке. Кажется, фундаментальные постоянные и законы мира Генсокё постепенно завладевают Курисачем... =) >>45331 Кстати, а открой мне тайну синей Рейму? Я вроде как слышал, что в каноне PC-98 были варианты Рейму в синей одежде, но распространения они не получили, а тут я вижу столько артов. Это случаем не расцветка второго игрока в дуалплеере, например? (что, кстати, по одной интересной статистической гипотезе «Red vs. Blue», вносит дисбаланс в шансы на выигрыш. =) >>45401 Лол. Это у тебя явно проблема с браузером — моя лисичка послушно закрывает дроплист при клике вне его (в том числе и при начале перетаскивания формы быстрого ответа). Да, кстати, вижу у тебя (и может быть, у многих других) проблему, подобную моей — не обновились иконки редактирования и ответа. Нужно почистить кэш браузера (клауда почему-то упорно выдаёт Not modified). >>45407 Хм. Да, откуда-то лезет скроллбар и почему-то превьюшка вылезает за край. Посмотрю, в чём дело.
>>45408 >Лол. Это у тебя явно проблема с браузером Ок попробую почистить кэш. Когда ждать разрывающей пространство пасты, Хомура-нян? Там уже рандом почти закончился, а тебя всё нет.
>>45412 А хотя нет, после обрезки постов твои пасты больше не опасны.
>>45414 А вот меня обрезка постов люто расстраивает. Иногда не хочешь уходить в тред, хочешь дочитать большую пасту, а остальное — по ссылкам на ответы, и дальше 0 мотать до нужного треда. Ан нет, теперь посты обрезаны, и эта функция перманентна. Воробьиные сычи в смятении от этой хуйни.
>>45415 О чем ты? Посты уже разворачиваются без перехода в тред.
>>45419 Разве? У меня происходит переход в тред.
>>45407 >видео О, Линуксоид на LXDE с chromium. Кстати, Chromium. У тебя тоже звуковые оповещения не работали ранее?>>45412 >Там уже рандом почти закончился, а тебя всё нет. Ну ведь только один тред закончился. Да и он быстро закончился в этот раз.>>45415 Даже не знаю, что ответить. Хомура говорил ранее, что будет перерабатывать эту функцию совсем. Сейчас вижу, что он её исправил. Возможно, просто сделает ещё один выключатель в опциях. Думаю, это будет довольно оптимально на данный момент. Сразу сюда же: Хомура, ты там держишь код в чистоте? Сегодня заходил в один старенький тред, и у меня то звуковое оповещение каждые 20 сек были, то подсветился всплывающий пост по клику вместо перехода по странице. Это всё миноры, но немного настораживает. Не закопайся там.>>45408 >но вовремя починил, пока какие-нибудь колчаки не допёрли. До такой тонкости вообще вряд ли когда-либо допрут. >Угу, к вечеру закончил более-менее дела и пошёл в атаку на полчища багов. =) Ну и дела >А при предпросмотре должна быть отключена. Да, уже в штатном режиме. Я думал, что это с тобой связано отключение капчи. >Шурик, это же не наш метод! Именно это. >Спойлер 1 Так можно же просто удалить, а в своём посте написать, что «всё идёт по плану». Я так думал. Да и понятно, что админ физически может, без вопросов. >Прямо хоть невидимые vip-трипкоды вводи, чтобы можно было писать без капчи, лол. Хотя это уже совсем не АИБ будет, а какой-то вконтач, лол. Ну вон на двачах пасскоды уже стали местной классикой. >Спойлер «\n» Ты тоже начал замечать изменения? Всё потому, что слишком большие стены перекидываем. Стиль уже диффундирует. Впрочем, для тебя стены — тоже вполне нормально. >Кстати, а открой мне тайну синей Рейму Нет. >а тут я вижу столько артов Я за ними гонялся отдельно. Мне нравятся такие отдельно. >Это у тебя явно проблема с браузером Ну слишком уж популярным браузером. Хоть у меня тоже Gecko, нельзя вот так послать всех остальных. Нехорошо это. НУ КАК ТАК??? Я точно писал пост, где проверял рабочие/нерабочие DONE-фичи. И где он теперь? И ещё удивлён, почему ты проигнорировал. Молоцец я, конечно. Так, второй ударзаход: >вот этот пост: http://kurisa.ch/sg/res/42761.html#42847 Вызывает горизонтальную прокрутку (normal) (easy) — DONE Ты уверен? >Автоперенос слов на стороне клиента (normal) (easy) — DONE Сюда же как способ решения. >пофиксить наложение на ютубовский плеер (minor) (easy) — DONE Работает, спасибо. >сделать счётчик до дозагрузки постов и индикатор дозагрузки одной высоты, чтобы не дёргалось — DONE Тоже работает, отлично. Жаль, что не вспомню, что ещё писал.
>>45368> для меня это препятствие отслеживания гуглом активности пользователей.Если тебя это так сильно беспокоит, то можно запретить отправку кук гуглу при запросе картинки на курисаче. Наверняка для лисы подобные аддоны существуют. А в большинстве случаев этого не требуется, у нас не «криптоборда» для любителей полной анонимности да здесь даже банального хттпс нет, и подобные вопросы должны решаться на стороне пользователя.>>45408> Может быть, я пока не проверял.Здесь уже был каталог. Потом его выпилили, видимо, посчитав, что он не нужен.> Ну, лично для меня — чтобы видеотред и музтред не грузились в два раза дольше обычных тредовТы уверен, что они быстрее грузиться будут? Да и разница небольшая, а цена — дополнительные костыли и занимаемое место на диске.
>>45425 >у нас не «криптоборда» для любителей полной анонимности. Я про криптографию ничего и не говорил. Ты путаешь с приватностью. >и подобные вопросы должны решаться на стороне пользователя. >то можно запретить отправку кук гуглу при запросе картинки на курисаче Ну и реферрер ещё. Да и youtube уже легко знает, что если одновременно с одного браузера запросили предпросмотры на видео, что группированы на Курисаче, то это и есть пользователь Курисача. Так что на клиенте можно максимум отключить доступ к предпросмотрам, и никак иначе. То ли дело, если это делает сервер. Он же и так публичен. >Да и разница небольшая, а цена — дополнительные костыли и занимаемое место на диске. Я бы никак не назвал сохранение информации на локальном сервере костылём. Это довольно важная деталь. Если бы не лицензии Youtube, вообще имело бы смысл и скачивать видео из youtube для последующего постинга как локальный webm. Решало бы вопрос с пресловутыми удалениями видео из youtube. Но, так или иначе, это действительно minor.
>>45428> Я про криптографию ничего и не говорил. Ты путаешь с приватностью.Я не просто так в кавычки взял.> Ну и реферрер ещё.> Да и youtube уже легко знает, что если одновременно с одного браузера запросили предпросмотры на видео, что группированы на Курисаче, то это и есть пользователь Курисача.Тереть реферер, заменять юзерагент. Это ещё проще, чем то, что ты до этого хотел.Обычно у любителей приватности давно все нужные аддоны стоят, которые всё это дело блочат, а ты вдруг конкретно за курисачик забеспокоился.> То ли дело, если это делает сервер. Он же и так публичен.Делает то, чего не должен.> Я бы никак не назвал сохранение информации на локальном сервере костылём.А реализация этой функциональности на обвешенной костылями кусабе — гарантированный костыль.> Это довольно важная деталь. Если бы не лицензии Youtube, вообще имело бы смысл и скачивать видео из youtube для последующего постинга как локальный webm.Нет, не имело бы. Я предпочитаю смотреть видео в фулл хд 60 фпс, представляешь себе объём таких видео? Можно смело утверждать, что места не хватит. Если хранить видео 320х240, то и даром такого не надо.По хорошему, вообще не нужна эта возможность прикреплять видео с ютуба. Указал ссылку в посте — и достаточно, можно скриптом уже подгружать нужную инфу, как это делает куклоскрипт. Уже давно на бордах данный способ прикрепления не используется, одна лишь кусаба впереди всей планеты.
Ваша Хомура-нян — подебительница по жизни: попыталась запилить каталог, в итоге уронила все тамбнейлы (перепутав каталожные варианты с обычными), пришлось всю ночь чинить обратно. Волей Мадо-ками-сама — починила. Зато теперь освободилось 2 лишних гига за счет того, что в качестве каталожных тамбнейлов реюзятся обычные. Да, речь о том, чтобы пробовать всякие подобные штуки с бэкапом, а не на продакшене — не шла даже, некогда было. Такие дела, лол. Ладно, перед следующим шатанием курисабы надо будет не забыть сделать полный бэкап, хе-хе... >>45412 >Когда ждать разрывающей пространство пасты, Хомура-нян? Там уже рандом почти закончился, а тебя всё нет. Я еле успеваю за вами читать! Сейчас вот волна отвеченных постов отстаёт от фронта написанных примерно на 200 мессаг. >>45415 Джинн, меня это тоже люто расстраивало, поэтому теперь я допилил эту фичу как надо. Радуйся. >>45420 Хм. Попробуй почистить кэш браузера — возможно, не обновились скрипты. >>45421 >Возможно, просто сделает ещё один выключатель в опциях. Да чёт я думаю — а зачем выключатель? Вроде и так нормально, не? >Хомура, ты там держишь код в чистоте? Эх, если бы! Всё грезю (..? грежу?..) рефакторингом и подчисткой — но некогда. >то звуковое оповещение каждые 20 сек были, то подсветился всплывающий пост по клику вместо перехода по странице. Ну это издержки кэширования браузером, кажется. Сейчас всё ок? >Стиль уже диффундирует. Точно. =) >Нет. Эх! Будет ещё один вопрос, который мог бы не давать мне спать ночами если б не хронический дефицит сна, лол, вот и сейчас... >Ну слишком уж популярным браузером. >Хоть у меня тоже Gecko, нельзя вот так послать всех остальных. Ну я к тому, что если браузер не закрывает дроплист — на это вряд ли можно повлиять кодом сайта. >Я точно писал пост, где проверял рабочие/нерабочие DONE-фичи. Ты его отправлял, но он не отправился? Или просто забыл отправить? Просто есть таинственная вещь, что якобы, иногда посты не отправляются, но повторить пока никому не удалось. Это не оно? >Ты уверен? Да, с автопереносом какие-то косяки. Буду разбираться. >>45425 >да здесь даже банального хттпс нет Так объясни, зачем тебе https? >Здесь уже был каталог. Потом его выпилили, видимо, посчитав, что он не нужен. Лол, когда? Видать, я пропустил. >Ты уверен, что они быстрее грузиться будут? Ну сейчас мне профилировщик Хоро показывает, что загрузка тамбов с ютуба длится основное время загрузки страницы. >>45428 >скачивать видео из youtube для последующего постинга как локальный webm. Ну вот это уже лишнее — у нас место, всё же, не неограниченное. Ладно, всё, пойду спать, а то на работу вставать меньше, чем через 4 часа, лол.
>>45446> Так объясни, зачем тебе https?Мне? Мне незачем. А любителям приватности это так или иначе гарантирует, что траффик никто не прослушает.> Лол, когда? Видать, я пропустил.Когда только поставили кусабу вместо предыдущего движка.> Ну сейчас мне профилировщик Хоро показывает, что загрузка тамбов с ютуба длится основное время загрузки страницы.А если сравнить со скоростью загрузки обычных миниатюр?
>>45408 >Это у тебя явно проблема с браузером Хромиум 64 под Линуксом. Та же проблема. И плюс еще пара мелких, послезавтра запишу их Возможно, проблема целого движка? >>45421 >У тебя тоже звуковые оповещения не работали ранее? Что? Тут есть звуковые оповещения? А когда они срабатывают-то? >>45441 >Указал ссылку в посте — и достаточно, можно скриптом уже подгружать нужную инфу, как это делает куклоскрипт Я тоже как-то так думаю. >>45446 >в качестве каталожных тамбнейлов реюзятся обычные Логично. А зачем раньше их делалось в два раза больше? >Сейчас вот волна отвеченных постов отстаёт от фронта написанных примерно на 200 мессаг. Тогда воздержусь от писанины пока. >Попробуй почистить кэш браузера — возможно, не обновились скрипты. Да, действительно.
>>45441 >Я не просто так в кавычки взял. А, и вправду. >Обычно у любителей приватности давно все нужные аддоны стоят, которые всё это дело блочат, а ты вдруг конкретно за курисачик забеспокоился. Ну понятное дело. >Делает то, чего не должен. Где граница? Что сервер делать должен, а чего не должен? Мне кажется, это вопрос автономности. И любой уважающий своих посетителей вебсайт, как Википедия, facebook, Google работают на то, чтобы максимум контента было локальным. По крайней мере, чтобы сторонний контент если и загружался автоматически, то хотя бы сервером. >А реализация этой функциональности на обвешенной костылями кусабе — гарантированный костыль. Ты предлагаешь ничего не пилить вообще, раз костыли всё? Спасибо за совет. Уж лучше приводить код в порядок. Даже если за этими словами иногда скрывается добротное такое переписывание. Для дальнейшего развития это в любом случае необходимо. >По хорошему, вообще не нужна эта возможность прикреплять видео с ютуба. Почему бы и нет, если работает хорошо. >можно скриптом уже подгружать нужную инфу, как это делает куклоскрипт Невероятная гибкость. >>Возможно, просто сделает ещё один выключатель в опциях. >Да чёт я думаю — а зачем выключатель? Вроде и так нормально, не? А, сейчас вообще идеально. >Ну это издержки кэширования браузером, кажется Возможно. >Будет ещё один вопрос, который мог бы не давать мне спать ночами Это вряд ли. >Ты его отправлял, но он не отправился? Или просто забыл отправить? >Просто есть таинственная вещь, что якобы, иногда посты не отправляются, но повторить пока никому не удалось. Это не оно? Возникла у меня только что идея, где это можно посмотреть наверняка. Но, только что копнув в историю: я его действительно не постил. >Ну сейчас мне профилировщик Хоро показывает, что загрузка тамбов с ютуба длится основное время загрузки страницы. Ну и дела. Не ожидал такого поведения от серверов youtube. >Ну вот это уже лишнее — у нас место, всё же, не неограниченное. И поэтому тоже.>>45454 >Что? Тут есть звуковые оповещения? А когда они срабатывают-то? Когда приходит новое сообщение при включенном «автоматически получать новые посты» и открытой вкладке треда, на котором ответы ты следишь. Вот буквально сейчас услышал. Для этого нужно, чтобы работал вывод звука в браузере, и сам он собран с vorbis или mp3. >Тогда воздержусь от писанины пока. Чисто из солидарности? Благородно.
>>45240 >>Кстати, он случайно не обфусцирован? >В оригинале — нет, но клауда его, возможно сокращает (чтобы грузилось и обрабатывалось быстрее, типа). Если нужен исходник — говори, дам.function removeCSS(order){iter(document.styleSheets,function(sheet){if(sheet.href&&(new RegExp(injectDestination).test(sheet.href))){if(order instanceof Array){iter(order,function(o){sheet.deleteRule(o);})} else{sheet.deleteRule(order);}}});}Ну это же серьёзно обфускат. После того же beautify вот такой результат на том же участке:function removeCSS(order) { iter(document.styleSheets, function (sheet) { if (sheet.href && (new RegExp(injectDestination).test(sheet.href))) { if (order instanceof Array) { iter(order, function (o) { sheet.deleteRule(o); }) } else { sheet.deleteRule(order); } } }); }Мне кажется, это другое дело. Ладно, проехали. Но я-таки решил докопаться, почему у меня «туттурукает» почём зря каждые 20 сек. Решил рассмотреть на примере треда: http://kurisa.ch/sg/res/39196.html#45424 Когда понял, как работает автообновление, так немного просел. Получается, обновление происходит путём загрузки этой же страницы, но на фоне с помощью XHR. И прилетают не только уже имеющиеся посты, но и вся разметка, на каждое обновление. Это, кажется, и есть ответ на то, почему автообновление потребляет ресурсы. Затем увидел var totalPosts = document.getElementsByClassName('reply').length; и немного округлил глаза. Так. Оно есть. Это сразу нужно бы вынести как переменную, а не считать каждый раз, ещё и поиском. Или вовсе отправить от сервера точную цифру, сколько заявлено постов. И не придётся пересчитывать ни текущую страницу, ни новоприбывшую. Ну ещё ладно, всё же, работает. Судя по условию (totalPosts < totalNewPosts) звук может воспроизводиться только в одном случае: когда количество прилетевших постов больше, чем сейчас имеющихся. Установил в код вставочку console.log( "Posts now:" + totalPosts + "Posts got:" + new_posts.length); перед самым воспроизведением Audio. И получил "Posts now:51Posts got:52" Но как так? Их же 53, что тут, что там. Учитывая ОП-пост, их по 52. Затем запустил в консоли:console.log('Posts ID:'); d=document.getElementsByClassName('reply'); for (i=0; i<d.length; ++i) { console.log(d[i].id); } И скопировал результат в файлик «actual» Далее запуск:curl -s http://kurisa.ch/sg/res/39196.html | grep '"reply"' | cut -d '=' -f 3 | tr -d '>' > ./src diff ./src ./actual И увидел там... < "reply45424". Да. В адресной строке он. И понял я, что он подсвечен. И класс у него «highlight», а не «reply»
function removeCSS(order){iter(document.styleSheets,function(sheet){if(sheet.href&&(new RegExp(injectDestination).test(sheet.href))){if(order instanceof Array){iter(order,function(o){sheet.deleteRule(o);})} else{sheet.deleteRule(order);}}});}
function removeCSS(order) { iter(document.styleSheets, function (sheet) { if (sheet.href && (new RegExp(injectDestination).test(sheet.href))) { if (order instanceof Array) { iter(order, function (o) { sheet.deleteRule(o); }) } else { sheet.deleteRule(order); } } }); }
var totalPosts = document.getElementsByClassName('reply').length;
(totalPosts < totalNewPosts)
console.log( "Posts now:" + totalPosts + "Posts got:" + new_posts.length);
"Posts now:51Posts got:52"
console.log('Posts ID:'); d=document.getElementsByClassName('reply'); for (i=0; i<d.length; ++i) { console.log(d[i].id); }
curl -s http://kurisa.ch/sg/res/39196.html | grep '"reply"' | cut -d '=' -f 3 | tr -d '>' > ./src diff ./src ./actual
< "reply45424"
Нян,а на сколько реально взломать вконтач?
>>45472 >на сколько Тебе нереально. Ты дебил.
>>45473Ну это понятно же,мне просто интересен сам процесс.
>>45472 >Нян,а на сколько реально взломать вконтач? Ответ очень зависит от того, кем ты являешься. >>45476 >Ну это понятно же,мне просто интересен сам процесс. Ну если так, то интересного тут очень даже мало: ВК работают непростые ребята, и просто так атаку ты не найдёшь. Так что если и нападать — то на саму конкретную жертву. Зачастую тут в ход идёт соц. инженерия: уговорить человека самому рассказать свои данные. Представиться крупной компанией, или, что ещё лучше, модератором Вконтакте, и уже там как-то уговорить. По техническим способам можно угнать логин с компьютера, на котором есть вход. Можно ему дать зайти с специально настроенного устройства, и угнать с помощью этого пароль. Есть ещё способ угнать текущий логин, находясь в пределах одной Wi-Fi сети программой по типу «FaceNiff». Наименее постоянный, но самый незаметный способ. Однако следует и учитывать, что он не сработает, если пользователь включил в настройках «шифровать соединение». Куда проще же выполнить аттаку, если ты имеешь доступ к его мобильному телефону. И только связи с оператором сотовой связи, или, тем более, центром вк могут тебе позволить взломать кого угодно. Ну или ты нашёл невероятный и инновационный способ атаки на сервер ВК. Но это близко к невозможному.
>>45477Меня интересует же не взлом самого сайта,а как можно зайти на определенный аккаунт в режиме наблюдателя,что бы сообщения проверить и все,мой аккаунт кстати взламывали,и вроде ничего из выше тобою перечисленного,а можно ли кинуть человеку ссылку,что бы человек перешел по жтой ссылке и тебе скопиррвались печеньки на пример?
>>45464> Что сервер делать должен, а чего не должен?В 2016 году сервер вообще не должен делать то, что легко делается у клиента в браузере, или делать это по-минимуму. Например, гораздо лучше хранить треды не в html, а в json, который затем запрашивается и парсится на стороне клиента. Это быстрее и проще для сервера, универсально для различных целей, меньший объем данных, а цена этому лишь чуть более долгая обработка у клиента, которой можно пренебречь, а также необходимость использования джаваскрипта в браузере. Я удивлён, что таких движков для имиджборд практически не существует; с тех пор, как изобрели футабу, так и тащут с неё все базовые принципы работы.> И любой уважающий своих посетителей вебсайт, как Википедия, facebook, Google работают на то, чтобы максимум контента было локальным.В этом есть необходимость, гугл — поисковая система, которая в принципе много чего кэширует, википедия — энциклопедия «на века». Насчёт фейсбука я не уверен, что он кэширует миниатюры ютуба, впрочем, в этом может быть смысл, когда поддерживается куча видеосервисов, где для получения данных нужны ключи апи, поэтому обработка возможна только на стороне сервера, ютуб заодно тоже сделали, тем более в будущем возможен переход на такое же апи с аутентификацией.Имиджборд — место, где имеет место так называемая ротация контента. Здесь нет никакой необходимости локально что-то хранить кроме как для обеспечения приватности, что является задачей пользователя.> Уж лучше приводить код в порядок.Слишком много всего в порядок надо будет привести…> Почему бы и нет, если работает хорошо.Пятое колесо в телеге.
>>45481 >а можно ли кинуть человеку ссылку,что бы человек перешел по жтой ссылке и тебе скопиррвались печеньки на пример? Слишком смешно. Тут не хватает оборота «и там взломали твой браузер». Но это уже в сторону IE6. >мой аккаунт кстати взламывали,и вроде ничего из выше тобою перечисленного Есть ещё вариант вируса на ПК.>>45482 >Например, гораздо лучше хранить треды не в html, а в json, который затем запрашивается и парсится на стороне клиента. Тут нужно вычеркнуть слово «хранить», но в целом ты тут прав. >,универсально для различных целей, .. Как бы тебе сказать. Именно это и есть главным препятствием. По этой же причине администраторы не стремятся уходить с обычных файлов конфигурации в интегрированные системы менеджмента конфигураций™. Потому, что так проще и понятнее. >Я удивлён, что таких движков для имиджборд практически не существует А я совершенно не удивлён. Честно говоря, я больше удивляюсь, как ты с такимы мыслями остаёшься на ИБ. Ведь в 2016 всё уходит в тесную интеграцию всех сервисов, самих людей, и чего они делают. Давно уже оформили и распространили фейсбук, твиттер, инстаграм. Платформы всё-в-одном. Да и, во-вторых, кто будет писать «принципиально новый движок имиджборды»? Я с Хомурой и Ю-тян? Пишут код вполне реальные люди, и это вполне реальная работа. Да и при написании нужно ничего не упустить, иначе будут пробои с вайпами и бросками таблиц. >Здесь нет никакой необходимости локально что-то хранить кроме как для обеспечения приватности, что является задачей пользователя. Вот тут я тебя вообще не понял. Серверу можно вообще ничего не хранить, выходит. Что ему тогда вообще делать? >> Уж лучше приводить код в порядок. >Слишком много всего в порядок надо будет привести… Лучше применить выдающиеся техники костыльно-ориентированного программирования. Если ты всерьёз считаешь, что костыльный код — это неплохо, или что сервер не должен практически ничего ни делать и ни хранить, то мне едва ли найдётся, что тебе сказать по этим вопросам.
>>45486Тогда взломать вк страницу слишком сложно ><
>>45486> Тут нужно вычеркнуть слово «хранить», но в целом ты тут прав.Я не уверен, почему так сделано, как сейчас, возможно, регенерация страниц даёт какой-то прирост производительности по сравнению с запросами к базе по-требованию в случае имиджборда.На ссаче один поц делал движок, где данные хранятся в сломанном жсон-массиве без [] на концах. Таким образом, создание нового поста это добавление в файл «,» и объекта поста в конец файла. Файл грузится на клиент, к содержимому добавляется [] и парсится как обычный жсон. Поца отхуесосили, а мне вот идея показалась забавной, просто интересно, во что это могло вылиться, по мне так очень оригинальный подход.> Именно это и есть главным препятствием.Не понял.> Да и, во-вторых, кто будет писать «принципиально новый движок имиджборды»?Ты, полагаю, даже не представляешь, сколько существует имиджборд с полностью самописным движком. Когда-то даже курисачик был таковым.> Серверу можно вообще ничего не хранить, выходит. Что ему тогда вообще делать?Хранить ссылки и миниатюры. Сейчас сервер хранит картинки потому что это проще и целесообразнее: юзер выбирает картинку и нажимает кнопку «отправить». Самое простое, что можно сделать, — загрузить картинку на сервер, сохранить в файл, создать уменьшенную копию файла. Оно так и работает. А когда юзер указывает ссылку на видосик — не надо даже ничего хранить кроме этой ссылки, ссылка на миниатюру же легко получается из ссылки на видео.> Лучше применить выдающиеся техники костыльно-ориентированного программирования.А ты думал, чем Хомура тут занимается.
>>45515 >где данные хранятся в сломанном жсон-массиве без [] на концах Почитай про преимущества базы данных и пойми, почему это был фейл. И сложность кода выходит куда меньше, если собрать нормально. >сколько существует имиджборд с полностью самописным движком. Когда-то даже курисачик был таковым. Тоже осознаю, что мы втроём вполне могли бы сделать. При острой необходимости и Хомура, и я могли бы написать борду с нуля своими руками. Но вопрос в качестве. Хороший продукт делать долго. >последний спойлер Об этом и предостерегаю. Код внедрять можно костылями, а можно с попутным переписыванием, и уже разумной пристыковкой.
>>45519> Почитай про преимущества базы данных и пойми, почему это был фейл.Бд будет медленнее. Я хорошо понимаю принципы функционирования бд, потому и стало интересно, что получится.> Тоже осознаю, что мы втроём вполне могли бы сделать.Я вообще не заводил разговор о том, чтобы вы с нуля делали движок.
>>45448 Если я правильно понимаю, то либо нужно вводить привязку к пользователям и аутентификацию, либо всё равно любой, кто получил этот сертификат — может прослушать (а кто не получил — не может писать, лол). Плюс надо юзать либо самоподписанные сертификаты (а толку с них — с гулькин нос), либо заказывать (не за бесплатно, очевидно) у центра сертификации. Ты видел хоть на одной борде https? Плюс, что прослушивать, если и так на борде все твои пикчи и посты доступны любому? >Когда только поставили кусабу вместо предыдущего движка. А, мб. Там Клара пытался запилить разные фичи, но кажется, в основном забил на них, да. >А если сравнить со скоростью загрузки обычных миниатюр? Слушай, знаешь, кажется ты прав. После последних правок обычный 500-постовый тред грузится за 2688 мс, 500-постовый музтред — за 2950 мс. Лол, тогда и правда, похоже, смысла нет. Рейму, есть возражения? >>45454 >спойлер Жду. >Возможно, проблема целого движка? Да, наверное. На других сайтах с подобными элементами оформления ведь так же? >Тут есть звуковые оповещения? А когда они срабатывают-то? Да, есть, просто по умолчанию выключены, чтобы никого не хватил сердечный приступ от внезапного «туттуру». =) В опциях «Автоматически получать новые посты» и «Звуковые оповещения о новых постах». >Я тоже как-то так думаю. Ну для тех, у кого нет куклы (или кто не хочет её юзать), это будет неудобно, я считаю. >А зачем раньше их делалось в два раза больше? Потому что с целью, наверное, экономии трафика там делались особые мелкие тамбнейлы 50х50, хотя 255х255 ресайзить до нужного размера не должно было быть особой проблемой. Я тоже считаю это анахронизмом, ибо сейчас инет по трафику остался в редких случаях GPRS, и вряд ли кто-то будет смотреть каталог, если ему важен каждый килобайт. >>45464 >Википедия, facebook, Google Ну тут скорее вопрос в неуправляемости хотлинкинга. И гугл.. Это ты про что вообще? Если говорить про поиск, то он как раз-таки наоборот, даёт ссылки на актуальную копию, а кэш доступен только как опция. В принципе, Рейму, если ты согласен поучаствовать в допиливании курисабы — я буду чрезвычайно рад, ибо у меня самого времени этим заниматься мало, и я даже не успеваю пилить все реквесты. Например, запилить это самое кэширование превьюшек видео (которое, впрочем, как я заметил выше, по быстродействию и правда стало мало решать — похоже, это то самое «наложение» тормозило). >Это вряд ли. Вот ты удивляешься, а у меня, действительно, иногда возникают такие внезапные вопросы, на которые я ответа ищу годами — при том, что сам этот ответ для меня никакой ценности, кроме как удовлетворить своё любопытство, не представляет. >я его действительно не постил. Понятно, тогда «неотправляющиеся посты», получается, остаются багом-призраком Курисабы-тян. =) >Не ожидал такого поведения от серверов youtube. Как ни странно, сейчас такого поведения уже нет (и кстати, видеотред стал грузиться ощутимо быстрее). Возможно, я случайно быстродействие, когда снёс «наложение». >>45469 >пик До сих пор, видя такие картинки, представляю Марису из Gensou Mangekyou, которая пыталась откосить от подметания территории храма, мотивируя это Рейму тем, что my broom is not for sweeping!!11one1. >Ну это же серьёзно обфускат. Кстати, лол, это ещё не обфускат. Это ещё лайтовенькое сокращение, даже без превращения имён переменных и функций в 1-2-буквенные. И видимо, как раз-таки оно ориентировано на то, что из него легко можно выцепить исходный код, не потеряв в читабельности. К примеру, jquery тоже примерно так же у нас сделан, если не ошибаюсь. >обновление происходит путём загрузки этой же страницы, но на фоне с помощью XHR. Да, поэтому у меня где-то на задворках сознания теплилась мысль получать список постов в треде и их карту ответов через json, чтобы при обновлении не заменять страницу целиком, а вместо этого удалять более несуществующие посты, править карту ответов в существующих, и потом подгружать новые посты (если есть) вторым запросом. Или вообще отправлять серверу список постов в треде, а тот должен будет вернуть карты ответов тех постов, где добавились посты с id больше, чем последний пост, список удалённых постов и сформированные добавившиеся посты (если они были). Тогда автоматическая и ручная подгрузка должны стать одинаковыми и достаточно «лёгкими», и автоматическая подгрузка сможет модифицировать всю страницу, а не добавлять только новые посты. >Это, кажется, и есть ответ на то, почему автообновление потребляет ресурсы. Да, возможно. Если ресурсы XHR не чистятся после вызова коллбэка по результату 200, то и правда — каждый сделанный запрос продолжает висеть в памяти, и это, действительно, скоро сожрёт всю память браузера. Соответственно, пожалуй, надо делать так, чтобы ответ приходил как можно меньшего размера. >Это сразу нужно бы вынести как переменную, а не считать каждый раз, ещё и поиском. Ну в имеющейся странице нет пока возможности так делать. Впрочем, добавить в html при его создании скрипт присваивания с нужным id (да и с кратким списком постов) — можно. >Или вовсе отправить от сервера точную цифру, сколько заявлено постов. Вот, это было бы хорошо, но руки пока не дошли. >звук может воспроизводиться только в одном случае: когда количество прилетевших постов больше, чем сейчас имеющихся Да. Дёшево, сердито, плохо, но пока так. >И класс у него «highlight», а не «reply» Ого, то есть, хайлайт сбивает автообновление? Ясно, буду перепиливать, кажется, всё автообновление — выпилю и этот баг. >>45472 Лол. Взломать вконтач — нереально (практически). Каков вопрос, таков ответ. Если ты говоришь про получение доступа к какому-либо аккаунту — для этого не обязательно взламывать вконтач, достаточно подсадить трояна объекту, или заюзать социальную инженерию уровня, зависящего от объекта — от банальной смски с кастом-номером «vkontakte» «ваш аккаунт id123456 был заблокирован, для подтверждения доступа отправьте ваш e-mail и пароль на номер +79991234567» — и до реальных многоходовочек длительностю в недели-месяцы. Собственно, Рейму >>45477 тебе правильно говорит. >>45481 >мой аккаунт кстати взламывали,и вроде ничего из выше тобою перечисленного Вирусы/трояны на компе не находил? >можно ли кинуть человеку ссылку,что бы человек перешел по жтой ссылке и тебе скопиррвались печеньки Это, пожалуй, способ второй по сложности после большой красной кнопки «взломать контакт». И, конечно же, такой же нерабочий. Если бы всё было бы настолько просто — то любая аутентификация куками была бы бесполезна. Конечно, ты можешь кинуть ссылку с кейлоггером, сказав «вот, это та программа, что ты просила», объект её запустит — и тебе будет прилетать всё то, что он пишет на клаве (пароли, например), до тех пор, конечно, пока этот кейлоггер не будет сожран антивирусом. Но проблема не в том, чтобы послать, а в том, чтобы объект запустил прогу (и сидел под админом, ясное дело). >>45482 >В 2016 году сервер вообще не должен делать то, что легко делается у клиента в браузере, или делать это по-минимуму. Да у меня даже то, что есть — уже заметно тормозит. Не уверен я, что билд 500-постового треда из json будет проходить быстро. Есть примеры обратного? >Слишком много всего в порядок надо будет привести… Это да. >Пятое колесо в телеге. Ну, для меня, например, это пятое колесо весьма удобно. >>45515 >регенерация страниц даёт какой-то прирост производительности по сравнению с запросами к базе по-требованию в случае имиджборда. Кстати, у меня постепенно начинают закрадываться сомнения, что это так. В конце концов, когда ребилд страницы на сервере длится 1 секунду, а прогрузка её со всеми картинками — 3 секунды, уже появляется вопрос, а так ли медленен сервер?.. >создание нового поста это добавление в файл «,» и объекта поста в конец файла. Файл грузится на клиент, к содержимому добавляется [] и парсится как обычный жсон Лол, прямо какая-то оптимизация по-русски. =) Чрезвычайно хитрый и простой, но абсолютно немасштабируемый (количественно) и нерасширяемый (качественно) подход. >имиджборд с полностью самописным движком 1) каковы возможности тамошних движков, забагованность, быстродействие? 2) сколько времени создатели таких движков могут уделять борде? Что происходит, если создатель «сливается», а кроме него, в движке никто не разбирается? >>45521 >Бд будет медленнее. При единственной операции — «дописывание в конец» (ну и «чтение всего целиком»). При всех остальных БД удобнее и быстрее.
>>45464 >И любой уважающий своих посетителей вебсайт, как Википедия, facebook, Google работают на то, чтобы максимум контента было локальным. Разве? На том же фейсбуке (и в вк) видео с ютуба не хранится локально. >Когда приходит новое сообщение при включенном «автоматически получать новые посты» и открытой вкладке треда, на котором ответы ты следишь. Протестирую. >Чисто из солидарности? Благородно. Не только. Есть и другие соображения. >>45482 >В 2016 году сервер вообще не должен делать то, что легко делается у клиента в браузере, или делать это по-минимуму. Мне нравится такая логика. Главное учитывать, что работать это должно на весьма посредственных компах, ибо не все юзеры с топовыми. >а цена этому лишь чуть более долгая обработка у клиента, которой можно пренебречь, а также необходимость использования джаваскрипта в браузере. Я удивлён, что таких движков для имиджборд практически не существует Я пыталась писать такой движок, но дропнула не доделав. >>45528 >На других сайтах с подобными элементами оформления ведь так же? Не попадался сайт с подобным. >Ну для тех, у кого нет куклы (или кто не хочет её юзать), это будет неудобно, я считаю. Можно же интегрировать эту функцию в саму борду. >Да, поэтому у меня где-то на задворках сознания теплилась мысль получать список постов в треде и их карту ответов через json, чтобы при обновлении не заменять страницу целиком, а вместо этого удалять более несуществующие посты, править карту ответов в существующих, и потом подгружать новые посты (если есть) вторым запросом. Я так пыталась реализовать в самописном движке — только чуть иначе. Сначала запрос получал в ответ весь набор постов в треде, сравнивал его с имеющимися, и если были изменения, то удалялись удаленные посты и подгружались новые. Правда, в этом варианте абсолютно неприменима серверная карта ответов. >Не уверен я, что билд 500-постового треда из json будет проходить быстро. А почему нет? По сути просто из базы выгружаются посты и отправляются. Чуть медленее, чем из кэша.
>>45528> Если я правильно понимаю, то либо нужно вводить привязку к пользователям и аутентификацию, либо всё равно любой, кто получил этот сертификат — может прослушать (а кто не получил — не может писать, лол).Почитай, как https устроен и каким образом обеспечивается безопасность передачи данных.> Плюс надо юзать либо самоподписанные сертификаты (а толку с них — с гулькин нос), либо заказывать (не за бесплатно, очевидно) у центра сертификации.Как раз самоподписанные использовать нельзя. Да, это небесплатно, хотя я слышал о проекте let's encrypt, правда я не знаю тонкостей и условий предоставления ими сертификатов.> Ты видел хоть на одной борде https?Да, навалом. Сосач, форчан, окточан, синч, чухач. Продолжать можно долго.> Плюс, что прослушивать, если и так на борде все твои пикчи и посты доступны любому?Не прослушивается трафик. Если кому-то захочется прослушать твой трафик, он это сделает и узнает автора постов, например. С хттпс максимум, что он сможет узнать — что ты сидишь на курисачике. Или не сможет, у нас тут клаудфлэр используется, да и без него наверняка хостинг виртуальный. > А, мб. Там Клара пытался запилить разные фичи, но кажется, в основном забил на них, да.Это фича кусабы, просто она была отключена. Другое дело, за последние полгода ты как следует пошатал движок, нет уверенности, что каталог сохранил работоспособность.> Да у меня даже то, что есть — уже заметно тормозит.Особо сильнее тормозить уже не станет.> Не уверен я, что билд 500-постового треда из json будет проходить быстро. Есть примеры обратного?Не дольше, чем хтмл. Если использовать тот же генератор из шаблонов, «перепиленный» для жсона, то скорость будет та же. Но это гемморно и глупо, если же использовать специальный генератор жсон, то будет быстрее и проще. Но в этом нет смысла здесь, кусабу уже слишком сложно изменить в этом плане, проще с нуля начать.> Кстати, у меня постепенно начинают закрадываться сомнения, что это так. В конце концов, когда ребилд страницы на сервере длится 1 секунду, а прогрузка её со всеми картинками — 3 секунды, уже появляется вопрос, а так ли медленен сервер?..Сервер статику быстро отдаёт. А вот запрос к бд — дорогая операция даже если они кэшируются. Но я никогда созданием сайтов не занимался, так что точно не могу ничего утверждать.> Лол, прямо какая-то оптимизация по-русски. =) Чрезвычайно хитрый и простой, но абсолютно немасштабируемый (количественно) и нерасширяемый (качественно) подход.Зато забавно и неординарно. Мне бы в жизни такое не пришло в голову.> каковы возможности тамошних движков, забагованность, быстродействие?Сложно судить, сайты даже менее популярны, чем курисачик. Но работают быстро, фикс багов это вопрос времени и желания.> сколько времени создатели таких движков могут уделять борде? Что происходит, если создатель «сливается», а кроме него, в движке никто не разбирается?Борда дохнет, лол. Обычно копаться в чужом коде никто не любит, тем более в коде движка, который использует 1 человек. А вот у всяких кусаб большая фанбаза парашеводов.>>45539> Мне нравится такая логика. Главное учитывать, что работать это должно на весьма посредственных компах, ибо не все юзеры с топовыми.Это будет работать даже в браузерах бюджетных смартфонов, разовая динамическая генерация содержимого страницы достаточно быстрая.
>>45528 >Плюс надо юзать либо самоподписанные сертификаты (а толку с них — с гулькин нос), либо заказывать (не за бесплатно, очевидно) у центра сертификации. Да. И тут очень кстати запустили сервис бесплатной сертификации «Let's Encrypt» Сервис практически идеален — бесплатный https сертификат, а по стойкости и уровню защиты ничем не хуже любого другого. Сам проходил подтверждение, ещё полгода назад, полёт нормальный. >Ты видел хоть на одной борде https? Это переход на личности. >Рейму, есть возражения? Пожалуй, уже нет. >а у меня, действительно, иногда возникают такие внезапные вопросы, на которые я ответа ищу годами А, знаешь, это в чём-то и хорошо. В таком случае да, напишу стори. >Если ресурсы XHR не чистятся после вызова коллбэка по результату 200 Слушай, я где-то слышал про подобные баги в некоторых браузерах при некоторых обстоятельствах. >Впрочем, добавить в html при его создании скрипт присваивания Я это и имел ввиду. >Понятно, тогда «неотправляющиеся посты», получается, остаются багом-призраком Курисабы-тян А на какой базе данных функционирует курисаба? >>45539 >видео с ютуба не хранится локально Они по лицензии Youtube не могут делать локальные копии себе. >Не только. Есть и другие соображения. Только не говори, что тебя задели слова того анона. >Главное учитывать, что работать это должно на весьма посредственных компах, ибо не все юзеры с топовыми. Ну да, делать пережимание видео на клиенте с помощью JS ffmpeg кодера — это уже загон, например. >Я пыталась писать такой движок, но дропнула не доделав. Потому, что это долго и требует усилий. >По сути просто из базы выгружаются посты и отправляются Предположу, что билд из json подразумевался на клиенте переработать всё в javascript. Но на самом деле сам js весьма быстр. Особенно после релиза Google's Chrome и тотальной гонки производительности. Однако тут же и замечу, что у браузеров изменение innerHTML занимает весьма немалое время, т.к. нужно всё перестроить.
>>45539 >Я пыталась писать такой движок, но дропнула не доделав. Пожалуй, любой посетитель имиджборд когд-нибудь скатывается до написания своего движка... =) Как там было у xkcd? «Есть 48 конкурирующих стандартов движков». — Какой ужас! Надо написать один, который бы заменял все эти 48! — (через полгода): «Есть 49 конкурирующих стандартов движков»... >Не попадался сайт с подобным. Если вдруг найдёшь — сообщи, пожалуйста. Мне будет интересно посмотреть, чем отличается код там и тут и как у них так удаётся без шаманства с браузером. >Можно же интегрировать эту функцию в саму борду. Но ведь... Сейчас... Она интегрирована?.. На самом деле, у меня была подобная мысль для прикрепления картинки + видео, но чёт я боюсь, что если преобразование ссылки в тамбнейл и сопровождающий код, а еще подгрузка этих тамбов будут у клиента, то это будет ох как тормозить... Хотя, с другой стороны, кукла же делает. >Сначала запрос получал в ответ весь набор постов в треде, сравнивал его с имеющимися, и если были изменения, то удалялись удаленные посты и подгружались новые. Правда, в этом варианте абсолютно неприменима серверная карта ответов. Набор — в смысле только номера, да? Тогда да, это как двухзапросовая схема, предложенная мной в прошлом посте. А карта ответов применима — надо её (вернее, изменения к ней) просто передавать вместе с первым списком постов, например. >А почему нет? Ну javascript известен своими тормозами. Хотя, надо, конечно, проверять. >>45543 >и каким образом обеспечивается безопасность передачи данных Гм, да, я сертификат перепутал с ключевой парой, лол. Ну да ладно, я внезапно нашёл на клауде специальную кнопочку «сделать хорошо» «сделать, чтобы SSL работал», и после небольших правок движка, специально для тебя, лол, сделал. >Да, навалом. Ок, посмотрел. Лол, у того же тиреча тот же самый сертификат от клауды. Понятно. >Если кому-то захочется прослушать твой трафик, он это сделает и узнает автора постов, например. Ну разве что если твой провайдер любит шерстить твои посты на предмет хентая... >Другое дело, за последние полгода ты как следует пошатал движок, нет уверенности, что каталог сохранил работоспособность. Это да. Но вроде бы в общих чертах работает, как ни странно (хотя его надо допилить, прежде чем лепить в продакшен). >Особо сильнее тормозить уже не станет. Почему-то проиграл, мол, Курисач и так тормознее некуда. =) >Если использовать тот же генератор из шаблонов, «перепиленный» для жсона, то скорость будет та же. Возможно, да кто б его перепилил? >Сервер статику быстро отдаёт. А вот запрос к бд — дорогая операция даже если они кэшируются. Ну это да, просто если страница грузится пару секунд, то какая разница, отдаст сервер за 10 мс статику или за 100 мс — динамику. >Зато забавно и неординарно. Мне бы в жизни такое не пришло в голову. Это да, над находчивостью можно смеяться... когда не тебе это расширять и поддерживать. >Но работают быстро, фикс багов это вопрос времени и желания. Ну, Курисаба-тян на доске с 650 мессагами тоже работает быстро. А вот с 10000 — уже начинает подлагивать... Надо бы скорее архив запилить, да всё некогда. >Борда дохнет, лол. Обычно копаться в чужом коде никто не любит, тем более в коде движка, который использует 1 человек. Вот и я про то же. >>45544 >Да. Внезапно оказалось, что можно просто включить уже готовую фичу на клауде — а не заморачиваться с получением сертификата, подкладкой его не сервер и настройкой всего и вся. >Это переход на личности. На самом деле я действительно спрашивал, чтобы посмотреть примеры, кухихи. >В таком случае да, напишу стори. О, буду ждать. >я где-то слышал про подобные баги в некоторых браузерах при некоторых обстоятельствах. Понятно, значит, скорее всего, и правда оно. >А на какой базе данных функционирует курисаба? Мистер MySQL (через обёртку ADOdb / mysqli). >пережимание видео на клиенте с помощью JS ffmpeg кодера Лол, неистово проиграл. >Но на самом деле сам js весьма быстр. Особенно после релиза Google's Chrome и тотальной гонки производительности. >Однако тут же и замечу, что у браузеров изменение innerHTML занимает весьма немалое время, т.к. нужно всё перестроить. А, вот, наверное, где собака порылась. То есть сам javascript быстр, но изменение содержимого страницы адово тормозное.
test
>>45556> Ну да ладно, я внезапно нашёл на клауде специальную кнопочку «сделать хорошо» «сделать, чтобы SSL работал», и после небольших правок движка, специально для тебя, лол, сделал.Ничоси ты. Я ведь даже не просил делать, а ты сделал. Круто!> Ну разве что если твой провайдер любит шерстить твои посты на предмет хентая...Не обязательно. Публичный вайфай, совместная сеть с соседями или на работе — вот тебе и риск быть прослушанным. Ну и товарищ майор не дремлет, как же.> Почему-то проиграл, мол, Курисач и так тормознее некуда. =)У белых людей у меня и так не тормозит, ороро. Я же подумал, ты имеешь в виду, что у тебя пк старый, потому и лагает.> Ну это да, просто если страница грузится пару секунд, то какая разница, отдаст сервер за 10 мс статику или за 100 мс — динамику.Под высокой нагрузкой это уже критично. Конечно, курисачик — не тот случай, но если пофантазировать о светлом будущем…
>>45544 >Они по лицензии Youtube не могут делать локальные копии себе. А стали бы, если было бы можно? >Только не говори, что тебя задели слова того анона. Которого? Просто вчера еще ничего интересного не происходило у меня, там был срач, а я уже все и так сказала. >делать пережимание видео на клиенте с помощью JS ffmpeg кодера — это уже загон, например А где-то так делается? И зачем пережимать видео у клиента? >Потому, что это долго и требует усилий. Это ОЧЕНЬ долго. Основная часть, которая отображает посты, осуществляет отправку, база данных и т. д. были готовы быстро. Но когда надо было прикручвать множество мелких фич, это дико утомляло. >у браузеров изменение innerHTML занимает весьма немалое время, т.к. нужно всё перестроить Там надо будет только добавлять ноды. >>45556 >Набор — в смысле только номера, да? Да. >А карта ответов применима — надо её (вернее, изменения к ней) просто передавать вместе с первым списком постов, например. Пожалуй, но на это нужен запрос к базе. У меня массивы с набором номеров постов каждого треда хранились в оперативе.
Тут какой-то баг с Noko, я его выбираю, а после обновления страницы галочка исчезает.
А, все, вижу. Может это вообще не баг, а фича.
>>В таком случае да, напишу стори. >О, буду ждать. Тогда начну с этого. Да, это /d/ev-тред. Но Курисач же. Синяя Рейму действительно особо не фигурирует. За исключениями файтингов, как Touhou Hisoutensoku, но там хоть и есть синяя раскраска, но равно как и многие другие раскраски. А в основном же синяя Рейму — это второй игрок. В англоязычном фан-сообществе даже возникал локальный мем: «Reimu Reimu why are you blue?» «That's becasue I'm player 2» Вообще в «Phantasmagoria of Flower View» (Th09) практически все персонажи имеют по 2 цвета сразу, для двух игроков. Например, можно встретить баку в чёрном, Конпаку в тёпло-зелёном, Марису в тёмно-фиолетовом, Сакую в бардовом, и да, Рейму в синем. Кстати, аналогично Юка перекрашивается из красной в синюю. А по существу художники могут придумать самых разных раскрасок и идей. Как, например, пикрил. Кстати, белая Рейму — это из «Concealed the Conclusion», фан игры, рассказывающей об истории, когда на Рейму что-то нашло, и она решила уничтожить Gen;Sokyo. Тогда она была вся в белом. Тёмная Рейму — это фан арт «Oni Miko», ставший известным по полному набору спрайтов для игры «Mugen». Страшное зрелище. Чёрная Рейму — хоть и один из вариантов второго игрока в файтинге, но конкретно в данном случае это явно отсылка к Saber Alter. >>45561 >О.О Есть и зелёная Рейму? -> >>45070 А вот зелёной Рейму, как раз, нет. >Мистер MySQL (через обёртку ADOdb / mysqli). А, тогда проблема не в движке базы. >А, вот, наверное, где собака порылась. То есть сам javascript быстр, но изменение содержимого страницы адово тормозное. Именно это. >Тогда да, это как двухзапросовая схема, предложенная мной в прошлом посте Не пойму: почему клиенту самому не отправлять сразу своё состояние постов? Всё равно столько же данных передавать. Хотя, конечно, по траффику лучше было бы передавать состоянием на какой ревизии треда находится клиент сейчас. А на сервере хранить историю добавления либо изменения постов. Но это ещё и система контроля версий. >Ну да ладно, я внезапно нашёл на клауде специальную кнопочку «сделать хорошо» «сделать, чтобы SSL работал», и после небольших правок движка, специально для тебя, лол, сделал. О, спасибо. Правда, движок не до конца конфигурирован. Тот же «https://kurisa.ch/sg» переводит на «http://kurisa.ch/sg/». Это же просто переход в субдиректорию? >Почему-то проиграл, мол, Курисач и так тормознее некуда. =) Да нормально работает.>>45562 >>Они по лицензии Youtube не могут делать локальные копии себе. >А стали бы, если было бы можно? ВК наверняка так стали бы делать. >>делать пережимание видео на клиенте с помощью JS ffmpeg кодера — это уже загон, например >А где-то так делается? Да, есть люди, «скомпилировавшие» ffmpeg на js. >спойлер Как бы тебе ответить. «Это лишняя, но значимая нагрузка на сервер.»
>>45579 > Touhou Hisoutensoku Играл?
>>45579> «https://kurisa.ch/sg» переводит на «http://kurisa.ch/sg/». Это же просто переход в субдиректорию?Никогда не понимал, почему браузеры позволяют производить подобные редиректы, а не прерывают выполнение запроса или хотя бы не спрашивают у пользователя, можно ли позволить выполнить редирект.
Хомуряка, что шатал прошлой ночью? У меня теперь посты с телефончика не отправляются. Пикрелейтед. Аналогичная фигня и в браузере на десктопе несколько раз сейчас была. Почистил куки, перезагрузил. Вроде пока работает.
>>45681 Такая же проблема.
На хорочке типичный SPA, который вы обсуждаете. А хттпс вафли только между клиентом и прокси, между вафлей и ресурсом нет. Поэтому в нем немного смысла.
Что касается Noko, не пойму, баг это или фича, но — если снять Noko, отправить пост, потом зайти в другой тред, например, там поставить Noko, обновить страницу — то галочка Noko снимается. >>45579 >ВК наверняка так стали бы делать. Почему ты так думаешь? >«Это лишняя, но значимая нагрузка на сервер.» Не пойму, зачем видео у клиента вообще пережимать. Его воспроизводить там надо, а не сжимать, нет?
>>45681 >Хомуряка, что шатал прошлой ночью? У меня теперь посты с телефончика не отправляются. Пикрелейтед. Не только с телефона. Подтверждаю, что у браузера была такая же тема. Полдня отправлял с выключенным «отправка через javascript», и от предпросмотра тоже на время пришлось отказаться. Но хоть работало. И хорошо.>>45692 >А хттпс вафли только между клиентом и прокси, между вафлей и ресурсом нет. Поэтому в нем немного смысла. В основном же снифферы ближе к клиенту. А так что клауда, что сам хостинг, находятся ближе к магистралям, где подламывать или перехватывать траффик никто не возьмётся. А если действительно заморачиваться с безопасностью — то это уже не делается средствами WWW>>45693 >Что касается Noko Кстати, что это вообще? >Почему ты так думаешь? Подход у них такой, и политика соответствующая была. Да, сейчас уже иначе. Да и сейчас уже они прогнулись под всё, что только можно было. >Не пойму, зачем видео у клиента вообще пережимать. Чтобы разгрузить сервер, повторяю в третий раз. Для сервера это тяжёлая операция. >Его воспроизводить там надо, а не сжимать, нет? Чтобы у всех могло воспроизвести, и чтобы добиться оптимальных для веба результатов траффик/качество, все видео для воспроизведения онлайн предварительно пережимаются.
>>45700> А так что клауда, что сам хостинг, находятся ближе к магистралям, где подламывать или перехватывать траффик никто не возьмётся.Да и определить хостера за клаудфларой — тоже та ещё задача.
>>45701 >Да и определить хостера за клаудфларой —тоже та ещё задача. Это несложно. Да и Хомура этого особо не скрывал, если честно. Но вот как ты туда отправишься — напишешь хоть кулстори, а то аж интересно.
>>45704> Это несложно.Да ну? И в чём смысл клоудфлары тогда?
>>45558 >Я ведь даже не просил делать Лол, а я-то думал, что это ты так просишь. =) >вот тебе и риск быть прослушанным О святая Мадо-ками-сама, да кому ты нужен-то? =) >и так не тормозит, ороро Лол, ну вальпургисчан, к примеру, тормозит гораздо меньше курисача. Впрочем, там и тредов по 500 постов нету. >но если пофантазировать о светлом будущем… Ну если только так. >>45562 >Там надо будет только добавлять ноды. Если это быстрее, чем заменять innerHTML всей области ответов, то да, надо будет пойти таким путём. >массивы с набором номеров постов каждого треда хранились в оперативе А, ну тогда да. Либо перетаскивать и карту ответов в оперативку — но это тяжко. >>45564 >>45565 Состояние noko (как и пароль и некоторые другие настройки) хранится в куках, сохраняется при отправке/удалении поста и загружается при подгрузке страницы. Так что, если ты поставил галочку, а потом обновил страницу, не отправляя пост — то она вернется в прошлое состояние. >>45579 >«Reimu Reimu why are you blue?» >«That's becasue I'm player 2» О, как я и предполагал. >можно встретить баку в чёрном, Конпаку в тёпло-зелёном, Марису в тёмно-фиолетовом, Сакую в бардовом >Юка перекрашивается из красной в синюю Ого как. Я хочу это видеть! =) >Кстати, белая Рейму — это из «Concealed the Conclusion», фан игры, рассказывающей об истории, когда на Рейму что-то нашло, и она решила уничтожить Gen;Sokyo. Тогда она была вся в белом. Лол, прямо Хорус какой. >Тёмная Рейму — это фан арт «Oni Miko», ставший известным по полному набору спрайтов для игры «Mugen». Страшное зрелище. >Чёрная Рейму — хоть и один из вариантов второго игрока в файтинге, но конкретно в данном случае это явно отсылка к Saber Alter Воу, как, оказывается, всё интересно-то. =) >А вот зелёной Рейму, как раз, нет. Надо же, а ведь казалось бы, третий по популярности цвет после красного и синего. В общем, аригато тебе за стори, теперь я знаю, в каком направлении луркать моар инфы. =) >Хотя, конечно, по траффику лучше было бы передавать состоянием на какой ревизии треда находится клиент сейчас. А на сервере хранить историю добавления либо изменения постов. В некотором роде, последний пост в треде — это и есть его «ревизия». Так что да, подход хороший — можно получать дифф треда, а не весь его целиком. Я над этим думаю. >Правда, движок не до конца конфигурирован. Тот же «https://kurisa.ch/sg» переводит на «http://kurisa.ch/sg/». Это же просто переход в субдиректорию? Хм... странно. Попробую посмотреть. >>45681 >>45686 Позапрошлой шатал. Да, чистка кэша (и, быть может, куков) должна была всё решить. Вчера я только https сделал. Сейчас всё работает, верно? >>45693 >баг это или фича, но — если снять Noko, отправить пост, потом зайти в другой тред, например, там поставить Noko, обновить страницу — то галочка Noko снимается. По идее, фича — я писал чуть выше: >Состояние noko (как и пароль и некоторые другие настройки) хранится в куках, сохраняется при отправке/удалении поста и загружается при подгрузке страницы. Так что, если ты поставил галочку, а потом обновил страницу, не отправляя пост — то она вернется в прошлое состояние. >>45700 >Подтверждаю, что у браузера была такая же тема. Сейчас-то хорошо? >Кстати, что это вообще? Это значит, что тебя не кидает на главную после ответа, а оставляет в треде. Или, что кидает в тред, а не оставляет на главной, если ты отвечаешь оттуда. По-дефолту старые борды были без noko (режим «ответил и пошел скроллить треды дальше»), сейчас почти на всех дефолтное состояние «noko» — включено. >>45705 Ну технически это вроде бы сложно, просто проблема в том, что даже если б было несложно — это тебе мало что даст: дудосить весь пул ip хостера бессмысленно, а арбузы писать — так ведь в DNS-записях вся инфа есть (да и регистратор часто с хостером совпадает). И уж тем более перехватить трафик на том конце практически нереально.
>>45706> Лол, а я-то думал, что это ты так просишь. =)Я сказал, что если уж думать о приватности, то начинать надо хотя бы с хттпс. А сам я паранойей не обладаю.> Ну технически это вроде бы сложно, просто проблема в том, что даже если б было несложно — это тебе мало что даст: дудосить весь пул ip хостера бессмысленноЗачем весь пул ип, когда известен конкретный ип сайта? То, что хостер при этом узнается — это уже побочный эффект. Клоудфлара забавно звучит же как раз и нужна, чтобы защитить эту инфу и не дать дудосить сервер.
>>45706 >Сейчас-то хорошо? Да, сейчас всё работает. >Если это быстрее, чем заменять innerHTML всей области ответов, то да, надо будет пойти таким путём. Да, таким путём и идут, именно по этой причине. >Это значит, что тебя не кидает на главную после ответа, а оставляет в треде Так вот оно где было! Хорошо, запомню. >О святая Мадо-ками-сама, да кому ты нужен-то Слушай, а представь, если организация начнёт писать от твоего имени о том, что нужно срочно раскрывать имеющиеся секреты, а кому и сразу писать чистосердечки, ведь пошли по домам тайные группы зелёных людей с детекторами лжи нового поколения. Подумай об этом. >Ну технически это вроде бы сложно Да нет, если честно. Только чуть копнуть — и понимаешь, что внешний IP Курисача в свободном доступе. Но для этого нужно поискать, а потом ещё и спец. утилитами/приёмами составить запрос, чтобы хоть удостовериться, что попал куда нужно. В общем, кто попало наведя свой «дудосер» на Курисач попадёт на Клауду. И да, максимум, что тебе даст — это возможность DDoS атак. Я вообще не думаю, что тут защита от DDoS так необходима.>>45708 >как раз и нужна, чтобы защитить эту инфу и не дать дудосить сервер. По идее, да. А по сути, у них большие проблемы.
>>45711> А по сути, у них большие проблемы.Как-то не похоже, иначе сервисом бы никто не пользовался.> Только чуть копнуть — и понимаешь, что внешний IP Курисача в свободном доступе.Разумеется, одной клоудфлары недостаточно. Головой тоже думать надо. Если всё сделать правильно, то клоудфлара будет надёжна.
>>45712 >Головой тоже думать надо. Если всё сделать правильно, то клоудфлара будет надёжна. Не понимаю, о чём ты. Я нашёл внешний IP из утёкшей базы Клауды. А ты где?
>>45716 Достаточно спалить жаббером, да и вебсокеты не все проксируют, а вафля вроде до сих пор не могет. не он
>>45716> Я нашёл внешний IP из утёкшей базы Клауды.Как? Покажи.> А ты где?Старый кэш днс, например. Я, правда, не искал.
Tesoro
>>45719 >Как? Покажи. Ищущий да обрящет. Я это вообще случайно нагуглил. Специально найти вообще не вопрос тогда. Понятное дело, искал на английском. И ведь сервис в открытом доступе, я не знаю, что ты искал. >Старый кэш днс, например А вот это где брать, я понятия не имею. Ну, думаю, тоже есть особые сервисы по этой теме.
Не особо заморачивался, вспомнил про скрипт этот в nmape.
>>45721> И ведь сервис в открытом доступе, я не знаю, что ты искал.Я не искал, просто спросил. Почему так не покажешь-то? Хочу знать, с чем ты имеешь дело.Если это слив базы — это очевидный косяк со стороны сервиса и такого быть не должно.> А вот это где брать, я понятия не имею.Есть много сервисов, которые хранят историю днс записей. Это полезно, я так как-то восстанавливал доступ к одному важному мне сайту, который ненадолго сдох.
>>45706 > Позапрошлой шатал. Да, чистка кэша (и, быть может, куков) должна была всё решить. Вчера я только https сделал. > Сейчас всё работает, верно? Нет, ничего не работает. Через оперу мини всё так же не отправляется. Каки почистил, не помогло. Наверное, на прокси-серверах Оперы старый кэш болтается, и хз, что теперь делать. Спасибо, смайлофаг =)
>>45722 >Не особо заморачивался, вспомнил про скрипт этот в nmape. В точку.>>45723 >я так как-то восстанавливал доступ к одному важному мне сайту, который ненадолго сдох. А это дело.>>45724 >Наверное, на прокси-серверах Оперы старый кэш болтается, и хз, что теперь делать Ах, и вправду. Отправляй с выключенным «отправка через javascript», со старой версией ничего не шатали.
>>45721Поискал на пк, нашёл базу. Да, курисачик там есть, а вот, например, сосача — нет. Вернее, есть запись 2014 года, которая просто устарела, сайт неоднократно ддосили и хостер менялся. Скорее всего, если после смены хостера ни разу не прикреплять к нему домен, а сразу установить проксирование через клоудфлару, то ип хостера уже станет абсолютно невозможно восстановить.
>>45708 >Зачем весь пул ип, когда известен конкретный ип сайта? Так с клаудой он неизвестен, если всё правильно сделать. >>45711 >Слушай, а представь, если организация начнёт писать от твоего имени о том, что нужно срочно раскрывать имеющиеся секреты Но ведь на ИБ это можно сделать, даже не перхватывая трафик. Достаточно лишь нацепить ник и аватарку — и будет ещё эпичнее, чем с Литом и Гин. >Только чуть копнуть — и понимаешь, что внешний IP Курисача в свободном доступе. Только вот многим ли это надо? >В общем, кто попало наведя свой «дудосер» на Курисач попадёт на Клауду. В эти «кто попало» попадают 99% враждебно настроенных к Курисачу товарищей. А оставшийся 1% — не так уж и страшен, думаю. >Я вообще не думаю, что тут защита от DDoS так необходима. Ну Курисач в своё время клали дудосом. >А по сути, у них большие проблемы. То есть? >>45716 >Я нашёл внешний IP из утёкшей базы Клауды. Ну это уже оверкилл. Вряд ли кто-то начнёт специально искать утёкшие базы клауды, чтобы подудосить Курисач же. >>45722 >пик::терминал::yuuko Лол, только сейчас понял, что поскреби любого на этой борде — увидишь тоохоофага же. Кажется, вас скоро станет больше, чем даже штайнгейтофагов, лол. Алсо, айпишники неправильно угадал. Домены ftp., pop., smtp., phpmyadmin. указывают на другие серверы, на которых, соответственно, висят гейты хостера к разным сервисам. Хотя да, хостера по ним узнать можно — как и по whois. >>45724 >Нет, ничего не работает. Через оперу мини всё так же не отправляется. Мда, это печально. У тебя в строке адреса точно https:// ? >>45725 >Отправляй с выключенным «отправка через javascript» Да, как last resort должно помочь.
>>45748> Так с клаудой он неизвестен, если всё правильно сделать.С клаудой и хостинг будет неизвестен…
>>45748 >У тебя в строке адреса точно https:// ? Вот кстати нет. С https действительно всё норм. Благодарю.
>>45748Так в том то и суть чтоб узнать хостинг, да и я не старался, точно где то ип задницей наружу торчит, просто ночью лень было ковыряться.
>>45758И почему я тохофаг? К слову, делай сертификат let's encrypt и подрубай hsts на сайте и потом в кабине клауды.
>>45760 >К слову, делай сертификат let's encrypt и подрубай hsts на сайте и потом в кабине клауды. А, ты о том, чтобы https летел по лучам клауды до самого хостинга? Да, неплохо. Но вот зачем — уже не знаю.
>>45761 Без сертификата ты hsts не сможешь подрубить нормально, а hsts будет форсить https всегда, тобишь атаки mitm не пройдут никак. Ну это я параноик прост, я на локалхосте поднял, лол. я просто уже не знаю что поднять на малинке, так что торчит 8ch.su
>>45749 Если только он не написан в whois. >>45753 О, хорошо, значит, действительно проблема в этом была. >>45758 М? Где, например? Вроде бы я постарался сделать так, чтобы ip сервера нигде не торчал. >>45760 >И почему я тохофаг? Ну Ююко же. >К слову, делай сертификат let's encrypt и подрубай hsts на сайте и потом в кабине клауды. Я б рад, да только на сайте это требует зачем-то «вернуть настройки DNS обратно», читай — вырубить клауду, а я этого не хочу же. Да и вообще, зачем https между клаудой и сайтом же? Туда-то точно никто не влезет. В общем, народ, если у кого-то не отправляются/не удаляются посты — проверьте, в адресной строке браузера у вас http:// или https:// : должно быть последнее. И на всякий случай перед отправкой поста вбейте еще раз ручками пароль в поле «пароль» формы отправки, чтобы он заново сохранился в куках, потому что куки http://kurisa.ch не доступны https://kurisa.ch, насколько я понял.
>>45865> Если только он не написан в whois.А что ему там делать, если у тебя клоудфлара?> Ну Ююко же.Ююко пишется yuyuko, а не yuuko.
>>45865 У меня трип каждый раз спадает, я же говорю тебе сделать hsts, потому что где то перекидывает на http. Загугли. Да и про вернуть настройки dns я не понял.
>>45891 надеюсь меня не забанят за пиар моей параши локалхоста с вебмками,лол.
>>45891 >я же говорю тебе сделать hsts Хороший такой костыль. Если включить hsts, то часть функциональности по ссылке http просто ляжет. Нужно в коде http/https несоответствия поймать.
>>45905Да, так и будет, поэтому и сам сайт нужно допиливать чтоб везде на https редирект был, и это не костыль, вполне рабочая схема. Спадает кстати не только трип, а имя вообще. Даже с телефона на клиенте дашчана. Ладно, разбирайся, а я спать пошёл, на выходных может попробую поднять что нибудь интереснкнькое.
>>45887 >А что ему там делать, если у тебя клоудфлара? Клаудфлара, afaik, не модифицирует записи, просто «проксирует» их. >Ююко пишется yuyuko, а не yuuko. Блин, да, что-то я перепутал с Кадзами-сан, вернее, склеил начало от Юки и конец от Ююко. >>45891 Погоди, для этого же нужно включать SSL между клаудой и хостингом, так? Попытка включить SSL на хостинге говорит мне пикрелейтед. Или я чего-то не понимаю? >>45905 >Нужно в коде http/https несоответствия поймать. Вот этому я и хотел посвятить то время, в которое остальные будут кушать шашлыки на природе лол ну, отдыхать в эти праздники. >>45909 >Спадает кстати не только трип, а имя вообще. Даже с телефона на клиенте дашчана. Попробую разобраться.
>>45914> Клаудфлара, afaik, не модифицирует записи, просто «проксирует» их.Клоудфлара имеет свои ип, она как «отдельный хостинг» значится в хуисе. Клоудфлара проксирует только запросы к веб-серверу.
>>45914Получается так, мде. Ну тогда хз. Йоба хостинг.
Вебм-ки начинают подгружаться сами без спроса при загрузке страницы.
>>45946 >Вебм-ки начинают подгружаться сами без спроса при загрузке страницы. Стоит в теге webm: preload="metadata". Т.е. браузер загружает заголовок webm и первые секунду-две, чтобы при потребности сразу начать воспроизводить. Но этот объём едва можно назвать «подгружаться».
preload="metadata"
>>45951 >и первые секунду-две На телефоне они у меня грузятся полностью.
>>45917 >она как «отдельный хостинг» значится в хуисе. Клоудфлара проксирует только запросы к веб-серверу. Хм. Я всегда считал, что она выдаёт то же содержимое записей DNS, которое скопипастила с «родных» серверов, ну плюс немного про себя (у нас так). Это я и назвал «проксированием» (в кавычках). >>45946 Ну браузер считает, что ему именно столько надо подгрузить, чтобы прочитать метаданные webm-ки. На самом деле, там всё сложно, вот тут есть феерическая расстановка точек над атрибутом preload (про который говорит Рейму в >>45951). >>46049 Ну, значит, у тебя браузер считает, что надо подгрузить вообще всё (видимо, для него preload=auto и preload=metadata — одно и то же). Странный он, однако...
preload
preload=auto
preload=metadata
Надо было билдить превьюшки к вебм.
>>46123 Как, если нет ffmpeg-а?
>>46155Может проще сменить хостинг, купить vps вообще и быть королём в системе?
>>46216 Ну это уже к Ханако. Вообще, думаю, пока у нас на хостинге не так всё плохо, чтобы прямо брать и переползать на что-то более крутое. Пока проблем две: нет возможности делать system() и set_time_limit() и нельзя поднять https от кладуды до хостинга. Неужели это так необходимо?
Ну как же в чем проблема? Вот сколько сейчас стоит хост? Вряд ли сильно дешевле вас в от хетцнер(правда его придется в обязательном порядке проксить клодой). Зато возможностей больше. Nginx, надеюсь, сконфигурировать с умеете. А превьюшки иначе никак не получишь(если конечно не брать во внимание свою реализацию). На клиенте тоже можно снапшотить видео, но насколько помню ридеру нужен весь файл.
>>46227 Ну просто хорошо когда имеешь контроль над всей системой, такие дела. А вообще пока смысла нет, ибо людей почти нет, и даже на тамагочи хостить.
>>46243 годная впска за 4 евро
>>46244 Моар!
>>46276Чего моар? Это Юко.
>>46284 Колготочек на ней.
>>46341 В голос. Как Гин прерватилась в бабку?
>>46243 Ну нам там первый год (домен+хостинг) обошелся в 800 рублей, лол. >Nginx, надеюсь, сконфигурировать с умеете. Не пробовал, но RTFM вроде умею, так что, если есть годные маны — то думаю, смогу. Но вообще у вашей Хомуры сейчас вплоть до августа будет не так много времени, поэтому масштабных вещей типа переезда на другой сервер, если никто не возьмётся помочь (Рейму?) вряд ли можно будет ждать. Плюс, первый год заканчивается в конце декабря, тогда можно будет и переехать — если вдруг решим. >>46244 Понятно, что хорошо, но есть ли особый смысл?.. >>46246 3,9 евро в месяц — это 46,8 евро в год или 3500, если в рублях, не считая домена (стандартная цена за наш домен — 1060 в год); т.е. в сумме получится примерно 4,6к в год или 200 рублей в месяц. В общем, не знаю, пусть Ханако насчёт этого решит. >>46341 Ок, записал, пофиксю.
Шрифты для тем перенеси к себе на сервер, браузер плюется что микшеный контент http + https, пожалуйста. И можешь свою почту оставить?
Дабл слэш не сработает?
Смайлофук, щито это? Пост отправился, но вылезла вот эта бяка. Уже второй раз такое.
>>46749 Какие именно шрифты? В шаблоне я вроде поправил, там шрифт должен браться по https. Попробуй почистить кэш браузера, если не поможет — можешь сказать, какой именно шрифт берется по http? >>46771 А как он должен работать? В разметке? Не, у нас такого нет. >>46860 Второй раз за какое время? Если за день — то, вероятно, у тебя не обновился помеявшийся скрипт (тоже попробуй почистить кэш). Вообще 503 означает, что либо Курисач тормозит (с ним отчего-то иногда такое бывает — когда пост вместо 3-4 секунд отправляется секунд 10; иногда клауда просто «устаёт» ждать, пока сервер ответит и закрывает соединение, возвращая 503), либо запрос на отправку не дошел до сервера, но раз пост отправился, это не твой вариант. Алсо, вчера вечером и ночью немного пошатал Курисабу-тян, посему лог шатания: — длинные скрипты в админке вызываются два раза (проблема сервера?) (normal) (hard) — путь решения неизвестен — если нет куков, отдаются просроченные страницы (normal) (medium) — путь решения неизвестен — есть проблемы с символами в файле http://pastebin.com/nByG9cif (minor) (hard) — NEED INFO (проблема с кодировкой соединения через ADODB 1.42 с базой; если кто подскажет, как решить — пофиксю) — автообновление: счетчик тикает, но посты не обновляются (normal) (medium) — NEED INFO (не могу воспроизвести; у кого так — мне нужен вывод консоли браузера) — (NEW) При некоторых условиях пропадает трипкод и имя (minor) (medium) — NEED INFO (не могу воспроизвести; нужна инструкция по воспроизведению бага) — до идеала нехватает только рехост миниатюр с youtube (minor) (medium) — CANCELLED (производительность это не повысит) — «этот тип файла не разрешён к отправке на эту доску» у Клары (normal) (medium) — CANCELLED (Клара сказал, что у него всё норм) — вылетает опера (major) (hard) — CANCELLED (говорят, что было на бете, теперь всё ок) — (NEW) Сделать SSL (minor) (medium) — DONE — запилить каталог а-ля нульчан (minor) (hard) — DONE — (NEW) Нужно сделать исключение на ввод капчи для предпросмотра (minor) (easy) — DONE — (NEW) Добавить подкастный тред Джинна в фреймсет (minor) (easy) — DONE — (NEW) Unknown property 'font-wight' (minor) (easy) — DONE — (NEW) миниатюры, которые того же размера, скопировать (minor) (easy) — DONE — (NEW) сделать автоперекидывание на https (minor) (easy) — DONE — (NEW) «$ is not defined» на страницах ошибки и ОК (minor) (easy) — DONE — сделать архив тредов (normal) (hard) — DONE — (NEW) туваче воскресе. =) Ладно, запилим обратно, что уж тут. (minor) (easy) — DONE — (NEW) Сделать автоматический редирект на https (minor) (medium) — DONE — (NEW) «https://kurisa.ch/sg» переводит на «http://kurisa.ch/sg/» (minor) (easy) — DONE — (NEW) Нужно в коде http/https несоответствия поймать (minor) (easy) — DONE — видео+картинка (major) (hard) — сделать отправку по Ctrl+Enter настраиваемой (normal) (hard) — включенное автообновление жрёт очень много ресурсов почему-то (normal) (hard) — без капчи посты с куклы отправляются два раза (normal) (medium) — (NEW) хайлайт сбивает автообновление (normal) (medium) — скрытие постов по имени, тексту поста (minor) (hard) — сделать переключение английского и русского интерфейса (minor) (hard) — (NEW) оптимизация подгрузки постов (json) (minor) (hard) — спойлеры картинок (minor) (medium) — cделать отдельно однопоток постов как на хорочане или как на хайбане (minor) (medium) — анимированные превьюшки, выключенные по дефолту (minor) (medium) — сделайть улучшенный хеш для бана, чтобы он высчитывался без последних 2-5-10 байт (minor) (medium) — vimeo не отображает превьюшки видео (minor) (medium) — фрейм колбасит (см. пост 42066) (minor) (medium) — чтобы был и диалог открытия и превью по клику на зоне «перетащи файл сюда» (minor) (medium) — скрытие отдельных постов, навроде кнопочки скрытия треда, только для постов (minor) (medium) — сделать, чтобы предпросмотр закрывался при отведении мышки (minor) (medium) — (NEW) откуда-то лезет скроллбар и почему-то превьюшка вылезает за край (minor) (medium) — (NEW) разворачивание поста на предпросмотре со страницы борд (minor) (medium) — ускорить статистику в админке (minor) (easy) — предпросмотр поста не закрывать при клике по кату (minor) (easy) — кат не помещается в пост с картинкой правильно (minor) (easy) — сделать в шаблоне капчу только если на доске капча включена (minor) (easy) — (NEW) word-wrap не работает (minor) (easy) — (NEW) предпросмотр поста при правке глючит (minor) (easy)
>>46875>>46697Тут. Что там по почте.
>>46875 Это когда протокол опускается и uri начинается с дабл слеша. >Видео + картинка И как ты собираешься это делать если на хосте нельзя в exec. Я бы конечно мог сделать сервис, который бы отдавал превьюшку, но это костыль. В принципе я же предлагал делать их на клиенте и посылать вместе с вебм. Но клиент может подменить изображение(что конечно не слишком страшно, но все же.
>>46883 Ой, да. Почта akemi_homura собака куриса.ч. Насчёт шрифтов да, там было ещё одно место — я поправил. Теперь нормально? >>46889 >Это когда протокол опускается и uri начинается с дабл слеша. Хм, ни разу такой фичи нигде не видел. Может, конечно, плохо смотрел, лол. >И как ты собираешься это делать если на хосте нельзя в exec. Ну точно так же, как делается это с обычными видюшками — просто первую ссылку на ютуб, вимео или куб в посте оборачивать в <span style="display: none;">; а после неё лепить блок, аналогичный видеобоксу поста. Соответственно, галочка в настройках будет переключать видимость блока и ссылки. И кстати, для превьюшки, вроде, exec() не нужен, она достаётся по URL-у. А вебм + картинка и правда, не в тему — у нас поле для файла всего одно, и вот лично мне не кажется, что нужно вводить ещё. Речь-то шла именно о ютубе+картинке.
<span style="display: none;">
Каким способом (какой библиотекой) на Курисаче делаются превьюшки?
>>47002 GD вроде как. >>47007 :3
>>47000 А, я думал ты насчет превью для вебм. >А вебм + картинка и правда, не в тему — у нас поле для файла всего одно, и вот лично мне не кажется, что нужно вводить ещё. Там и нужно будет одно, файлы просто сджойнятся, а на сервере ты уже разделишь. Но это костыль, я бы так не делал.
>>47002 Верно говорит >>47011, это gd. В теории ещё можно imagemagick, но не помню, есть ли он на сервере. gd пока хватает.
>>47019 Хома, ты чего проигнорила >>47007 ?
>>47024 А чего ты ожидал?
>>47025 Твоего комментария.
Я просто оставлю это здесь. http://mashable.com/2016/05/05/microsoft-predictive-touch-screen/
>>47065 Это как технология «floating touch» у Samsung, которую они представили в 2013 году?
ntcn
>>47024 А что мне надо было на это ответить? =) >>47065 Лол, наконец-то емкостные тачскрины научились чему-то навроде ховера у мышки. Хотя, конечно, технически в этом не было чего-то революционного, но вот запилить это в софт — уже годно.
>«https://kurisa.ch/sg» переводит на «http://kurisa.ch/sg/» (minor) (easy) — DONE Оспорю. Специально замерял с помощью cURL, его редирект с https на http, просто этот конфиг >сделать автоперекидывание на https (minor) (easy) — DONE Сразу вытягивает из http. > (NEW) хайлайт сбивает автообновление (normal) (medium) Ну он не сбивает. Он просто нарушает счётчик новоприбывших сообщений. Потому, что он просто считает количество элементов класса «reply» И звуковой оповещатель думает, что пришло новое сообщение на каждое обновление. Самое простое решение — не снимать «reply» с постов, а просто дописывать «highlight», не замещать. Т.е. в функции function highlight(post, checknopage) заменить строки $('.highlight').removeClass('highlight').addClass('reply'); $('#reply' + post).removeClass('reply').addClass('highlight');на$('.highlight').removeClass('highlight'); $('#reply' + post).addClass('highlight');Однако, если немного подумать, это может вызвать конфликт стилей, когда на один и тот же параметр влияют и класс «reply», и класс «highlight». Тогда предложу решение в подсчёте классов «highlight» как равноправных постов. Т.е. заменитьvar totalPosts = document.getElementsByClassName('reply').length;наvar totalPosts = document.getElementsByClassName('reply').length + document.getElementsByClassName('highlight').length; Это, конечно, костыль к костылю, но всё будет работать и ничего не будет сломано. > (NEW) word-wrap не работает (minor) (easy) Ну тут уже описывал все необходимые и достаточные теги. Не зря же я указал их столько, ведь действительно тестировал и пытался указать меньше тегов, чтобы эффект ещё был в действии. Но нет, на таблицы в HTML особые правила. >сделать в шаблоне капчу только если на доске капча включена (minor) (easy) (А точно ли стоит это делать?)>>47019 >В теории ещё можно imagemagick, но не помню, есть ли он на сервере. gd пока хватает. Думаю, это была отсылка к этой новости.
function highlight(post, checknopage)
$('.highlight').removeClass('highlight').addClass('reply'); $('#reply' + post).removeClass('reply').addClass('highlight');
$('.highlight').removeClass('highlight'); $('#reply' + post).addClass('highlight');
var totalPosts = document.getElementsByClassName('reply').length + document.getElementsByClassName('highlight').length;
>>47000 Со шрифтами вс норм, батя грит малаца. Но трип все так же отлетает.
Суйгинта с глагне убежала.
>>47122 >Оспорю. Хм, странно. Проверил — редиректа быть не должно, в коде все «http» позаменял на «https». Если кэш почистить — повторяется? С другой стороны, результат-то ведь всё равно какой надо? >Он просто нарушает счётчик новоприбывших сообщений. Это я и подразумевал под «сбивает». =) >это может вызвать конфликт стилей, когда на один и тот же параметр влияют и класс «reply», и класс «highlight». Да, именно. Как раз решение с тем, чтобы не заменять, а дописывать, я и рассматривал, но как раз по этой причине решил не делать. Благо всё равно скоро собираюсь переписать (как появится значимое количество времени на курисабу) с использованием json. >Это, конечно, костыль к костылю, но всё будет работать и ничего не будет сломано. Хорошо, как временное решение тогда запилю. >Ну тут уже описывал все необходимые и достаточные теги. Ох, точно, я, почему-то протупил и добавил их не в .postnode, а в .reply blockquote. Причём, самое главное, тестировал именно на первом классе, а потом запилил во второй и еще подумал «хм, работало же». Ок, поправлю. >(А точно ли стоит это делать?) Да, я сейчас подумал, что не стоит — ибо я этот баг добавлял ещё до недавнего 44444-вайпа, когда мы с Ханако думали, что эпоха вайпов прошла. Так что, пожалуй, и правда, не стоит показывать, что капча отключена, когда она действительно отключена. >Думаю, это была отсылка к этой новости. Хех, да, я тоже так подумал (и решил, что не с тем ли спрашивают, чтобы похачить Курисач?) >>47191 Хорошо. А в какие моменты трип отлетает? Можешь рассказать, как воспроизвести? >>47215 Спасибо за инфу, поймал и вернул на место беглянку. =)
.postnode
.reply blockquote
>>47222> Хм, странно. Проверил — редиректа быть не должно, в коде все «http» позаменял на «https». Если кэш почистить — повторяется?Ты сам-то посмотри. Через консоль браузера, или через curl — результат один. Последовательность всегда одна:https://kurisa.ch/sg — http://kurisa.ch/sg/ — https://kurisa.ch/sg/Второго пункта быть не должно.> С другой стороны, результат-то ведь всё равно какой надо?Вообще-то нет. Запрос по http выдает, что я сижу на курисачике, а также, что вот эти клаудовские ип, которые были до и после выполнения редиректа — тоже принадлежат курисачику. А дальше без проблем детектится, с учётом времени запросов, какие посты пишутся мною, учитывая, что борда очень медленная. Ох уж заняться вам нечем, товарищ майор.
>>47222 >Если кэш почистить — повторяется? Прозвучало как шутка. Ну какой кеш у cURL? >(и решил, что не с тем ли спрашивают, чтобы похачить Курисач?) Я бы тогда на их месте и спрашивать бы даже не стал. Ну глупо же.>>47224 А ты не знаешь, что имя хоста «kurisa.ch» пробрасывается ещё перед установкой SSL? Сделано это для мультихоста, чтобы сервер мог для нужного хоста выдать нужный ключ. Таким образом, тов. майор знает, что ты на курисаче сидишь. Это не говоря о том, что ты нередко запрашиваешь IP от DNS на адрес kurisa.ch. А утечки других данных за редирект не уходит. Есть разве что вопрос, что этот момент может подловить злоумышленник, и выдать тебе подставной курисач, или стать MITM. Но на борде с анонимным постингом не вижу никакого смысла в таком векторе атаки.
>>47224 >>47232 Ладно, попробую изучить этот вопрос. Странно, конечно, но посмотрим. Как пойду на очередной отлов багов — поставраюсь пофиксить. >Ну какой кеш у cURL? И правда, невнимательно я тебя прочитал, гоменнасай.
>>47232> А ты не знаешь, что имя хоста «kurisa.ch» пробрасывается ещё перед установкой SSL?> Сделано это для мультихоста, чтобы сервер мог для нужного хоста выдать нужный ключ.Не знал, кстати, думал, что сертификат «общий» на все домены должен вообще быть.> Это не говоря о том, что ты нередко запрашиваешь IP от DNS на адрес kurisa.ch.Ну это как раз легко чинится с помощью hosts.
Не знаю как, но только что обнаружил очень странный баг: автообновление не показывает последний пост. Точно описать не могу, т.к. данных недостаточно, и я не особо понял, как это вышло, однако: поста нет, но (sic!) «Ответ:» на него создался. Более того, через несколько автообновлений баг каким-то таким же дивным образом пробился, пост появился. Не могу представить, как так вышло и почему. Могу сразу сказать, что это происходило во время довольно активного постинга. (пост >>47366) И не в момент мною отправки поста. Я в это время только собирал ответ. Продолжительность такого поведения была около минуты-двух.
>>47369 Так, это невесело. Я специально не перезагружал страницу, вдруг снова будет. Что сейчас замечу: особенно добротное проседание браузера (на 20-30 секунд где-то) на ровном месте (если чуть точнее, по нажатию на увеличение изображения. Обычно моментально открывает, либо сначала загрузка, потом открытие, но интерфейс остаётся живым. В данном же случае завис напрочь на 20-30 сек.)
>>47371 И не прошло и двух постов, как снова такая же реакция: подвисание браузера на 15 секунд. Но на этот раз совсем уж на ровном месте. В данный момент открыты только ВК, и 4 вкладки разных тредов курисача (в смысле это не сторонняя проблема) Возможно, это и есть доп. вопрос о высокой загрузке при автообновлении. Однако, до сегодняшнего такого поведения не наблюдалось ранее. Поэтому предположу, что это не очень частое явление. Это к тому, мне кажется, что до полного переписывания системы обновления может подождать.
>>47371 >>47372 Оффициально™ заявляю, что в данных сообщениях написана ересь. Кажется, причина «застывания» — это проседание браузера во время отправки поста в этот тред.
Знаешь, Хомура, я, кажется, нашёл ответ на тот вопрос об «исчезновении постов» В том треде был удалён пост. И даже не один. А у меня в браузере они ещё оставались. А если взглянуть вот этот участок кода обновления: if (totalPosts < totalNewPosts) { if (Settings.soundRefresh(false)) { var tutturu = new Audio(ku_boardspath + '/tutturu.ogg'); tutturu.play(); } for (var i = 0; i < totalNewPosts; ++i) { if (!document.getElementById(new_posts[i].id)) { document.getElementsByClassName('replies') [0].appendChild(new_posts[i].parentNode.parentNode.parentNode); } } } То становится сразу понятно. Если количество новых постов не больше количества имеющихся постов, замещение не начнётся для экономии ресурсов. И, насколько я понимаю, вообще этот случай едва заметил бы, если бы не быстрый постинг, и вероятность того, что в 20 секунд добавился ещё доп. пост отставания, была высока. Вот, как раз, и получилось, что от одного поста до другого прошло около минуты-двух, что я описывал ранее.
if (totalPosts < totalNewPosts) { if (Settings.soundRefresh(false)) { var tutturu = new Audio(ku_boardspath + '/tutturu.ogg'); tutturu.play(); } for (var i = 0; i < totalNewPosts; ++i) { if (!document.getElementById(new_posts[i].id)) { document.getElementsByClassName('replies') [0].appendChild(new_posts[i].parentNode.parentNode.parentNode); } } }
>>47376 Как временное решение сразу предложу сравнивать, одинаковы ли последние элементы, принятые с сервера, и хранящиеся у клиента. Если же нет — включать режим усиленного обновления (думаю, случаи переотправки и удаления довольно редки, в отличие от размеренного постинга) И, кстати говоря, на сравнении последнего элемента, и фактом того, что нельзя «встроить» новый пост посреди уже имеющихся, можно немало обыграть: если количество постов одинаково, но последний пост разный, то полное обновление (переотправка, например), а в случае, когда последний пост одинаковый, но количество разное — тоже полное обновление (удаление поста, например).
>>47377 Хотя, если призадуматься, не нужно даже браться за последний элемент. Да, это необходимое и достаточное условие, чтобы сразу выявить несоответствие. Однако, если подумать: Все эти баги вызваны тем, что сервер высылает меньше сообщений, чем есть у клиента по количеству. Нужно просто следить, чтобы сообщений у сервера не было меньше, чем у клиента. Даже если у сервера будет удалено сообщение, и в 20 сек кто-то успеет отправить ещё одно, и будет одинаковое количество, но разные по содержанию сообщения. Но ведь обновления приходят каждые 20 сек. И уже в следующем обновлении уже так вряд ли совпадёт. Так или иначе, в первый же промежуток 20 сек без постинга с какой-либо стороны запустит рутину «восстановления» содержания треда, «глубокое обновление». Оно же сейчас известно как «ручное обновление» (участок кода чуть ниже цитируемого).
>>47380 Всё это говно давно бы решилось вебсокетами.
>>47403 >Всё это говно давно бы решилось вебсокетами. Ты выглядишь глупо. Хорошо реализовать можно и на ajax, и на comet. А ты далее своего носа не видишь, что проблема на более высоком уровне, чем передача самих данных. Да, решить можно. И решить давно. Хомура говорит, что займётся этим (у него уже тикет висит, если видишь). Я тоже говорю, что займусь ближе к середине лета, если ничего непредвиденного не случится.
>>47404 Нет, проблема как раз в том что клиент самостоятельно тягает данные, еще и таким варварским способом. Но видимо пердолится с устаревшим лет на 10 софтом интереснее, чем доработать современный проект под свои нужды.
Рейму, по поводу всего тобой написанного: я вчерашней ночью перед тем, как заснуть, внезапно подумал насчёт обновления и понял, что всё плохо, лол, и надо переписывать. =) Наутро, конечно, ситуация мне показалась не настолько ужасающей, но от переписывания я, тем не менее, не отказался. И кажется, я примерно придумал, как его реализовать и даже реализовал. Правда, пока без обновления карты ответов (хотя серверная сторона её уже выдаёт). Если есть желание, можешь попроверять что-нибудь в сторону функции getnewposts_new() в kusaba.new.js. Если кратко, я отправляю на сервер список постов, он мне выдаёт, какие посты удалить, какой html добавить в конец (дабы не писать один и тот же код на клиенте и на сервере, я генерю html для добавки на сервере) и каков новый список постов треда; также выдаёт карту ответов треда, на основе которой можно перегенерять ее в треде (эту фичу пока не дописал). Ну и булеан notify — чтобы можно было туттурукнуть при автообновлении. В продакшен пока не запиливал; в теории, getnewposts_new() просто заменит существующий getnewposts(). Если нужен нормальный исходник серверной и/или клиентской части — говори, скину. А я пока пойду спать — а то опять, взялся за курисабу, так не успел оглянуться — уже утро, лол. >>47403 Не оверкилл ли вебсокеты для наших целей?
getnewposts_new()
getnewposts()
>47533 >Не оверкилл ли вебсокеты для наших целей? -> >>47524 Оверкилл или нет, а вот несколько вопросов точно есть. 1. Надёжность. Система, вроде бы, работает даже на всех браузерах, но вот антивирусы часто блокируют вебсокеты. 2. Веб стандарт. Когда у тебя суровый фаервол, и там стоит ограничение: только HTTP, только по 80 порту. То вебсокеты просто сделают невозможным нахождение на курисаче. 3. утечки памяти. Я бы не стал так доверять PHP, что крутится на сервере на постоянное соединение попросту из-за утечек памяти. Так можно остаться без ресурсов. Хотя это и не грозит тем же poll или long poll. Если третье ещё можно решить собственным контролем над проверенной версией PHP, то первые два пункта препятствуют введению вебсокетов даже у крупных игроков VK, Facebook, Gmail, где все ресурсы на счету. Там везде применяют long poll. А учитывая скорость постинга (да и скорость прочтения тоже) задержка в 20 секунд в данном случае пренебрежительно мала. Даже нет особой разницы между poll или long poll. Из главных улучшений нужно только json ввести и частичную загрузку. >Если есть желание, можешь попроверять что-нибудь в сторону функции getnewposts_new() в kusaba.new.js. Да, попробую не сегодня, так завтра. Это важно. >последний спойлер Как же ты так-то.
>>47403 Почему бы просто не получать список постов из треда и сравнивать? Это всего около 500 постов, объем информации крайне небольшой. >>47536 >Когда у тебя суровый фаервол, и там стоит ограничение: только HTTP, только по 80 порту. Ну кто же за таким сидеть-тио будет, настроит. >Даже нет особой разницы между poll или long poll. А что это вообще такое? Вебсокеты знаю, а это?
>>47536 Причем тут пхп вообще. Его никто брать и не собирался, хотя семерка таки годная вышла. 1, 2) У большинства библиотек для работы с вебсокетами есть фальбек на longpoll. К тому же порт тут роли не играет т.к лучше пайп держать на поддомене. К тому предлагаю только апдейты через него, ни о какой загрузке страниц речи не идет. Я уже предлагал вам параллельно начать писать новый движок или взять и дорабатывать любой современный, а эту лапшу лучше оставить некрофилам. Даже если подцепить композер и попытаться оживить мертвеца путем частичного переписывания компонентов, работы будет больше чем форк современного.
>>47634 >Я уже предлагал вам параллельно начать писать новый движок Это к-конечно очень хорошая идея, но для её реализации нужно время и люди Или хотя бы просто один человек которые этим займутся. А вот с этим имеются некоторые п-проблемы. >взять и дорабатывать любой современный Это на мой взгляд более реализуемо, хотя т-тоже имеет свои проблемы.
Так, я сделал новое обновление тредов. Бонус — теперь автоматическое обновление треда делает то же самое, что полное (в том числе удаляет удалённые посты внутри треда и обновляет карту ответов). Но ещё и туттурукает, конечно — если надо. Ещё ручное обновление теперь не скроллит в конец треда, если новых постов не было. Желающие могут включить консоль браузера (Хоро делает это, если ей сказать «F12», например) и потестировать новое обновление. Оно в консоли пишет, что где с картой ответов (подправлена/добавлена/удалена) и с самими постами (удалены или добавлены; в последнем случае без номеров — ибо новые посты отправляются браузеру уже готовым html-ем). Если у кого-то не работает или лезут сильные глюки — то в настройках есть галочка «использовать старый метод обновления треда». Можете её включить, а в этом треде описать проблему. Потом я поправлю — можно будет выключить. Система сложная, так что думаю, редкие баги мы ещё из нее будем вычищать. >>47536 >Как же ты так-то. Ну вот так. =) Программирование — типичное «потоковое» (в психологическом смысле) занятие, поэтому время как-то летит весьма незаметно, лол. >>47633 >Почему бы просто не получать список постов из треда и сравнивать? Это всего около 500 постов, объем информации крайне небольшой. Так и делалось. Просто раньше получался готовый html всех постов из статической страницы, что сильно грузило как канал, так и клиента; теперь я получаю только html-кусок добавленных постов, список удалённых постов, новую карту ответов для всех постов в треде и булеан «в треде есть новые посты». >Ну кто же за таким сидеть-тио будет, настроит. Лол, у меня на работе такой, а просить админов изменить политику безопасности фирмы из-за того, что мне хочется почитать Курисач — это слишком. >>47634 Насчёт нового движка. Понимаешь, как правильно говорит Ханако (>>47637), на это нужны люди, у которых есть свободное время, энтузиазм и опыт написания движков (кстати, когда я начал первые правки курисабы, у меня этого опыта тоже не было). Причём, хочу сказать, как на написание чего-то совсем нового, так и на адаптацию существующего под имеющиеся у нас плюшки. Серверная карта ответов, смайлы, специфическая разметка, предпросмотр поста (с картинкой), загрузка файлов по ссылке — думаю, достаточно редкие вещи. Стили, опять же, заточены под кусабоподобные движки. Переезд — это всегда тяжело, и сейчас, мне кажется, имеет смысл его затевать, только если нам в существующем движке чего-то тотально не хватает. Ну, конечно, если кто-то всерьёз займётся написанием движка для Курисача, обратно совместимого по формату базы и системе хранения файлов и с подобными плюшками в интерфейсе — то я это буду всячески приветствовать, но что-то мне подсказывает, что такой расклад малореален.
>>47634 >У большинства библиотек для работы с вебсокетами есть фальбек на longpoll. Да, так, возможно, имеет смысл посмотреть в эту сторону. >Я уже предлагал вам параллельно начать писать новый движок О, кажется, ты и вправду тут самый умный. Как-то раньше даже не задумывался об этом. Может, этим и займёшься? >Причем тут пхп вообще. Его никто брать и не собирался А что ещё столь универсальной поддержки предложишь? >Программирование — типичное «потоковое» (в психологическом смысле) занятие, поэтому время как-то летит весьма незаметно, лол. Соглашусь, да. Затягивает получше многих игр. >теперь я получаю только html-кусок добавленных постов, список удалённых постов, новую карту ответов для всех постов в треде и булеан «в треде есть новые посты». А вот теперь мне очень уж любопытно взглянуть на код. >Переезд — это всегда тяжело, и сейчас, мне кажется, имеет смысл его затевать, только если нам в существующем движке чего-то тотально не хватает. Ну это не «переезд», а скорее «переписывание». >обратно совместимого по формату базы и системе хранения файлов. Ты имеешь ввиду, чтобы при запуске код был способен подобрать базу, что ли? Ну миграция — это отдельный вопрос, в довесок к тому, что сам по себе движок необходим.
>>47665 >Затягивает получше многих игр. Вот-вот. =) Алсо, понял, что игры, которые меня «затягивают», тоже почти всегда связаны с созданием неких инженерных или не очень объектов и их тестированием и наладкой (яркие примеры — майнкрафт или KSP, лол, ещё Dungeon Keeper, SimCity, первый Age of Empires вспоминаются). >А вот теперь мне очень уж любопытно взглянуть на код. Хорошо, давай почту (или скайп/контактик/whatever you want), скину. >Ну это не «переезд», а скорее «переписывание». Это была метафора. =) Но вообще «переезд базы на новый движок» — почему бы и не так? >Ты имеешь ввиду, чтобы при запуске код был способен подобрать базу, что ли? Да, ибо у нас сейчас достаточно много контента, и терять его из-за несовместимости баз — очень не хочется. Плюс, можно будет одновременно гонять два движка (например, один на kurisa.ch, а другой на beta.kurisa.ch), а потом выбрать тот, который понравится большему количеству юзеров (или не выбрать, а оставить оба, лол). Опять же, основные претензии к Курисабе — юзабилити и качество работы, а не «внутренние» возможности (навроде прикрепления кучи файлов к посту, например), так что такой подход, думаю, может взлететь. Хотя, конечно, в новом движке нужно будет обратить внимание на генерацию страниц для старой курисабы (а в старой курисабе — на генерацию чего-нибудь, если надо, для нового движка). Хотя, можно курисабу переписать для динамической генерации страниц, если уж действительно до реализации второго движка дойдёт. Имхо, главный подход в переезде на новый движок — чтобы он прошёл как можно более безболезненно для юзеров.
>>47644 >теперь я получаю только html-кусок добавленных постов Клиент отдает свой последний пост, а получает следующие за ним посты и список удаленных с момента этого последнего поста? >Лол, у меня на работе такой Неужели ты сидишь на Курисаче с рабочего компьютера? Это же означает никакой приватности, админ видит все, что ты делаешь. Я никогда не пользуюсь интернетом на работе для чего-то конфиденциального. Полазить по каким-нибудь интернет-магазинам, почитать новости, запросы в гугле — это можно, а вот что-то личное... >>47701 >Да, ибо у нас сейчас достаточно много контента, и терять его из-за несовместимости баз — очень не хочется. А почему бы не написать скрипт, который бы просто конвертнул базу от одного движка в формат для другого?
>>47701 Тоже соглашусь в этом с тобой. Ведь шатания — дело неблагодарное. Объективно говоря, Курисач сейчас работает довольно хорошо, несмотря на различные нарекания. И даже со своей устаревшей системой, с перегенерацией страниц в статике и своим циклическим HTML-поллингом. Оно, чёрт возьми, работает, и выполняет свою функцию. Пускай и не так эффективно и быстро, как могло бы работать. >Плюс, можно будет одновременно гонять два движка (например, один на kurisa.ch, а другой на beta.kurisa.ch), а потом выбрать тот, который понравится большему количеству юзеров. Нет, это не дело. Пользователь — это пользователь. Он выбирает то, что ему лучше. А уже задача разработчика сделать лучше. Тут уже не вопрос выбора стоит, а вопрос адаптации под нужды. Кому как не тебе это понимать.>>47706 >А почему бы не написать скрипт, который бы просто конвертнул базу от одного движка в формат для другого? Да, я тоже в первую очередь подумал именно об этом. Если и пилить новый движок, то делать попытку поддержки при этом же старого движка вижу сложнореализуемым, да и не нужным. Какой-то чёрной-чёрной ночью запустить скрипт конвертирования базы — и приземлиться на уже новом движке. Хотя можно, конечно, приделать скрипт «транспорта», который бы при получении поста закидывал бы его сразу на два движка, и отменял бы действие, если хотя бы один движок от поста отказался. Но мне кажется такая схема работы ещё более ужасной каракатицей, чем просто новый необкатанный движок. Но, так или иначе, как уже писал Хомура, поддержка эмуляции старого формата тоже необходима. Пускай даже нужно будет гнать статику динамикой. Это необходимо для функционирования дашчана и других мобильных клиентов. Да, они тоже затрудняют переезд. Для нормальной миграции нужно будет ещё и для них парсеры новые писать. (Ну или написать в сервере апи для наиболее подходящего парсера, уже имеющегося в списке поддерживаемых)
>>47706 >Клиент отдает свой последний пост, а получает следующие за ним посты и список удаленных с момента этого последнего поста? Клиент отдаёт список постов, а сервер выдаёт список удалённых из них и кусок html с добавленными, которые клиент подклеивает в тред. Если бы клиент отдавал только последний пост, там потребовался бы ещё один лишний запрос (на сравнение deleted_timestamp). >Неужели ты сидишь на Курисаче с рабочего компьютера? Но я же не постю оттуда ЦП или ещё что похуже лол, звучит так, как будто постю откуда-то ещё; на самом деле нет, конечно. >админ видит все, что ты делаешь. Эти админы нам удалёнку нормальную не могут сделать никак, и сервер с техбиблиотекой у них всё время падает. Думаю, смотреть, что каждый из работников делает — у них вряд ли хватает времени, да и зачем им?.. >А почему бы не написать скрипт, который бы просто конвертнул базу от одного движка в формат для другого? Потому что это отрезает возможность возврата на старую курисабу (или нужны костыли с обратной конвертацией базы), если новая народу не понравится. А я не хочу, чтобы на курисаче разгоралось эпическое ДУРОВ_ВЕРНИ_СТЕНУ (а ведь ещё и я буду в центре этого, ну уж нет). >>47707 >с перегенерацией страниц в статике А чем это плохо? (кроме некоторого усложнения кода — но с любыми кэшами, в том числе и кэшированием динамического контента, это так). >и своим циклическим HTML-поллингом. Если ты про обновление треда, то уже нет же. =) >А уже задача разработчика сделать лучше. Дело в том, что пользователь часто не представляет до конца, как ему лучше. Сначала «хочу такой движок, как на %борданейм%!», а потом «какая гадость, я привык, что у меня кнопочка обновить тред слева, а не справа! Дуроввернистену!» А особенно плохо — когда юзеру говорят, как ему будет лучше — это порой вообще бесит. Типа «вот новый движок, живите с ним, реквесты вернуть, как было не принимаются». И я не хочу так. >Хотя можно, конечно, приделать скрипт «транспорта», который бы при получении поста закидывал бы его сразу на два движка, и отменял бы действие, если хотя бы один движок от поста отказался. Но мне кажется такая схема работы ещё более ужасной каракатицей, чем просто новый необкатанный движок. Это каракатица, я согласен. Мне кажется, есть способы гораздо проще: — «гора к Магомету» Новый движок апдейтит базу (при постинге/удалении), после чего асинхронно (т.е. после того, как пользователь увидел, что действие успешно) вызывает курисабовские методы RegenerateThreads(n), где n — номер затронутого треда и RegeneratePages(), если страницы борды изменились (например, тред был бампнут/создан/удалён). В итоге и статика отдаётся нормально, и новый движок работает быстро. — «Магомет к горе» Новый движок работает, как работал, а старая курисаба переписывается на динамическое создание страниц. В итоге старая курисаба не кэширует данные из базы, а создаёт их «на лету», что слегка медленнее, чем получать готовую страницу с сервера. Само собой, для этого новый движок должен поддерживать всю функциональность старого (например, статическую карту ответов). >Это необходимо для функционирования дашчана и других мобильных клиентов. Вот кстати, один из аргументов в пользу того, чтобы не выпиливать возможность работы старого движка. >Ну или написать в сервере апи для наиболее подходящего парсера, уже имеющегося в списке поддерживаемых Это можно. Главное — знать форматы, в которых отдаются треды и страницы борды. Вообще, я тут сейчас подумал, может быть, нам правда, попробовать перейти на динамическое создание страниц? Какие подводные камни что кто думает по этому поводу? По моим оценкам, тогда заметно ускорится постинг и удаление, но на 1-2 секунды замедлится получение готового треда. Заодно отпадёт надобность в архиве — все треды можно будет генерить динамически, в том числе и архивные. Предполагаю это таким образом: — все статические html-файлы удаляются; — RegenerateThreads() и RegeneratePages() сразу делают return; — error.php анализирует ошибку, и если это 404 при обращении по адресу /%boardname%/res/%threadnum%.html#%postnum%, /%boardname%/%pagenum%.html, /%boardname%, /%boardname%/catalog.html и т.п. — он генерит соответствующую страницу и выдаёт её в stdout вместо записи в файл. При этом между статикой и динамикой можно переключаться (но при этом надо при возврате на статику убрать return; из функций регенерации и сделать RegenerateAll();, а при обратном переходе на динамику — не забыть удалить все html-файлы).
RegenerateThreads(n)
RegeneratePages()
RegenerateThreads()
return
error.php
/%boardname%/res/%threadnum%.html#%postnum%
/%boardname%/%pagenum%.html
/%boardname%
/%boardname%/catalog.html
return;
RegenerateAll();
>>47665 Я его уже начал писать(на новом для себя ЯП). Архитектура интересная, но я пока еще не до конца определился с самим концептом, будет ли это классика или же что-то экзотическое. Использовать пхп ради хостингов? Мы точно в 2016? Потому что цены на vps давно пробили дно и уже нет смысла во всяких хостингах и их ограничениях. Написать миграции для новой бд(вплоть до файловой структуры) не сильно сложное занятие. Я вот не помню, посты в кусабе хранятся сразу апосля парсера или они оригинальные(или хотя бы второе поле под оригинал)? Будет чуть больше работы если не так. Генерировать html уже думаю не сильно много смысла, разве что можно запилить отдельный фронтенд для совсем уж слабых устройств без ридеров. Остальное рендерить на клиенте. Мобильные ридеры типа микучана, дашчана прекрасно работают с апи(написание отдельного парсера это «немного» тяжелее чем просто замаппить апи) для них проще немного поправить модуль движка. Кстати ж лол, щас вспомнил что я добавлял модуль в микучан для это борды. Отключать генерацию в кусабе не рикамендую. При небольшой нагрузке она с легкостью может встать раком. Да и на хостинге у вас вероятно нет ни мемкеша, ни памяти под него.
>>47726 >Потому что цены на vps давно пробили дно и уже нет смысла во всяких хостингах и их ограничениях. Ну подскажи тогда нормальный за приемлемую цену, чтобы не в России и чтобы там было гигабайт 20 с возможностью расширения. И ещё домен надо бы не потерять. Ну и вообще по финансовым делам — к Ханако. >Я вот не помню, посты в кусабе хранятся сразу апосля парсера или они оригинальные(или хотя бы второе поле под оригинал)? У нас есть поле и с распарсенным постом (для быстрой регенерации), и с исходным (для редактирования). >Отключать генерацию в кусабе не рикамендую. При небольшой нагрузке она с легкостью может встать раком. Ну ок, ладно, тогда не будем.
>>47726 >Генерировать html уже думаю не сильно много смысла, разве что можно запилить отдельный фронтенд для совсем уж слабых устройств без ридеров. >Остальное рендерить на клиенте. Поддерживаю. Режим экстренной совместимости нужен. Но только экстренной. Чтобы на случай сурового клиента сервер смог ответить, но у всех цивильных людей уже обработка шла компактными и эффективными способами. >— error.php анализирует ошибку, и если это 404 при обращении по адресу /%boardname%res/%threadnum%.html#%postnum%, /%boardname%/%pagenum%.html, /%boardname%, /%boardname%/catalog.html и т.п. — он генерит соответствующую страницу. Чёрт подери, а это именно то, что нужно. Несмотря на свою видимую лютую костыльность, это будет наиболее удобным способом восприятия ссылок пользователю, и дашчан с ними работать уже умеет. >Вообще, я тут сейчас подумал, может быть, нам правда, попробовать перейти на динамическое создание страниц? Да, тоже об этом думаю. >Дуроввернистену Рассмешил. Но я имел ввиду, что нужно бы изменить движок, а интерфейс можно практически таким же и оставить, в классическом стиле. >но на 1-2 секунды замедлится получение готового треда. 1-2 секунды? Да мы с такими темпами сервер бы положили просто нахождением на нём. Я не думаю, что база данных работает столь медленно. А обработки на каждый пост мало, даже на PHP
/%boardname%res/%threadnum%.html#%postnum%
>>47701 >>А вот теперь мне очень уж любопытно взглянуть на код. >Хорошо, давай почту (или скайп/контактик/whatever you want), скину. Особо её не скрываю. aoi_miko@openmailbox.org Ну пока клиентскую часть смотрю. getnewposts_new. Пастафарианцы рады. Но работа через json с нужной частью динамики, (и, похоже, что всё основное учтено), это однозначно здорово. ... if (!differences) { } else { ... What? Ну и ещё много чего на грани понятного. Но оно и неудивительно: я же не копал так глубоко в курисабу, чтобы всё сразу понять.
... if (!differences) { } else { ...
>>47727 Самый дешевый наверно хетцнер, но там как и у других зарубежных провайдеров анальные проверки клиента(сканы документов, звонки). У digital ocean в этом плане все было лучше, не знаю как сейчас. Можно попробовать включить режим без билла страниц и посмотреть будет ли сильно лагать, но сразу говорю что схема бд и запросы хуевые, без кеша базу на хосте можете завалить.
>>47737 Да, еще мысль. Можно ловить и роутить 404 не в error handler, а в конфигн вебсервера роутить в нужное место. В таком случае можно написать standalone модуль никак не зависящий от кусабы, но использующий ее базу для вьюшки или апи. Я так понимаю настраивать сервер вы можете только в htaccess(хотя может еще есть вариант с клодой).
>>47737 Я уже предлагал им hetzner, но энивэй vps держать дороже чем нынешний кал, там где то хомура писал примерный ценник в год, ибо там домен 1к рублей + 50 евро за vps. Вот и считай.
>>47724 Ой-ой. Некоторые посты по нескольку раз могут добавиться. Довольно необычно видеть два или три поста с одинаковым номером. Ну и оповещатель тоже туттурукает. Причём такое происходит только подряд. Могу предположить, что поведение такого типа спровоцировано большими тормозами в интернете, и клиент отправил несколько запросов одного состояния. И, соответственно, получил несколько задач на добавление одного и того же поста. Так или иначе, нужно бы проверять данные на хотя бы их уже наличие перед приёмом. Это моё предположение о решении. Возможно, проблема вообще окажется в чём-то совершенно другом.
https://youtu.be/2yid1ZgBxJM
https://youtu.be/gPARU4oqlE0 >>47820 Чистить кэш не предлагать. Специально установил ещё один голый браузер для теста — та же история.
>>47707 >Если и пилить новый движок, то делать попытку поддержки при этом же старого движка вижу сложнореализуемым, да и не нужным. Да, достаточно будет конвертации (на всякий случай и обратно). >Это необходимо для функционирования дашчана и других мобильных клиентов. Для них надо сделать API и скинуть его разрабам (и вообще выложить в открытый доступ). >>47724 >спойлер После рабочего дня я вообще не поняла фразы, если честно. >Эти админы нам удалёнку нормальную не могут сделать никак, и сервер с техбиблиотекой у них всё время падает. Знакомо. У меня в фирме тоже какие-то аутисты сидят админят. >Потому что это отрезает возможность возврата на старую курисабу Если можно конвертнуть в одну сторону, то почему не в другую? >По моим оценкам, тогда заметно ускорится постинг и удаление, но на 1-2 секунды замедлится получение готового треда. Так сильно тормозит база?
>>47731 >Несмотря на свою видимую лютую костыльность Но ведь, вроде бы, ссылки вида http://example.com/search?q=abc как раз и обрабатываются через 404? Или я отстал от жизни и сейчас для этого какая-то новая технология? >Да, тоже об этом думаю. Хм, так переходить или нет?.. А впрочем, ладно, лучший способ узнать — это перейти и посмотреть, лол. >Но я имел ввиду, что нужно бы изменить движок, а интерфейс можно практически таким же и оставить, в классическом стиле. Ну так это новый движок нужно будет адаптировать. >Я не думаю, что база данных работает столь медленно. А обработки на каждый пост мало, даже на PHP Как раз-таки нет: сама база работает быстро (например, SELECT * FROM posts WHERE parentid = $thread AND IS_DELETED = 0 для 500-постового треда проходит менее, чем за за 0,1 секунды); основное время тратится на генерацию html. Да, она производится на сервере. Если кто сделает эффективный рендерер для клиента — можно будет посты вообще просто через json отдавать и сервер ещё больше разгрузится. >>47735 >Особо её не скрываю Ок, сегодня ночью перешлю. >What? Там закомментированное console.log() (для дебага). Когда посмотришь полные исходники — увидишь это место. А клауда существующий js заметно сокращает за счёт пробелов, переносов строк и убирания комментариев. >>47737 >без кеша базу на хосте можете завалить. Ну я сейчас подумал, что в принципе, динамика на странице (например, всплывалки рефлинков, автоапдейты и апдейты вручную, развороты постов и тредов) реализуются тоже через базу. Думаешь, генерация страницы сильно нагрузит базу? А хотя, я знаю. Я попробую собрать статистику по запросам к базе в статике и в динамике, допустим, на протяжении одной недели так и так. Посмотрим, насколько сильно различаются показатели. >>47738 >а в конфигн вебсервера роутить в нужное место. Ну как я понимаю, на все 404 .htaccess может завернуть запрос только в одно место, правильно же? Или я опять чего-то не знаю? >Я так понимаю настраивать сервер вы можете только в htaccess(хотя может еще есть вариант с клодой). Да, имхо, логичнее это делать через .htaccess, а не через клауду. >>47811 >Некоторые посты по нескольку раз могут добавиться. >Довольно необычно видеть два или три поста с одинаковым номером. Ого. Если такое появляется — можешь кинуть мне вывод, что в консоли? И хотя бы найти более-менее критерии, при которых такое случается? >Могу предположить, что поведение такого типа спровоцировано большими тормозами в интернете, и клиент отправил несколько запросов одного состояния. Скорее просто в какой-то момент массив со списком постов отчего-то ломается, из-за чего сервер начинает считать, что у клиента постов на странице вообще нет, и выдаёт ему все ответы пачкой. Надо проверки на ошибки будет вставить. >>47820 Ок, подтверждаю, записал, буду думать, как решить. >>47823 Ох ты ж лол. Вначале не понял, что происходит, а потом обратил внимание на разницу между последним постом изначально и последним прилетевшим при обновлении. И правда, при последних 50 постах, само собой, при первом же обновлении прилетают посты с первого до последнего минус 50, поскольку их нет на странице, и ожидаемо подклеиваются снизу. Тоже поправлю. Спасибо за багрепорты. >>47824 >Да, достаточно будет конвертации (на всякий случай и обратно). Ну да, хотя бы так. Главное, чтобы при конвертации ничего не потерялось из данных. >Для них надо сделать API и скинуть его разрабам (и вообще выложить в открытый доступ). Я б с радостью, если действительно надо. Нужно только знать, что стоит реализовывать. Я хочу описание умными словами это называется пояснительная записка технического проекта, лол, например, в формате типа такого: РазвернутьВсе вызовы обращаются к скрипту /json_api.php методами GET или POST, параметр mode задаёт суть вызова, board — имя борды (кроме нулевого вызова). 0. Получить список борд: GET /json_api.php?mode=boardlist При успешном выполнении возвращает json-закодированный массив объектов длиной не менее 1. Каждый объект массива представляет собой запись из следующих полей: name — (строка) имя борды; enablecaptcha — (булеан) включена ли капча на борде. 1. Получить пост с номером N: GET /json_api.php?mode=getpost&board=B&post=N 2. Получить все ответы (но не OP-пост) треда с OP-постом с номером N: GET /json_api.php?mode=getthread&board=B&post=N 3. Получить не более M последних ответов треда с OP-постом с номером N: GET /json_api.php?mode=getthread&board=B&post=N&limit=M 4. Получить кусок длиной не более M массива OP-постов тредов доски, начиная с N: GET /json_api.php?mode=getboard&board=B&start=N&limit=M Вызовы 1-4 при успешном выполнении (возврат нулевого количества постов также считается успешным) возвращают json-закодированный массив объектов длиной: от 0 до 1 (первый вызов), любого размера (второй вызов), от 0 до M (третий вызов), от 0 до M (четвёртый вызов). Каждый объект массива представляет собой запись из следующих полей: id — (целое) номер поста; name — (строка) имя постера; tripcode — (строка) сгенерированный трипкод постера; email — (строка) пустая строка или «sage» для сажи; subject — (строка) название поста; message — (строка) форматированный текст сообщения; file — (строка) имя файла; file_type — (строка) расширение файла или «you», «vim», «cou» для видео); file_size_formatted — (строка) размер файла image_w — (целое) размер картинки по горизонтали; image_h — (целое) размер картинки по вертикали; timestamp — (целое) unix timestamp времени отправки поста по UTC+3; stickied — (булеан) в случае ОП-поста — прикреплён ли тред; иначе false; locked — (булеан) в случае ОП-поста — залочен ли тред; иначе false. 5. Написать пост: POST /json_api.php Параметры запроса POST: mode — (строка) «post»; board — (строка) имя борды; name — (строка) имя постера; subject — (строка) название поста; message — (строка) текст сообщения; imagefile — (файл) файл для прикрепления; или embed — (строка) идентификатор видео на youtube, vimeo, coub; и embedtype — (строка) «youtube», «vimeo», «coub»; или embedlink — (строка) ссылка на файл для прикрепления; captcha — (строка) капча, введённая пользователем; captchaid — (строка) переданный идентификатор капчи; em — (строка) пустая строка или «sage» для сажи; postpassword — (строка) пароль для удаления. 6. Ответить в тред: POST /json_api.php Параметры запроса POST: replythread — (целое) номер ОП-поста треда, в который производится ответ; остальное аналогично запросу 5. 7. Удалить пост: POST /json_api.php Параметры запроса POST: mode — (строка) «delete»; board — (строка) имя борды; post — (целое) номер поста; password — (строка) пароль для удаления. В случае успешного выполнения вызовы 5-7 возвращают единичный объект, в котором поле state содержит строку 'ok'. 8. Получить капчу: GET /json_api.php?mode=getcaptcha&board=B В случае успешного выполнения возвращает единичный объект из следующих полей: state — (строка) «ok»; captcha — (строка) двоичные данные для отображения в виде капчи (формат image/png); captchaid — (строка) идентификатор капчи, который должен быть передан вместе с ней при отправке поста (действителен только один раз). В случае ошибки вызовы 0-8 возвращают единичный объект, в котором поле state содержит строку сообщения об ошибке. >После рабочего дня я вообще не поняла фразы, если честно. Ну я к тому, что зачем мне так палиться по поводу чтения Курисача, пусть даже с рабочего компа? >Если можно конвертнуть в одну сторону, то почему не в другую? Ну можно и в другую, главное, при конвертации ничего не потерять. >Так сильно тормозит база? Нет, тормозит ребилд HTML на сервере. Как я уже сказал выше, база работает достаточно быстро.
SELECT * FROM posts WHERE parentid = $thread AND IS_DELETED = 0
console.log()
/json_api.php
mode
board
GET /json_api.php?mode=boardlist
GET /json_api.php?mode=getpost&board=B&post=N
GET /json_api.php?mode=getthread&board=B&post=N
GET /json_api.php?mode=getthread&board=B&post=N&limit=M
GET /json_api.php?mode=getboard&board=B&start=N&limit=M
POST /json_api.php
GET /json_api.php?mode=getcaptcha&board=B
>>47840 >Если кто сделает эффективный рендерер для клиента — можно будет посты вообще просто через json отдавать и сервер ещё больше разгрузится. Да, я это уже учитывал как необходимое. Как часть динамики. >А клауда существующий js заметно сокращает за счёт пробелов, переносов строк и убирания комментариев. Представляю себе Столлмана, которому говорят эту фразу. Немного аж смешно становится. Но грустно. >Да, имхо, логичнее это делать через .htaccess, а не через клауду. Да просто подключить обработчик 404 к php, а там уж разобраться в пару строк будет. >например, в формате типа такого Вот дурак, я даже начал смотреть, что за формат и как работает. Пока не начал тестировать, и не обнаружил, что такого файла нет. И это не API курисача вообще. Окей.
Так, ну что же, я в тестовом режиме запилил динамическое создание страниц. Теперь у всех посты должны будут отправляться, редактироваться и удаляться практически моментально, зато страницы должны будут грузиться на 1-2 секунды дольше; впрочем, у Ханако наоборот, они отчего-то стали даже быстрее грузиться, кухихи (хотя не должны). Если кто вдруг отыщет непонятную 404 или 403, то сообщайте. Заодно за ближайшие несколько дней наберу статистику запросов через хэндлер ошибки — и посмотрю, насколько это грузит базу. Btw, за ночь 224 запроса было, и это считая меня и Ханако. >>47861 Я тебе послал пак сорцов курисабы (правда, он много весит — под 50 мегов, надеюсь, дойдёт; думаю, это из-за картинок для интерфейса, что лежат там же в подкаталогах). >пик Ой, опять эта пикча, где Рейму косплеит Рику. =) >Да просто подключить обработчик 404 к php, а там уж разобраться в пару строк будет. Уже. =) >И это не API курисача вообще. Этот технический проект API я накатал за минут 15, пытаясь представить, как должен выглядеть апи борды до сих пор не знаю, похоже ли это на реальный апи абстрактной борды, лол. Быть может, нечто типа подобного будет и на Курисаче.
>>47840 Все кроме разворота треда довольно-таки легкие запросы и не слишком частые. В варианте с htaccess нужно для каждого URI реврайтить путь до нового роута. Но в принципе сейчас как костылик сойдет и роутинг в приложении. Набросок API в принципе тоже сгодится(не слишком большая разница что маппить на клиенте), но я бы взял какой-нибудь роутер для этого дела, а то слишком размашистый запрос получается. Да, и при удалении, получении и т.д лучше использовать один путь вида: GET /post/{int:id} получаем пост POST /post/{int:id} добавляем DELETE /post/{int:id} удаляем и т.д. Я опустил доску для наглядности. Получается этакий rest интерфейс, как раз под нашу crud операцию. При этом uri не меняется, только хттп метод. Да, еще подумай на моделью возвращаемого ответа, чтобы он был однородным при любом запросе к апи, в тч и ошибке type ApiResponse struct { . Status string . Content data[] . Error err }
type ApiResponse struct { . Status string . Content data[] . Error err }
>>47840 >Главное, чтобы при конвертации ничего не потерялось из данных. Вряд ли что-то важное может потерятся, а мелкие маловажные параметры можно потом сгенерить заново рандомом. >Я хочу описание Я попробую написать на выходных, как раз хочу попробовать запилить ридер под свой телефон для Курисача. Проблема, правда, в том, что я не знаю, как именно работают всякие dashchanы и другие уже сделанные мобильные приложения — есть небольшая вероятность, что им будет нехватать какой-то функции. Но ее можно будет добавить потом, впрочем. >зачем мне так палиться по поводу чтения Курисача, пусть даже с рабочего компа? Ну да, палится ни к чему, я вот тоже стараюсь не палится — телефон на работе рукой прикрываю, если кто-то рядом ходит. >Нет, тормозит ребилд HTML на сервере. Разве там много ребилдить? Подставить в шаблон значения из полей? >>47881 >в тестовом режиме запилил динамическое создание страниц Когда ты только успеваешь это делать? Не успеваешь подумать, а оно уже готово.
>>47887 >Когда ты только успеваешь это делать? Не успеваешь подумать, а оно уже готово. Присоединяюсь. Хомура, это вообще нечто. Ага.function RegenerateThreads($id = 0) { } function unused_RegenerateThreads($id = 0) { ... Да, да. Кстати, отправляет посты вообще моментально.
function RegenerateThreads($id = 0) { } function unused_RegenerateThreads($id = 0) { ...
>>47885 >Все кроме разворота треда довольно-таки легкие запросы и не слишком частые. Ну перезагрузка треда (это тот же разворот, по сути) — тоже не слишком частый запрос, как по мне. >В варианте с htaccess нужно для каждого URI реврайтить путь до нового роута. Хм... Да, и так, наверное, тоже можно. >Но в принципе сейчас как костылик сойдет и роутинг в приложении. Ну пока он не слишком сложный, а регэкспы PCRE я знаю лучше аналогов в .htaccess — мне кажется, что да, сойдёт. >Да, и при удалении, получении и т.д лучше использовать один путь вида Да, красивая идея. Надо подумать над ней. >Да, еще подумай на моделью возвращаемого ответа, чтобы он был однородным при любом запросе к апи, в тч и ошибке Ок, в этом, в принципе, есть смысл, хоть и чуть больше данных гоняется — но экономить единицы байт в килобайтных ответах бессмысленно. >>47887 >а мелкие маловажные параметры можно потом сгенерить заново рандомом. Ох, помнится, как я несколько часов подряд генерил попорченные тамбы в ту ночь, когда вместо маленьких каталожных тамбнейлов удалил нормальные внутритредовые... И понял, что перегенерация чего-то в масштабе 40к+ постов — это тяжёлый и долгий процесс. >Я попробую написать на выходных Буду ждать. >Проблема, правда, в том, что я не знаю, как именно работают всякие dashchanы и другие уже сделанные мобильные приложения Сейчас они работают, судя по запросам, просто — получают страницы борд прямым чтением html, страницу треда — через read.php. По крайней мере, микуоверчан. >Подставить в шаблон значения из полей Вот на это почему-то и тратится много времени. Вчера замерял — 500-постовый тред генерился 998 миллисекунд, почти по 2 мс на пост. >Когда ты только успеваешь это делать? Не успеваешь подумать, а оно уже готово Ну, в режиме жизни «работа-Курисач-сон» это получается как-то. =) >>47926 >Хомура, это вообще нечто. Спасибо. =) >function unused_RegenerateThreads($id = 0) Да, именно такой способ «комментирования» ненужных функций наиболее быстр — потому что не требует проматывания до её конца, чтобы поставить туда #endif (к #if 0 перед ней) или */ (плюс, такой метод ещё и не всегда работает, если в функции есть вложенные комменты). Минус только один — это неинтуитивно, и как следствие, неприменимо в проектах, где много участников и между ними нет договорённостей. Ну и если это компилируемый язык без финальной чистки результата от функций с нулём ссылок — то приводит к распуханию бинарника (мы так как-то из нашего загрузчика вычистили случайно забытый кем-то шрифт VGA (4 страницы по 256 символов), в итоге освободили целых 16 килобайт и вместо 224 кб почти приблизились к планке в 200), но это не о PHP. Т.е., само собой, такое забывать в релизе не стоит.
function unused_RegenerateThreads($id = 0)
#endif
#if 0
*/
>>48047 Тут даже дело не в экономии, а скорее в том чтобы предоставить очевидный интерфейс для обработки разных ситуаций, в т.ч и ошибок. Ещё хорошей практикой является возврат соответствующих(ошибке) статус кодов. >Да, именно такой способ «комментирования» ненужных функций наиболее быстр — потому что не требует проматывания до её конца Если ты пишешь в IDE такого вопроса не стоит. Да и можешь пометить её комментарием, типа unused. >Сейчас они работают, судя по запросам, просто — получают страницы борд прямым чтением html, страницу треда — через read.php. По крайней мере, микуоверчан. Это на тех где нет толкового апи. Вакабу, кусабу и прочее старье разбирают парсерами и так же маппят к модели. В движках где есть апи все гораздо проще и быстрее. Можно глянуть исходники микучана чтобы стало яснее, посмотреть как реализованы интерфейсы и т.д Но я не вижу смысла в еще одном ридере под андроид, лучше бы под вп кто написал. >Вчера замерял — 500-постовый тред генерился 998 миллисекунд, почти по 2 мс на пост. Есть смысл сменить template engine в таком случае, но это как минимум переписывание шаблонов.
>>48068 >очевидный интерфейс для обработки разных ситуаций, в т.ч и ошибок. >возврат соответствующих(ошибке) статус кодов. Да не вопрос, можно сделать. >Если ты пишешь в IDE Лол, у меня notepad++ в качестве IDE. =) >Это на тех где нет толкового апи. Ну так и у нас ведь его пока нет, поэтому, они работают (с нами) именно так. >Можно глянуть исходники микучана Это ведь где-то тут? Что-то я понял, что разбираться в ещё одном паке исходников мне как-то особо негде время искать... >лучше бы под вп кто написал. А вот интересно, у мобильного софта возможна нормальная кроссплатформенность? Может, проще написать для всего и собирать под нужную систему? >Есть смысл сменить template engine в таком случае Мне кажется, ради одной секунды выигрыша игра точно не стоит свеч.
>>48106 Не ну в ++ можно без боли что-то писать, но в больших проектах для прикладухи я бы предпочел что посерьезнее. >Это ведь где-то тут? Да, апи будет достаточно чтобы примерно понять как оно работает. Модули реализуют интерфейсы, маппят данные к моделям и оправляют в своего рода «view». >вот интересно, у мобильного софта возможна нормальная кроссплатформенность? Может, проще написать для всего и собирать под нужную систему? Есть всякие xamarin, cordova, но лучше нативного они не будут, да и граблей там много не говоря о местами хреновой производительности. Как будет время может быть займусь подобием оверчана для WP. >Мне кажется, ради одной секунды выигрыша игра точно не стоит свеч. Быстрее отдаешь страницу, быстрее освобождаешь ресурсы. Хотя есть вещи важнее.
Я тут встретил вчера странный баг, который ты именно и описывал. Сервер как-то решил, что у меня нет постов, которые я ищу. И выдал мне вместо обновления все посты треда. Вот дамп хороконсоли: "Some new posts were added after last post." kusaba.new.js:239:125 "ERROR: Post 47994, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47997, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47999, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48000, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47998, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48002 added." kusaba.new.js:233:144 "Reply map for post 48003 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 47994 altered." kusaba.new.js:224:49 "Reply map for post 48002 altered." kusaba.new.js:224:49 "Reply map for post 48005 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "ERROR: Post 47994, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47997, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47999, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48000, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47998, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48002, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48003, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48005, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48006 added." kusaba.new.js:233:144 "Reply map for post 48007 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48008 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48006 altered." kusaba.new.js:224:49 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48012 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 POST XHR https://kurisa.ch/json_update.php [HTTP/2.0 200 OK 555ms] Было только один раз, просто так не воспроизводилось более. Рейму
"Some new posts were added after last post." kusaba.new.js:239:125 "ERROR: Post 47994, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47997, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47999, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48000, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47998, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48002 added." kusaba.new.js:233:144 "Reply map for post 48003 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 47994 altered." kusaba.new.js:224:49 "Reply map for post 48002 altered." kusaba.new.js:224:49 "Reply map for post 48005 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "ERROR: Post 47994, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47997, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47999, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48000, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 47998, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48002, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48003, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "ERROR: Post 48005, for which reply map is about to add, does already contain a reply map." kusaba.new.js:231:1 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48006 added." kusaba.new.js:233:144 "Reply map for post 48007 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48008 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48006 altered." kusaba.new.js:224:49 "Some new posts were added after last post." kusaba.new.js:239:125 "Reply map for post 48012 added." kusaba.new.js:233:144 "Some new posts were added after last post." kusaba.new.js:239:125 POST XHR https://kurisa.ch/json_update.php [HTTP/2.0 200 OK 555ms]
>>48126 >но в больших проектах для прикладухи я бы предпочел что посерьезнее. Ну пока для курисабы мне его хватает. >Быстрее отдаешь страницу, быстрее освобождаешь ресурсы. Ну у нас всего 26,769 запросов за 166008 секунд (и то, большая часть — это автообновление тредов, в котором страница ребилдится редко и не целиком, а только новые посты), это более 6,2 секунды между запросами в среднем. Думаю, пока такой вопрос не стоит. Вот будет раз в 6 больше запросов — надо будет решать проблему. >>48170 Да, я вчера ночью отловил его и пофиксил. Дело оказалось в том, что read.php подтягивает пост вместе с заголовком, который обнуляет имеющийся массив постов. В итоге обновление считает, что постов в треде нет и загружает все ответы с самого начала. Оно должно было воспроизводиться при открытии просмотра поста из другого треда.
Может, стоит уже убрать введённый текст вверху при поиске? Если очень хочется поюморить — можно этот текст в хинт или что-то подобное добавить, у инпутов есть свойство для этого, лишь бы стирать не приходилось.
>>48047 >получают страницы борд прямым чтением html, страницу треда — через read.php Так не интересно, потом парсить все это еще... Неудобно и неэффективно. >500-постовый тред генерился 998 миллисекунд, почти по 2 мс на пост Странно — разве шаблоны такие сложные? А когда создается разметка? >Ну, в режиме жизни «работа-Курисач-сон» это получается как-то Все равно — я тут ловлю тонны баттхертов от QML, на создание одной странички убиваю кучу времени — а ты буквально за вечер делаешь огромный объем работ. >Буду ждать. И так, поехали. В первую очередь стоит определить формат объекта «пост», который в дальнейшем будет использоваться фактически везде. В JSON это будет {id:integer, subject:string, name:string, email:string, datetime:integer(UnixtimeGST), filepreview:string(URL превьюшки, none если нет), file:string(URL файла), filedata:string(размер файла и разрешение картинки), text:string, reflinks:list_of_integers(или string, я хз как оно в базе хранится)} Возможно, я какие-то поля забыла, но вроде нет. Продолжение следует.
>>48259 Продолжение: В моем представлении API выглядит так — отправляется JSON-запрос на некий адрес, например kurisa.ch/json.php. Запрос имеет общий формат вида {action:string, params:{}}, где action это собственно название функции, результат которой мы хотим получить, а params — это параметры. Для примера: {action:"get_boards", params:{}} — функция, запрашивающая список досок. Она долна получить ответ в виде списка объектов вида {id:string(идентификатор, т. е. "sg" и "vg"), name:string(имя доски полное, как на глагне)}. Опционально можно добавить еще что-то. {action:"get_thread", params:{board:"sg", thread_id:32736}} — функция получения треда, должна получить в ответ массив объектов типа «пост», про которые я упоминала ранее. Оп-пост, конечно, первый. {action:"get_thread_ids", params:{board:"sg", thread_id:32736}} — функция получения номеров постов из треда. Нужна будет для автообновления, чтобы сравнить посты с имеющимися. Ответ — массив из integer с номерами постов, вместе с ОП-постом. {action:"get_posts_by_id", params:{board:"sg", ids:[32736, 32738, 32745]}} — получение постов по id. Ответ — {32736:POST, 32738:POST, 32745:POST}, где POST это объект формата «пост», упоминаемый мной ранее. Нужно для автообновления, чтобы загружать только нужные посты.
{action:string, params:{}}
{action:"get_boards", params:{}}
{id:string(идентификатор, т. е. "sg" и "vg"), name:string(имя доски полное, как на глагне)}
{action:"get_thread", params:{board:"sg", thread_id:32736}}
{action:"get_thread_ids", params:{board:"sg", thread_id:32736}}
{action:"get_posts_by_id", params:{board:"sg", ids:[32736, 32738, 32745]}}
>>48263 Продолжение 2: {action:"get_page", params:{board:"sg", page:0}} — получаем страницу на доске. Ответ: [[POST, POST, POST, POST], [POST, POST, POST, POST]] — массив из массивов. Каждый массив соответствует оп-посту с тремя постами-превью. Не до конца уверена, что именно такой API будет наилучший, но этот вариант вроде простой и позволяет вынести API в отдельный php файл.
{action:"get_page", params:{board:"sg", page:0}}
[[POST, POST, POST, POST], [POST, POST, POST, POST]]
>>48259 >Так не интересно, потом парсить все это еще... Неудобно и неэффективно. Но с учётом того, что API не у каждой борды есть — наиболее универсально. Но само собой, если будет API, то конечно же, лучше работать через него. >Странно — разве шаблоны такие сложные? Ну вообще они не то, чтобы очень простые — всяких if-ов и foreach-ей в них достаточно. >А когда создается разметка? Если ты о разметке поста (теги, цитаты, спойлеры, вот это всё) — то при отправке (то есть не при получении страницы). >{id:integer, subject:string, name:string, email:string, datetime:integer(UnixtimeGST), filepreview:string(URL превьюшки, none если нет), file:string(URL файла), filedata:string(размер файла и разрешение картинки), text:string, reflinks:list_of_integers(или string, я хз как оно в базе хранится)} 1. Каков формат filedata? Приведи пример. 2. Куда запиливать трипкод? Прямо в имя? 3. Для ОП-постов флаги stickied, locked не нужны? 4. Что делать, если в качестве файла прикреплено видео? 5. filepreview, file: URL указывать относительно чего? Глобальный (https://kurisa.ch/sg/src/123456789.png), от корня (/sg/src/123456789.png), от стандартного местоположения, т.е. только имя файла (123456789.png)? (В последнем случае и видео будет передавать легче — например, имя файла будет вида 1A3C5E7G.you, где тип — это ресурс — ютуб, вимео, куб, а имя — id видео). >>48263 >{id:string(идентификатор, т. е. "sg" и "vg"), name:string(имя доски полное, как на глагне)} Включена ли капча — флаг не нужен? >>48270 >Каждый массив соответствует оп-посту с тремя постами-превью. В прикреплённых тредах у нас один пост-превью, более того — эти значения (как и количество постов на странице) обычно настраиваются. Может, стоит в параметрах запроса передать, сколько постов-превьюшек и сколько тредов на странице надо? И ещё: что насчёт отправки и удаления?
filedata
>>32736 Слушай, Хомура. У меня такой вот вопрос по поводу -> >>48170 >pic Вот там прикреплено изображение 1556x11867, 24bpp. А это 1556*11867*3.0 / 1024 / 1024, 52.8 МБ. Вот и возникает вопрос: кто больше? Что произойдёт, если я начну грузить картинки равномерного цвета, которым для открытия потребуется 32GB+? Для создания превьюшки же нужно файл открыть. А заливка одним цветом поместится в 100кб на png как максимум. Что случится с сервером?
1556*11867*3.0 / 1024 / 1024
>>48276 >Но с учётом того, что API не у каждой борды есть — наиболее универсально. Но ведь для каждого движка нужен свой парсер — универсальности не сильно добавляет. >Каков формат filedata? «116.34KB, 843x1100», как у картинки. Впрочем, вопрос про видео натолкнул на другую мысль — filedata:{type:«pic», data:«116.34KB, 843x1100»}, если будет видео, тот type, соответственно, будет «video». >Куда запиливать трипкод? Прямо в имя? Он в базе отдельно? Ну пусть будет отдельно. Добавим trip:«!tripfag» в POST. >Для ОП-постов флаги stickied, locked не нужны? Надо добавить. opflags:[«stickied», «locked»]. Для обычного оп-треда пустой массив. Для не-оп тредов соответственно opflags вообще нет. >4. В filedata передать тип. >5. В filedata в тип можно добавлять не только pic и video, но и youtube, vimeo и т. д. соответственно. Глобальный путь точно не нужен, лучше передавать только имя. 1A3C5E7G с типом youtube будет означать id видео. >Включена ли капча — флаг не нужен? Если она отключается на доске, а не на всей борде — то нужен. По крайней мере, лишним не будет. >В прикреплённых тредах у нас один пост-превью Не принципиально — там же список. Хоть только оп-пост для пустого треда. >эти значения (как и количество постов на странице) обычно настраиваются. Если клиент может выбирать, сколько превью ему получать, то надо добавить threadnum и previewnum, количество желаемых клиентом тредов на странице и превью в треде. Тогда вернется либо столько превью, либо меньше, если в треде меньше постов. {action:"get_page", params:{board:"sg", page:0, threadnum:15, previewnum:3}} >И ещё: что насчёт отправки и удаления? Пока затрудняюсь сказать. В принципе отправка уже реализована через javascript, тут надо реализовать так, чтобы не плодить лишнего кода. >>48281 >Что случится с сервером? Наверное, можно проверить.
{action:"get_page", params:{board:"sg", page:0, threadnum:15, previewnum:3}}
>>48281 Рейму, ну у тебя же есть исходники, ты же можешь посмотреть. Сейчас я открыть их не могу (только ближе к ночи), но вангую, там стоит проверка на возврат false, и если да — выдаётся сообщение «невозможно создать уменьшенное изображение».
Гоменнасай, не прокрутил до последнего сообщения. >>48288 >Но ведь для каждого движка нужен свой парсер Ну так и движков (популярных) гораздо меньше, чем борд. >116.34KB, 843x1100 Ок. >filedata:{type:«pic», data:«116.34KB, 843x1100»}, если будет видео, тот type, соответственно, будет «video» Хорошо. Хотя, может тогда вместо URL картинки и тамбнейла туда же filename запилить, например: {type:"pic", data:"116.34KB, 843x1100", file:"123456789.png", thumb:"123456789s.png"} — картинка {type:"webm", file:"123456789.webm"} — вебм (у него нет размера и превьюшки) {type:"video", id:"123456789", source:"vim"} — видео (в данном случае с вимео) А куски путей навроде «/sg/src/» или «/vg/thumb/» можно и на клиенте дописать, не возражаешь? >Он в базе отдельно? Ну пусть будет отдельно. Да, он при постинге отрезается от графы «имя», преобразуется и кладётся в отдельное поле в базе. Конечно, можно отдавать его уже прилепленным к имени, но это не даст возможность форматировать разным образом, не разбивая строки, имя и трипкод. >Надо добавить. opflags:[«stickied», «locked»]. Для обычного оп-треда пустой массив. Для не-оп тредов соответственно opflags вообще нет. Хорошо. >Если она отключается на доске, а не на всей борде — то нужен. По крайней мере, лишним не будет. Да, отключается на доске, а не на всём Курисаче. Хорошо, сделаю. >то надо добавить threadnum и previewnum, количество желаемых клиентом тредов на странице и превью в треде. Да, хорошо. Кстати, не интересно ли будет количество ответов в треде? >В принципе отправка уже реализована через javascript, тут надо реализовать так, чтобы не плодить лишнего кода. Да, если существующий вариант устраивает — то хорошо. Там всё делается через POST-запрос к board.php.
{type:"pic", data:"116.34KB, 843x1100", file:"123456789.png", thumb:"123456789s.png"}
{type:"webm", file:"123456789.webm"}
{type:"video", id:"123456789", source:"vim"}
>>48263 >В моем представлении API выглядит так — отправляется JSON-запрос на некий адрес, например kurisa.ch/json.php То что ты предлагаешь давно стандартизировано — JSON RPC. Это ни разу не API, а удаленный вызов процедур. >>48281 gd работает в памяти и поэтому при превышении лимита(указывается в настройках) выдаст ошибку, imagemagick может работать и с диском. >>48291 >Хорошо. Хотя, может тогда вместо URL картинки и тамбнейла туда же filename запилить, например: Весьма денормализованная модель. Не лучше отдавать все отдельно? Аля size/width/height/ext и т.д как отдельные поля, ведь например тому кто будет работать с этими данными может понадобиться размер изображения, а придется разбирать поле data. Надеюсь суть ясна.
>>48291 >Хотя, может тогда вместо URL картинки и тамбнейла туда же filename запилить Да, так будет лучше. >Кстати, не интересно ли будет количество ответов в треде? Тут надо подумать над форматом ответа, в таком случае. [{op_post:POST, answers:234, pic_answers:48, posts:[POST, POST, POST]}, {op_post:POST, answers:458, pic_answers:124, posts:[POST, POST, POST]}] Для простоты под answers можно просто слать количество постов в треде, а pic_answers — количество постов с картинками. >>48294 А я ведь догадывалась, что дело пахнет велосипедами. >JSON RPC Еще лучше. action переправляем на method, добавляем «jsonrpc»: «2.0» и «id»: «1». Будет выглядеть как {"jsonrpc":"2.0", "method":"get_page", "params":{board:"sg", page:0, threadnum:15, previewnum:3}, "id":"1"} >Аля size/width/height/ext и т.д как отдельные поля Если они на сервере хранятся как отдельные поля, то лучше отдавать отдельно, внутри полей filedata сделать width:843, height:1100. В каком виде размер хранится в базе? Но если они хранятся одной строкой, то лучше пусть клиент разбирает, чтобы сервер лишний раз не тормозить.
[{op_post:POST, answers:234, pic_answers:48, posts:[POST, POST, POST]}, {op_post:POST, answers:458, pic_answers:124, posts:[POST, POST, POST]}]
{"jsonrpc":"2.0", "method":"get_page", "params":{board:"sg", page:0, threadnum:15, previewnum:3}, "id":"1"}
>>48299 На стороне сервера все равно нужно будет использовать одну из имплементаций, либо пилить свою(если умеешь работать с похапешным reflection). Т.е по сути ты будешь регистрировать методы нужного класса(или всего неймспейса сразу). Кстати мне интересно почему вы так называете своим методы, разве для пхп стандарт не lowerCamelCase для методов? >Если они на сервере хранятся как отдельные поля Да, там отдельно. >пусть клиент разбирает, чтобы сервер лишний раз не тормозить. На сервере можно кешировать ответ(по сути билд страницы это своего рода кеширование), а вот на клиенте делать лишнюю работу не ок. Впрочем мобильные устройства сейчас мощные, спокойно парсят и рендерят контент.
http://php.net/manual/ru/book.image.php >imagegd2 — Вывод GD2 изображения в броузер или файл.
>>48290 >Рейму, ну у тебя же есть исходники, ты же можешь посмотреть. Ну да, и вправду. Просто думал, что ты уже знаешь. Итак, в дебри.Кстати, мимопросмотрев «preview.php»: if (isset($_POST['email']) && !empty($_POST['email'])) { kurisaba_exit('Spam bot detected'); }Интересно, зачем это было?Внутри «inc/func/posts.php»: if (KU_THUMBMETHOD == 'imagemagick') { .. Ого! Так можно было в настройках выбрать, задействовать gd или imagemagick.Но по вот этому вот коду:$imageinfo = getimagesize($name); if ($imageinfo[2] == IMAGETYPE_JPEG) { $src_img=imagecreatefromjpeg($name); } else if ($imageinfo[2] == IMAGETYPE_PNG) { $src_img=imagecreatefrompng($name); } else if ($imageinfo[2] == IMAGETYPE_GIF) { $src_img=imagecreatefromgif($name); } else { echo 'illegal format ('.image_type_to_extension($imageinfo[2]).')'; return 2; } if (!$src_img) { echo 'srcimg not created.'; return 1; } Могу сказать, что сервер БУДЕТ пытаться загрузить изображение, даже если его размер превышает всякие рамки здравого смысла. Там просто нет проверки на размер изображения. В случае подмены настоящего размера изображения, думаю, dg бы выдала ошибку. Но суть в том, что GD подразумевает, что так и нужно. Ей же дали комманду открыть данный файл. Даже просмотрели о нём информацию. Тут самое простое решение — проверять максимальную длину/ширину полотна. Уместнее всего прям в этой же функции, мне кажется. Т.к. она же и отвечает за создание превьюшек. Например, поставить такой код:$imageinfo = getimagesize($name); if (!isset($KU_IMGMAXDIMENSIONS)) $KU_IMGMAXDIMENSIONS = 20000; if ($imageinfo[0] > $KU_IMGMAXDIMENSIONS) || ($imageinfo[1] > $KU_IMGMAXDIMENSIONS) { echo 'dimenstions too large ('.$imageinfo[0].'x'.$imageinfo[1].')'; return 1; } (Если забежать наперёд, то из кода становится ясно, что return 1 — это тип «ошибка открытия исходного файла») Также вопрос по поводу блока:if ($imageinfo[2] == IMAGETYPE_PNG) { if (!imagepng($dst_img,$filename,0,PNG_ALL_FILTERS) ) { echo 'unable to imagepng.'; return 2; } } else if ($imageinfo[2] == IMAGETYPE_JPEG) { if (!imagejpeg($dst_img, $filename, 70)) { echo 'unable to imagejpg.'; return 2; } } else if ($imageinfo[2] == IMAGETYPE_GIF) { if (!imagegif($dst_img, $filename)) { echo 'unable to imagegif.'; return 2; } } Почему видя png, курисаба делает предпросмотр в png, хоть это и куда больше обычных предпросмотров, а видя gif — делает gif, хоть это и выглядит откровенно убого? Предлагаю заменить его на более простой:if (!imagejpeg($dst_img, $filename, 70)) { echo 'unable to imagejpg.'; return 2; } Только не забыть, что чуть ниже вызывается fastImageCopyResampled, которая принимает тип изображения как аргумент. Она для gif/png ставит 256 цветов. Так что её нужно уже вызывать не так:fastImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y, $imageinfo[2]);а уже как fastImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y, IMAGETYPE_JPEG); И ещё, конечно, не забыть, что это уже не png/gif/jpg, а именно jpg. И имя файла «.png»/«.gif» ему не к лицу. Имя файла назначения определяется вне этой функции (что характерно, ведь это и правильно).Вызывается наша функция createThumbnail в 'inc/classes/upload.class.php'. И только там. И определяется в ней путь файла назначения для превьюшек в этих двух присвоениях: $this->file_thumb_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 's' . $this->file_type; $this->file_thumb_cat_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 'c' . $this->file_type; Я долго пытался понять, что за «CAT» имелся ввиду. Пока друг не понял, что это «CATALOG». А потом вдруг обнаружил, что превьюшки для каталога генерируются с КАЖДОГО поста. Не только ОП-постов. Каждого. Ну, так или иначе, меняем эти строки на тип файла '.jpg', и уже браузеры нас с таким адресом поймут:$this->file_thumb_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 's' . '.jpg'; $this->file_thumb_cat_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 'c' . '.jpg'; Был ещё вопрос, что делать с loadbalancer'ом, но, присмотревшись, понял, что он безнадёжно сломан. И, при надобности, чинить его и так уже нужно весь. Если я ничего не упустил, должно работать с png/gif качественней. Но, объективно говоря, я не буду тебя бранить, если ты это не закоммитишь в продакшн. Всё же, это минорный вопрос. И сейчас работает так, как оно и было ранее. Но вот размеры изображений — это близко к фатальному. Да и фикс на них куда проще.
if (isset($_POST['email']) && !empty($_POST['email'])) { kurisaba_exit('Spam bot detected'); }
if (KU_THUMBMETHOD == 'imagemagick') { ..
$imageinfo = getimagesize($name); if ($imageinfo[2] == IMAGETYPE_JPEG) { $src_img=imagecreatefromjpeg($name); } else if ($imageinfo[2] == IMAGETYPE_PNG) { $src_img=imagecreatefrompng($name); } else if ($imageinfo[2] == IMAGETYPE_GIF) { $src_img=imagecreatefromgif($name); } else { echo 'illegal format ('.image_type_to_extension($imageinfo[2]).')'; return 2; } if (!$src_img) { echo 'srcimg not created.'; return 1; }
$imageinfo = getimagesize($name); if (!isset($KU_IMGMAXDIMENSIONS)) $KU_IMGMAXDIMENSIONS = 20000; if ($imageinfo[0] > $KU_IMGMAXDIMENSIONS) || ($imageinfo[1] > $KU_IMGMAXDIMENSIONS) { echo 'dimenstions too large ('.$imageinfo[0].'x'.$imageinfo[1].')'; return 1; }
if ($imageinfo[2] == IMAGETYPE_PNG) { if (!imagepng($dst_img,$filename,0,PNG_ALL_FILTERS) ) { echo 'unable to imagepng.'; return 2; } } else if ($imageinfo[2] == IMAGETYPE_JPEG) { if (!imagejpeg($dst_img, $filename, 70)) { echo 'unable to imagejpg.'; return 2; } } else if ($imageinfo[2] == IMAGETYPE_GIF) { if (!imagegif($dst_img, $filename)) { echo 'unable to imagegif.'; return 2; } }
if (!imagejpeg($dst_img, $filename, 70)) { echo 'unable to imagejpg.'; return 2; }
fastImageCopyResampled
fastImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y, $imageinfo[2]);
fastImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y, IMAGETYPE_JPEG);
createThumbnail
$this->file_thumb_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 's' . $this->file_type; $this->file_thumb_cat_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 'c' . $this->file_type;
$this->file_thumb_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 's' . '.jpg'; $this->file_thumb_cat_location = KU_BOARDSDIR . $board_class->board['name'] . '/' . $thumbdir . '/' . $this->file_name . 'c' . '.jpg';
>>48308 >Интересно, зачем это было? Это своего рода ловушка для простых спамботов. Делается поле email и еще каким популярным именем и скрывается от пользователей css/hidden. Бот не зная этого заполнит это поле и не сможет отправить пост.
И так, предварительное обсуждение API состоялось. Буду пилить себе клиент. >>48304 >либо пилить свою(если умеешь работать с похапешным reflection) С серверной стороной будет работать Хомура, я буду пилить клиентскую. >разве для пхп стандарт не lowerCamelCase для методов? Я не умею в пхп, я на питоне пишу. >Да, там отдельно. Учту. >На сервере можно кешировать ответ
>>48321 >Это своего рода ловушка для простых спамботов. Делается поле email и еще каким популярным именем и скрывается от пользователей css/hidden. Бот не зная этого заполнит это поле и не сможет отправить пост. Да, очень похоже, что так и есть. Если взглянуть в поле ответов — поле «email» наиболее подробно расписано, его тип не «hidden», как у других скрытых, а «text». А вот style="display: none;". Заинтересовало также поле «MAX_FILE_SIZE». Но, насколько я вижу, курисаба вообще не знает об этом поле. Возможно, оно там установлено для куклы или ещё кого.
style="display: none;"
>>48325 Ты погоди клиент то пилить. У ребят еще ничего не готово. Хотя можешь пока с локальными данными работать, но что за клиент ты хочешь писать и на чем? >>48326 Я такие трапы как-то тоже делал, особенно если капчи нет, то за неделю кто-нибудь да заведется. Это поле вообще ненужно т.к по сути это клиент-сайд валидация. На сервере все равно нужно проверять размер. Вообще у него интересная история, я с ним познакомился еще во времена 4го пуха и тоже обзмеился с идеи.
>>48327 >Ты погоди клиент то пилить. У ребят еще ничего не готово. Учитывая мою скорость разработки, они успеют еще 10 API сделать и новый движок, пока я хоть что-то смогу запилить. >но что за клиент ты хочешь писать и на чем? Под свой телефон на QML и Python.
>>48291> Ну так и движков (популярных) гораздо меньше, чем борд.Каждый зой считает своим долгом добавить в свою борду какую-то уникальную плюшку. И вся универсальность накрывается, всё равно будут отличия.>>48263Все запросы — POST в виде JSON? Хорошо ли это? Не проще ли обойтись гетом с передачей параметров через URL?
Не то, чтобы это меня сильно беспокоило, но у меня трекер дашачана показывает -28 постов в этом >>42186 треде. С остальными тредами такой проблемы нет. Даже не представляю, почему так может быть, этот тред ничем не отличается от остальных.
>>48333 >Все запросы — POST в виде JSON? Хорошо ли это? Да, Json применять как затычку в каждую дырку — действительно выглядит глуповато. Но с другой стороны, почему бы и нет? >Не проще ли обойтись гетом с передачей параметров через URL? GET < POST. Это уже тысячу раз повсюду обсуждалось. GET жёстко ограничен размером буффера на сервере. Поразмыслив о тонкостях реализации вебсервера легко понять, почему сделать его динамически расширяемым было бы сложнее и затратнее, чем POST. Ты даже сообщение поста едва ли передашь, это тебе не чат с лимитом в 128 символов. А использовать Json вместо стандартного «?». Да почему бы и нет.>>48334 >у меня трекер дашачана показывает -28 постов в этом >>42186 треде Мистика какая-то. Даже не знаю, почему он так себя повёл.
>>48335> Но с другой стороны, почему бы и нет?Единственная причина так делать — быть не такими как все, вот и всё.> GET < POST. Это уже тысячу раз повсюду обсуждалось.> GET жёстко ограничен размером буффера на сервере.> Поразмыслив о тонкостях реализации вебсервера легко понять, почему сделать его динамически расширяемым было бы сложнее и затратнее, чем POST.Полагаю, апи никогда не разрастётся до такого, что запрос не влезет в адресную строку, даже близко такого не будет.И вообще: GET значит получить. Я хочу получить список тредов, получить список постов, получить какой-то пост.> Ты даже сообщение поста едва ли передашь, это тебе не чат с лимитом в 128 символов.А отправка сообщения это уже не получить, а отправить. Ну ты понимаешь.
>>48336 То что предлагает кукла это не API, а RPC как я написал выше. Для него необходим POST. Вообще касаемо самого rpc вместо rest api, если вы собираетесь с его помощью еще и добавлять пост вместе с файлом, то придется предварительно энкодить файл хотя бы в base64. А это уже 33% к весу файла. Для небольших файлов это несущественно, а вот поболее уже оверхед чувствуется. Хотя как вариант он таки неплох и широко распространен. Другой вариант это bson(его я выбрал для своего сервиса). Если rpc только на рид, то ради бога, но клиенту придется работать с двумя ресурсами что не слишком красиво. Да, касаемо дашчана. У него есть исходники? Исходники его модулей? Почему бы не использовать микучан(если конечно модуль в актульном состоянии)?
Перекатывайтесь >>48357
>>48353> То что предлагает кукла это не API, а RPC как я написал выше. Для него необходим POST.Наверное, я до этого про RPC не слышал никогда. Апи мне кажется более красивым решением.> то придется предварительно энкодить файл хотя бы в base64. А это уже 33% к весу файла.А это плохо. Тем более не стоит тогда.> Да, касаемо дашчана. У него есть исходники? Исходники его модулей?Хорошо, что напомнил. Исходники модулей вроде как есть, можно глянуть, что там не так.> Почему бы не использовать микучан(если конечно модуль в актульном состоянии)?Пользовался им, пока не узнал про дашачан. Мне он просто больше понравился.>>48357Забавно, я в новый тред с дашачана отписаться не могу. Пишет, что капча не нужна, хотя ещё как нужна. Чудеса какие-то. С тем проблемным тредом выше такая же проблема. Как освобожусь, постараюсь разобраться, в чём дело.
порнушка