Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
95 23 46

[Тред №2] React оболочка двача 10/06/19 Пнд 15:12:43 14145081
icon@1280x1280.png (48Кб, 1280x1280)
1280x1280
Предыдущий тред того.
Брал паузу, отдыхал.
Лето, туда-сюда.

А тем временем я реализовал тот самый "стриминг" сообщений, про который писал ранее.
https://github.com/catamphetamine/virtual-scroller
Непростая задача была.
Выкачен на сайте: https://catamphetamine.github.io/chanchan/
Если открыть DevTools, то можно увидеть, что рендерится "обманка": только несколько сообщений из всего списка ~500 сообщений, которые попадают в экран, а остальное — padding-top и padding-bottom.
При скроллинге это всё подменяется в режиме "кручу-верчу, следите за руками".
Как результат, рендеринг всего списка сообщений теперь не занимает секунду или более на современных настольных CPU.

Вторым фактором был парсинг сообщений — оказалось, что это тоже долго.
Использовав встроенный в Хром "профайлер" увидел узкие места и кое-где кое-чего оптимизировал, плюс со стримингом теперь парсятся не все 500 сообщений сразу, а только те, которые видны.
Итог: аниме-тред на 2500 сообщений теперь не виснет на 5-10 секунд, а парсится за 50 миллисекунд и рендерится так же быстро.

Ещё одна сложность была в том, чтобы правильно обновлять высоту элементов списка: всё достаточно просто, когда элементы списка не растут по высоте, но в данном случае можно нажать "Показать ответы", после чего высоты переизмерятся.
К тому же, React не сохраняет компонент, когда он уже не виден, поэтому возникла ещё одна задача: сохранять state где-то, и потом, когда сообщение снова видно — восстанавливать этот state: всё древо раскрытых комментариев, и состояния для каждого из сообщений этого древа ("Показать текст полностью").
В общем, рекурсия на рекурсии, но я смог.

За кадром, конечно, было ещё много чего прочего.

А ещё я понял, что "хуки" всё-таки норм, и новые проекты можно писать на них.
Пока ещё устоятся немного, народ потестирует.
Плюсы: минификация кода, т.к. методы и переменные классов не минифицируются.

Сроки релиза пока можно сдвинуть на "ближе к осени", судя по всему.
Аноним 10/06/19 Пнд 19:54:20 14146002
Аза аза
Аноним 10/06/19 Пнд 20:56:44 14146323
>>1414508 (OP)
> Если открыть DevTools, то можно увидеть, что рендерится "обманка": только несколько сообщений из всего списка ~500 сообщений, которые попадают в экран, а остальное — padding-top и padding-bottom.
Ты освоил виртуализованные списки?) Ох вау, со импрессинг, со смус, со мач перфоминг.
Аноним 11/06/19 Втр 00:00:38 14146994
>>1414632
у вас unclosed parenthesis, перекомпильте
Аноним 11/06/19 Втр 09:41:57 14147705
>>1414699
> unclosed parenthesis
Это переменная в utf-16, ты нихуя не шаришь прост.
Аноним 11/06/19 Втр 22:03:40 14149636
ОП, ты сколько часов в день работаешь, откуда столько времени на велосипеды?
19/06/19 Срд 20:43:08 14189917
>>1414699
> Ты освоил виртуализованные списки?
На самом деле, просто зачем-то полез смотреть, как работает новый Твиттер, и осенило. А так, пытался в своё время устроиться iOS-разработчиком (чё-т не взяли, хз, прост))), там эту виртуализацию использовали по "дефолту" все таблицы, потому что процессоры тогда ещё были не такими накачанными.

> у вас unclosed parenthesis, перекомпильте
Хз, вроде ничё не пишет.

> ОП, ты сколько часов в день работаешь, откуда столько времени на велосипеды?
Самое смешное, что я сначала написал свою первую оупен-сорс библиотеку, потом уволился, а потом уже нашёл работу, потому что библиотека набрала звёздочек.
Так что путь не "сначала будет время, потом займусь", а "сначала займусь, а потом посмотрим".
Это как я думал: вот, не буду ходить на работу, будет много свободного времени, напишу свой стартап. На деле понятно, что это всё просто отговорки.
А так, если работать за доллары, то можно на неполный рабочий день, плюс если знаешь, что куда, то можно работать пару часов, а писать "четыре".
Но "там" своих Вась хватает, там работают только с теми, кто умеет работать, а это не всем дано (профессор Савельев подтвердит).
19/06/19 Срд 20:51:11 14190008
Сегодня ещё некий ловкий китаец по имени "Long Ho" (ладно ещё не "Long Hui") задвинул меня в конец списка библиотек, радостно воткнув свою на первое место.
Вот, бодаемся: https://github.com/tc39/proposal-intl-relative-time/pull/112
На самом деле, май-июнь эти выдались занятые, и у меня завал по багам (забил на них), да и двачи стоят, вот вроде начали шевелиться немного (работу сдал позавчера).
Ещё летом надо гулять, чтобы не было потом мучительно за ещё одно лето перед комплюктером.
19/06/19 Срд 20:54:28 14190039
01/07/19 Пнд 08:11:18 142528510
Вести с полей:

Приложение переименовано в "captchan".
Завезли темы, в том числе кастомные: https://github.com/catamphetamine/captchan/blob/master/docs/themes/guide.md
`kohlchan.net` с июня перешёл с движка `vichan` на движок `lynxchan` — добавил этот движок в приложение: https://catamphetamine.github.io/captchan/t/1177?chan=kohlchan Бодаемся с автором движка в данном треде: http://lynxhub.com/lynxchan/res/722.html#q984
Добавил всякого по мелочи: экспорт/импорт настроек.

Павел Дуров объявил, что скоро будет второй конкурс, так что нужно отдохнуть перед ним.
03/07/19 Срд 09:48:23 142688611
eva-dark-3605x1[...].png (767Кб, 3605x1929)
3605x1929
eva-light-3605x[...].png (772Кб, 3605x1929)
3605x1929
default-dark-36[...].png (760Кб, 3605x1929)
3605x1929
default-light-3[...].png (766Кб, 3605x1929)
3605x1929
Добавил "Ночной режим".
Аноним 03/07/19 Срд 17:15:17 142712112
>>1414508 (OP)
Норм. Сделай так чтобы развернутые картинки открывались в галерее, в которой можно будет переключаться с помощью стрелок и фильтровать по типу файла (картинка, гиф, видео).
Аноним 03/07/19 Срд 23:43:46 142749113
Ох, ну наконец-то пидорасов-хреньворкщиков изгнали из JS-треда.
Аноним 06/07/19 Суб 09:09:21 142884414
>>1414508 (OP)
неплохой проект
работаешь, фрилансишь?
Аноним 12/07/19 Птн 14:06:55 143320515
>>1426886
Бля неплохо мне нравится хороший проект
Аноним 14/07/19 Вск 02:23:20 143454916
>>1414508 (OP)
Объясните, кому не трудно, щито это такое? Типо дашчана? Капчевать можно будет?
Аноним 14/07/19 Вск 04:26:26 143455917
>>1414508 (OP)
Идея хорошая. Вот бы еще реализацию цепочки ссылок на реплаи к другим постам.
14/07/19 Вск 06:57:46 143457318
>>1427121
> Сделай так чтобы развернутые картинки открывались в галерее, в которой можно будет переключаться с помощью стрелок и фильтровать по типу файла (картинка, гиф, видео).

Выкатил бета-версию такой кнопки наверху страницы треда.
(Если речь была об этом)
Когда-нибудь в будущем доработаю на автоплей роликов при листании в таком слайдшоу.

Выкатил также бета-версию кнопки "Развернуть картинки".
Там тоже будут доработки в будущем: не увеличивать картинки свыше их максимальной ширины, а также уменьшать картинки, высота которых выше высоты экрана ("постеры").

> Ох, ну наконец-то пидорасов-хреньворкщиков изгнали из JS-треда.

