[WT] [Архив]  [Поиск] Главная Управление
Ычан: [d | b / bro / gf / hr / l / m / med / mi / mu / o / ph / r / s / sci / tran / tv / x | vg | au / tr | a / aa / c / fi / jp / rm / tan / to / vn]
[Совместно с Ычаном]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 18554)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, XCF, ZIP размером до 5000 кБ.
  • Ныне 2984 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
151568335844.png-(521.18KB, 1920×1052, hc.png)
18554
No. 18554 watch    
Пишу принципиально новый движок для борды. Спрашивайте ваши вопросы.

Тред в /b/ удалили :(
75 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 18849    
>>18848
1) Лень настраивать, до релиза не нужно.
2) Деньги кончились на хостинге.
No. 18851    
>>18849
Все, переподнял сервак.
No. 18895    
151781857619.png-(569.06KB, 1332×968, admin.png)
18895
Видел на сайте реквест скринов админки. Выложу их сюда.

Админка пока в зайчаточном состоянии, одна полурабочая страница и несколько скетчей. Вообще, админка для меня менее интересная часть проекта, скорее даже муторная.
No. 18896    
151781871717.png-(82.40KB, 1280×800, posts.png)
18896
Скетч панели картинок с прошлого скрина.
No. 18897    
15178189454.png-(96.17KB, 1280×800, reports.png)
18897
Панель рассмотрения жалоб.
No. 18898    
151781913259.png-(122.88KB, 1280×800, images.png)
18898
>>18896
Тьфу, не та картинка.
No. 18899    
>>18895
Ты сделал только что более-менее нормальный поиск, который можно даже юзеру.
No. 18975    
151799926877.jpg-(200.57KB, 800×800, 013000.jpg)
18975
Бамп. Новинки:

Самописная капча, подключена и работает. Картинок сгенерил немного, но для теста сойдет. Что думаете насчет стойкости к автораспознаванию и удобства для юзера?

Возможность ответа на пост, по клику на его id откроется форма и вставится этот id. После отправки и сохранения он станет зеленой ссылкой на пост, по ней можно кликнуть и проскроллиться к указанному посту.
Цитирование с одной угловой скобкой также работает. По разметке пока все.

По-моему получилось удобно, что форма ответа всегда наверху - не нужно скроллить, когда отвечаешь сразу на насколько постов.

http://hexchan.org/b/
No. 18997    
Прикольно получилось. Мне нравится. Но не логичнее местами поменять ответы со списком тредов? Чтобы по стилю ВК/ ФБ/ Телегу напоминало. Список слева, как только что-то открываешь - оно в середине. Сейчас очень странно всё ощущается.
А так - быстро, приятно, потенциал хороший, кмк.
No. 19000    
151807070617.jpg-(228.29KB, 600×846, 01c000_0.jpg)
19000
>>18997
Спасибо. С лейаутом можно поэкспериментировать.
Мотивация была такая, что поскольку читаешь слева направо, боковик слева будет мешаться. Хотя, с другой стороны, слева он более привычен, как в почтовиках или социалках, да.
No. 19005    
>>19000
Это "выберите тред для просмотра" вводит в ступор. Лучше чтобы по-умолчанию панель справа была бы развернута на полный экран, а при выборе треда отъезжала в сторону.
No. 19007    
151812177015.jpg-(36.63KB, 337×403, 01a068_0.jpg)
19007
>>19005
А как насчет, ну не знаю, выбрать тред для просмотра? :3

Ладно, на самом деле там будет более осмысленная информация, как тут подсказали. Описание доски, правила, прикрепленные треды.

Не все сразу, парни. У меня есть доска с задачами в трелло, их там уже на полсотни, и это еще нет задач по админке. Текущими темпами, боюсь, понадобится еще полгода-год.
No. 19630    
152381214174.png-(250.13KB, 1160×758, Скриншот сделанный 2018-04-15 в .png)
19630
> Прошло 3 месяца
> Дизайн выкинут
> 2/3 кода выкинуто
> Смена парадигмы на обычное Django+Python
> И это после полутреда моих гневных кукареков о расовом превосходстве Single page apps

Ох лол, посаны. Я снова с вами :3

(ПОТРЕБИТЕЛЬ БЫЛ ЗАПРЕЩЁН ДЛЯ ЭТОГО СТОЛБА)
No. 19631    
152387266842.jpg-(50.12KB, 604×465, 7phwvajAS_s.jpg)
19631
Блин, хотел забавненько объявить о своем камбеке, а схлополтал бан. Неловко вышло.
No. 19632    
>>19631
Скорее всего, последняя строка гринтекста была лишней.
No. 19635    
>>19630
ОП, ты хоть объясни нормально, что вообще случилось. Почему вдруг больше не хочешь делать SPA?
No. 19664    
>>19635

