Ычан: [d | b / bro / hr / l / m / mu / o / s / tran / tu / tv / vg / x | a / aa / c / fi / jp / rm / tan / to / vn]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Первые 100 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 12507)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5120 кБ.
  • Ныне 3654 unique user posts. Посмотреть каталог
  • Предельное количество бампов нити: 500
3Jre3k2Xiic.jpg - (37.19KB, 604×471)
12507
No. 12507  
Посоны, зацените борду на крестах.
https://github.com/ololoepepe/ololord
https://ololoepepe.me/board
Пик слегка рилэйтед.
No. 12509  
>>12507
У тебя HTTPS поломался.
No. 12510  
УМВР. С некоторых брошзеров может на сертификат ругаться, потому что он бесплатный, получен по этой инструкции: http://habrahabr.ru/post/127643/
Но вообще все работает, проверил с телефона.
No. 12511  
>>12510
Сдается мне, ты что-то напутал при создании сертификата.
> ololoepepe.me uses an invalid security certificate.
> The certificate is not trusted because no issuer chain was provided.
> (Error code: sec_error_unknown_issuer)
А хром вообще жестко запрещает посещать этот сайт.
Он не является доверенным вообще. Выглядит как самоподписанный.
Тогда какой смысл в этом StartSSL?
No. 12513  
Главная страничка здоровская,
а борда
> 502 Bad Gateway
No. 12514  
>>12511
Что я мог напутать, если его таки выдали? Насколько я понял, этот сертификат просто не сразу в официальных списках (или как там оно работает) появляется. Подскажи лучше, где не сильно дорого можно нормальный приобрести.
>>12513
Это я ее шатаю. Оптимизирую обертку над транзакциями ODB, избавляюсь от лишних мьютексов.
No. 12516  
>>12511
Я таки нагуглил, в чем проблема. Оказывается, надо не только свой сертификат подсовывать nginx'у, а еще и корневой и какой-то еще (sub.class1.server.ca.pem и ca.pem). Сделал, и стало с мобилы без предупреждений заходить. Могли бы это в инструкции написать, а то ведь нигде ни слова. Удивительно, что огнелис не ругался.
No. 12517  
>>12516
Заработало.
Разделы ок. На /mlp/ та еще движуха.
No. 12518  
>>12517
Спасибо на добром слове.
У меня вот на данный момент две проблемы, которые я не знаю как решить.
Первая - на всех браузерах, кроме огнелиса, форма постинга съезжает влево (а должна быть по центру). Та же фигня с видео в /mlp/ и картинкой в /cg/. Стили вот: https://github.com/ololoepepe/ololord/blob/master/src/lib/static/css/create_action.css (.createAction), шаблон вот: https://github.com/ololoepepe/ololord/blob/master/src/lib/template/1_base_board.tmpl (createAction). Сам я далек от фронтенда, и от дизигна тем более, а CSS мне кажется сложнее брейнфака. Как нормально сделать?
Вторая проблема - как бы народ на доску набрать. Да, не буду лукавить, хочется, чтобы кто-то пользовался, такой я негодяй (зато честный). Не выгоды ради, а самолюбия для. Так вот. Не на сосач же, в самом деле, вбрасывать (на самом деле в /pr/ таки вбросил, но результат сами видите - два или три поста). На ычане вот тред потерли, например. Я понимаю, что много людей не собрать - тому же сосачу функционал сильно уступает. Но есть же мелкоборды с такими же, и даже меньшими возможностями. И люди там откуда-то берутся.
No. 12519  
Competition-Giveaway.jpg - (16.45KB, 323×291)
12519
>>12518
Ничто так не располагает людей к тебе, как подарок. Объяви конкурс. В течение месяца нужно поститься у тебя, и в конце марта ты даришь самому активному участнику футболку с его фотографией и домашним адресом. :D
No. 12520  
evgenij-petrosyan-6.jpg - (20.01KB, 320×240)
12520
>>12519
Жень, ну че ты.
No. 12521  
>>12520
По-моему, форма слева очень даже мило выглядит.
Но если всё же хочешь в центр.
.postFormTable {
display: inline-block;
}
No. 12522  
Снимок.png - (190.04KB, 1710×935)
12522
>>12521
Не, так вообще все влево уезжает, вместе с кнопкой "Создать тред/Ответить в тред". Ладно, оставлю как есть, может в узком окне и нормально выглядит. А с картинкой в /cg/ я погорячился, нормально оказывается отображается. Видимо, у меня уже глюки, точно помню что в прошлый раз влево уехала.
No. 12524  
Так, посоны, помню, находил однажды кодерскую капчу, или типа того. Там вроде бы давалось задание и надо было составить коротенькую программу, которая компилилась и проверялась на сервере. Гугл не помогает, не могу теперь найти, а прикрутить хочется. Помогите ссылкой, если есть у кого.
Алсо, добавил сегодня возможность скрывать посты/треды, и обесцветил кнопки удаления постов, чтобы не бросались в глаза. inb4 личный бложик ко-ко-ко.
No. 12525  
>>12524
Отбой. Плохо гуглил. Называется сие чудо codecha. Сайт: http://codecha.org/
Тащем-то прикрутил в /pr/. Алсо, на одну капчу можно оставлять 10 постов.
No. 12543  
Что дает логин? Не с альтерчана идею украли, надеюсь?
No. 12545  
>>12543
Понятия не имею, что такое альтерчан (сейчас полуркаю).
Логин без регистрации дает, во-первых, возможность писать с трипкодом (галка, появляющаяся рядом с кнопкой после залогинивания), во-вторых - возможность удалять свои сообщения без ввода пароля.
Логин с регистрацией в зависимости от уровня дает разные плюшки, как то: юзер - появляется значок "зарегистрированный пользователь" (появляется вместе с трипкодом, если он включен); модер - редактирование, удаление чужих постов, закрепление\открепление треда, закрытие\открытие, бан пользователей (только на тех досках, которые ему назначены при реге), имя синего цвета; админ - в поле имя можно вставить любой HTML, он отобразится в чистом виде (можно хоть кнопку туда встроить, лол). Ну и, само собой, модер не может удалять посты других модеров и админов, а админ модерские посты может.
Рега делается только через консоль, веб-интерфейса нет и не планируется. Сделал скорее просто так, ну и чтобы себе как-то админские возможности назначить.
Еще из интересного: трипкод генерируется как MD5 из хеша пароля + соли. Соседние байты трипкод-хеша складываются, если сумма не превышает вместимость char, а потом байты тупо преобразуются в символы (невидимые так и остаются в виде шестнадцатеричных цифр). Сложение сделано, чтобы трипкод не был слишком длинным.
No. 12548  
>>12545
Ясно, не борда.
No. 12549  
>>12548
Что не так то? Я не собираюсь никого регистрировать.
No. 12550  
>>12548