Только ваниль, только хардкор.
Всё пишем сами, так приходим к пониманию.
У нас в родных краях ходили легенды про какого-то местного хакера, который пользовался только теми утилитами, которые он сам написал, включая всякие "тотал коммандеры" и прочие сетевые штуки.

> Бля неплохо мне нравится хороший проект

Рыбак рыбака видит издалека.
Я видел вашу звезду на житхабе, и ваш репозиторий имиджборда на болгарском.
Забавный факт: я раньше писал код на русском.
Потом передумал.
(Была у меня в 2012-ом своя маленькая very own соцсеть, и нарёк я её Социопатией, и сидели там друзья мои три дня и три ночи, после чего проект был свёрнут)
https://github.com/catamphetamine/sociopathy/tree/master/static%20resources
https://github.com/catamphetamine/sociopathy/blob/master/code/web/core/user.coffee


> Объясните, кому не трудно, щито это такое? Типо дашчана? Капчевать можно будет?

Это новая-модная сычевальня-капчевальня, которая прикручивается к любому %channame%
Только современные браузеры, только яваскрипт.
Где-нибудь к концу года будет юзабельной.
Попробую пропихнуть её во все чаны.
В любом случае это интересный опыт, много чего узнал нового.

> Идея хорошая. Вот бы еще реализацию цепочки ссылок на реплаи к другим постам.

Давайте подробнее.
Где конкретно что конкретно как конкретно.
А не вот эти ваши вот "я что-то нажала и всё исчезло".
14/07/19 Вск 07:10:08 143457419
Тут ещё на работе постановили, что весь новый код будет писаться на "хуках", и скажу я вам: изначально я был скептичен по отношению к "хукам", но сейчас уже понял, что это удобная вещь — во-первых, минификация кода возможна в более широких масштабах; во-вторых, разделение функционала на части удобнее.
Например, есть компонент Таблица, который имеет кучу разных "фич".
По классике (как писали раньше в вакансиях, "знание основных шаблонов программирования") это делается "декораторами", то есть обёртыванием Таблицы в ТаблицуССортировкой, а её — в ТаблицуСЭкспортомВЭксель, а её — в ТаблицуСЧекбоксами, и так далее: в итоге получается такая "капуста".
С "хуками" цепочка декораторов уплощается, и получаются своего рода "микс-ины", которые раньше были в Реакте, но были убраны.
В общем, "хуки" в Реакте создают свой немного особый язык программирования (мета-язык), который уже не совсем яваскрипт, потому что Реакт здесь выступает как своего рода Виртуальная Машина, предоставляющая свой "рантайм", на котором работают эти "магические" "трюки".
Прикольно получается, более функционально.
Такая "хипстерская" штука.
В общем, пишите на "хукахъ".
14/07/19 Вск 07:12:03 143457620
image.png (70Кб, 2870x413)
2870x413
(кнопки справа)
14/07/19 Вск 07:14:40 143457921
image.png (727Кб, 3641x1953)
3641x1953
image.png (504Кб, 3054x1941)
3054x1941
image.png (501Кб, 3080x1941)
3080x1941
Ещё удобная вещь — sentry.io.
Если не полениться и установить его на сайт (что делается минут за 15), то можно отлавливать все ошибки с "стектрейсами".
Кто, с чего, откуда, где, на какой строке, что делал до этого.
И бесплатно.
Аноним 14/07/19 Вск 11:06:05 143466622
>>1434579
Нужно написать конкурента на Scala и продавать за даллары!
Аноним 14/07/19 Вск 13:12:35 143474123
>>1434579
>то можно отлавливать все ошибки с "стектрейсами".
Что это за ошибки с "стектрейсами"? И зачем для их отлова нужен отдельный вот такой инструмент?
Аноним 14/07/19 Вск 13:34:47 143477024
>>1434741
Эта хуйня для сбора статистики. В рантайме у кого-то ещё бывают ошибки? ТС плюс валидаторы разве не закрывают львиную долю подобных рантайм ошибок?
Крч, сентри для слабаков.
Аноним 14/07/19 Вск 16:09:07 143497525
ОП, ты объясни откуда у тебя столько времени, ты на полставки работаешь? Сколько часов в неделю уделяешь пет-проектам?
01/08/19 Чтв 00:22:24 144573526
typescript.png (401Кб, 600x360)
600x360
image.png (141Кб, 1343x857)
1343x857
>>1434666
> Нужно написать конкурента на Scala и продавать за даллары!
Ох, Скала.
Помню это время: период расцвета "ШвабраШвабра", новый язык каждый месяц, новая NoSQL база данных каждую неделю, новый фреймворк каждый день.
И какой-то непонятный "биткоин", даже читать про него не стану, кому он вообще может быть нужен.
Было время весёлое.
Вроде как 2009-ый, или типа того.

> Что это за ошибки с "стектрейсами"? И зачем для их отлова нужен отдельный вот такой инструмент?
Ну вот, представьте, что у вас сайт по продаже билетов, и оборот так скажем миллион рублей в день (условно).
Вроде чё-то работает, а как на самом деле — хз.
Вроде есть какой-то Лёша тестер, он потестит.
А ничего, что даже баг с вероятностью 0.1% может приносить в день до 1000 рублей убытка.
Вот в медицине есть такое понятие как диспансеризация, или как там её.
Это типа того же.

> Эта хуйня для сбора статистики. В рантайме у кого-то ещё бывают ошибки? ТС плюс валидаторы разве не закрывают львиную долю подобных рантайм ошибок? Крч, сентри для слабаков.
Ну, это как советовать всем "заниматься спортом", есть гречку и ложиться на пустой желудок (см. выше).
На ТС вообще ни разу не писал.
Мне периодически пишут баг-репорты, мол, вот, смотри, компилятор пишет, что index.d.ts не найден.
А ЕГО ТАМ И НЕТУ, КЭП.
Я вертел этот ТС.
Как вижу исходники на нём, так сразу закрываю, ибо белиберда какая-то нечитаемая.
Валидаторы тоже не юзаю, линтеры эти всякие.
Я вообще человек старой школы, я начинал с "Блокнота" и языка Perl на Windows 95.

> ОП, ты объясни откуда у тебя столько времени, ты на полставки работаешь? Сколько часов в неделю уделяешь пет-проектам?
Да, что-то я в эти пару месяцев много писал.
В июне там на старых переработках выехал.
В этом месяце потребовалось эти две недели заниматься работой, чтобы "закрыть" часы по июлю.
Миграция легаси данных на новый формат, со слоем обратной совместимости, поэтапный деплой на перекладных, пара-тройка новых форм и прочее веселье.
Ну, зато платят. И то хлеб, и то хлеб...

Павел Дуров свой "epic" конкурс "в конце June / начале July" ожидаемо не объявил (они всегда сроки просирают, что намекает).
Тем не менее, вроде как будет ещё что-то, так что можно пока по работе запасти кое-какие заготовки, чтобы потом можно было часы закрыть в случае чего.
Чем удобна работа за часы: не нужно приходить каждый день в офис, чтобы там просиживать жёпу и чесать яйца, ведь платят за нормо-часы — тут просто занюхиваешь кокса или амфика (на самом деле не употребляю даже кофе/чай) и шпаришь сколько надо, с разумным коэффициентом.
Аноним 01/08/19 Чтв 00:34:58 144573927
>>1445735
>Как вижу исходники на нём, так сразу закрываю, ибо белиберда какая-то нечитаемая.
Уровень.
Аноним 01/08/19 Чтв 17:31:57 144606428
1
Аноним 02/08/19 Птн 00:09:10 144630529
>>1445735
>Я вообще человек старой школы, я начинал с "Блокнота" и языка Perl на Windows 95.
>старой школы
>начинал на Windows 95.
Бля....
Аноним 02/08/19 Птн 00:21:50 144630830
>>1446305
Не блякай, старый хрен.
Некоторые тут с резидентов под мсдос начинали.
Аноним 02/08/19 Птн 00:48:41 144631331
>>1446308
Когда был Вин-95, я прогал на C по ДОС на Borland C 2.0/3.1, кажется, и под ДОС там была какая-то IDE, и под винду тоже что-то ещё более-менее нормальное. Ещё был компилятор от watcom в 32-х разрядном режиме ДОС работающий и оптимизирующий. По-моему в нотепаде всегда зашкварно работать было.