Дык он же вроде как забанен. Как он тогда объяснит?
No. 19669    
152420679538.jpg-(460.24KB, 1920×1080, 20161222220906_1.jpg)
19669
>>19664
Ну, это всего на один день было, по статье "троллинг". Троллил, по факту, сам себя, ну да и ладно.
>>19635
Отчасти я просто психанул, из-за огромной кучи мелких проблем ИРЛ и довольно жесткого выгорания на работе, на которой я тоже всем этим дерьмом занимаюсь. Еще в текущей SPA-ветке есть куча недостатков, не все пока придумал, как решить:

1) Во-первых и главных - начало бесить, что для простого, в общем-то, проекта нужно столько кода. Уйма логики дублируется между клиентом и сервером, нужны сложные JS-подпрыгивания, организовывать хранилища данных и там, и там (Redux на клиенте, БД на сервере), синхронизировать их. А в статике - выборку из БД сделал, шаблон с ней отрендерил и збс.

2) Я допустил большой архитектурный проеб в бэкенде. Есть в БД четыре базовые сущности: Доска, Тред, Пост, Картинка, в соответствующей иерархии. Сделал для каждой из них "красивый" REST API. Так вот, пример проблемы. Когда первый раз открываешь сайт, начинают грузиться: отдельно борды, отдельно открытый тред со своими постами, отдельно список тредов для боковой панели. Потом начинаешь ходить по тредам, грузится только открытый тред, боковик не обновляется. Экономия трафика все быстро, простые запросы к бд, все разбито по сущностям, красота.

Только, блядь, состояние может между запросами рассинхронизироваться! Ты открываещь тред, в нем последний пост появился только что, в боковике у него дата обновления - позавчера. Если активная переписка идет в треде, он за пять минут может еще 10 постов набрать, а ты еще в боковике видишь что там целых ноль ответов, и по списку он во второй десятке. Или ты подгружаешь "еще тредов", и хотя я сделал так, что порядок при подгрузках будет сохраняться, но число постов и дата обновления снова вызовет недоумение.

Если мы добавим к этому всему кеширование, а оно жизненно необходимо - это вообще атас. Даже пятиминутный кеш может создать лютый диссонанс между всеми частями, и черт его знает, как это вообще синхронизировать.

Выход я вижу только делать так, как для полностью статичного варианта - за один запрос API выдавать всю пачку данных для отрисовки страницы. Опять же, а с подгрузками что делать?..

3) Боковая панель. Как бы я не отбрехивался ранее, она красива (наверно), но не удобна. При автообновлении списка тредов их порядок будет меняться, мельтешить будут перед глазами, тред дальше второй страницы тяжело будет найти. Тут решения взаимоисключающие. Отсортировать треды по дате создания - не будут мельтешить, да, но зато активную дискуссию в поднятом с третьей страницы треде ты просто пропустишь.
No. 19670    
152420790950.png-(120.67KB, 1920×885, admin.png)
19670
Так я и пришел к текущему положению дел. Пока пилил статичную версию - наслаждался тем, как все быстро и просто получается. Никакой возни с состоянием приложения, понятно как сделать кеширование, не нужна "сборка" фронтенда.

Из хороших новостей - есть админка, смог наконец настроить то, что фреймворк Django генерит по моделям в БД. Там, конечно, не все, к чему привыкли искушенные бордоводы, но жить с этим можно. Пикрелейтед.

В ближайших планах - убрать шероховатости интерфейса (сейчас даже в тред не сразу попасть можно, если постов мало), восстановить паритет по фичам со старой версией (скрытие тредов и постов, по-просто).

Дальше, я думаю отказаться от личного репозитория и выложить в анонимном на гитхабе. Буду пилить заурядный, но зато универсальный бордодвижок, может кому-то еще пригодится.

Потом будут нужны механизмы репортов и банов, переноса тредов между досками. Кеширование. Масштабирование для маленьких экранов. Подсветка постов юзера и ответов на них в треде. Автообновление треда. Вроде как и все.