Тебя спросить забыли, щитоделатьтеперь.
No. 12551  
>>12550
Убрать Пахома из заголовка /pr/.
Забанить всё эстетически неприятное
и надеяться на лучшее.
No. 12552  
>>12551
Анальная модерастия не нужна. Выпиливаться будет только цп и прочее нарушающее законодательство, баниться - только вайперы. Все остальное разрешено, кроме может каких-то особых случаев которых не будет. Я уже по горло сыт лицемерной мочой ычана, трущей посты по желанию левой пятки, и поехавшей мочей сосача, банящей за т.н. "щитпостинг". Это нихуя не свободное общение.
No. 12553  
>>12552
Ясно, ты хочешь сделать двач. Жаль.
No. 12554  
>>12553
Вот именно, двач, а не сосач. Будто лицемерный ычан со всеми этими дегенератскими тредами из одной унылой анимешной картинки чем-то лучше.
No. 12555  
>>12554
Напомнить чем двач кончил, легивонер?
А впрочем - одной помойкой больше, одной меньше.
No. 12556  
>>12555
Давай, напомни, чтобы не быть голословным.
На самом деле, разницы между ычаном и сосачем нет, только на ычане градус лицемерия зашкаливает, вот и все. Суть одна.
No. 12557  
>>12556
Он умер, брошенный создателями как "помойка".
Напомнить чем закончил нульч?
No. 12558  
>12557
>брошенный создателями
Это не проблема борды, а проблема создателей, не?
>как "помойка"
Твои личные домыслы. Надоело человеку, а уж почему - то мы не узнаем. Может, он денег хотел с него получить, а не вышло, вот и забросил. Такой вариант и то правдоподобней.
Не хочу я второй ычан делать. Какой в этом смысл? Ради одного нитакогокакувсех /pr/? Глупо же. Зачем нужна борда, где нельзя постить нигров, обсуждать убийства и посылать мочу/одмина на хуй безнаказанно? Мне ограничений и в жизни хватает, я хочу придти туда, где все мои друзья и вести себя свободно.
No. 12559  
>>12558
Помойка получится, если будут вайпы, рекламные посты и все такое. Это, само собой, будет тереться и перманентно баниться. А то что в твой тред с цветными конями кто-то говно запостил - так это его право, общение то свободное.
No. 12560  
>>12558
>не?
не.
>Твои личные домыслы. Надоело человеку, а уж почему - то мы не узнаем.
Епта, малыш, ну ты хоть тему-то провентелировал, прежде чем по клаве клацать. Все Зойка четко и ясно пояснил. Я даже уверен, что на лурке все есть. А если нет - гугли Зоя.