Аноним 03/08/19 Суб 17:12:40 144745832
>>1414508 (OP)
ОП, мне не чем заняться. Знаю React, Redux, Spring. Скажи, чем можно помочь тебе.
Аноним 03/08/19 Суб 17:17:54 144746133
>>1446313
>я прогал на C по ДОС
Ебать ты мажор.
Был только говнобейсик и асм.
Аноним 04/08/19 Вск 21:27:27 144811634
>>1447458
Давай мне поможешь, у меня есть идея, как раз наберешься опыта.
Я тоже подключусь
MAINFAKEPOST@GMAIL.COM
11/08/19 Вск 03:13:31 145116235
large.jpg (26Кб, 500x281)
500x281
>>1446313
> Когда был Вин-95, я прогал на C по ДОС на Borland C 2.0/3.1, кажется, и под ДОС там была какая-то IDE, и под винду тоже что-то ещё более-менее нормальное. Ещё был компилятор от watcom в 32-х разрядном режиме ДОС работающий и оптимизирующий. По-моему в нотепаде всегда зашкварно работать было.

Немного приврал, кстати — на самом деле комп мне купили только в седьмом классе, и там уже была 98-ая SE.
Забавный факт: в университетской общаге с одним челом скорешились, когда он назвал первую половину серийника WIndows 98SE, а я — вторую. Типа, добро пожаловать в клуб, чувак.
Borland Builder C++, да, диски "Самоучитель программирования" с архивами сайтов ishodniki.ru. Тогда это всё воспринималось как волшебство, и иной раз вместо диска с неизведанной игрой покупали диск с неизведанным Microsoft Visual C++, или чем-то подобным.
Вот почему я порою ностальгирую по 90-ым: потому что был модернистский оптимизм о том, что компьютеры откроют нам новый волшебный виртуальный мир, куда мы все переместимся — как космос для людей в 60-ые.
А потом всему этому настал полный постмодерн.
Так что это не старпёрская тоска по "трава была зеленее" — это тоска по технологическому оптимизму в целом.
11/08/19 Вск 03:23:48 145116336
hqdefault.jpg (9Кб, 480x360)
480x360
>>1447458
> ОП, мне не чем заняться. Знаю React, Redux, Spring. Скажи, чем можно помочь тебе.

Я пока буду делать эту штуку в режиме художника, чтобы был единый вектор и направление.
А вы могли бы писать свой собственный, с нуля, например — просто так, чтобы подкачаться. Я сам лично ловлю кайф просто с того, что делаю какую-то вещь, и вылизываю её до мелочей.
Или, например, мобильный клиент, если хотите изучить Андроид какой-нибудь.
Я когда-нибудь `chan-parser` зарелижу в виде отдельного пакета: можно будет его и в мобилках использовать.
То есть, если есть желание чего-нибудь писать — пишите что угодно: это лучше, чем мучительно искать, чего бы такого написать. Это что-то потом можно будет показывать в откликах на вакансии, например.
Я вот всё ждал, когда ко мне придёт идея офигеть какого стартапа, ведь не нужно тратить время впустую, но в итоге сублимирую в оуперсорс и вполне себе доволен процессом.
11/08/19 Вск 03:36:42 145116437
image.png (1326Кб, 3599x1820)
3599x1820
image.png (902Кб, 3602x1953)
3602x1953
Вести с полей:

