[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]

Файл: 410.png -(24 KB, 500x500, 410.png)
24 No.26066   [Ответ]
В сей нити мы упорядочиваем усилия по доработке местного движка.

Репозиторий: https://bitbucket.org/Therapont/fbe-410
1. Для ваших предложений предназначена ветка public.
2. Только администрация 410чана решает, что в этом движке надо, а что не надо. Соответственно, не стоит излишне пропихивать всякие там революционные идеи. Одобренные потенциальные изменения перечислены на багтрекере (записи, созданные владельцами репозитория).
3. Тестирование предложенных изменений и развёртывание принятых ведётся при наличии у администрации свободного времени на это. Обычно это делается по выходным.
4. Код выложен как есть. Никаких неопубликованных скрытых функций и частей не существует.

Предыдущая нить: >>20450
Пропущено 175 сообщений и 46 изображений. Для просмотра нажмите "Ответ".
>> No.27469  
Файл: главная.webp -(132 KB, 2553x939, главная.webp)
132
Вообще, есть такая идея, как поступить с фреймами.

Само по себе меню со списком разделов слева и news.php в центре выглядит отнюдь не плохо, как дизайн главной. Куда лучше уродливой ичанской главной, например. Может, сделать, чтобы по переходе на доску из фреймового меню переход убирал фреймы по умолчанию, аналогично поступив с ссылками, приведёнными в news.php? И тогда поменять опцию “Убирать фреймы” на “Оставить фреймы”.
>> No.27470  
>>27464
Ещё, может быть, надо учесть кейс с несколькими открытыми вкладками и долгоживущими вкладками.
Как ведут себя значения в localStorage читаемые и записываемые из нескольких вкладок. Не придется ли тут синхронизацию какую городить через postMessage.
>> No.27471  
Файл: [HorribleSubs] Toaru Kagaku no Railgun T - 04 [108.jpg -(255 KB, 1920x1080, [HorribleSubs] Toaru Kagaku no Railgun T - 04 [108.jpg)
255
>>27465
На самом деле, нам действительно не помешало бы АПИ или что-то такое, дабы оптимизировать работу скриптов и запилить вещи типа https://codeberg.org/FBE410/fbe-410/issues/6
Просто я в этом ничего не понимаю. Надо, чтобы кто-то проанализировал существующие реализации. Я могу только задачу на трекере завести официальную, лол.

>>27469
Этот десигн ничем не лучше ычановского. И вообще пока висит как заглушка, потому что новости не используются из-за https://codeberg.org/FBE410/fbe-410/issues/14
Список досок на главной надо будет сделать, но это уже следующая фаза. И опять же его надо будет делать относительно новостей.
>> No.27472  
Файл: 1542829893169.jpg -(23 KB, 347x402, 1542829893169.jpg)
23
Deprecated: Optional parameter $thread_id declared before required parameter $time is implicitly treated as a required parameter in lib/search.php on line 43
> lib/search.php 43: function create_search_record($post_id, $thread_id = 0, $board, $message, $time)
Вроде используется оно только в board.php и только в одном месте, где при вызове $thread_id указан.
> board.php 553: create_search_record($post_id, $thread_replyto, $post['board'], $raw_message, $time);
Поэтому значение по умолчанию для $thread_id из объявления функции в search.php можно спокойно убрать.

Deprecated: Optional parameter declared before required parameter $note is implicitly treated as a required parameter in inc/classes/bans.class.php on line 84
> inc/classes/bans.class.php 84: function BanUser($ip, $modname, $globalban, $duration, $boards, $reason, $appealat=0, $type=0, $allowread=1, $note)
Везде, где оно используется, аргументы для параметров, у которых значения по умолчанию, передаются явно.
Можно смело убирать присваивания, но после того, как будет указан недостающий $note аргумент тут
> inc/classes/manage.class.php
> 2999: $bans_class->BanUser($ban_ip, mysqli_real_escape_string($tc_db->link, $_SESSION['manageusername']), $ban_globalban, 0, $ban_boards, mysqli_real_escape_string($tc_db->link, $_POST['reason']), 0, 0, 1);
Сообщение слишком длинное. Полный текст.
>> No.27474  
Файл: phpstan.webp -(49 KB, 2324x1306, phpstan.webp)
49
phpstan говорит, что с FBE проблем немножко больше, чем может показаться на первый взгляд. Надо будет поглядеть, на что именно статический анализатор ругается, и пофиксить то, где он ругается не зря.
>> No.27477  
Файл: board-post_class.webp -(47 KB, 1945x871, board-post_class.webp)
47
>>27471
> https://codeberg.org/FBE410/fbe-410/issues/6
> полностью пустое сообщение, к ОП-посту не приложен файл, слишком длинный текст, слишком большой или кривой файл, не введена капча и т.д.
Кривой файл или нет, это пусть проверяет сервер, наверное. Разве что проверять, соответсвтует ли заголовок файла его расширению для некоторых форматов во избежание >>26890-ситуации.
А так, по перечисленному, информация для проверки на стороне клиента вроде вся, кроме максимальной длины текста, есть. Только её вывод в board-post.class.php и добавить рядом с MAX_FILE_SIZE. Что-то радикально новое со стороны сервера тут не нужно.

> Этот десигн ничем не лучше ычановского.
Ещё скажи, что хуже, лол.
>> No.27478  
Файл: 1495319689399.jpg -(39 KB, 496x375, 1495319689399.jpg)
39
>>27477
>Ещё скажи, что хуже, лол.
Я скажу, что тут просто никакого десигна нет. И при появлении блока новостей оно будет вообще выглядеть почти аналогично.
На «Ычане» только надпись надо выравнять, вместо неё картинки были раньше.
>> No.27479  
Файл: uguu.jpg -(141 KB, 1280x720, uguu.jpg)
141
>>27478
> И при появлении блока новостей оно будет вообще выглядеть почти аналогично.
Ugh. Значит, лучше не приступать.
>> No.27480  
>>27479
Можно просто на главную не ходить, если какие-то психологические проблемы. На неё и так никто не ходит, кроме жертв фрейма.
>> No.27481  
Файл: 113599466_p0.webp -(2304 KB, 3508x2480, 113599466_p0.webp)
2304
>>27480
Сомневаюсь я, что, например, вот этот >>/ci/1605 вот постер набрал https://410chan.org/ci, а не перешёл туда с главной.
Пусть наша приветственная страница выглядит хорошо.


Файл: logo.png -(315 KB, 512x512, logo.png)
315 No.24029   [Ответ]
Github: https://github.com/overchan-project/Overchan-Android
F-Droid: https://f-droid.org/packages/bus.chio.wishmaster/

Ссылка на самую актуальную тестовую версию:
https://github.com/overchan-project/Overchan-Android/releases/download/current/Overchan-Android-current.apk
Список изменений и предыдущие версии:
https://github.com/overchan-project/Overchan-Android/releases

Сообщения об ошибках оставлять в треде или здесь:
https://github.com/AliceCA/Overchan-Android/issues

Сайт исходного приложения:
https://miku-nyan.github.io/Overchan-Android
Информация о создании пользовательских тем:
https://github.com/miku-nyan/Overchan-Themes
Сообщение слишком длинное. Полный текст.
Пропущено 819 сообщений и 72 изображений. Для просмотра нажмите "Ответ".
>> No.27398  
Я так понимаю, просить допилить поддержку webp для Ычана бесполезно, ибо никто уже не поддерживает приложение?
>> No.27423  
Только что поломался девочкочан, на вид так же как и Ы. До этого не случалось подобного. Неужели новый баннер сделали?
>> No.27424  
А, нет, поправка - он просто всё.
>> No.27434  
Топовый клиент, пользуюсь уже миллиард лет
>> No.27435  
Откуда люди вообще находят этот тред?
>> No.27437  
>>27435
У меня он открыт с самого момента в него переката, например. А так - каталог же есть, не?
>> No.27441  
Файл: 14059363741817.jpg -(23 KB, 225x350, 14059363741817.jpg)
23
Чёт на харкаче подрубили клаудфлаер и у меня перестали треды в vg грузиться, 503 forbidden пишет
>> No.27442  
>>27441
А, не, через домен .life работает
>> No.27443  
>>27441
Дудосят.
>> No.27462  
>>27008
Чаще есть. Но теперь совместно с пустотой перестаёт грузиться капча в тредах. Из браузера всё нормально. Обычно приходит в норму в пределах получаса.


Файл: junior_developer_nene.png -(648 KB, 720x720, junior_developer_nene.png)
648 No.25965   [Ответ]
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Пополняемая база знаний: http://pastebin.com/AGhLZppH

Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда.
Не знаете, где клиент, а где сервер? Вам сюда.
Не понимаете, что такое ООП? Вам сюда.
Написали код, и не понимаете, почему не работает? Вам сюда.
Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда.
Не знаете, как подступиться к проблеме? Вам обязательно сюда.

Другие тематические нити (иногда обновляется): https://pastebin.com/psy43ibG

Сообщение слишком длинное. Полный текст.
Пропущено 471 сообщений и 69 изображений. Для просмотра нажмите "Ответ".
>> No.27413  
>>27411
>Так-то instance_eval принимает строку тоже.
И в случае со строкой его поведение ничем не отличается от eval, т.е. имеем ту же проблему.
Что вообще-то логично, потому что код обе эти функции скорее всего используют один и тот же.

Пока что я использую вот такую вот затычку: https://pastebin.com/Fy5Uc82L
И соответственно, буду подключать этот EvalFixer во все места, где такая неоходиость возникнет. Их там не так много, вроде. Помимо этого Game_Interpreter еще 2-3.
Сперва хотел вообще глобальный eval переопределить, но полезли какие-то странные ошибки и я решил не связываться.
Кстати, на пастебине тоже фейлится подсветка синтаксиса. Сколько я бился, чтобы поправить ее у себя в редакторе, так до конца и не. Хотя сейчас уже гораздо реже, чем вначале.

>block = eval("proc {#{str}}")
Э... но какой в этом смысл, если мы всё равно вызываем тот самый эвал?

Сообщение слишком длинное. Полный текст.
>> No.27414  
>>27413
>>block = eval("proc {#{str}}")
>Э... но какой в этом смысл, если мы всё равно вызываем тот самый эвал?

Хм... Смысл, похоже, есть. Потому что в таком исполнении оно, внезапно, работает правильно.

(немного подумав)
А, ну да. Мы же в эвале лишь создаём блок. Наши эксепшены через эвал не проходят. Всё понял, был неправ.
Это решение лучше, чем то, что я там нагромоздил.
Пошел переписывать EvalFixer.
>> No.27416  
>>27413

Понятно.

>И соответственно, буду подключать этот EvalFixer во все места, где такая неоходиость возникнет. Их там не так много, вроде. Помимо этого Game_Interpreter еще 2-3. Сперва хотел вообще глобальный eval переопределить, но полезли какие-то странные ошибки и я решил не связываться.

Вообще, разница между eval и instance_eval может проявится в том случае, если у тебя есть определения методов в эвалюируемых скриптах.

До фикса, как я понимаю, исполнение скрипта 'def f; end' определяло метод Game_Interpreter#f. Однако же instance_eval создаст "собственный" метод f для инстанса Game_Interpreter. Разница проявится, если в RPGMaker создается несколько инстансов Game_Interpreter. В первом случае метод f будет доступен для всех инстансов, во втором - только для того конкретного инстанса, который выполнял скрипт с определением f.

Наверное, проблему можно будет решить созданием глобального объекта ctx, и исполнением ctx.instance_eval { ... } вместо просто instance_eval.

Сообщение слишком длинное. Полный текст.
>> No.27433  
В чем принципиальная разница между std::thread и std:: async? Кроме того, что из асинка проще вытащить возвращаемое значение.
>> No.27438  
>>27433
>что из асинка проще вытащить возвращаемое значение
Принципиальная - разные уровни абстракции: проще вытащить результат/ошибку и не надо думать о жизненном цикле потока.

std::async возвращает future, дальше клиент, когда понадобится получить результат/выкинуть исключение вызовет get(), не задумываясь что там с потоками происходит.

std::thread создаст поток, и надо будет явно обрабатывать результаты/ошибки (например, через ассоциированный с потоком promise, если хочется сложить результат в future, как это делает async), явно вызывать detach()/join().

Есть еще различия, типо что async может использовать потоки из пула (зависит от имплементации), что тоже является дополнительной абстракцией над обычными системными потоками. Если короткоживущее вычисление надо сделать, то из пула будет меньше времени на создание/деструкцию тратиться.
>> No.27439  
>>27438
Спасибо.
А где можно поподробней про это почитать?
>> No.27440  
>>27439
https://eli.thegreenplace.net/2016/the-promises-and-challenges-of-stdasync-task-based-parallelism-in-c11/

На русском например это выглядит норм
https://education.yandex.ru/knowledge/asinhronnost-v-s++20.-doklad-v-yandekse
>> No.27444  
Пытаюсь запустить десктопную консольную JavaSE-программу на Android.

Вот по этим инструкциям
https://billauer.co.il/blog/2022/10/android-java-dalvikvm-command-line/
https://raccoon.onyxbits.de/blog/run-java-app-android/

Сначала jar дексируется с помощью dx или d8 с указанием API level телефона (это часть штатного пайплайна сборки андроид-приложений, в перспективе можно сам dx дексировать и на прямо на телефоне запускать), а потом запускается через

`
sh
dalvikvm -verbose:class -classpath /sdcard/hello.jar hello
`


Сообщение слишком длинное. Полный текст.
>> No.27445  
И ещё

Suppressed: java.io.IOException: unable to open DEX file
>> No.27459  
>>27444
>>27445
Что-то на жабском


Файл: movie_002.mp4 -(1177 KB, 1068x726, movie_002.mp4)
1177 No.25313   [Ответ]
Я все же создам новый тред, да простит меня джаббер тред внизу каталога.

Решил вкатиться в юнити. Читаю их туториалы, пока в восторге от доступности и простоты материала (по сравнению с тем, что было раньше)

Буду тут писать отчеты.

Пара ссылок:
Сайт: https://unity.com
Обучение: https://learn.unity.com
Есть тг канал: @unity3d_ru
Пропущено 4 сообщений и 4 изображений. Для просмотра нажмите "Ответ".
>> No.25339  
Файл: movie_005.mp4 -(2160 KB, 854x480, movie_005.mp4)
2160
Юнит3 Junior курса оказался богат на новые для меня фишки. Впервые потыкал компоненты:

  1. Animator. Это такая стейт машина с переходами между различными анимациями и условиями для этих переходов. Ей можно управлять, изменяя параметры, участвующие в условиях перехода.
  2. AudioSource. Можно проиграть подгруженный аудио файл. Все просто.
  3. Collision Trigger. Можно детектировать столкновения между объектами. Можно даже чекать объекты по их тегу и в зависимости от этого делать различное поведение. Сами коллайдеры еще бывают разными в зависимости от их формы.
  4. Particle System. Частицы, изменяющиеся во времени. Можно делать эффекты. Им почти как и аудио, можно сделать Play() и Stop().

>> No.25364  
Файл: movie_003.mp4 -(4003 KB, 854x480, movie_003.mp4)
4003
Попробовал корутины. С шарпом почти не знаком, и тут они мне показались немного необычными. В моем понимании, корутина - это что-то что с момента создания живет немного своей жизнью, но ее можно подождать (ну или события от нее послушать). Здесь же yield-ом корутина может отдать управления обратно основному циклу (прям в любом месте), при этом в нее точка выполнения вернется сама, когда ей будет это удобно..

Но корутинами удобно описывать процессы, которые должны протекать во времени в течение нескольких фреймов. В противном случае можно утонуть в бесконечных таймерах и флагах, делая это все в основной функции обновления фрейма.
>> No.25389  
Файл: movie_004.mp4 -(4372 KB, 1280x720, movie_004.mp4)
4372
UI оставил двоякое впечатление, с одной стороны все просто. С другой стороны, чтобы его сделать невырвиглазным, нужно постараться.
>> No.25401  
Узнал сейчас про object pooling. Если один и тот же объект планируется создавать и удалять много раз, то гораздо оптимальнее будет инстанциировать лист этих объектов и сделать каждый из них неактивным. Далее, в момент когда объект необходим в сцене, из пула берется один из его инстансов и делается активным. При этом могут меняться некоторые из его параметров (например позиция).

Ну и соответственно, если активный объект больше не нужен, но не удаляется, а делается неактивным. Пул всегда возвращает один из неактивных объектов, то есть не используемых в данный момент.

В итоге получается, что мы имеем в памяти постоянное количество объектов (равный размеру пула), а не постоянно создаем и удаляем бесконечное количество объектов по мере работы сцены.
>> No.25412  
Unity вкатывается в настоящую мультипоточность и асинхронность. В то время как в мире микросервисов это давно стандарт, в таких больших проектах похоже не так все просто.

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

Основная фишка тут в том, что подобный подход требует изменений в структурах пользовательского кода и объектов. Для этого были придуманы конверторы, и это вылилось в отдельную версию редактора. Пользователь работает с игровыми объектами и их компонентами, как и раньше. А дальше они сами конвертируются в “новые” сущности и компоненты (Entity Component System) для работы с ними в коде.

Ну и в коде, в связи с этим, уже нет работы с игровыми объектами в их обычном понимании, а с компонентами напрямую, которые в свою очередь уже содержат какие-то данные (например позиция, скорость). Отсюда этот подход получил название Data-Oriented Technology Stack. Классы теперь наследуются не от MonoBehaviour, а от JobComponentSystem.

https://unity.com/dots
Сообщение слишком длинное. Полный текст.
>> No.25423  
Погуглил больше про ECS.

Концепция сама существует давно и не является изобретением Unity, но уже DOTS - их термин. Она сама по себе не про производительность, а про подход к описанию игрового мира и взаимодействий в нем.

В ECS игровые объекты не наследуют кучу всего и не создаются со статичной кучей параметров и компонентов, существующих вплоть о момента удаления объекта. В ECS игровые объекты - просто entities, некие изначально пустые "сущности", играющие роль уникальных идентификаторов.

Параметры игровых объектов (например, здоровье, скорость, "прыгучесть", etc) являются самостоятельными компонентами (components), не привязанными ни к какому объекту статично. Они могут назначаться каким-либо entities, если им необходимо данное поведение/характеристика. Причем эта привязка или отвязка происходят в рантайме, что позволяет делать классные вещи в виде изменения казалось бы статичных характеристик игрового мира в уже работающих клиентах.

Системы (systems) содержат уже логику, обрабатывающую данные из компонентов. Можно думать о них, как о контроллерах. Важно то, что системы не завязаны на конкретных компонентах и entities. По крайней мере в юнити, как я понял, системы могу выбирать entities на основе привязанных к ним компонентов (entity query) и тем самым всегда работают с группой entities. Поэтому в коде много foreach :)
Сообщение слишком длинное. Полный текст.
>> No.25450  
Файл: movie_005.mp4 -(436 KB, 854x480, movie_005.mp4)
436
Разобрался со сценами и переходами между ними. Сцена - это некая уникальная инстанция мира. В зависимости от сложности игры может быть отдельным уровнем, может быть целым открытым миром. Или это может быть просто menu screen.

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

Персист данных между сессиями (между разными запусками игры) сложнее. Причем не потому, что надо писать в файл или работать с другими внешними сущностями. А потому что надо постоянно думать, могут ли внутренние структуры быть сериализированы. В шарпе не все так однозначно. Обычный array, например, может быть сериализирован в json, List уже нет. Хотя BinaryFormatter с ним справляется без проблем.
>> No.25670  
бамп

Стив, как дела, продвигается ли изучение?
>> No.26109  
Файл: maxresdefault.jpg -(88 KB, 1280x720, maxresdefault.jpg)
88
>>25670
Забил на какое-то время. Переезды, смена работы и всё такое
Ещё как закончил курс junior programmer, у меня случился overwhelm от осознания уровня необходимых скиллов (которые нужно качать и качать 100500 лет как в олдскулл ммо), что демотивировало продолжать процесс.

Недавно появилось желание раздропнуть. Начал новый курс Creative core. Посматриваю на применения Юнити в не-игровых индустриях, изучаю какие есть наработки в AR, webrtc, нативная интеграция в мобилках и всё такое.
>> No.27432  
>>26109
ну чО, как результаты?


Файл: 1383852009227.png -(34 KB, 355x585, 1383852009227.png)
34 No.15850   [Ответ]
Данная нить сделана по согласованию с администрацией Ычана.

У администрации Ычана появилось желание добавить некоторые функции в стандартный пользовательский интерфейс, что требует доработки местного JS. Поскольку специалистов в этой сфере на примете нет, было решено обратиться к сообществу.
Какие функции нужны:
  • Скрытие тредов. Видимо, с использованием localstorage. Учитывайте возможность развернуть тред обратно.
  • Разворот картинки на странице по нажатию на уменьшенную копию. Большие картинки должны разворачиваться не в натуральную величину, а с учётом ширины и высоты окна. По повторному нажатию сворачиваться обратно. Учитывайте, что иногда вместо уменьшенной копии бывает заглушка спойлера, а в огороженном разделе /gf/ есть флэшь-файлы, которые этак разворачивать смысла нет.
Желательно, чтобы скрипты были достаточно легковесны, чтобы помещаться в wakaba.js. Минимальными должны быть и предлагаемые правки вёрстки самих страниц (радикально никто ничего перепиливать не будет).
Предпочтительная лицензия скриптов — общественное достояние (public domain), как у самой «Вакабы».

Пока всё. Администрация не рассматривает идеи подключения куклоскриптов или чего-то подобного тяжеловесного целиком, так как стремится сохранить минимализм интерфейса сайта. Также пока не рассматриваются предложения по неким другим функциям.
Пропущено 461 сообщений и 136 изображений. Для просмотра нажмите "Ответ".
>> No.25694  
Репозиторий вроде все еще жив
https://github.com/WagonOfDoubt/iichan-extensions
И в контрибуторах есть Мицгол, который еще с нами, так что шансы на починку есть.
>> No.25705  
Файл: Очень страшное кино 2 - ну на.webm -(2119 KB, 1920x1080, Очень страшное кино 2 - ну на.webm)
2119
>>25694

Эппловскихъ устройств не имѣю, ѿлаживать негдѣ.
>> No.25706  
>>25693
Учитывая обстоятельства >>25705 получается, надо создавать issue на гитхабе, чтобы хоть как-то обратить на проблему внимание.
>> No.25770  
Файл: [HorribleSubs] Toaru Majutsu no Index III - 05 [10.jpg -(213 KB, 1920x1080, [HorribleSubs] Toaru Majutsu no Index III - 05 [10.jpg)
213
Кстати, ни у кого не осталось кода для поддержки ЎэбП, который когда-то постили в /d/? Или какой-нибудь новый кот для этого.
>> No.25771  
Файл: screenshot.webp -(50 KB, 929x547, screenshot.webp)
50
>>25770

http://ii.yakuji.moe/d/res/250303.html#251062
>> No.26119  
Файл: quote1.webp -(744 KB, 2459x8483, quote1.webp)
744
Упомянутая в сообщении >>20993 проблема https://trac.ffmpeg.org/ticket/7613 исправлена разработчиками FFmpeg, и предположительный срок её исправления оказался даже больше того, насчёт которого я мрачно подозревал в сообщении >>21078: не только до середины 2021 года, но даже и до февраля 2022 года поневоле пришлось дожидаться.

Дополнительные подробности я изложил в сообщениях https://t.me/ReadMithgol/476 и https://t.me/ReadMithgol/478 в Телеграме, растровые копии которых я прилагаю и тут, но только по одной (а не то итог склеивания их по вертикали, весьма вѣроятно, натолкнулся бы на препятствие >>/d/2649 при малѣйшей попытке помѣстить его на 410чан).
>> No.26120  
Файл: quote2.webp -(760 KB, 2458x8743, quote2.webp)
760
Второе приложение к сообщению >>26119.
>> No.27428  
Файл: Screenshot 2024-04-19 at 13-43-02 Ычан.png -(14 KB, 1175x200, Screenshot 2024-04-19 at 13-43-02 Ычан.png)
14
На «Ычане» севодни была сделана прилипающая навигация (по аналогии с местной). Некоторым она не нравится, так что можно было бы сделать её настраиваемой (как на «4чане»).
Предлагаю сделать как на картинке. Кнопку закрепа следует взять из местного движка. Поведение у кнопки такое же, как тут в быстром ответе.
Делать, очевидно, через ӁС и надо, чтобы оно запоминало положение. По умолчанию навигация должна быть прилипающая. Скрипту достаточно просто изменять "position: sticky;" в ЦСС, я так понимаю.

Это официальный запрос.
>> No.27430  
>>27428
Почему кукла то не работает на ыче? Раньше работала и было удобно, теперь же даже менюшки в правом нижнем углу нет. Я не погромист этот ваш, не знаю как чинить. Без куклы оно и не надо же, а с куклой -- пусть будет. Верните куклу, пожалуйста.
>> No.27431  
>>27430
>Почему кукла то не работает на ыче?
Не знаю, спрашивайте у её разработчика. Это не тред поддержки куклоскрипта. «Ычан» тут ни при чём.


Файл: erogepok.jpg -(44 KB, 604x602, erogepok.jpg)
44 No.14488   [Ответ]
Тред №1 для чиочана, №29 для ычана.
Основная новость: wikia-площадка уже долгое время как имеет для нас третьестепенное значение. По большему счёту, она пригодилась для ревизии ресурсов именно на первых порах.
Остальное мы успешней обсуждали и решали в тредах. Помимо этого мы минимизировали контакты с соцсетями и коммьюнити БЛ.

FAQ проекта.
Устаревшая страница: http://eroge-dopil.wikia.com/wiki/FAQ
Update от 2016 года - поправлена информация в FAQ, перенесено на пастебин.
http://pastebin.com/kRRLUeMQ

В Гитхабе идёт работа над скриптом. Обновления редкие, в размере одного сюжетного эпизода.
https://github.com/yakui-lover/eroge-dopil

Сообщения об ошибках и неточностях приветствуются, критика будет встречена хорошо, если по делу.
А у кого есть идеи, предлагайте альтернативу при критике. Да и вообще новые идеи для слайсоивентов, не затрагивающих сюжетные твисты, концовки и тому подобное.
Сообщение слишком длинное. Полный текст.
Пропущено 423 сообщений и 89 изображений. Для просмотра нажмите "Ответ".
>> No.26884  
Файл: ck5zy7hj9lhgwvu.jpg -(40 KB, 450x281, ck5zy7hj9lhgwvu.jpg)
40
С Наступающим Новым 2023 Годом всех.
Пусть он будет меньше на утраты и беды, чем уходящий.
>> No.27257  
Файл: snail.png -(1003 KB, 2048x2048, snail.png)
1003
Я — морская улиточка.
>> No.27261  
Проект окончательно всё?
>> No.27262  
>>26323
Разработчики, родненькие, подайте пожалуйста хоть какой-то сигнал по вам и о статусе проекта
>> No.27286  
>>27262
Статус проекта: обглоданные кости.
>> No.27297  
Файл: 1149377372369.png -(8 KB, 384x384, 1149377372369.png)
8
>>27262
Как-то так вышло, что все сколь-либо активные участники ныне забанены на Автобусе, скорее всего после последних вайпов. И мне было лень отписаться.
Лично я слушаюю что всё ещё делается, надеюсь, жду и даже получаю запросы на помощь.
>> No.27306  
>>27297
А в процессе слушания вещества употребляете?
>> No.27318  
Файл: how about no.gif -(502 KB, 220x181, how about no.gif)
502
>>27306
>> No.27327  
Файл: 65736874960.jpg -(183 KB, 2560x1196, 65736874960.jpg)
183
С Наступающим всех Новым годом!
>> No.27429  
>>27297
Тебе отвечает нейросеть.


Файл: cpp_furudo_erika.png -(754 KB, 800x800, cpp_furudo_erika.png)
754 No.17934   [Ответ]
Учим C++ за 21 день всем чиочаном.
Можно показывать крутой или страшный код, просить помочь с лабами и контрольными, помогать другим, а главное - много кодить.

Пополняемый список полезностей тут: https://docs.google.com/document/d/1rPPbiViiLSR2PlPnQWpZyk9Sz6-J7ucyM7HR6wvsYKk/edit?usp=sharing
Пропущено 150 сообщений и 29 изображений. Для просмотра нажмите "Ответ".
>> No.27230  
>>27223
Нет смысла руками прописывать inline.
Компилятор сделает это лучше тебя.
Выноси большие функции, время выполнения которых много больше 4-5 тактов связки CALL/RET, в .cpp файл, а если хочешь обнять линк-тайм инлайнинг, читай документацию.
>> No.27231  
Файл: 2023-08-25_20-23.png -(70 KB, 900x514, 2023-08-25_20-23.png)
70
>>27228
Не знаю даже, попозже посмотрю, имеет ли это смысл. Сейчас, почитав Вашу ссылку, у меня появились сомнения в использовании встраиваемых функций.
>>27230
>Компилятор сделает это лучше тебя.
Ему же вроде надо подсказать. Нf пикриле доки MS.
>> No.27234  
Файл: 16439095459943.gif -(1290 KB, 700x393, 16439095459943.gif)
1290
>>27229
Да вроде норм.
Кода у Тебя мало, ещё неизвестно, как он себя поведёт при усложнении проекта. Ты лучше пока обдумай, как будет структура классов.
Старайся делать обёртку с нулевыми издержками и не забывать о KeepItSimple,Stupid и DontRepeatYourself.

А так, продолжай в том же духе и поглядывай на обёртки других библиотек/фреймворков.
>> No.27242  
Файл: 13df57ba04aea789b240fb7f82b89194.jpg -(13 KB, 250x367, 13df57ba04aea789b240fb7f82b89194.jpg)
13
>>27229
>Rails-подобного C++-фреймворка
Звучит так, что у тебя должен быть ActiveCache/ActiveObject/(другое название), который внутри вызывает, например, абстрактный ImdbAdapter. И уже на нижнем уровне должна быть реализация в виде RedisAdapter, наследующегося от ImdbAdapter.

Функция redisContext() уж точно должна быть приватной, иначе непонятно, что именно обёртка должна скрывать.

Интересно узнать, как твой Rails-подобный C++ фреймворк будет работать, в частности, какие практики из "convention over configuration" ты хочешь применить. В отличие от Ruby, язык не динамический и имеет меньше возможностей для метапрограммирования.
>> No.27287  
>>27223

Очевидные C++-модули.
>> No.27307  
Файл: F9JpzlNWEAAZhHz.jpg -(23 KB, 983x602, F9JpzlNWEAAZhHz.jpg)
23
>>17934

Всех приветствую. Делаю задание для шараги, нужно написать прогу которая способна сжимать и растягивать файл алгоритмом LZW. Сам алгоритм предполагает наличие начального словаря, который по ходу сжатия файла(нахождения в нём новых последовательностей байтов) расширен. То есть для того чтобы в дальнейшем растянуть файл обратно, нужно знать словарь. И вообще понять, подлежит файл растягиванию или же это просто белиберда из битов. Пока такие соображения: первые биты в сжатом файле сделать что-то типа сигнатурных, чтобы можно было сходу определить можно ли растянуть файл. И после сигнатурных битов будут биты сжатого файла, а потом будет магическое число типа как "разделитель" между файлом и словарём. Насколько хорошая идея использовать магическое число как разделитель? Или же лучше будет выделить под сжатый файл первые 4 бита как сигнатурные, где помимо метки сжатия файла будет ещё число под оффсет, как количество битов после которых заканчивается сжатый файл и будут пары ключ-значение из словаря? Или может быть лучше сделать по-другому как-то?
>> No.27313  
>>27307

>Делаю задание для шараги, нужно написать прогу которая способна сжимать и растягивать файл алгоритмом LZW.

Нахрена нужен ещё один LZ*-алгоритм, их и так как собак нерезанных.

#include <zstd.h>
и пошли нафиг. Требуемые возможности в нём есть. А неподдерживаемую самоделку, которую самим же и развивать придётся, в прод тащить - себе дороже. Мелкошарага - это не FAANG, чтобы свои алгоритмы компрессии общего назначения тянуть.
>> No.27314  
>>27313
Вполне возможно, речь идёт не про фирму, а про университет.
>> No.27315  
>>27307 >>27314
Ну раз курсовая работа....

>растягивать файл алгоритмом LZW.
>Сам алгоритм предполагает наличие начального словаря, который по ходу сжатия файла(нахождения в нём новых последовательностей байтов) расширен. То есть для того чтобы в дальнейшем растянуть файл обратно, нужно знать словарь. И вообще понять, подлежит файл растягиванию или же это просто белиберда из битов. Пока такие соображения: первые биты в сжатом файле сделать что-то типа сигнатурных, чтобы можно было сходу определить можно ли растянуть файл. И после сигнатурных битов будут биты сжатого файла, а потом будет магическое число типа как "разделитель" между файлом и словарём. Насколько хорошая идея использовать магическое число как разделитель? Или же лучше будет выделить под сжатый файл первые 4 бита как сигнатурные, где помимо метки сжатия файла будет ещё число под оффсет, как количество битов после которых заканчивается сжатый файл и будут пары ключ-значение из словаря? Или может быть лучше сделать по-другому как-то?

Строение формата: разделить стрим, словарь и контейнер. Все числа - little endian! Файл маппится в память целиком через либу mio, дальше работаешь с std::span и структурами. Стрим состоит из заголовка стрима и стрима. Без сигнатуры. Контейнер состоит из сигнатуры, глобального заголовка, содержащего длину области контейнера и смещения областей стрима и словаря в ней ОТНОСИТЕЛЬНО КОНЦА ЗАГОЛОВКА. После следуют области, сначала область словаря, потом область стрима, потом конец файла. Ты провершь это при загрузке файла. Размеры вычислишь как разницы этих смещений.
Сообщение слишком длинное. Полный текст.
>> No.27369  
Наткнулся при компиляции на ошибку вот в этой строчке
> typedef int Check[sizeof(A) == sizeof(int) + sizeof(bool) ? 1 : -1];
Долго думал, что это за ерунда такая, а потом как понял.
Структура А определена как
> struct A {bool b; int a;};
Оказалось, что это проверка на отключение выравнивания в структурах -fpack-struct=1.


Файл: shithub.jpg -(214 KB, 507x500, shithub.jpg)
214 No.26878   [Ответ]
https://github.blog/2022-12-14-raising-the-bar-for-software-security-next-steps-for-github-com-2fa/

Вводят всем обязательный 2FA, кто не хочет 2FA - тех посылают на хѣръ.

Мало того, что встала проблема "куда валить", а валить простт некуда, ибо gitlab.com давноьстал парашей похуже гитхабовской. Теория игр обязывает. Всякие framagit и codeberg вообще не пойми кем и за чей счёт хостятся. Благотворительность? Не верю.

Единственный более-менее нормальный вариант, который я вижу - huggingface.co.

Так разбегание людей по платформам добъёт опенсорс. Даже сообщить о багах будет невозможно, ибо аккаунтов на всех платформах у тебя может и не быть, или быть, но пользоваться ими станет невозможно. Например, GitLab, после их ввода Cloudflare https://gitlab.com/cdn-cgi/challenge-platform/h/g/orchestrate/jsch/v1 для меня просто исчез. А когда обяжут использовать 2FA, исчезнет и GitHub. А почти все проекты, в которые я контрибьютил - именно там.

Даже сама покупка GH M$ нанесла непоправимый вред, часть пользователей сделала #moving2gitlab, а GitLab оказался похуже M$. А после Conservancy подлили масла в огонь с их запущенной формы копирастии "если ты на GPL-код посмотрел, значит весь твой код - производная работа, соблюдай GPL, или плати, встретимся в суде, а всем остальных просим свалит с GitHub, потому что нашим лоерам хочется подогнать обучение под нарушение GPL". К сожалению среди GPLастов нашлись те, у кого это обращение вызвало отклик "да, давайте покопирастничаем", и они перевели свои вообще-то годные проекты на всякие помойки.
Сообщение слишком длинное. Полный текст.
Пропущено 7 сообщений. Для просмотра нажмите "Ответ".
>> No.27017  
>Очень жаль, но именно для этого и почта была придумана, а не для того, чтобы аккаунты в твоих соцсеточках регистрировать.

Почта была придумана, чтобы слать сообщения друг другу, а не получать тонны хлама из mailing listов.
>> No.27044  
>>26930
Ещё есть https://sourcehut.org/ для тех, кто не боится "минимализма" и немного странного подхода к разработке.
>> No.27078  
>>27017
Нет, она была именно для мейлинлистов придумана, просто у вас кривые почтовые клиенты, а не gnus.
>> No.27083  
Я просто оставлю это здесь:
https://github.com/orgs/community/discussions/49869
>> No.27084  
Тем временем олдфаги вспоминают, какой и кому подарок сделала SourceForge в начале 2010.
>>27012
>А селф-хостед вариант почему не подходит?
Для почты и жаббера нужен внешний домен, наличие которого — удовольствие порой недешёвое.
>>27017
>Почта была придумана, чтобы слать сообщения друг другу
Было бы всё так — не изобрели бы ICQ и XMPP, из-за громоздкости почты для коротких сообщений.
>> No.27147  
>>27084

То что почта морально устарела - никто не спорит. Но когда она появилась, всех перечисленных систем мгновенных сообщений просто не было. И ICQ хоть когда-то и была очень популярной системой, до сегодняшнего дня не дожила. А почта живёт и здравствует благодаря своей простоте и федеративности. Главные её недуги - это то что почти везде требуется привязка телефона и JavaScript, а self-hosted держать неудобно и затратно.
>> No.27271  
Свершилось, просветления в уму у руководства гитхаба не наступило. M$ потребовало от всех 2FA. При этом в качестве "2FA" подходят 1FA, если этот 1FA - "Passkey" (подробнее https://auth0.com/blog/our-take-on-passkeys/) от FIDO Alliance, в который входит M$. Свалить будет трудно: некоторые проекты валить не хотят "мы не для того на GitHub переходили, чтобы с него обратно валить", при этом своя инфраструктура ещё не полностью ликвидированна и можно её просто включить и с GitХапа все новые issues импортировать. Я же валю на codeberg.
>> No.27328  
>>27271
А я просто врубил OTP в keepassxc, который вполне себе опенсорсный, но тем не менее может генерировать одномоментный пароль для гитхаба и многих других сервисов. Использовать проприетарный аутентификатор со смартфона необязательно.

А ещё нужно помнить про infrastructure distrust, вы можете:
1. Создать bare репозиторий прямо у себя на диске с помощью
git init --bare
И потом пушить в него. Этот репозиторий может даже быть на отдельной флешке или жестком диске. Вы можете добавить его как дополнительный ориджин для гитхабовских репозиториев.
2. Подписывать свои коммиты с помощью gnu pg

Про infrastructure distrust можно больше узнать у Джоанны Рутковской:
https://invisiblethingslab.com/

BTW: С новым годом.
>> No.27329  
Ладно, на самом деле вот здесь:
https://www.qubes-os.org/faq/#what-does-it-mean-to-distrust-the-infrastructure
И немного здесь:
https://github.com/QubesOS/qubes-issues/issues/3958
>> No.27330  
Ладно, на самом деле вот здесь:
https://www.qubes-os.org/faq/#what-does-it-mean-to-distrust-the-infrastructure
И немного здесь:
https://github.com/QubesOS/qubes-issues/issues/3958


Файл: 17017860917060.jpg -(179 KB, 1028x1280, 17017860917060.jpg)
179 No.27308   [Ответ]
Набираем людей для коллективной подготовки к поступлению в НМУ - лучший математический ВУЗ РФ. Начинаем 01.01.2024, заканчиваем 01.07.2024. Никаких предварительных знаний иметь не нужно, от вас требуется только упорство и дисциплинированность. Все бесплатно, просто чат единомышленников.

@sswerbitskibrigade
>> No.27311  
>>27308
Общение все идет через телеграм? Иных каналов связи нет?


Файл: 7118cd632eddd22b7a4b6559bff5e2fa.jpg -(251 KB, 810x810, 7118cd632eddd22b7a4b6559bff5e2fa.jpg)
251 No.9999   [Ответ]
http://sourceforge.net/projects/rr-rr/
Предыдущий тред: >>4274
Пропущено 144 сообщений и 76 изображений. Для просмотра нажмите "Ответ".
>> No.25030  
10 лет прошло с начала разработки. Технологии рендера изменились до неузнаваемости. Уже делают рилтайм рейтрейсинг с постобработкой нейроночками, и все это с аппаратной поддержкой.
...
А ты копаешь ассемблерный код сравнения чисел.
>> No.25117  
>>25030
Я конечно понимаю, что бесконечное копание ассемблерного кода это самоцель проекта, но почему бы по-быстрому не набросать то же самое на юнити. Мне кажется концепт сам по себе вполне играбелен, и достоин того, чтобы принять более-менее оконченный вид.
>> No.25121  
Файл: eb0aaea675a596d1f4a1b92f688a39ae.jpg -(57 KB, 599x479, eb0aaea675a596d1f4a1b92f688a39ae.jpg)
57
>>24739
Я удалил старые билды, а из исходников скомпилировать нельзя (на самом деле можно, но, пожалуйста, просто не пытайся). Всё будет, главное сейчас сидеть тихо и не бухтеть.

>>25117
Я не буквально «бесконечно копаюсь в ассемблерном коде» (хотя и занимаюсь чем-то близким по осмысленности), я и ассемблер-то почти не знаю. Просто написал под впечатлением, что вот, смотрите, интринсики завезли. BTW:
>>25030
>10 лет прошло ... Технологии рендера изменились до неузнаваемости.
Всё ясно, автору 10 лет.
Да нет, почти всё придумано в прошлом веке. ЭВМ Наири-3 поддерживала разделение времени и эмуляцию других ЭВМ. Рейтрейсинг и нейросети использовали ещё раньше.

>занимаюсь чем-то близким по осмысленности
Например, я буквально пару дней назад догадался сделать хранение базиса касательного пространства в вершине не обычными 2 векторами (нормаль + касательная, 3-й восстанавливается в шейдере через их cross), а кватернионом, т. к. этот базис, в предположении, что не может быть разортонормализован или отражён, представляет собой поворот некоторого исходного базиса — скажем, X = (1, 0, 0), Y = (0, 1, 0), Z = (0, 0, 1).
Сообщение слишком длинное. Полный текст.
>> No.26014  
Тред умер?
>> No.26015  
>>26014
А ты думал, аффтору потребовалось если ответить 4 месяца на вопрос о пропаже билдов, и так их и не залить.
Но вроде что-то пилит.
>> No.26016  
Файл: eab5aeaf7edde6e28fc2a660c3d0cb3a.png -(3256 KB, 1200x1800, eab5aeaf7edde6e28fc2a660c3d0cb3a.png)
3256
>>26014 >>26015
Сказал же буквально на днях, всё будет, хорош шуметь.
>Третий тролль сказал: «Прощайте! Ненавижу болтунов».

За прошлый год я, хотя ничего не делал, стал парадоксальным образом в промышленных масштабах натыкаться на баги Free Pascal, отчего потерял терпение и повадился громко плакать о них на багтрекере в противоположность тому, как ранее натыкался на них раз в год и обходил переформулированием кода. Последние две недели плотно занимался https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/179, а вообще из всего, в чём засветился, мне больше всего нравится https://gitlab.com/freepascal.org/fpc/source/-/issues/39360 («копание в ассемблерном коде», да). Не подумайте, мне были жесть как нужны, соответственно, карманная база Юникода и ускорение генерации шума Перлина до уровня, когда текстуру с ним можно генерировать на месте, а не таскать с собой, здесь нет никаких проблем с приоритетами. Ну или, может, и есть самая малость, но кто сказал, что я прямо сейчас не возьму и не пойду дорисовывать Сырну?!
>> No.26018  
>>26016
>Сказал же буквально на днях
Где??
Но вообще, контрибы в язык - это ты малаца, завидно даже.
>> No.27280  
Гиде билды?
>> No.27282  
Файл: e2d39d729650d44e2f68be3d6fafde8b.jpg -(190 KB, 1684x2048, e2d39d729650d44e2f68be3d6fafde8b.jpg)
190
Хорош бампать, я сам бампну, когда придёт время.

Недавно гулял с сестрой в лесу. Она при всём уважении к моим хикки-привилегиям выразила заинтересованность в доступном объяснении, чем я занимаюсь целыми днями. Я сказал, что если честно, то делаю скорее не непосредственно свои проекты, а разные штуки для Паскаля (до этого сам похвастался, как сделал по просьбе человека с жёлтой аватаркой https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/446 за 1 день и €250; у человека свои причины улучшать совместимость с Delphi: https://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg41878.html, но конкретно эти классы — очевидный бред и полная чушь и совершенная мерзость, решающая несуществующую проблему и не имеющая отношения к маршалингу, и мне стыдно за это; ковыряние с ассемблерным кодом в миллион раз лучше, одно моё творчество над стандартной функцией CompareByte ускоряет абьюзящие её программы на 10~20% в целом). Она спросила, зачем мне Паскаль, я сказал, что для той игры, которую показывал 10 лет назад. Она сделала сочувственное лицо и спросила, неужели я её до сих пор не доделал. Кажется, мой ответ заключался в том, что я ничего не делал всё это время, потому что мне было грустно, что у меня нет друзей. Этот ответ вроде как верен, и если не уточнять, что причина что-то делать у меня была точно такая же, даже удовлетворителен. *вздох*

Потом я рассказал, как один человек (вот он же это прочитает и поймёт, насколько скучно я живу...) принёс на свидание со мной планшет и заставил зарисовать некоторые идеи под дулом пистолета, и она сказала, что со мной только так и надо. *вздох*
>> No.27283  
>>27282
>Хорош бампать
Раз в полтора года слишком часто, нужно было хотя бы до круглой даты дотянуть? xP

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


Назад [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]

[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]