Напомнить чем закончил тиреч?
Подсказать 3 самых густонаселенных борды?
Улавливаешь тренд?
No. 12561  
>>12560
Что-то ты брешешь, сдается мне. Давай пруфлинки, что ли. Я тоже могу сказать, что А это на самом деле Б, а ты, мол просто не в теме. Знаем таких.
Тиреч закончил тоннами рака и повидла, которое в еще больших концентрациях теперь на сосаче. Но на ычане все те же лица, только вместо говна мы имеем вот такое, например http://iichan.hk/b/res/3429983.html Уж лучше говно.
А причиной всему - слишком большое количество посетителей. Больше посетителей - больше повидла. Поэтому мне не надо много посетителей. Качество > количество.
Вот так вот. А если хочешь без говна уныло постить унылое аниме, и чтобы не дай Б-г никто не обозвал тебя или твою матушку, - вперед, на форумы с анальной модерацией. Борды не про это совсем.
No. 12562  
>>12561
http://tjournal.ru/paper/zoi
No. 12563  
>>12561
>не знает истории борд
>рассуждает "о чем борды вообще"
No. 12565  
>>12562
Кстати, я эту статью когда-то читал. Видимо, пропустил этот момент:
>Мне было неинтересно заниматься «Двачем». Анонимный сральник — это не то, чем он должен был стать.
Но получается, что ты прав. Приношу извинения за этот момент.
С другой стороны, я не считаю подобное помойкой. Тот же многострадальный ычан, на мой взгляд, еще хуже: куча бессмысленных тредов, все эти мухоловки, ирису, "как в ведро" и прочие глупости.
Есть много вещей, которые мне не нравятся, например, политика, пони, куклы (нет, я их смотрел, но фагготрию не понимаю), да много всего. Но это не повод кому-то запрещать на данные темы общаться. Если кому-то нравится быть агрессивным и постить говно в неугодные треды - это их право, я не собираюсь их этого лишать. Они так выражают свое мнение. То же относится и к конелюбам, куклофагам и любым другим посетителям. Это их дело. Мое дело - дать им возможность выражать свое мнение, а не бояться, что пост потрут а IP забанят.
No. 12566  
>>12563
Тебя забыть спросили. Скажи свой ойпи, захардкожу в бан-лист сразу.
No. 12567  
>>12566
>Мое дело - дать им возможность выражать свое мнение, а не бояться, что пост потрут а IP забанят.
>Тебя забыть спросили. Скажи свой ойпи, захардкожу в бан-лист сразу.
No. 12568  
>>12567
Вот то-то и оно. Что хочу, то и пишу. Ты же еще в этот список не внесен, верно?
No. 12569  
>>12566
Лол, новый Двач стал анально модерироваться и потерял свою суть еще до рождения.
>>12552
>Выпиливаться будет только цп и прочее нарушающее законодательство, баниться - только вайперы. Все остальное разрешено, кроме может каких-то особых случаев которых не будет
Смотри сюда, что будет.
http://1chan.ru/news/all
Потом ты правда резко даешь задний ход, обещая
>А причиной всему - слишком большое количество посетителей. Больше посетителей - больше повидла. Поэтому мне не надо много посетителей. Качество > количество.
каким-то образом отсеивать неугодных. Что из этого выйдет? Ну, возможно, если будешь довольно мягок, что-то вроде Унылчана, хотя из-за модерации оттуда недавно ушел один человек, лол.
> Если кому-то нравится быть агрессивным и постить говно в неугодные треды - это их право, я не собираюсь их этого лишать. Они так выражают свое мнение. То же относится и к конелюбам, куклофагам и любым другим посетителям. Это их дело. Мое дело - дать им возможность выражать свое мнение, а не бояться, что пост потрут а IP забанят.
Хорошая идея, просто тут такая фигня, что работает она не для всех. Ожидай волны бессмысленных и беспощадных срачей, которые со временем поглотят любые остатки культуры твоей борды.
No. 12570  
>>12569
>Смотри сюда, что будет.
Между прочим, оттуда не выпиливалось вообще ничего. Даже никаких особых случаев не было, а обещанные баны вниманиеблядей так и не были осуществлены, и вайп уже почти никогда не стирают. Слишком мало модерации - все засрано. Слишком много - получается анальный загон для дегенератов, то есть ычан/обдрочан. Вывод один - нужна средняя модерация.
No. 12571  
>>12570
Ну, еще из примеров — Инач. Сейчас он впал в какой-то декаданс с бложиками, хотя никакой анальности модерации нет. Правда, давно туда не заходил, в последний раз, как проверял: куклочатик где-то раза в полтора-два быстрее остальной борды.
Хотя, казалось бы, что там вообще трется? Вайпы да ЦП, наверное, все.
No. 12572  
>>12569
Не отсеивать, а не допускать по возможности их попадания туда. И вообще, надо для начала чтоб было что модерировать, там уже можно делать выводы и корректировать стратегию. Но общий принцип - как можно меньше вмешательства.
No. 12573  
>>12571
На ычане могут тереть все. Хентай не цпшный, политику, любые срачи, еоты, биопроблемы, вообще все.
No. 12574  
>>12572
>И вообще, надо для начала чтоб было что модерировать
Вот-вот.
Но вообще, я не слишком пессимистичен, если дело касается тематики, это только /b/ в большой опасности, безо всяких формальных критериев к отбору.

