В сей нити мы упорядочиваем усилия по доработке местного движка. Репозиторий: https://bitbucket.org/Therapont/fbe-410 1. Для ваших предложений предназначена ветка public. 2. Только администрация 410чана решает, что в этом движке надо, а что не надо. Соответственно, не стоит излишне пропихивать всякие там революционные идеи. Одобренные потенциальные изменения перечислены на багтрекере (записи, созданные владельцами репозитория). 3. Тестирование предложенных изменений и развёртывание принятых ведётся при наличии у администрации свободного времени на это. Обычно это делается по выходным. 4. Код выложен как есть. Никаких неопубликованных скрытых функций и частей не существует. Предыдущая нить: >>20450
Или в div над постформой, затирая replymode или нет.
>>27632 С формой быстрого ответа можно сделать что-то похожее, но тогда надо придумать, как ограничить ширину tr-а, если сообщение об ошибке длинное.
> ограничить ширину tr-а, если сообщение об ошибке длинное А, через width:min-content.
>>27630 Так там какие-то проблемы есть с тем, чтобы просто прямоугольная фитюлька в углу (например, верхнем правом) выплывала, а потом уплывала обратно через несколько секунд? >>27631 бы тоже покатило, но мы в теории можем когда-нибудь сделать настраиваемую прилипчивость верхнего меню, а эта штука всегда должна быть видна. В целом, можно не торопиться: работа, видимо, опять встала. Она шла бы быстрее, если бы вы осилили зарегистрироваться в репозитории, лол.
>>27635 Технически нет. Но хочется увидеть пример, чтобы понять внешний вид и её оптимальные размеры относительно остальных элементов. Мои проблемы с фитюлькой в правом верхнем углу: Ассоциация с please accept cookies, пусть такое обычно в левый нижний угол пихают. Topmenu-вариант больше похож на статусную строку, хотя статус обычно снизу; Сообщение релевантное содержимому формы постинга может далековато от неё оказаться. Может понадобиться переводить взгляд с левого нижнего угла экрана, где форма быстрого ответа, на противоположный. Более проблематично на большом мониторе. У topmenu-решения та же проблема, но оно во всю ширь экрана/браузера, сразу не заметить сложнее; У нас сейчас документ идёт строка за строкой, кроме когда пользователь решает перетащить форму постинга, и кроме div-а с избранными нитями (Которым кто-то пользуется?). Теряется alignment. > но мы в теории можем когда-нибудь сделать настраиваемую прилипчивость верхнего меню, а эта штука всегда должна быть видна Проблем нет совместить, если потом когда-нибудь делать. BTW, вариант для быстрого ответа, как на картинке, точно совсем не подходит?
>>27636 Уведомления в интерфейсах обычно вылазят поверх содержимого, а не встраиваются в него, меняя размеры объектов. Тем более, что внутри нитей содержимое форм дублируется, и нет никакого смысла к конкретной форме что-то прилеплять. >Ассоциация с please accept cookies, пусть такое обычно в левый нижний угол пихают. Эти штуки и во всю ширину бывают. В любом случае, с ними пользователь должен взаимодействовать, а наше уведомление должно само появляться и пропадать через некоторое время (впрочем, кнопку закрытия можно и приделать).
>>27674 Раз >>27631-версия подходит, сделаю её тогда. Скорее всего, patch будет где-то в конце августа. > внутри нитей содержимое форм дублируется Кажется, там дублируется только содержимое input-ов и textarea. > кнопку закрытия можно и приделать OK.
Запилено >>27631 в ≈>>27593 виде. Можно тестировать. Стилеспецифичный CSS statusbar'а только для Умночана написан.
キタ━━━(゚∀゚)━━━!!
>>27592 > Но Google-поиск тоже AVIF не понимает. С прошлой пятницы (30 августа) начал понимать: https://developers.google.com/search/blog/2024/08/happy-avifriday (Скриншот прилагаю.)
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет. Пополняемая база знаний: http://pastebin.com/AGhLZppH Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда. Не знаете, где клиент, а где сервер? Вам сюда. Не понимаете, что такое ООП? Вам сюда. Написали код, и не понимаете, почему не работает? Вам сюда. Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда. Не знаете, как подступиться к проблеме? Вам обязательно сюда. Другие тематические нити (иногда обновляется): https://pastebin.com/psy43ibG Сообщение слишком длинное. Полный текст.
>>27683 Спасибо, за ответ друг. Да, туториал по созданию проекта читал и утилиту качал оттуда. Я решил просто в итоге создать самый обычный классический проект без всяких дополнений вообще, просто чтобы попробовать делать уже что-то, начал знакомство с классами, какие для чего нужны и за что отвечают. Так же я посмотрю всё, что ты прикрепил и да, ты дал мне именно то, что мне было нужно. Спасибо тебе большое ещё раз. Я если честно не думал, что кто-то сможет мне ответить
>>27685 Рад что смогли помочь, заходи если что и обязательно показывай потом свою ВН!
>>27686 Хорошо, постараюсь показать! Пока есть успехи по части изучения движка/написания кода. Но когда дойдёт дело до рисования оригинальных спрайтов, цг и написания и подбора музыки, то надо будет попробовать поискать команду
Привет, Чиочан. Давненько я к тебе не заходил. Есть примерно вот такой код: https://www.onlinegdb.com/xSsjrYLhY Он должен выводить информацию о сетевых интерфейсах в системе. В онлайн-компиляторе он нормально компилируется и отрабатывает, но когда я пытаюсь запустить его на виртуалке, он падает с сегфолтом при попытке обратиться к ifa->ifa_addr->sa_family. При обращении к ifa->ifa_addr->sa_data тоже сегфолт. Такое ощущение, будто ifa->ifa_addr это nullptr. Но в отладчике видно, что там не 0. Может, у меня что-то напортачено с настройкой самих интерфейсов?
>>27688 >sa_family 57824 Какое-то очень здоровенное значение, явно ifa->ifa_addr указывает куда-то не туда...
>>27689 В общем, дело оказалось в том, что у меня в проекте выставлен ключ -fpack-struct=1 для выравнивания структур. И это выравнивание конфликтовало с тем, что хочет позиксовское апи. Пришлось прагмами вокруг инклудов отключать выравнивание, после этого все заработало.
>>27690 Это >>27369 не твой пост случайно?
>>27691 Мой.
>>27692 Любишь утрамбовывать я гляжу!
>>27693 Лишний байт сам себя не сэкономит же. На самом деле, этот кусок писали десятилетие назад совсем другие люди. С автоматически выравниванием там вроде как возникают проблемы с передачей структур по сети, насколько я понял.
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 Сообщение слишком длинное. Полный текст.
Опять жопа отвалилась
Есть ли альтернативы?
>>27658 Опять флара сломалась везде, где она есть... А чинить некому
>>27662 Kuroba Ex
>>27666 Какая-то она медленная.
>>27669 В каком плане? Приложение тормоpит? Борды не грузит?
>>27670 Зачем сагаешь, анон?
>>27670 Загрузка тредов, картинок. И не понял, можно ли отправить с неё пост на 4чан?
>>27666 Она через жопу работает, у неё неправильная логика интерфейса. А ещё у меня к этому поделию личные претензии. Однажды пидор-разраб что-то сделал и у меня все картинки направо переехали. При этом сделать мне обратно он отказался, типа мне самому нужно ещё раз открыть настройки и переключить. Ага, блядь, делать мне больше нехуй, если я один раз уже открывал эти настройки, после чего я снёс его высер и больше к нему не притронусь никогда. Дашчян тоже неправильно работает, а про зондовую показывалку таблички "хуй будешь?" мы вообще промолчим, это за бордоклиент вообще не считается.
>>27671 Предпочитаю не бампать треды нерелевантной информацией.
Тред №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 Сообщения об ошибках и неточностях приветствуются, критика будет встречена хорошо, если по делу. А у кого есть идеи, предлагайте альтернативу при критике. Да и вообще новые идеи для слайсоивентов, не затрагивающих сюжетные твисты, концовки и тому подобное. Сообщение слишком длинное. Полный текст.
Я — морская улиточка.
Проект окончательно всё?
>>26323 Разработчики, родненькие, подайте пожалуйста хоть какой-то сигнал по вам и о статусе проекта
>>27262 Статус проекта: обглоданные кости.
>>27262 Как-то так вышло, что все сколь-либо активные участники ныне забанены на Автобусе, скорее всего после последних вайпов. И мне было лень отписаться. Лично я слушаюю что всё ещё делается, надеюсь, жду и даже получаю запросы на помощь.
>>27297 А в процессе слушания вещества употребляете?
>>27306
С Наступающим всех Новым годом!
>>27297 Тебе отвечает нейросеть.
>>27429 Нет, даже я молчу. нейросеть
>>27441 Дудосят.
>>27008 Чаще есть. Но теперь совместно с пустотой перестаёт грузиться капча в тредах. Из браузера всё нормально. Обычно приходит в норму в пределах получаса.
Кто может вот так же для Ычана сделать?
Опять оранжевый не работает. На life обновляются треды, но каталоги и капча forbidden. На hk большую часть времени постоянно forbidden, но иногда грузит.
Почините харкач уже кто-нибудь, пожалуйста, ну сил никаких больше нет терпеть постоянное 403 и страдать в сраном дашчяне дебильном, где всё неправильно и через жопу работает.
ДА КТО-НИБУДЬ УЖЕ ПОЧИНИТЕ ЁБАНЫЙ ХАРКАЧ, БЛЯДЬ
Бросай нахуй это говно (харкачь), тебе уже свыше знаки шлют.
>>27638 Так больше негде сидеть.
1. Тред давно перекотился >>27507 2. Сидение на помойке, что косит под двач, это элементарное неуважение к себе. 3. С починкой тебе никто не поможет.
>>27637 >ПОЧИНИТЕ ЁБАНЫЙ ХАРКАЧ, БЛЯДЬ У меня как работало всё, так и работает. Не ебу что там за траблы у вас. Капчую с него, и тут этот пост с него пишу
Я все же создам новый тред, да простит меня джаббер тред внизу каталога. Решил вкатиться в юнити. Читаю их туториалы, пока в восторге от доступности и простоты материала (по сравнению с тем, что было раньше) Буду тут писать отчеты. Пара ссылок: Сайт: https://unity.com Обучение: https://learn.unity.com Есть тг канал: @unity3d_ru
UI оставил двоякое впечатление, с одной стороны все просто. С другой стороны, чтобы его сделать невырвиглазным, нужно постараться.
Узнал сейчас про object pooling. Если один и тот же объект планируется создавать и удалять много раз, то гораздо оптимальнее будет инстанциировать лист этих объектов и сделать каждый из них неактивным. Далее, в момент когда объект необходим в сцене, из пула берется один из его инстансов и делается активным. При этом могут меняться некоторые из его параметров (например позиция). Ну и соответственно, если активный объект больше не нужен, но не удаляется, а делается неактивным. Пул всегда возвращает один из неактивных объектов, то есть не используемых в данный момент. В итоге получается, что мы имеем в памяти постоянное количество объектов (равный размеру пула), а не постоянно создаем и удаляем бесконечное количество объектов по мере работы сцены.
Unity вкатывается в настоящую мультипоточность и асинхронность. В то время как в мире микросервисов это давно стандарт, в таких больших проектах похоже не так все просто. До сих пор в стейбл версии используется старый подход, при котором главный цикл обновления сцены однопоточен. Сейчас (точнее еще в 2018) нашли способ это сделать многопоточным со скедулингом по разным ядрам. Правда это до сих пор в превью, хотя и выглядит вполне надежно и многообещающее. Основная фишка тут в том, что подобный подход требует изменений в структурах пользовательского кода и объектов. Для этого были придуманы конверторы, и это вылилось в отдельную версию редактора. Пользователь работает с игровыми объектами и их компонентами, как и раньше. А дальше они сами конвертируются в “новые” сущности и компоненты (Entity Component System) для работы с ними в коде. Ну и в коде, в связи с этим, уже нет работы с игровыми объектами в их обычном понимании, а с компонентами напрямую, которые в свою очередь уже содержат какие-то данные (например позиция, скорость). Отсюда этот подход получил название Data-Oriented Technology Stack. Классы теперь наследуются не от MonoBehaviour, а от JobComponentSystem. https://unity.com/dots Сообщение слишком длинное. Полный текст.
Погуглил больше про ECS. Концепция сама существует давно и не является изобретением Unity, но уже DOTS - их термин. Она сама по себе не про производительность, а про подход к описанию игрового мира и взаимодействий в нем. В ECS игровые объекты не наследуют кучу всего и не создаются со статичной кучей параметров и компонентов, существующих вплоть о момента удаления объекта. В ECS игровые объекты - просто entities, некие изначально пустые "сущности", играющие роль уникальных идентификаторов. Параметры игровых объектов (например, здоровье, скорость, "прыгучесть", etc) являются самостоятельными компонентами (components), не привязанными ни к какому объекту статично. Они могут назначаться каким-либо entities, если им необходимо данное поведение/характеристика. Причем эта привязка или отвязка происходят в рантайме, что позволяет делать классные вещи в виде изменения казалось бы статичных характеристик игрового мира в уже работающих клиентах. Системы (systems) содержат уже логику, обрабатывающую данные из компонентов. Можно думать о них, как о контроллерах. Важно то, что системы не завязаны на конкретных компонентах и entities. По крайней мере в юнити, как я понял, системы могу выбирать entities на основе привязанных к ним компонентов (entity query) и тем самым всегда работают с группой entities. Поэтому в коде много foreach :) Сообщение слишком длинное. Полный текст.
Разобрался со сценами и переходами между ними. Сцена - это некая уникальная инстанция мира. В зависимости от сложности игры может быть отдельным уровнем, может быть целым открытым миром. Или это может быть просто menu screen. Все игровые объекты создаются внутри сцены и при переходе между сценами удаляются. Однако есть различные методики для персиста данных между сценами. Самый простой способ - это использование синглтона, который один раз создается при инициализации и помечается, как неудаляемый. Персист данных между сессиями (между разными запусками игры) сложнее. Причем не потому, что надо писать в файл или работать с другими внешними сущностями. А потому что надо постоянно думать, могут ли внутренние структуры быть сериализированы. В шарпе не все так однозначно. Обычный array, например, может быть сериализирован в json, List уже нет. Хотя BinaryFormatter с ним справляется без проблем.
бамп Стив, как дела, продвигается ли изучение?
>>25670 Забил на какое-то время. Переезды, смена работы и всё такое Ещё как закончил курс junior programmer, у меня случился overwhelm от осознания уровня необходимых скиллов (которые нужно качать и качать 100500 лет как в олдскулл ммо), что демотивировало продолжать процесс. Недавно появилось желание раздропнуть. Начал новый курс Creative core. Посматриваю на применения Юнити в не-игровых индустриях, изучаю какие есть наработки в AR, webrtc, нативная интеграция в мобилках и всё такое.
>>26109 ну чО, как результаты?
>>27432 Тоже любишь отчеты вкатывальщиков читать?
о, здарова, вы тоже игры делаете?
Привет Сырны, возник вопрос по разработки и создания своих собственных плат для микросхем. Интересует, с чего следует начинать? Какой язык программирования учить?
>>13477 >Ну, конкретно серия STM32 как раз более-менее проста в понимании Ты ёбнулся? Какая она простая в понимании? AVR - да, простая. PIC тоже. Но ARM - это же полная задница.
>>13793 Полная задница лучше, чем худая задница.
>>13793 Ничего там сложного, просто надо юзать HAL, если нет веских причин его не юзать. Привыкли на своём AVR трахаться с регистрами. Алсо CubeMX.
>>13482 >Потом бери игл, PiCAD или что там еще, и учись работать в нем. Не в коем случае не запускай SprintLayout, он делает очень крепкую привязку к себе синдромом утенка, пересесть с него в нормальный САПР потом будет боль и унижение, а в SL потолок поймаешь почти сразу. EAGLE и PCAD это тоже касается - много кто с них не может слезть, а если и перелезает, то обычно на Altium Designer. Стоит сразу брать либо OrCAD/Allegro, либо Expedition PCB.
>>23967 А что вы думаете про KiCAD ? Есть open source в open hardware ?
>>24441 Он довольно активно развивается, особенно, после того, как за него взялся ЦЕРН (а это уже серьёзно). EAGLE он уделывает целиком и полностью, и все, кто сидел на нём, перешли на KiCAD. Если говорить о действительно серьёзных проектах, где требуется работа с высокоскоростными сигналами - считай, всё, что имеет память и высокоскоростные интерфейсы, то лучше о нём на текущий момент не задумываться и смотреть на САПР от Cadence или Mentor Graphics.
>>13850 >HAL >CubeMX В приличном обществе после упоминания этого указывают на дверь^W CMSIS.
>>13469 ну собсна эээ ломаный sprint layout ахуенная штука для новичка, в рунете лежит тоннами, скачать не проблема. остальные кады не интуитивны нихуя, тот же альтиум отнимает кучу времени на оформление схемы, УГО и посадочных мест. сам начинал делать простенькие платы по схемам с radiokot.ru, потом вкатился в погромирование МК AVR на сях по гайдам с avr-start.ru, а потом уже стал смешариком и умею в собственные разработки, ассемблер, FPGA, аналоговый схемач и прочие. Удачи, анон
https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Autodesk-EAGLE-Announcement-Next-steps-and-FAQ.html
Kicad for serious hardware development. https://www.youtube.com/watch?v=z9BYvYlH5lo Собственно хорошее видео по сабжу на примере недавно вышедшей последней мажорной версии кикада. Много полезного, например то как дифференциальные пары в нём делать.
Кому советов от дедов? Говорите номер совета, я пошлю. За один совет принимаю одну няшную пикчу. Советы отличные! подобрал книжку в парке в шейринге
>>27246 Протокол соблюден! авторы же перемудрили мне кажется
>>27247 PS. Вообще, Очков, видимо, любит задачу про рыб: http://twt.mpei.ac.ru/ochkov/Mathcad-15/Fish.pdf
>>27248 PPS. Хотя в этой статье и про тройственную дуэль есть.
>>27247 А давай советы 0E и 0F, раз на них тут ссылаются. Одна картинка с тремя няшками сойдет, или надо разные обязательно?
>>27250 >Одна картинка с тремя няшками сойдет, или надо разные обязательно? Я долго думал как поступить. Высылаю вам превью, чтоб вы решили достойны ли эти советы двух няшных картинок!
>>27251 Ладно, держи вторую картинку.
>>27250 >>27252 Высылаю
>>27250 >>27252
Прочитал https://rakhim.org/summary-of-concurrency-is-not-parallellism-a-talk-by-rob-pike/ . КарGo-культ какой-то. Не вижу преимуществ между 100500 юзерспейсных псевдо-тредов с чем-то вроде встроенного интерпретатора while(true){ switch(taskChunkId){ case a: ... break; case b: ... break; } } перед подходом, когда на задачу выделяется по треду, делающему её от и до, ну а когда переключение контекста происходит - оно всё равно происходит в основном, когда I/O идёт. В результате нет лишнего оверхеда на всякую фигню, нет лишнего оверхеда на message passing, ну а оверхэд на хранение состояния треда можно минимизировать, избавляясь от ненужных данных тогда, когда они перестали быть нужными.
А можно мне совет 0x65, пожалуйста! >>27260 ????
Данная нить сделана по согласованию с администрацией Ычана. У администрации Ычана появилось желание добавить некоторые функции в стандартный пользовательский интерфейс, что требует доработки местного JS. Поскольку специалистов в этой сфере на примете нет, было решено обратиться к сообществу. Какие функции нужны: Скрытие тредов. Видимо, с использованием localstorage. Учитывайте возможность развернуть тред обратно. Разворот картинки на странице по нажатию на уменьшенную копию. Большие картинки должны разворачиваться не в натуральную величину, а с учётом ширины и высоты окна. По повторному нажатию сворачиваться обратно. Учитывайте, что иногда вместо уменьшенной копии бывает заглушка спойлера, а в огороженном разделе /gf/ есть флэшь-файлы, которые этак разворачивать смысла нет. Желательно, чтобы скрипты были достаточно легковесны, чтобы помещаться в wakaba.js. Минимальными должны быть и предлагаемые правки вёрстки самих страниц (радикально никто ничего перепиливать не будет). Предпочтительная лицензия скриптов — общественное достояние (public domain), как у самой «Вакабы». Пока всё. Администрация не рассматривает идеи подключения куклоскриптов или чего-то подобного тяжеловесного целиком, так как стремится сохранить минимализм интерфейса сайта. Также пока не рассматриваются предложения по неким другим функциям.
Репозиторий вроде все еще жив https://github.com/WagonOfDoubt/iichan-extensions И в контрибуторах есть Мицгол, который еще с нами, так что шансы на починку есть.
>>25694 Эппловскихъ устройств не имѣю, ѿлаживать негдѣ.
>>25693 Учитывая обстоятельства >>25705 получается, надо создавать issue на гитхабе, чтобы хоть как-то обратить на проблему внимание.
Кстати, ни у кого не осталось кода для поддержки ЎэбП, который когда-то постили в /d/? Или какой-нибудь новый кот для этого.
>>25770 http://ii.yakuji.moe/d/res/250303.html#251062
Упомянутая в сообщении >>20993 проблема https://trac.ffmpeg.org/ticket/7613 исправлена разработчиками FFmpeg, и предположительный срок её исправления оказался даже больше того, насчёт которого я мрачно подозревал в сообщении >>21078: не только до середины 2021 года, но даже и до февраля 2022 года поневоле пришлось дожидаться. Дополнительные подробности я изложил в сообщениях https://t.me/ReadMithgol/476 и https://t.me/ReadMithgol/478 в Телеграме, растровые копии которых я прилагаю и тут, но только по одной (а не то итог склеивания их по вертикали, весьма вѣроятно, натолкнулся бы на препятствие >>/d/2649 при малѣйшей попытке помѣстить его на 410чан).
Второе приложение к сообщению >>26119.
На «Ычане» севодни была сделана прилипающая навигация (по аналогии с местной). Некоторым она не нравится, так что можно было бы сделать её настраиваемой (как на «4чане»). Предлагаю сделать как на картинке. Кнопку закрепа следует взять из местного движка. Поведение у кнопки такое же, как тут в быстром ответе. Делать, очевидно, через ӁС и надо, чтобы оно запоминало положение. По умолчанию навигация должна быть прилипающая. Скрипту достаточно просто изменять "position: sticky;" в ЦСС, я так понимаю. Это официальный запрос.
>>27428 Почему кукла то не работает на ыче? Раньше работала и было удобно, теперь же даже менюшки в правом нижнем углу нет. Я не погромист этот ваш, не знаю как чинить. Без куклы оно и не надо же, а с куклой -- пусть будет. Верните куклу, пожалуйста.
>>27430 >Почему кукла то не работает на ыче? Не знаю, спрашивайте у её разработчика. Это не тред поддержки куклоскрипта. «Ычан» тут ни при чём.
Учим C++ за 21 день всем чиочаном. Можно показывать крутой или страшный код, просить помочь с лабами и контрольными, помогать другим, а главное - много кодить. Пополняемый список полезностей тут: https://docs.google.com/document/d/1rPPbiViiLSR2PlPnQWpZyk9Sz6-J7ucyM7HR6wvsYKk/edit?usp=sharing
>>27223 Нет смысла руками прописывать inline. Компилятор сделает это лучше тебя. Выноси большие функции, время выполнения которых много больше 4-5 тактов связки CALL/RET, в .cpp файл, а если хочешь обнять линк-тайм инлайнинг, читай документацию.
>>27228 Не знаю даже, попозже посмотрю, имеет ли это смысл. Сейчас, почитав Вашу ссылку, у меня появились сомнения в использовании встраиваемых функций. >>27230 >Компилятор сделает это лучше тебя. Ему же вроде надо подсказать. Нf пикриле доки MS.
>>27229 Да вроде норм. Кода у Тебя мало, ещё неизвестно, как он себя поведёт при усложнении проекта. Ты лучше пока обдумай, как будет структура классов. Старайся делать обёртку с нулевыми издержками и не забывать о KeepItSimple,Stupid и DontRepeatYourself. А так, продолжай в том же духе и поглядывай на обёртки других библиотек/фреймворков.
>>27229 >Rails-подобного C++-фреймворка Звучит так, что у тебя должен быть ActiveCache/ActiveObject/(другое название), который внутри вызывает, например, абстрактный ImdbAdapter. И уже на нижнем уровне должна быть реализация в виде RedisAdapter, наследующегося от ImdbAdapter. Функция redisContext() уж точно должна быть приватной, иначе непонятно, что именно обёртка должна скрывать. Интересно узнать, как твой Rails-подобный C++ фреймворк будет работать, в частности, какие практики из "convention over configuration" ты хочешь применить. В отличие от Ruby, язык не динамический и имеет меньше возможностей для метапрограммирования.
>>27223 Очевидные C++-модули.
>>17934 Всех приветствую. Делаю задание для шараги, нужно написать прогу которая способна сжимать и растягивать файл алгоритмом LZW. Сам алгоритм предполагает наличие начального словаря, который по ходу сжатия файла(нахождения в нём новых последовательностей байтов) расширен. То есть для того чтобы в дальнейшем растянуть файл обратно, нужно знать словарь. И вообще понять, подлежит файл растягиванию или же это просто белиберда из битов. Пока такие соображения: первые биты в сжатом файле сделать что-то типа сигнатурных, чтобы можно было сходу определить можно ли растянуть файл. И после сигнатурных битов будут биты сжатого файла, а потом будет магическое число типа как "разделитель" между файлом и словарём. Насколько хорошая идея использовать магическое число как разделитель? Или же лучше будет выделить под сжатый файл первые 4 бита как сигнатурные, где помимо метки сжатия файла будет ещё число под оффсет, как количество битов после которых заканчивается сжатый файл и будут пары ключ-значение из словаря? Или может быть лучше сделать по-другому как-то?
>>27307 >Делаю задание для шараги, нужно написать прогу которая способна сжимать и растягивать файл алгоритмом LZW. Нахрена нужен ещё один LZ*-алгоритм, их и так как собак нерезанных. #include <zstd.h>и пошли нафиг. Требуемые возможности в нём есть. А неподдерживаемую самоделку, которую самим же и развивать придётся, в прод тащить - себе дороже. Мелкошарага - это не FAANG, чтобы свои алгоритмы компрессии общего назначения тянуть.
#include <zstd.h>
>>27313 Вполне возможно, речь идёт не про фирму, а про университет.
>>27307 >>27314 Ну раз курсовая работа.... >растягивать файл алгоритмом LZW. >Сам алгоритм предполагает наличие начального словаря, который по ходу сжатия файла(нахождения в нём новых последовательностей байтов) расширен. То есть для того чтобы в дальнейшем растянуть файл обратно, нужно знать словарь. И вообще понять, подлежит файл растягиванию или же это просто белиберда из битов. Пока такие соображения: первые биты в сжатом файле сделать что-то типа сигнатурных, чтобы можно было сходу определить можно ли растянуть файл. И после сигнатурных битов будут биты сжатого файла, а потом будет магическое число типа как "разделитель" между файлом и словарём. Насколько хорошая идея использовать магическое число как разделитель? Или же лучше будет выделить под сжатый файл первые 4 бита как сигнатурные, где помимо метки сжатия файла будет ещё число под оффсет, как количество битов после которых заканчивается сжатый файл и будут пары ключ-значение из словаря? Или может быть лучше сделать по-другому как-то? Строение формата: разделить стрим, словарь и контейнер. Все числа - little endian! Файл маппится в память целиком через либу mio, дальше работаешь с std::span и структурами. Стрим состоит из заголовка стрима и стрима. Без сигнатуры. Контейнер состоит из сигнатуры, глобального заголовка, содержащего длину области контейнера и смещения областей стрима и словаря в ней ОТНОСИТЕЛЬНО КОНЦА ЗАГОЛОВКА. После следуют области, сначала область словаря, потом область стрима, потом конец файла. Ты провершь это при загрузке файла. Размеры вычислишь как разницы этих смещений. Сообщение слишком длинное. Полный текст.
Наткнулся при компиляции на ошибку вот в этой строчке > typedef int Check[sizeof(A) == sizeof(int) + sizeof(bool) ? 1 : -1]; Долго думал, что это за ерунда такая, а потом как понял. Структура А определена как > struct A {bool b; int a;}; Оказалось, что это проверка на отключение выравнивания в структурах -fpack-struct=1.
- wahaba + wakaba 3.0.9 + futaba + futallaby -