Было на самом деле тяжело признать, что задумка, на которую угробил больше полугода не взлетает.
No. 19671    
Такой вопрос, а почему ты не использовал сокеты на SPA?
No. 19672    
>>19671
Я бы наверно мог, но зачем? Real-time обновления здесь не сильно нужны, плюс нужен сервер помощнее, плюс бэкенд на Django с веб-сокетами не дружит.
No. 19673    
Как и на новом нульче, кукла работать не будет?
No. 19674    
>>19672
Я всегда думал, что со SPA неразрывно связаны веб-сокеты, особенно в тех местах где используются чаты и нужно вовремя реагировать появление новой информации.
В твоём случае это была, как минимум, боковая панель.
No. 19675    
>>19673
Нет и не нужно.
>>19674
Нет, достаточно старого доброго AJAX. Алсо, имиджборд концептуально не чат, другой формат общения. Текст длиннее, немедленного ответа никто не ждет.
No. 19676    
>>19675
Движок не нужен? Тогда зачем ты его пилишь и ведешь по нему тред?
No. 19678    
152425853659.png-(1.14MB, 1280×720, 3S3aYN.png)
19678
>>19669
> для простого, в общем-то, проекта нужно столько кода. Уйма логики дублируется между клиентом и сервером.
Не понимаю что тут такого сложного ты нашел. Ну, с редуксом и реактом я не работал, может, там и вправду сложно. А на сервере у тебя было что-то кроме самой БД и API-ки?

> Ты открываещь тред, в нем последний пост появился только что, в боковике у него дата обновления - позавчера.
> и хотя я сделал так, что порядок при подгрузках будет сохраняться, но число постов и дата обновления снова вызовет недоумение.
А в чем проблема регулярно обновлять его?
No. 21082    
15472084547.jpg-(919.57KB, 1200×802, 58752735_p2_master1200.jpg)
21082
Я снова в деле, братцы.

http://hexchan.org/b/
No. 21090    
154741164962.png-(129.49KB, 1062×873, screenshot.png)
21090
>>21082

В консоли у браузера ошибка вылазит (скриншот прилагаю).

Рекомендую в скрипте http://hexchan.org/static/imageboard/localCollection.js в функции readCollection() результат работы метода JSON.parse прогонять через метод https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray для проверки.

В качестве примера предлагаю первые две строки функции togglethread в скрипте https://410chan.org/lib/javascript/kusaba.js на 410чане.
No. 21092    
154741561941.png-(36.07KB, 343×191, TOR croud.png)
21092
>>21082

И далѣе: пора бъ навѣсить https://letsencrypt.org/ для того, чтобъ провайдеръ не вмѣшивался въ траффикъ.
No. 21099    
154744963659.png-(1.44MB, 1645×1145, 釈迦力ポテト - 永夜抄自機詰め合わ??.png)
21099
>>21090
Спасибо, посмотрю сегодня.
>>21092
HTTPS будет, но наверно не от let's encrypt. Я им не доверяю.
No. 21108    
>>21090
Ты бы лучше человеку объяснил, как превьюхи в PNG делать, умник.
No. 21114    
15475296996.jpg-(129.85KB, 720×1014, Ol5f6AInTm0.jpg)
21114
>>21108
А что с ними не так?
No. 21116    
>>21114
http://hexchan.org/media/thumbs/0x00000015.png — они какие-то перешарпленные будто.
No. 21117    
15475625941.jpg-(260.99KB, 1700×1161, ANIME-PICTURES_NET_-_273279-1700x1161-touhou-hakur.jpg)
21117
>>21116
Тоже обратил внимание на этот файл, но он один такой получился. Остальные арты нормально масштабированы.
No. 21122    
154761557110.png-(144.14KB, 700×700, Millhiore_Firianno_Biscotti_full_826889.png)
21122
>>21117
Остальные — это какие? Там подавляющее большинство картинок в JPG, с ним проблем никогда не было. А с PNG:
— скриншот http://hexchan.org/media/thumbs/0x00000021.png перешарплен;
— кадр из Dog Days http://hexchan.org/media/thumbs/0x00000025.png перешарплен;
— картинка из >>21116 тоже.
Ну и не ты первый, и не ты последний, кто на эти грабли наступал. Если идти путём наименьшего сопротивления, то я бы превьюшки делал в одном формате, например в WebP для людей и JPG для всех остальных — сами по себе они всё-равно никому не интересны.
No. 21125    
154762792131.jpg-(26.55KB, 333×500, little penguin.jpg)
21125
>>21122
А, то есть превью из JPG в PNG нормальные получаются, а из PNG в PNG дефектные? Теперь понял. Надо чет делать тогда.
No. 21128    
15476469342.jpg-(1.02MB, 1920×1440, Alice1.jpg)
21128
>>21090
Подстелил соломку на случай кривых значений в LocalStorage. Должно хватить, во всяком случае больше не дампует в консоли.

>>21122
Разобрался с картинками, теперь превью для них красивые генерятся. Проблема была в том, что в них использовались индексированные цвета из палитры, я добавил конвертацию в полноценный RGBA. Я и не догадывался, что это все нужно учитывать пока вы не сказали.
http://hexchan.org/b/0x000005/#0x000028
No. 21133    
154772309498.jpg-(62.63KB, 640×480, 0x0000001b.jpg)
21133
Выкладываю код на Гитхаб: https://github.com/hexchan/hexchan-engine
No. 21167    
154800870760.png-(78.06KB, 1920×1080, generated_captchas.png)
21167
Коллеги, работаю над новой капчей, оцените образец, пожалуйста.