Кстати, кончаем офтоп лол, скоро обсуждение бордосферы будет больше обсуждения технической части борды.
No. 12575  
>>12573
Инач — http://inach.org/b/
No. 12576  
>>12568
>я - пиздобол. верить моему слову не стоит.
No. 12577  
>>12576
А потом что-то говорите про помойку. Просто иди на хуй.
No. 12578  
А тем временем я таки запилил превью постов по наведению курсора. Думал что это ебически сложно (жабаскрипт же, на нем все сложно), но вчера перед сном меня внезапно осенило, лол.
Можно ссылаться на любые посты в пределах одной доски. Посты, которых нет на странице, подгружаются AJAX-запросом и сохраняются, чтобы в следующий раз не повторять запрос. Посты, которые уже есть, просто клонируются, а их ID обнуляются, чтобы не пересекаться с "настоящими" постами.
Есть еще некоторые нюансы, требующие допиливания, но это мелочи.
No. 12580  
>>12578
Все хуйня, совсем не то. Во-первых, сделай так, чтобы при убирании курсора с >>ссылки превью исчезал, если на него еще не наводили. Во-вторых, положение превью нормальное, вот код для этого:
var refCenter = reflink_crd.left + (reflink_crd.right - reflink_crd.left) / 2;
if (refCenter < 0.6 * doc.clientWidth) {
element.style.maxWidth = doc.clientWidth - refCenter + 'px';
element.style.left = refCenter + 'px';
} else {
element.style.maxWidth = refCenter + 'px';
element.style.left = refCenter - element.scrollWidth + 'px';
}
element.style.top = (doc.clientHeight - reflink_crd.bottom >= element.scrollHeight) ?
doc.scrollTop + reflink_crd.bottom - 4 + 'px':
doc.scrollTop + reflink_crd.top - element.scrollHeight - 4 + 'px';
element.style.zIndex = 9999;
В-третьих, при подгрузке аяксом постов из одного и того же треда тебе все равно приходится загружать сам тред по нескольку раз. Лучше сохрани весь тред в какую-нибудь переменную и вытаскивай посты оттуда, чем сохранять каждый пост по отдельности. В-четвертых таймеры для убирания и показывания, но это опционально.
No. 12581  
Снимок.png - (129.29KB, 832×667)
12581
>>12580
>сделай так, чтобы при убирании курсора с >>ссылки превью исчезал, если на него еще не наводили
Сделаю, когда придет очередное озарение. Не хочу я с этим вашим жабакскриптом пердолиться.
>положение превью нормальное
Ща попробую.
>при подгрузке аяксом постов из одного и того же треда
Такого нет. Если пост на странице присутствует, то он не грузится, а клонируется из имеющейся DOM-ноды. Вообще ты ерунду написал, как это будет грузиться весь тред, если запрос отдает только один пост? Пикрелейтед.
No. 12582  
>>12581
И вообще твой код не работает, точнее, работает неправильно, пост где-то в самом низу страницы появляется. Чем тебе мой вариант не угодил?
No. 12583  
>>12582
Скрин забыл.
No. 12584  
>сделай так, чтобы при убирании курсора с >>ссылки превью исчезал, если на него еще не наводили
Сделал с задержкой в 500 мс.
>положение превью нормальное
Сделал так, как мне нравится. Подправил немножко.
>таймеры для убирания и показывания
Не будет. Жутко бесит, когда все реагирует с задержкой.
Форкай, делай как тебе больше нравится. Но за остальное спасибо.
No. 12585  
>>12582
>И вообще твой код не работает
Это не весь код, я думал, ты догадаешься сделать все остальное. Во-первых, чтобы оно появлялось там, где надо, нужно абсолютное позиционирование. Во-вторых, до загрузки оно не окажется в том месте, поэтому сначала добавляем его, делаем невидимым, лишь затем позиционируем. Сначала делаешь такую функцию:
body.appendChild(elem);
elem.style.position = 'absolute';
elem.style.visibility = 'hidden';
Потом выполняется функция, которую я написал, только к той в начало добавь еще
element.style.visibility = 'visible';