1. В прошлый раз добавил подсветку кода по запросу одного китайца ( https://github.com/catamphetamine/captchan/issues/3 ) вместе с lainchan и arisuchan. Подсветка кода оказалась непростой задачей, но в итоге нашёл вот такой пакет, оборачивающий либо Prism, либо Highlight.js (больше нету подсветчиков): https://www.npmjs.com/package/react-syntax-highlighter . Смысл этой обёртки в том, что она даёт нормальный интерфейс для использования этих подсветчиков в Реакте (по умолчанию они работают в стиле jQuery), а также даёт возможность загрузки подсветчика не целиком сразу всего, а по потребности. То есть, сначала не грузится вообще никакой код. Потом, если появляется код на странице где-нибудь, эта библиотека грузит сама себя в виде отдельного файла. Далее, смотрит, какой указан язык программирования, и грузит его отдельным файлом тоже (потому что все языки занимают несколько мегабайтов). Достигается такая динамическая загрузка средствами Webpack dynamic `import()`. Могу рассказать подробнее, если кому надо, но читайте сначала доки Webpack dynamic `import()` — там вся асинхронная магия.

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

3. Пришёл к выводу, что "классический" стиль чана с картинкой слева более читабелен (почему-то), и поэтому теперь первая картинка выносится налево. Звучит просто, но делал я это всю неделю. В итоге получилось элегантно, по пути всё перерефакторил в N-ный раз. Много чего было под капотом интересного, много всяких мелких решений вроде того, что текст всегда центрирован по центру (хитрый flexbox с пропорциями). Ещё пришёл к выводу, что "тёмный режим" порою смотрится лучше светлого по читаемости, поэтому поставил его по умолчанию пока.
Аноним 13/08/19 Втр 12:50:17 145232138
>>1451163
>Или, например, мобильный клиент, если хотите изучить Андроид какой-нибудь.
Через React Native это делается? Ничего не путаю или там какие-то другие технологии?
13/08/19 Втр 17:58:14 145258739
>>1452321
> Через React Native это делается? Ничего не путаю или там какие-то другие технологии?
AirBnB в своё время сели на поезд хайпа по React Native, в итоге несколько лет патчили его исходники своими хаками, и в конце 2018-ого объявили, что всё перепишут на нативном коде:
https://medium.com/devschacht/sunsetting-react-native-cae979e08eb2
Примерно в то же время (тремя днями ранее) (совпадение? не думаю) разработчики React Native спохватились, и выпустили запись в блоге о том, что "пацаны, не расходитесь, мы щас всё нормально перепишем и будет короче ваще".
https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018
Резюме: Я бы не писал на React Native.
Да, простые приложения на нём делать можно (типа калькулятора калорий), но что-то более сложное — и вы ступаете на тропу хаков и патчей, судя по всему.
В своё время писал на Objective C для айфона с хакинтоша: вполне приятный процесс был, ничего сложного.
У нас в конторе студенты-второкурсники писали приложения для айфонов, и ничего, релизили.
Сейчас у них язык Swift — один из самых передовых, так что можно писать на нейтиве, суть такова: Реакты приходят и уходят, а Знания остаются, и чтобы не оказаться очередной "фронтенд-макакой" в глазах нативных программистов через несколько лет, я всё-таки порекомендовал бы инвестировать в "базу", а не в "надстройку", даже если она захайплена была в своё время.

Для Андроида уже давно не Ява, и есть нормальный (видимо) язык Kotlin от питерской студии JetBrains, компилируемый в байт-код Явы.

Есть ещё, кстати, "flutter" от Гугла, который кроссплатформенный, и который я как-то раз увидел на конференции имени Flutter в 2018-ом, но дальше не читал.
https://www.youtube.com/watch?v=kpcjBD1XDwU&list=PLOU2XLYxmsILq4ysYNWXq5TOGLgYDJgVD&index=3

Если нужен `chan-parser`, то вот он в текущей версии:
https://github.com/catamphetamine/captchan/tree/master/src/chan-parser
Там и ридми есть, если проскроллить.
13/08/19 Втр 18:11:29 145259640
125195698240886[...].jpg (166Кб, 1080x1080)
1080x1080
>>1452321
> Через React Native это делается? Ничего не путаю или там какие-то другие технологии?

Кстати, вот Андрей Константинов ещё в 2018-ом статью на ШвабраШвабре писал про React Native:
https://habr.com/ru/company/qlean/blog/416097/
Я в целом с ним, наверное, согласен по этому вопросу.
Я и работал с ним в 2016-ом в qlean.ru в своё время: я там был фронтендером, а он там был Главой Отдела Мобильной Разработки численностью в одного человека.
А до этого он написал что?
Тот самый Двач.Браузер:
https://github.com/8of/2ch-Browser-iOS
Так что человек знает, о чём пишет.
Аноним 13/08/19 Втр 18:17:59 145260141
>>1452587
если честно, я не знаю, что делать с теми знаниями, что у меня есть. По сути, могу написать сайт или интернет-магазин, но зачем... Я трогал андроид разработку в Qt на плюсах. В одном из обновлений всё отваливалось при попытке запустить на телефоне, да и не работали некоторые вещи в самом фреймворке. Я могу учить разные вещи, но не понимаю, зачем мне это.
13/08/19 Втр 19:21:58 145263642
hqdefault.jpg (9Кб, 480x360)
480x360
>>1452601
> если честно, я не знаю, что делать с теми знаниями, что у меня есть. По сути, могу написать сайт или интернет-магазин, но зачем... Я трогал андроид разработку в Qt на плюсах. В одном из обновлений всё отваливалось при попытке запустить на телефоне, да и не работали некоторые вещи в самом фреймворке. Я могу учить разные вещи, но не понимаю, зачем мне это.

Ну так нужно выбрать какое-то одно направление и работать в нём. Не хватать всего понемногу, а методично грызть какой-то один из гранитов науки: в некоторый момент времени накопится критическая масса, которая запустит цепную реакцию приёма на работу.
Самое простое — вкатиться либо во фронтенд, либо в мобилки (iOS, Android).
iOS — сложнее, потому что нужен настоящий мак или желание трахаться с хакинтошем.
Плюс айфоны в недавнее время стали совсем неоч, я уже сам подумываю перейти на Андроид в следующей итерации.
13/08/19 Втр 19:22:14 145263743
Untitled-1.png (224Кб, 650x655)
650x655
>>1452601
> если честно, я не знаю, что делать с теми знаниями, что у меня есть. По сути, могу написать сайт или интернет-магазин, но зачем... Я трогал андроид разработку в Qt на плюсах. В одном из обновлений всё отваливалось при попытке запустить на телефоне, да и не работали некоторые вещи в самом фреймворке. Я могу учить разные вещи, но не понимаю, зачем мне это.

Для устройства на работу нужно будет иметь пару сайтов или приложений показать: для этого и нужно писать.
Тот же Андрей Константинов показывал свой Двач.Браузер, когда ходил на свои первые собеседования, и его взяли, когда человек, его собеседовавший ответил: "о, да я же им пользуюсь каждый день. вы приняты (с)".
Аноним 13/08/19 Втр 20:36:13 145268144
>я не знаю, что делать с теми знаниями, что у меня есть
засунь их себе в попку и проверни, хуесос
Аноним 03/09/19 Втр 13:44:58 146631645
Блядь, придется самому колхозить UI для двача, ну шо за ебанный в нос? Где сукаблядь сервисворкеры? Где IndexedDB? Где экспорт тредиков? Хуня, блядь, а не оболочка. Ладно, хоть нотификейшны запилил. Пиздец, придется самому все пилить.
05/09/19 Чтв 15:56:00 146777546
image.png (1076Кб, 3644x1956)
3644x1956
>>1466316
> Блядь, придется самому колхозить UI для двача, ну шо за ебанный в нос? Где сукаблядь сервисворкеры? Где IndexedDB? Где экспорт тредиков? Хуня, блядь, а не оболочка. Ладно, хоть нотификейшны запилил. Пиздец, придется самому все пилить.
Спокойно.
Вторую половину августа в основном занимался подработкой, лечился от ОРВИ и жил с родственниками в одной квартире.
В сентябре что-нибудь запилю.
На днях начал отслеживание тредов делать.

> Где сукаблядь сервисворкеры?
Как раз тоже подумал про какие-нибудь Service Workers в контексте обновления тредов: чтобы всё это дело обновлялось не при открытии сайта, а само как-нибудь, в фоне (когда есть связь).
https://developers.google.com/web/updates/2015/12/background-sync
Что ещё... Теоретически (но совсем не обязательно) какое-нибудь кеширование, да: сохранение в кеше самого JSON файла с данными треда и всех миниатюр картинок; таким образом, "обновлённый" в фоне тред может быть открыт и просмотрен даже когда нет сети.
Я вообще про все эти Service Worker'ы не читал ещё, как раз почитать можно...
https://developers.google.com/web/fundamentals/primers/service-workers/

> Где экспорт тредиков?
Будет, когда-нибудь далеко.
Я уже и схему придумал: экспорт JSON файла, в котором картинки будут закодированы как base64 URL (и миниатюры, и оригиналы).
И в интерфейсе будет специальная страница "Открыть тред из файла", куда кидается такой JSON файл, и она рендерит тред с картинками.

> Где IndexedDB?
"А что, можно было?"
На самом деле, даже не вспомнил, что такая существует, и уже написал древовидное хранилище всей фигни в `localStorage`.
https://github.com/catamphetamine/captchan/tree/master/src/UserData
Пока только отслеживаемые треды, свои комментарии и т.п.
Была мысль хранить ещё все свои комментарии, и сделать страницу, на которой можно было бы смотреть "Мои комментарии" / "Мои треды".
Типа, всё удаляется же со временем, а тут можно будет посмотреть комментарии годичной давности, и чего-нибудь перекопипастить.
Потом подумал: а квоты какие?
Судя по всему, на мобильных — около 50 Мб на домен, но при этом 500 Мб на все домены, и если каждый так офигеет, то хз, что будет.
На десктопе — пол-гигабайта на домен, и раз в десять тоже больше на все домены.
https://love2dev.com/blog/what-is-the-service-worker-cache-storage-limit/
Хз, короче.
Пока не стал такое ультимативное хранение устраивать.

> нотификейшны запилил.
Да не, пока ещё не запиливал.
Настоящие уведомления — системные.
А это — так, осталось с других проектов.

> придется самому колхозить UI для двача
Ага, давай-давай, посмотрим... Языком трепать-то вы все мастера.
Аноним 05/09/19 Чтв 17:41:57 146786947
>>1467775
>Ага, давай-давай, посмотрим... Языком трепать-то вы все мастера.
Уже начал на Svelte/Sapper.
Думаю, целиком offline-first пилить, с интерцептом фетча в сервис воркерах и последующим складированием всего содержимого в indexedDB просто фана ради, не думаю, что это серьезный выигрыш будет.
Основной функционал вижу себе таким:
1) индексация апи-респонсов в indexedDB;
2) избранное не только на уровне подписок на треды, но и на отдельные мессаджи;
3) простейшие нотификашки (правда, хз как быть с постингом, наверное пасскод придется приобрести)
4) отложенная идея - сделать универсальный сёрчбар, который ищет по названию/ид доски и среди мессаг/тредов. Вот здесь может понадобиться локальная БД.