Портировал из Вакабы на Python генератор слов, очень он мне нравится.

Изображение строится просто - слово отрисовывается побуквенно, буквы размещены с небольшим пересечением и смещением по вертикали, получается почти непрерывная строка, дальше рисуется ее контур. Когда-то читал, что контур буквы тяжелее распознать программно, чем саму букву. Это правда?
No. 21169    
15480245472.png-(118.12KB, 1920×1080, ni.png)
21169
>>21167
Не знаю. Немножко банальных преобразований (чистка от мелкого мусора в пеинт/ирфан не входит, извините, только заливка и инверсия), и ни о какой разнице между слитыми буквами и контуром слитых букв нету. Даже от мусора чистить проще, самое большое пятно - капча.
No. 21170    
154807357774.jpg-(143.11KB, 620×876, 020 - 620x876@32 [SIGa425298e2fc9569af50f0512a3559.jpg)
21170
>>21167
Я бы добавил ещё случайные поворот символов на небольшой угол и искажение символов по размеру (сжатие, растяжение). У тебя пока одинаковые символы во всём наборе. Ну и банальщина: смысл подобных мероприятий в том, чтобы усложнить распознавание примитивными техническими средствами сохранив при этом удобство работы нормальных пользователей. Ну а если уж ты насолил человеку, занимающемуся компьютерным распознаванием образов профессионально, то созданием капчи тут, очевидно, не отделаться, так что этот edge case можно не рассматривать — см. дихотомию «Моссад — не Моссад».

Ну и я бы больше внимания обращал на фронт, ибо сферический в вакууме бэк никому не интересен, тем более, что его клиенту не видно.
No. 21171    
>>21167
Если хочешь безопасности, то делай не просто контуры символов, а разноцветные контуры с переливающимся цветом, мусорными линиями схожих цветов и переливающимся фоном с цветами схожей яркости, чтобы при переводе в чб фон сливался с контурами символов.
Но это скучная капча. На твоём месте я бы попробовал изобрести свою мемную рекапчу на хешах.
Кроме того, чтобы вайпалки не вайпали просто так, хорошо пошаманить над правами доступа и прочей верификацией открытия страницы в браузере. Например, жс, дающий дополнительный хеш с солью на сервере. Для безжсных можно сделать хитрее: открывать капчу в айфрейме, а капчу генерировать матрицей символов 10×10 с цсс-правилом выравнивания первого символа в начале вьюбокса. То есть обычный пользователь видит условные шесть символов, а вайперу нужно будет найти эти шесть символов из сотни.
No. 21174    
>>21171
Последние ухищрения легко решаются простым скриншотом страницы браузера, со всякими электронами реализация ломалки капчи будет проще, чем реализовать саму капчу. Это касается как хитрого жс, так и айфреймов. В 2011 году ЕФГ реализовал похожую защиту капчи с хешем, у многих из-за этого отваливался постинг, но зато кто-то написал вайпалку на adobe air, где был встроенный вебкит.
В современных реалиях капча - дань традиции и защита от script kiddie, не стоит тратить много времени на ее взломоустойчивость.
No. 21176    
>>21174
>В современных реалиях капча
А она когда-то для чего-то другого была нужна?
No. 21177    
>>21174
Всё так. И если хочешь защитить что-то капчей — воспользуйся той же рекапчей, но по назначению, а не как обычно: одна капча на сессию, а не на каждый пост.
No. 21241    
Рекапча это банально и скучно. Если уж делать свой движок для борды, то есть нечто заранее ненужное, то есть делать просто ради самого процесса деланья, то вполне уместно самому с нуля сделать какие-то фановые фичи. Например, свою капчу.
Но я согласен, можно было более креативно подойти. Распознавать выражения лиц, анимешных персонажей, решать задачки по матану или го.
No. 21252    
>>21177
Рекапча вполне себе разгадывается. Толку от нее нет, вред один.
No. 21253    
>>21252
Рекапча если и разгадывается, то только индусами или топовыми нейронками, оба за бесплатно работать не будут. И это главный фактор, отсеивающий 99% вайперов. Алсо рекапчу нужно правильно использовать, уже вроде писал, что если рекапча будет одна на сессию, то обычным пользователям нечего бояться, особенно если с лимитами на постинг по времени поиграться.
No. 21266    
>>21253
http://iichan.hk/d/res/247134.html#247394
No. 21289    
154962267922.png-(235.67KB, 1126×926, current.png)
21289
Бампаю свежим скрином и ссылками:
https://hexchan.org/b/
https://github.com/hexchan/hexchan-engine
Удалить сообщение []
Пароль  
[Mod]