>запрос отдает только один пост
Тогда ладно, я просто думал, что ты используешь джаваскрипт для этого. Там, чтобы достать один пост, надо весь тред загрузить.
No. 12586  
Безымянный.jpg - (169.30KB, 1406×722)
12586
>>12585
В общем, тебе решать, как делать, но мой вариант намного удобнее, потому что он компактнее, т.е. расстояние от превью до рефссылки меньше и потому что пикрелейтед.
No. 12587  
>>12585
>я просто думал, что ты используешь джаваскрипт для этого
Дак и так. Ты что-то неправильно понимаешь. Я делаю через XMLHttpRequest запрос на JSON-объект, содержащий поля отдельного поста. Как при этом может весь тред загрузиться, если логика на сервере отдает только JSON-объект?
>>12586
Ну у меня так и делается, только до загрузки вообще ничего никуда не добавляется, там коллбэк запускается уже после загрузки, он и добавляет элемент.
No. 12588  
Снимок.png - (30.91KB, 615×273)
12588
>>12585
Не работает твой код короче. На пике твой код (имена переделал под себя), закомменченый - мой код.
No. 12589  
Сделал пока так. Потом, если будет актуально появление превью не справа, а слева, или не снизу, а сверху, то сам допилю.
No. 12590  
Безымянный.jpg - (126.91KB, 681×722)
12590
>>12587
>содержащий поля отдельного поста
Это что-то новое для меня. Я, например, получаю текст всего треда через this.responseText, превращаю его в DOM-объект, и сохраняю в переменной, вытаскивая оттуда нужные посты.
>коллбэк запускается уже после загрузки
Колбэки не нужны. Можно просто последовательно выполнять.
А на >>12586 пике имелось в виду, что они уезжают вниз экрана.
No. 12591  
>>12588
Не работает, потому что надо не document.scrollTop, а document.documentElement.scrollTop. Это обязательно. Просто скопируй мой код и doc = document.documentElement.
No. 12592  
>>12590
>получаю текст всего треда
Лол, зачем получать весь тред, да еще и в виде текста, когда есть JSON?
>>12591
Ща попробую. Кто ж знал про этот documentElement.
No. 12593  
И опять тот же результат. Вот код: http://pastebin.com/QEVGH6N8
Появляется все так же в самом низу страницы.
No. 12594  
>>12592
ПКМ на превью -> исследовать элемент. И посмотри внимательно на аттрибут style. Лучше скопируй сюда, возможно что-то не выполняется.
Проверил у себя твой код, все работает идеально.
No. 12595  
>>12594
http://pastebin.com/G4p3qKrL
Все криво-косо, потому что CppCMS так рендерит шаблоны.
Вот функция, где все действо происходит: http://pastebin.com/ENq6bztb
No. 12596  
>>12595
Судя по всему, всякие там top и left не назначаются. Но почему?
No. 12597  
>>12596
В общем, для начала скажу, что вместо display:none надо просто удалять превью из боди, незачем плодить их огромную кучу. Сохранить можно в какую-нибудь переменную cache, например. Можешь в куклоскрипте посмотреть, как это делается.
И поскольку position и z-index назначаются нормально, то остается только предположить, что проблема в link. Что у тебя принято за link?
No. 12598  
>>12597
Да, с удалением ты прав. Я чому-то думал, что при вызове appendChild с тем же лементом, что и в предыдущий раз, он просто заново вставляется в конец списка дочерних элементов, но оказалось, что он клонируется. Бредово.
Кэш элементов есть, это postPreviews. Сначала в нем ищется, и если уж не нашлось, то ищет в теле страницы, а потом, если и там нет - делает запрос на сервер.
link - элемент <a href="javascript:viewPost(this, 'b', 16)">&gt;&gt;16</a>, где 'b' - доска, 16 - номер поста. При вызове viewPost передает себя в функцию через this.
No. 12599  
Ошибок то никаких нет, link вполне себе валиден, и в моем коде он нормально себя ведет. Твой код не присваивает почему-то некоторые стили.
No. 12600  
>>12599
Ясно.
link_coords = link.getBoundingClientRect
Поменяй link на link_coords.
И только ради этой строчки было потеряно много времени. Но главное, что теперь все заработает.
No. 12601  
>>12600
То есть link.getBoundingClientRect();
No. 12602  
А, все ясно. Вместо link.left надо видимо link.style.left, но там пусто, что логично, ведь никто не задавал link этот стиль.
No. 12603  
Опередил. Пробую.
No. 12604  
Ну заработало. А чем это лучше?
No. 12605  
>>12604
Возможно, дело в том, что он добавляется раньше, чем загружается, из-за этого post.scrollHeight автоматически присваивается 0. Добавь строчку
alert(post.scrollHeight)
Если будет 0, значит так и есть.
No. 12606  
>>12605
Точно нет. Добавление происходит после загрузки. Хоть алерт и пишет 0, но дело точно в чем-то другом. Добавление происходит в коллбэке, который вызывается после завершения запроса, когда данные уже получены.
No. 12607  
Нашел причину. Если элемент не внедрен в DOM (appendChild), то scrollHeight 0, если же сначала добавить, а потом манипулировать этим свойством, то все ок.
No. 12608  
Вот теперь работает замечательно. Ох уж эти ваши HYML и JS, сказал бы я, что я с их мамой делал. Спасибо тебе, добрый человек.
No. 12609  
>>12608
>HTML
фикс
No. 12610  
>>12606
Я не знаю подробностей, но у тебя есть только 2 варианта сделать это.
1. Создаешь пост через document.createElement. Далее на post.onload вешаешь функцию показа превью.
2. Как у меня. То есть сначала добавляем, но делаем невидимым. А когда загрузится, то раскрываем и ставим на место. Тут даже обработки загрузчиков не нужны.
Такие дела.
No. 12611  
А, уже все. Ну ладно. Тебе тоже спасибо про информацию о JSON. Надо бы мне изучить аякс поподробнее.
No. 12612  
>>12611
>за информацию
фикс
No. 12613  
Принцип JSON прост. Обмен происходит, по сути, объектами JS, превращенными в строку (JSON.stringify). Ну, типа, var x = {"field1": 100, "field2": "9000"};
Эта байда обертывается в строку JSON.stringify(x); и шлется на сврвер.
Сервер получает, превращает в зависимости от языка и реализации в объект этого языка. В моем случае это cppcms::json::object.
Там ты что-то делаешь, а потом отдаешь клиенту, опять же, JSON, который преобразуется в строку и передается, а при получении из строки превращается в JS-объект: var y = JSON.parse(response);
Ну и с ним уже делаешь что тебе надо, например, берешь шаблон поста: var post = document.getElementById("postTemplate");
И вставляешь куда надо данные из полученного JSON-а: var name = y["name"];
document.getElementById("postTemplateName").appendChild(document.createTextNode(name));
А потом заполненный шаблон уже внедряешь в DOM где надо.
No. 12615  
>>12613
Так может сразу на JS борду и писать? Зачем все эти наворосы с плюсами, если все равно костыль на костыле?
No. 12618  
>>12615
А можно сразу умереть, все равно все умрем. На жс в качестве основного языка я разве что под дулом пистолета перейду. Да и где костыли? AJAX - уже давно общепринятая практика, это только всякие закостенелые ычаны до сих пор ничего кроме постформ не могут.
No. 12619  
Вчера видел картинку вконтактике. Прямо вот в тему. Ня.
https://vk.com/nii_rap?z=photo-71794920_354055416%2Falbum-71794920_00%2Frev
No. 12620  
>>12619
Ну да, почти так и есть. Только я все хочу на крестах писать. Щито поделать, говноедом быть не запретишь.
No. 12621  
Шутки шутками, а я тем временем допилил просмотр постов по наведению на ссылку и приделал обновление тредов (загрузку новых постов без обновления страницы).
А еще придумал такую безумную штуку: на специальной доске при создании треда указывается ссылка на тред с другой борды (с ычана, например). Если зайти в тред, то "внешний" тред будет отображаться сбоку в ifram'е (растягивается на почти весь экран при наведении мыши). Можно сидеть во "внешнем" треде и одновременно обсуждать его.
No. 12625  
Снимок.png - (317.64KB, 1452×832)
12625
Запилил постинг нескольких файлов (пока только в /h/, ибо нефиг), и, благодаря очепятке одного анона в /pr/, возможность вместо [code lang="cpp"]...[/code] писать сразу [cpp]...[/cpp] (ну и [php], [hasskel] и т.д., естественно, тоже).
No. 12626  
>>12615
Те кто сейчас пишут на жс либо не умеют этого делать, либо выросли из написания борд давным-давно.
No. 12627  
>>12626
>выросли из написания борд давным-давно
... и пишут robust scalable enterprise singletone proxy factory bean'ы на жабе, ага.
No. 12658  
Поздравляю с публикацией на хабре
No. 12659  
>>12658
Спасибо, но не первая же. И вообще, хватит делать из меня вниманиешлюху, ууу~
No. 12665  
>c++
>ORM
Новые горизонты говноедства.
No. 12672  
>>12665
No. 12687  
>>12621
Отличная вещь для набегов.
No. 12688  
>>12687
Хм, о таком применении я даже и не подумал.
No. 12730  
[личный_бложек]
+ Исправил превью постов в хромом брошзере ко-ко-ко, веб-стандарты, один код, везде одинаково, хуй там
+ Добавил поддержку тегов [sup] и [sub]
+ Добавил автообновление треда и подсветку новых постов
+ Прикрутил превью (thumbnails) для вемок (WebM)
+ Сделал чтоб при неправильно заполненной форме никуда не перенаправляло, а только сообщало об этом (форма постится в скрытый iframe)
[/личный_бложек]
Какого хуя тут разметка не понимает список, если каждую строку начинать со звездочки?
No. 12747  
Продолжаем.
+ Картинки и вемки (WebM) теперь по щелчку открываются в плавающем "окошке". Можно елозить ими по окну, зажав мышь (только картинки, вемки не двигаются), а также масштабировать колесиком.
+ Теперь сохраняется информация о разрешении вемок, и вообще доступ к мета-информации происходит быстрее.
+ Добавлена кнопка "Пожаловаться" (с сюрпризом, естественно, ибо жаловаться стремно).
+ Добавлены превью для загружаемых файлов (только картинки). В целом несколько красивее стало поле для выбора файлов.
+ Переработана система добавления/хранения постов: ренедрится пост теперь при создании, в базе хранится как исходный текст, так и то что отрендерилось. Небольшой оверхед по памяти (несущественный на фоне прикрепляемых файлов), зато быстрее отдача и гораздо менее затратны по нагрузке следующие две фичи.
+ Добавлена карта постов (штука внизу поста со ссылками на ответы).
+ Тег [code] включен на всех досках.
No. 12754  
Снимок.png - (136.95KB, 1406×927)
12754
+ Добавил возможность определения реального IP для непрозрачных прокси (тех, которые ставят заголовки X-Forwarded-For и X-Client-IP). Правда, я таких не нашел, но тем не менее. Охуительные механизмы проверки, типа попыток подключения к клиенту по порту 8080, реализовывать не стал: бред сивой кобылы какой-то, хочет человек - пусть сидит через прокси, всегда можно IP внести в черный список.
+ Весь JS-код завернул в нэймспейс, поудалял лишние файлы, слил все в три основных (общеупотребительный, для досок/тредов и отдельный только для тредов, чтобы другие страницы не засорять).
+ Реализовал механизм "дедупликации", как его назвал один анон (хоть это и не совсем точное название). При выборе файла вычисляется его хеш, отправляется запрос на сервер с целью узнать, есть ли там уже такой файл. Если есть, input очищается, а в скрытый input добавляется хеш (работает и для нескольких файлов, само собой). На клиенте по хешу находится соответствующий файл и копируется с изменением названия. Дедупликация получается только для юзера, но лучше лишний мегабайт занимаемого места, чем переусложнение логики.
+ Исправил вставку ссылок на пост. Теперь фокус передается текстовому полю, а вставка осуществляется не в оба поля, а только в то, которое открыто. Также после ссылки добавляется пустая строка. Разумеется, если оба поля ответа закрыты, тогда уж вставляется в оба.
+ Поправил отображение кнопок на превьюхах постов (те, которые отображаются при наведении на ссылку).
+ Добавил возможность премодерации. Не пугайтесь, премодерирует тот, кто отправил пост, а не мочератор. Премодерируемый пост будет виден только тому, кто его оставил (ну и моче/админу, само собой). Включается установкой галки внизу. Для этого надо залогиниться (об этом отдельно ниже). При редактировании (кнопка справа от поста), когда юзер наконец созреет представить общественности свой высер, надо убрать галку. После того, как пост будет отредактирован со снятой галкой, больше его редактировать станет нельзя.
+ Добавил кнопку для скачивания всех картинок из треда. Нужно для этого зайти в тред, тогда кнопка справа от ОП-поста появится. Может, в дальнейшем сделаю, чтобы в тред не надо было заходить.
+ Сделал чтоб неактивная вкладка с тредом начинала мигать иконкой, если там появились новые посты (работает, очевидно, если включено автообновление треда).
+ Сделал чтоб можно было переключать стили (пока, правда, стиль один, да и тот не идеальный, но тем не менее). Заодно загнал все стили в один файл. Глупо было ради экономии 1-2 КБ раздристывать CSS на кучу файлов.
+ Добавил кнопки поиска по картинке. Как здесь.