В вёрстке не силен, поэтому сделаю просто рип чего-нибудь минималистичного а-ля хакерньюс. Кстати, спасибо за корс-прокси.
И еще вопрос, как ты сделал подпсветку ответов в мессагах БЕЗ ссылок (т.е. в мессаджах, НА которые ссылаются). Парсил мессадж и добавлял в словарь?
Аноним 05/09/19 Чтв 17:57:14 146788448
>>1467775
>Как раз тоже подумал про какие-нибудь Service Workers в контексте обновления тредов: чтобы всё это дело обновлялось не при открытии сайта, а само как-нибудь, в фоне (когда есть связь).
Да, кстати, UI у тебя безбожно фризится в момент UI запросов, охуеть просто.
Что там за Вьетнам происходит у тебя? Для этого, по идее, не нужны не только SW, но и вебворкеры, ведь реквест и парсинг (в фетче через payload.json()) асинхронные.
Аноним 05/09/19 Чтв 17:59:36 146788649
>>1467775
И да, спасибо еще за детальное описание жсон полей, это поможет мне, когда я захочу при крутить валидатор.
Аноним 05/09/19 Чтв 20:19:17 146797050
image.png (169Кб, 1483x977)
1483x977
image.png (349Кб, 720x511)
720x511
ОП-наркоман, прочитай что-нибудь про early return, это же пиздец какой-то.
Аноним 05/09/19 Чтв 20:47:59 146799351
>>1467970
> early return
ГАЙДЛАЙНЫ ЗАПРЕЩАЮТ
Аноним 05/09/19 Чтв 20:48:04 146799452
>>1414508 (OP)>>1467970
Этому чучелу вообще надо почитать про все, начиная с базового тестирования и рефакторинга.
Аноним 05/09/19 Чтв 21:17:06 146802453
>>1467970
Надо было тернарным оператором в одну строку хуярить.
06/09/19 Птн 13:08:04 146842254
EA1j0KQUIAASRoM.jpg (927Кб, 1536x2048)
1536x2048
>>1467869
> Уже начал на Svelte/Sapper.
ммм, посмотрим...
Пишут, что этот ваш Svelte быстрее Реакта.
На данном проекте как раз столнулся с этим: Реакт очень медленный.
На типичной работе на такое и внимания не обратишь.

> Думаю, целиком offline-first пилить, с интерцептом фетча в сервис воркерах и последующим складированием всего содержимого в indexedDB
Ну да, смысл таких проектов — научиться работать с чем-то, с чем по работе не встретишься, для общего развития.

> индексация апи-респонсов в indexedDB;
Локальная база всех сообщений.
Ну может быть, интересная идея.

> отложенная идея - сделать универсальный сёрчбар, который ищет по названию/ид доски и среди мессаг/тредов.
Ну, это всё-таки серверная задача: не будете же вы весь двач выкачивать, плюс на сервере и архив хранится, а с телефона он будет стираться при истечении тредов.

> В вёрстке не силен, поэтому сделаю просто рип чего-нибудь минималистичного а-ля хакерньюс.
Я вам сверстаю, если надо будет.
Картинки рисуйте.

> Кстати, спасибо за корс-прокси.
Да, кстати, бесплатный год амазонового сервера уже истёк в сентябре, буду переезжать на новый аккаунт на перекладных. Удобно, что у Тинькова можно в два клика создать "виртуальную" MasterCard для продления всей бесплатной фигни.

> И еще вопрос, как ты сделал подпсветку ответов в мессагах БЕЗ ссылок (т.е. в мессаджах, НА которые ссылаются). Парсил мессадж и добавлял в словарь?
Вы имеете ввиду, как я получал список ответов на сообщение?
Да, там парсится HTML по регулярке.
https://github.com/catamphetamine/captchan/blob/master/src/chan-parser/parsePostLinks.test.js
https://github.com/catamphetamine/captchan/blob/master/src/chan-parser/parsePostLinks.js
Вообще, я бы советовал использовать chan-parser, хоть он и не оформлен ещё в отдельный пакет (лень пока, я его меняю периодически, поля могу переименовать туда-сюда и т.п.).
06/09/19 Птн 13:27:14 146843055
image.png (973Кб, 3641x1959)
3641x1959
image.png (973Кб, 3641x1951)
3641x1951
>>1467884
> Да, кстати, UI у тебя безбожно фризится в момент UI запросов, охуеть просто.

Ну, да, там запрос-то без разницы, а вот парсинг ответа — занимает время.
В среднем было около половины секунды на тред.
На "сложных" тредах (например, news, po) — до двух секунд доходило.
"Посоветуй-тред" в аниме на три тыщи сообщений — вообще секунд на десять вешал браузер.

После этого я сделал так: парсятся только те сообщения, которые выводятся на экран в текущем "окне скролла".
Это сразу ускорило всё дело.

Теперь, вы можете путать "фризинг" UI с временем ответа прокси, потому что оно обычно около 300 мс просто потому что пока до прокси дойдёт, пока обратно с него придёт, пока снова до него, пока снова с него.
Смотрите только красные области в профайлере — там и фризится.

Хотя, вот, посмотрите картинку.
На ней видно, что сетевой запрос прошёл за 300 мс.
"Get thread API request finished in 0.332 secs"
Сходится.
Дальше:
"Thread parsed in 0.108 secs"
Это распарсился тред, но без парсинга самих сообщений: просто распарсилась "структура", отработали регулярки по поиску ответов на посты, и сгенерирована структура постов (всё, кроме текста).
Смотрим вторую картинку ("Main") — сходится.
Далее идёт "жёлтое" — это рендеринг/перерендеринг Реакта, занимающий примерно 300 мс.
Вот это тормоза, да, но это на dev сборке Реакта.
На production сборке посмотрел — около 100 мс, что гораздо меньше.
Таким образом "просадка FPS" происходит на этом вот участке в 250 мс (включая 50 мс на "всякое-разное").

Чем можно контрить такие фризы?
Ну, парсинг треда можно распараллелить, да: можно парсить его в `requestIdleCallback()`, или можно парсить в Web Worker-е (отдельный тред).
Рендеринг Реакта — это когда они зарелизят Реакт 17 с асинхронным рендером Fiber, который уже пару лет как анонсировали.
Время это не сократит, но отзывчивость интерфейса может увеличить за счёт непросадок FPS, хотя кто там что делает во время загрузки треда — думаю, разницы не будет.

> Что там за Вьетнам происходит у тебя? Для этого, по идее, не нужны не только SW, но и вебворкеры, ведь реквест и парсинг (в фетче через payload.json()) асинхронные.
06/09/19 Птн 13:29:49 146843156
image.png (992Кб, 3641x1951)
3641x1951
>>1468430
> Смотрим вторую картинку ("Main") — сходится.
Не прикрепилась, вот она.

>>1467869
> Кстати, спасибо за корс-прокси.
Я ещё для chan-chan.tk возможно буду менять доменное имя (посмотрим) во время переезда в этом месяце, так что если CORS-прокси отвалится, то имейте ввиду.
06/09/19 Птн 13:32:08 146843457
>>1467886
> И да, спасибо еще за детальное описание жсон полей, это поможет мне, когда я захочу при крутить валидатор.

Да, у меня задумка такая и была: что народ сможет воспользоваться тем, в чём я там разобрался.
Я эту ссылку Абу отправлял: он сказал, что добавит в пост "API Двача" в /api, но так и не добавил.
Ещё раз ссылка для всех:
https://github.com/catamphetamine/captchan/blob/master/docs/2ch.hk.md
06/09/19 Птн 13:33:58 146843758
>>1467970
> ОП-наркоман, прочитай что-нибудь про early return, это же пиздец какой-то.

Сначала завалить, а там — запинаем.
Сначала зарелижу с трекером и постингом, а уж что там внутри — дело десятое.
Иногда рефакторю, когда идеи приходят.
06/09/19 Птн 13:44:00 146845159
dims.jpg (181Кб, 1800x1025)
1800x1025
dims (1).jpg (167Кб, 1800x1025)
1800x1025
EAiRV1fWsAAQtYg.jpg (109Кб, 1086x950)
1086x950
Кстати, дизайн списка отслеживаемых тредов я позаимствовал на днях, когда читал один твитор: там постили скриншоты дизайна нового Фейсбука для корпораций.