Ну и малоинтересные технические детали:

+ Добавил возможность для админа постить голый HTML (включается галкой). Удобно для оформления прикрепленных тредов, например.
+ Для черного списка сделал возможным указывать IP при помощи Wildcard. Возможно, надо было лучше диапазоны сделать, ну да ладно, все равно не пользуюсь им.
+ Добавил список IP, запросы с которых не нужно логгировать. 192.168.0.2 (рабочий пека) и 192.168.1.* (вафля) добавил, например, и сразу стало чище.
+ Добавил возможность редактировать помимо текста поста еще и тему, мыло и имя.

Теперь по поводу залогинивания. Тут (или не тут, не помню уже) кто-то возмущался по этому поводу. Так вот. Логин - это вам не регистрация. Сервер никакой инфы при этом не хранит. Логин записывает введенное слово в виде хеша и передает на сервер при запросах как cookie. С помощью этого происходит идентификация, можно не вводить пароль для постов и можно редактировать перемодерируемое сообщение. Вот так. Никаких трипкодов и прочей мути при этом не отображается. Можно, конечно, соответствующую галку поставить, и трип появится, но никто не заставляет. Регистрация с занесением в базу тоже предусмотрена, но продавать ее или регистрировать на халяву я не буду. Это функция исключительно для идентификации админа и мочераторов, буде таковые появятся, что, к слову, сомнительно. И еще раз подчеркну, что в любом случае, пока не поставлена галка, независимо от логина, регистрации и положения звезд, ваши посты ничем не отличаются от других.
No. 12756  
>Как здесь
Спалился, что на доброчане то же самое постил, да.
No. 12757  
>>12754
>+ Добавил возможность премодерации. Не пугайтесь, премодерирует тот, кто отправил пост, а не мочератор. Премодерируемый пост будет виден только тому, кто его оставил (ну и моче/админу, само собой). Включается установкой галки внизу. Для этого надо залогиниться (об этом отдельно ниже). При редактировании (кнопка справа от поста), когда юзер наконец созреет представить общественности свой высер, надо убрать галку. После того, как пост будет отредактирован со снятой галкой, больше его редактировать станет нельзя.

Это же черновики, а не премодерация.

Модерация подразумевает участие в постинге третьего лица с большими правами.
17 сообщений пропущено. Показаны 100 первых сообщений.
Удалить сообщение []
Пароль  
[Mod]