Оффтоп:
Там же увидел летний лол-кек о том, что Житхаб отключил все платные репозитории для китайцев из-за торговых войн Трампа, отчего у тех случился лютый бугурт.
Все критики "русского национального интернета" в очередной раз "соснули": "цивилизованный" Запад отключит вам всё, что можно, если им это будет выгодно. Ничего личного — просто бизнес.
Сейчас идёт тренд на сворачивание глобализации и распад на отдельные экономические зоны: США + Мексика + Канада + Австралия, Евросоюз ("старая Европа"), Англия, Россия + СНГ, Китай.
Как бы ни были удобны AWS и CloudFlare, Visa и MasterCard, Windows и Intel, а создавать и использовать свои альтернативы придётся, иначе однажды чиновник американской администрации придёт и нажмёт кнопку, если решит, что вы ему чего-то там должны, и не помогут никакие "демократия" и "свобода личности", которые только на словах.
Аноним 06/09/19 Птн 14:05:37 146847360
>>1414632
загуглил и обосрался заживо
макаки ебаные, когда уже в веб добавят нормальный рендер, а не dom-залупу
Аноним 06/09/19 Птн 14:09:30 146847861
2019-09-0615h08[...].png (36Кб, 687x337)
687x337
>>1468473
>макаки ебаные, когда уже в веб добавят нормальный рендер, а не dom-залупу
Шел бы ты отсюда, петушок.
Аноним 06/09/19 Птн 14:14:16 146848562
>>1468478
ну что ты сразу порвался то(
Аноним 06/09/19 Птн 14:22:41 146849163
>>1468485
Потому что заебался оптимизировать дом, очевидно же.
Аноним 06/09/19 Птн 23:40:14 146912964
>>1468451
>а создавать и использовать свои альтернативы придётся,
А хорошо это или плохо для отечественного программиста, ведь по идее работы должно добавиться, а соответственно потребности в кадрах и зарплаты,
c другой стороны конечно же западная модель организации разработки гораздо лучше нашей, сравните хотя бы англоязычный StackOverflow и какой-нибудь наш говнофорум, где у людей задача не отетить на вопрос и добраться до истины, а доказать, что они правЫ.
Это у нас какой-нибудь программист 1С Иван Хуяныч настрогает шаблонов и ни с кем не будет делиться, не понимаю, что делясь знаниями, ты еще и приобретешь новые/увидишь свои в новом свете. Они как преподы говновузов, застрявшие где-то в 70х, настрочили когда-то "что-то умное" и сидят в своём манямирке, подбирая крохи с предыдущей работы. В нашем менталитете нет понятия "опен сурса"
07/09/19 Суб 01:28:26 146918065
>>1469129
> и какой-нибудь наш говнофорум
А помните, были времена...
GameDev.ru, MSDN.ru, xakep.ru, да куча всего было в нулевые.
Потом как-то подсдулось.
Те самые "мозги" утекли на Запад, наверное (в прямом и переносном смысле).
Тогда, вроде бы, просто английского никто не знал, и даже это было как-то не по-пацански — изучать английский. Вот и писали все на русском. А сейчас английский все уже знают со школы, как в Европе. И правильно: нужно интегрироваться, потому что мы — догоняющие.
Так что на форумах, наверное, "отрицательный отбор": самые способные либо эмигрировали на Запад, и читают Твитор/Медиум, либо просто изучили английский и читают Твитор/Медиум. А те, кто остались — это те, кто не смогли, вот у них и уровень ПТУ.
Удачно, что всё-таки в 90-ые на стартовой тяге у нас что-то получилось состряпать: Яндекс, Касперский, 1С, Акронис, там.
В нулевые "догнались" Вконтактом.
Задумывались ли вы когда-нибудь, насколько мощный след на всём русскоговорящем сегменте оставил Вконтакт? Насколько он поднял наш уровень. Сколько людей друг друга нашли. Сколько совместных проектов сделали. Сколько взаимодействий было.
Повезло нам с Павлом Дуровым (и его братом, видимо).
Был период "дикого капитализма", "гуляй-поля", когда интернет был ещё пока свободным, как только что открытая Америка: "берите суверенитета сколько хотите" (в политике у нас в 90-ые аналогично было весело).
А потом всё, поляна была поделена, основные игроки устаканились, и теперь всем заправляют монополии.
И догонять какой-нибудь Гугл сейчас с нуля — это такая себе затея.
Вон, RuTube сдулся, Яндекс.Видео сдулся, Вконтактовский ВКадре тоже сдулся, и всё, теперь только Ютуб, и жалуйтесь в СпортЛото теперь. И хрен вы теперь заставите кого-то пересесть с Ютуба в другое место.
Кто успел — тот и сел.
Мы вроде как успели в целом по интернету, так что нормально.
У мессенджеров — такая же война сейчас. Вроде как WhatsApp выигрывает: Viber сдулся, все родственники родственников сидят в WhatsApp'е. В телеге — только молодые и продвинутые. А тётю Машу теперь попробуй заставь в телегу пересесть — "все" в ВотсАппе.

> А хорошо это или плохо для отечественного программиста, ведь по идее работы должно добавиться, а соответственно потребности в кадрах и зарплаты.
Да, хорошо конечно.
У нас страна широкая — поле не паханное.
Столько Кулибиных по всей стране...
Им только дать себя проявить, дальше они всем покажут.
Сами себя накормят, если дать им старт.
Нужно обеспечивать условия, чтобы таланты не прозябали в офисах на проперженных стульях, а имели возможность сами себя вытаскивать из болота.
Самые умные из них — эмигрируют, но середнячки останутся, и будут полезны для страны.

> c другой стороны конечно же западная модель организации разработки гораздо лучше нашей
У нас вообще в стране со словом "организация" не очень.
Вот слово "раздолбайство" — это наше...

> В нашем менталитете нет понятия "опен сурса"
Ну, есть такое.
Но смотрю на молодёжь: она гораздо менее зашоренная.
И они уже давно жгут.
Так что перспективы есть.
Аноним 07/09/19 Суб 16:02:52 146946266
Можете плиз немного ввести в курс дела, что именно разрабатывается ИТТ ,
просто в моем понимании React это JS фреймворк аналогичный Angular, YII итд, то есть он сущшествует исключительно для создания фронтенда сайта. Отсюда вытекает вопрос, а зачем понадобилось писать новый фронт заместо вакабы и как он пишется ? В написанном на Реакте приложении автор обращается к API двача ?
Аноним 07/09/19 Суб 16:28:12 146947367
>>1469462
> В написанном на Реакте приложении автор обращается к API двача ?
Yep.
Аноним 07/09/19 Суб 17:05:43 146948068
>>1469473
В чем тогда выигрыш ?
07/09/19 Суб 19:38:41 146954369
>>1469462
> Отсюда вытекает вопрос, а зачем понадобилось писать новый фронт заместо вакабы и как он пишется ?
Я понимаю, что на дваче произошёл тот же самый "отрицательный отбор", который я описал выше: остались только те, кого вообще не парит дизайн из нулевых.
Но многие люди, которые могли бы участвовать в сообществе, просто не заходят сюда, просто потому что их отталкивает дизайн и юзабилити (Убермаргинал так и говорил в старом эфире года 2016-ого на MadFM, что ему не нравится дизайн двача, и поэтому он на нём не сидит).
Далее, фиг с ним с двачем, есть же нормальные чаны: тот же форчан, например, где люди не такие токсичные и без манькозакидательства.
Поэтому возникла идея написать современный GUI для любого чана.
Далее, сейчас пошёл тренд на анонимность, и анонимные доски гипотетически снова могли бы стать актуальными (возможно, в даркнете, или что-то типа того), то есть ещё пока рано списывать имиджборды — возможно они останутся в каком-то виде в современном мире тотальной слежки и тотальной цензуры (уже на стримах не скажи слово на букву "н", в игре попробуй не вставь лесбиянку, в твиторе попробуй сравни мужчину и женщину).
Далее, недавно прикрыли 8chan и вызвали для дачи показаний в прокуратуру его владельца, заводчика свиней Джима Уоткинса.
https://www.youtube.com/watch?v=a_MhRR31Zjc
Его сын — Рон Уоткинс — тем временем оказался программистом-любителем, и пишет некий децентрализованный чан, основанный на блокчейне.
https://twitter.com/CodeMonkeyZ
Гипотетически, если кто-то напишет в будущем такой децентрализованный неубиваемый peer-to-peer анонимный чан, то и к нему можно будет прикрутить этот готовый GUI.
Потому что ни один программист не сможет одинаково хорошо написать и бек, и фронт.
Нужно разделять обязанности.
Я по жизни получился фронтом, вот я и напишу фронт, а какой-нибудь умник ещё напишет какой-нибудь инновационный бек, и можно будет слепить из этого Супертрансформера, который задоминирует всех во все щели.
Вкратце, как-то так.
07/09/19 Суб 19:40:27 146954470
Аноним 07/09/19 Суб 20:20:12 146955971
>>1469543
>Я понимаю, что на дваче произошёл тот же самый "отрицательный отбор", который я описал выше: остались только те, кого вообще не парит дизайн из нулевых.
Какой дизайн из нулевых, в нулевых не было такого дизайна. Этот дизайн всегда выглядел непривычно, потому что он родом из Японии.
Отрицательный отбор - охуеть вообще, нет, давайте сюда дизайн с нескучными обоями, чтобы положительным отбором привлечь каких-то уебков.
Аноним 07/09/19 Суб 20:23:11 146956172
>>1469543
>Я понимаю, что на дваче произошёл тот же самый "отрицательный отбор", который я описал выше: остались только те, кого вообще не парит дизайн из нулевых.
>Но многие люди, которые могли бы участвовать в сообществе, просто не заходят сюда, просто потому что их отталкивает дизайн и юзабилити (Убермаргинал так и говорил в старом эфире года 2016-ого на MadFM, что ему не нравится дизайн двача, и поэтому он на нём не сидит).
>Далее, фиг с ним с двачем, есть же нормальные чаны: тот же форчан

дооо, дизайн форчана прямо так сильно отличается
лол
Аноним 07/09/19 Суб 20:30:12 146956473
>>1469561
Он просто английский не знает и не втыкает в степень токсичности и тупости тамошних аутистов.
Аноним 07/09/19 Суб 20:55:28 146957874
при чем тут токсичность и дизайн, про токсичность сами спорьте, я в специальных олимпиадах не участвую
Аноним 07/09/19 Суб 21:18:54 146958675
>>1469480
Я лично пишу свой гуй ради знакомства и практики с новыми технологиями, которые едва опробуешь на работе. Вдогонку, хотелось бы иметь некоторые фичи, которые невозможно реализовать просто внедрив юзерскрипт на страницу.
Аноним 07/09/19 Суб 21:22:16 146958776
image.png (840Кб, 1078x701)
1078x701
Почему на некоторых сайтах с темными темами до сих пор нет автопереключения по css? Я что руками должен это делать, тянутся и нажимать на кнопку?
Аноним 07/09/19 Суб 21:22:35 146958877
>>1469587
>тянуться
быстрофикс
Аноним 07/09/19 Суб 21:29:15 146959578
>>1469587
>Почему на некоторых сайтах с темными темами до сих пор нет автопереключения по css?
От времени суток? Хм, а чо, хорошая идея...
07/09/19 Суб 21:29:37 146959679
>>1469564
> Он просто английский не знает и не втыкает в степень токсичности и тупости тамошних аутистов.
Да вы чего, форчан — на несколько голов выше, чем эти ваши двачи.
Здесь уровень дискуссии вообще ни о чём.
Не хотите признавать, понимаю.
Первая стадия — отрицание.
Потом будет гнев.
Аноним 07/09/19 Суб 21:31:08 146959780
07/09/19 Суб 21:32:38 146959881
>>1469586
> Я лично пишу свой гуй ради знакомства и практики с новыми технологиями, которые едва опробуешь на работе.
Ну, основная причина, конечно, эта.
Надо просто чем-то в жизни заниматься.
Если не смотреть бесконечные сериалы и не играть в онлайновые дрочильни, не ходить по концертам и клубам, то чем вообще в жизни заниматься?
Программировать, рисовать, работать, хз.
Читать надоедает достаточно быстро: не так интересно быть простым потребителем контента, интереснее быть производителем контента, так как это качественно новый уровень.
07/09/19 Суб 21:34:12 146959982
>>1469587
> Почему на некоторых сайтах с темными темами до сих пор нет автопереключения по css? Я что руками должен это делать, тянутся и нажимать на кнопку?
Нет пока API для того, чтобы узнавать, какая тема установлена в системе.
Сделают, наверное, когда-нибудь стандартный флаг типа `navigator.darkMode = true/false`.
После того, как Эппл на прошлом WWDC анонсировала тёмные темы в iOS и macOS, все сразу засуетились, и хайповый поезд поехал.
Аноним 07/09/19 Суб 21:34:59 146960083
>>1469599
А это что? >>1469597 У меня твитч и в хроме и в сафари сразу темным открывается
07/09/19 Суб 21:37:29 146960484
>>1469595
> От времени суток? Хм, а чо, хорошая идея...
Была такая идея тоже: ставить ночной режим в ночное время суток.
Но, например, я вообще не пользуюсь ночными темами: люблю, когда в помещении светло, и всё на привычном белом фоне.
У меня пять лампочек в люстре, каждая из которых по полторы тыщи люменов.
Когда живёшь по съёмным квартирам, это отдельный запар: не всегда ставят нормальную люстру на пять ламп, чаще вешают что-то минималистичное, создающее атмосферу, но не имеющее функционала.
Некоторые же, наоборот, сидят в полутьме, и ставят тёмные темы (глаза у людей не устают, что сделаешь).
Это как война кондиционеров: "Ребята, вечер скоро, я включу свет, никто не против?" "..." "(включаешь свет)" "(недовольное молчание в оупенспейсе)".
07/09/19 Суб 21:40:21 146960885
>>1469597
> Нет, по системной теме
> https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
Ого.
"А что, так можно было?"
Ну, это такой себе "all-in" подход: либо делать полностью на этих media queries вместо классов `.light` и `.dark`, либо не использовать эти media queries и делать классами `body.classList.add('light')`.
К тому же, сейчас мощный тренд на css-in-js (сам не пользуюсь, потому что знаю и не боюсь CSS), и такие подходы не прокатят.
Так что пусть пилят флаг в `navigator`.
07/09/19 Суб 21:43:55 146961086
>>1469600
Хотя нет, смотрите-ка, всё есть:
https://medium.com/@jonas_duri/enable-dark-mode-with-css-variables-and-javascript-today-66cedd3d7845

Gist:
https://gist.github.com/Gioni06/eb5b28343bcf5793a70f6703004cf333#file-darkmode-js

```
const isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches
window.matchMedia("(prefers-color-scheme: dark)").addListener(e => e.matches && activateDarkMode())
```

То есть, можно при загрузке страницы считывать флаг isDarkMode, и вдобавок подписываться на переключение системной темы.

Тоже запилю тогда.
26/09/19 Чтв 00:28:00 148183887
Небольшой апдейт, чтобы тред не исчезал. Обновления:

0. Зарелизил библиотеку для доступа к API имиджборд (отдельный пост снизу).

1. Боковая панель. Раздел "Отслеживаемые треды". 
Добавление тредов в "отслеживаемые". Удаление тредов из "отслеживаемого". Статус треда: ещё есть или уже уплыл.Обновление тредов в "отслеживаемом" при заходе на доску.
Счётчика новых сообщений пока нет.Фонового обновления пока нет.  

2. Боковая панель. Раздел "Доски" ("Избранное").
Добавление досок (автоматически при заходе на доску).Добавление досок (поиск по подстроке).Удаление досок.Перетаскивание досок (изменение порядка).

3. Синхронизация настроек и пользовательских данных между вкладками
Получение событий изменения данных в `localStorage` из других вкладок по `window.addEventListener('storage', listener)`.

Ссылки:
https://developer.mozilla.org/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Responding_to_storage_changes_with_the_StorageEvent
https://developer.mozilla.org/docs/Web/API/StorageEvent

4. Голосование (/news/, /po/).

Поскольку запросы идут через прокси, за каждый комментарий на captchan'е голосуют только один раз.

5. Какие-то ссылки (летнее):

Презентация от создателей PostCSS (русские).https://slides.com/ai/frontend-is-dying 

JS движок от Фейсбука для мобильных приложений (React Native) — более быстрое время запуска, но без компиляции "горячих" участков кода.https://engineering.fb.com/android/hermes/  
26/09/19 Чтв 00:29:31 148184188
Зарелизил библиотеку `imageboard`:
https://github.com/catamphetamine/imageboard

Там в README есть рабочий пример, который можно запустить из консоли.
Учитывая, что яваскрипт-машины есть почти везде, её можно использовать и в мобильных приложениях.
Документация, все дела.
26/09/19 Чтв 00:37:39 148185189
image.png (421Кб, 1541x1412)
1541x1412
Так, и ещё там Павел Дуров объявил новый конкурс.
Предыдущий был на интерфейсную часть: графики, анимации.
Сейчас, видимо, чисто на алгоритмику (ещё не читал):
https://pastebin.com/FG0ixyeb
Видимо, что-то про криптовалюты (я про них не читал, и не покупал ни разу — вертел их вообще, пирамида из воздуха).
Судя по всему, до середины октября буду заниматься этим.
Только закончу аврал на работе (релиз нового продукта 1 октября).
15/10/19 Втр 19:20:08 149736490
1570713659446.png (453Кб, 2518x1024)
2518x1024
Профилактический ежемесячный бамп.
Что было нового (немного).

1. (по совету анонов с форчана) Автоматически сгенерированные цитаты теперь выделяются "обычным" цветом, а написанные пользователем вручную — зелёным. Так понятнее, какие цитаты можно не читать, а какие — можно читать.

2. `kohlchan.net` временно залёг на дно по мотивам несостоявшегося расстрела синагоги
https://www.buzzfeednews.com/article/ryanhatesthis/halle-germany-shooter-meguca-anime-manifesto 
http://boards.4chan.org/pol/thread/229345033
Сразу после того происшествия сотни людей начали долбиться в кольчан на капчане, почему-то из Франции.

3. Судя по всему, почивший `8ch.net` будет мигрирован сыном хозяина на новый движок `8kun.net`.
https://twitter.com/infinitechan/status/1181054604097642496  
https://twitter.com/infinitechan/status/1181796277392011265   

4. Новый конкурс Телеграма — интересный конкурс, но отсылать туда я ничего, конечно же, не буду. За эти две недели удалось прочесть все эти манускрипты от доктора Николая Дурова. Понаписал он там, конечно, много всего интересного... Включая стековый язык программирования, где "(1 + 2) 3" пишется как "1 2 + 3 ", и на этом языке предлагалось писать код для конкурса, я вертел... Сначала читал про блокчейн две монографии, потом монографию по ассемблеру их виртуальной машины, потом монографию по стековому языку Fift для этой виртуальной машины, потом исходники уже более-менее человеческого языка FunC, наверченного вокруг всего этого хозяйства, по которому нет доков в принципе, и написано просто "пацаны, короче, там есть несколько листингов без комментариев, ну, вы сами разберётесь, в общем. если что — читайте исходники компилятора на C++, ага".

Вроде бы как ожидается ещё какой-то конкурс в ноябре на написание "веб-клиента Телеграма", так что, возможно, весь октябрь и ноябрь будет занят этими делами.
В целом, криптовалюта у них интересная. Инвесторы заходили по $0.3 за монету, сейчас уже торговать будут по $1.3 за монету, а рекомендованная цена — так вообще $3.3 за монету.
Мистеры Дуровы получат 200 миллионов монет, ещё 200 миллионов монет получат прочие разработчики всей этой бодяги.
Всё-таки гениальный тандем у них: один гений программирования и математики, а второй — гений пиара и маркетинга.

"Власти США приостановили ICO Telegram Павла Дурова":
https://www.rbc.ru/technology_and_media/12/10/2019/5da0f05d9a7947dc490e2e57?from=from_main   
Имя 03/11/19 Вск 21:44:52 151238191
image.png (542Кб, 1535x2182)
1535x2182
Так-с, так-с, что тут у нас: новый конкурс для ЖС-погромистов от Павла Дурова.
Три стадии, $200k в сумме.
Это что ж, запотеть придётся?

По сайту — ничё не делал, и не буду пока.
Потом ещё раз бампну тред, после конкурса, чтоб не уплывал.

Кольчан тем временем подняли.
И восьмичан, судя по всему, чуть ли ни сегодня-завтра запускается под именем 8kun.
https://twitter.com/infinitechan/status/1190459033758642177
Аноним 03/11/19 Вск 22:07:59 151242092
>>1512381
Скорее всего контест на создание своего реакта/ангуляра.
Аноним 07/11/19 Чтв 01:09:45 151508193
>>1512381
Ну что, ОП, посмотрел уже дизайн веб-версии телеги, сможешь запилить за 2 недели (без готовых фреймворков)?. Я перед конкурсом хотел отпуск на работе взять, чтобы покодить в кайф с нуля что-нибудь, поучаствовать в конкурсе, но когда увидел объём работ, то прихуел.
Аноним 07/11/19 Чтв 03:38:53 151512694
ChannelMessageH[...].png (463Кб, 1680x1944)
1680x1944
>>1515081
> Ну что, ОП, посмотрел уже дизайн веб-версии телеги, сможешь запилить за 2 недели (без готовых фреймворков)?. Я перед конкурсом хотел отпуск на работе взять, чтобы покодить в кайф с нуля что-нибудь, поучаствовать в конкурсе, но когда увидел объём работ, то прихуел.

Ну, в общем, уже три дня прошло.
Я специально доделал дела по работе на выходных, чтобы освободить себе время для конкурса.
Подумал: ну вот он, мой шанс — другие-то на работах сидят как сычи, дедлайны и т.п., а я пинаю болт весь день, вот сейчас всех и обскочу.
Иии... и уже три дня ничего не хочется делать.
Не начинал, в общем.
Хз.
Я о Павле Дурове вообще понял, что его философия вся эта — про 300 спартанцев и "человека эпохи возрождения", который не пьёт таблетки и питается солнцем.
Соответственно, и в работе у него подход — требовать невозможного, достигать недостигаемого, быть сверхчеловеком.
Даже если как-то, запотев, пролезть в его команду через этот конкурс, мало кто выдержит работу в таком режиме.
По крайней мере, для себя я понял, что я не Нео, и вообще, за тридцать уже, временами есть настроение только сидеть-пердеть под стримы Меддисона.
Вот молодые, шутливые, они жгут, а моё время уже давно прошло.
Вот допишу этот проектик, да и хватит с меня. Молодость прошла интересно, ни о чём не жалею.
Чем старее становишься, тем меньше хочется вообще чем-либо шевелить. Работа есть, всё есть, сидишь-пердишь себе. Ничего и никого не идеализируешь (скорее наоборот).
Может быть, только у меня так.

Но вообще, конечно, про "прихуел" — аналогично.
Когда мне такой объём работ показывают на работе, и говорят «Срочно, бросай всё, бизнес-стратегия поменялась: теперь надо сделать вот этот новый сайт. Вот тебе пачка дизайнов. За сколько сможешь?», я отвечаю сразу «Полгода».
Наверное, просто наелся этого всего уже, и банально не хочется.
Судя по всему, есть энерджайзеры, которые могут и за две недели.
Если такие побеждают в конкурсах и зарабатывают миллионы долларов — ничего против не имею. Респект таким ребятам.
Моя батарейка уже просто, видимо, готова отправляться на пенсию.

Кстати, есть у меня компонент один, для ввода телефонных номеров — как раз такой, какой требуется для этого задания.
https://github.com/catamphetamine/react-phone-number-input
Только вот весит он дофига.
Если даже не возьмусь делать всё задание, то хотя бы попробую сделать вот это единственное поле ввода номера телефона. Так, чтобы быстро, компактно и идеально.

А так, конкурсы хорошие, и призы жирненькие, так что в целом очень интересно.
Аноним 07/11/19 Чтв 16:27:32 151552295
>>1515126
>Павле Дурове
Убер петух
Аноним 07/11/19 Чтв 16:52:39 151554696
>>1515081
>>1515126
>>1512420
А сорцы выложуть, как то было с чартами? Можно будет ознакомиться с этими велосипедами?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов