[ /feed/ ] [ /a/ /b/ /c/ /tor/ /z/ ] [ /cpu/ ] [ /d/ /news/ ]
Хайбане.ru — Кодач
pfpmd
Reply to 362 thread [ Back ]
[ Reply ]
 
Attach file
  • Supported file types are jpg, jpeg, png, gif, webm, swf, rar, zip, 7z, mp3, flac, ogv, txt, mp4
  • Bump limit is 500
  • Max files size allowed is 25 MB
  • Images greater than 200x200 will be thumbnailed.
[ Close form | Show rules Hide Rules ]
pfpmd Золотце 14 July 2018 (Sat) 04:01:41
#362 Reply
png, 7.18 KB, 400x400
Привет. Это тред для пиара pfpmd: http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/
pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды. Тематика: computer science, математика, программирование, технологии, криптоанархизм, софт и т.п.

pfpmd существует с 2015 года. Изначально он был попыткой воскресить один ресурс, который назывался лолкс, но теперь это в прошлом. Населен небольшим количеством людей и имеет низкую активность, что и хотелось бы изменить. Из-за того, что pfpmd это tor hidden service, периодически туда заходят люди ищущие цп, гуро и т.п., но, ничего не найдя, быстро уходят. pfpmd не модерируется, бан невозможен, как и цензура. Логотипом pfpmd является символ Ω, в честь Chaitin omega number https://en.wikipedia.org/wiki/Chaitin's_constant

Фичи pfpmd:
-Борды не фиксированы, в форме создания поста можно указать имя новой борды и она будет создана динамически в момент создания поста.
-Можно менять описание борды, это может делать любой пользователь сколько угодно раз;
-На странице с чатом по дефолту отображаются сообщение не только из чата, но и со всех борд. Это поведение можно изменить в настройках.
-На станице чана отображаются треды со всех борд (у нас это было еще до нульчана). Но можно отобразить только треды какой-то одной борды, просто перейдя по ссылке этой борды.
-Картинки отображатся с некоторых ресурсов, например, imgur, twitter. Также показываются превьюшки видео с youtube и некоторых имиджборд. Список будет пополняться в будущем.
-Текстовое поле ввода чата поддерживает подобие командной строки. Есть команды для создания тредов, ответа в тред, изменения описания борды.
-Можно скрыть отображение всех сообщений с кириллицей.
-Поддерживается форматирование блоков кода. Подсветка синтаксиса реализована через highlight.js и выключена по дефолту, но ее можно влючить в настройках.
-Поддерживается форматирование математических формул через KaTeX. Но эта фича тоже выключена по дефолту.
-Есть страница с логами всех сообщений (включая борды) в обратном по дате порядке.

Основные принципы:
-Максимальное облегчение сервера, весь (кроме статического) html генерится на клиенте, сервер отправляет клиенту только сырые данные;
-Минимум зависимостей у клиентского кода. Всё, за исключение подсветки синтаксиса и математических формул, реализовано на голом javascript, без использования всяких jquery, vue.js и прочих фреймворков. Исходный код KaTeX и highlightjs подгружается только когда фичи включены в настройках.
-Отсутствие цензуры.

Планы развития:
-Децентрализация на уровне серверов. Будет множество инстансов pfpmd, которые синхронизируются между собой. Юзер сможет подключаться к любому из серверов, сможет поднять свой.
-Сделать клиентское приложение с консольным интерфейсом и веб интерфейсом. Чтобы юзер мог без запуска торбраузера заходить на pfpmd или вообще без гуйни, а также чтобы иметь свою локальную базу сообщений, по которой можно делать поиск и что угодно.
-Допилить дизайн.

Вторым постом будет FAQ. Но, в любом случае, я буду отвечать в тред.
Золотце 14 July 2018 (Sat) 04:03:32 #363 1 Reply
FAQ
>По ссылке пустая страница без сообщений. Ничего не работает?
Надо включить js для pfpmd в настройках noscript. Исходный код не обфусцирован.

>А что если вайпер все завайпает или даже уронит сервер?
Ничего страшного, есть бэкапы, переподнимем, если что.

>Я не могу терпеть спам. Почему бы не чистить говно?
1. У меня нет на это времени. 2. Понятие спама у каждого свое. 3. Будущее клиентское приложение должно будет поддерживать пользовательские фильтры, каждый сам себе будет модератор. 4. Это нарушает один из основных принципов.

>Есть ссылка в клирнете?
Нету, pfpmd доступен только через тор.

>Что означает pfpmd?
Ничего, это просто первые пять символом рандомного хостнейма, который сгенерил тор.

>Что за лолкс?
https://lurkmore.to/%D0%9B%D0%BE%D0%BB%D0%BA%D1%81
Золотце 24 July 2018 (Tue) 00:33:18 #365 2 Reply
>>364
Без мочерации, ага, там банится тор. Пошел на хуй!
Золотце 10 August 2018 (Fri) 22:36:51 #366 3 Reply
>>363
>Надо включить js для pfpmd в настройках noscript.

Не надо. Господи, когда вы уже поймете, что js-приложения это полноценные приложения для которых, в отличие от десктопных собратьев, нет никакой инфраструктуры для безопасного распространения кода (с цифровыми подписями), управления версиями (с возможностью отката), и анализа. Ну и количество CVE связанных с браузерными движками, особенно с js, говорит само за себя.
Золотце 12 August 2018 (Sun) 23:17:56 #367 4 Reply
Золотце 13 August 2018 (Mon) 21:02:30 #368 5 Reply
>>367

Ок, может быть сподоблюсь как-нибудь прочитать код и переписать его на чем-то вроде Ada (не умею в питон, да и ногу в нем прострелить запросто). Но то что ты мне предлагаешь скачать неподписанный архив симптоматично.
Золотце 27 August 2018 (Mon) 09:26:54 #369 6 Reply
>>366
> нет никакой инфраструктуры для безопасного распространения кода (с цифровыми подписями)
Есть
https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
> управления версиями (с возможностью отката),
Кеширующие заголовки с сервера? Версия через параметр запроса? Заголовок? Сотня вариантов
> и анализа.
Лол что? Девтулзы хрома дадут на клык любой современной ide
Золотце 27 August 2018 (Mon) 10:10:37 #370 7 Reply
>>369

Как работают цифровые подписи на десктопе? Ты скачиваешь приложение, скачиваешь подпись, проверяешь подпись, и только после этого запускаешь приложение. Как работает веб? Все начинается с последнего пункта, с запуска приложения после ввода URL. Что там вышлет сервер то и будет. Хакер завладеет сервером, значит изначальная страница будет с вредоносным кодом. В случае десктопа вредоносный код просто не пройдет проверку подписи.

>Кеширующие заголовки с сервера? Версия через параметр запроса? Заголовок? Сотня вариантов

Что вышлет сервер то и выполнит клиент, клиент ничего не решает. Да, он может отправить заголовок, параметры, а сервер их может просто проигнорировать.

>Девтулзы хрома дадут на клык любой современной ide

Ну и как ты загрузишь страницу без выполнения кода, чтобы ты смог сначала его проверить, а потом запустить, и запустить именно тот код который ты проверил? С NoJS можно загрузить страницу без кода, проверить код отдельно, затем выключить NoJS но это приведет к перезагрузке страницы и сервер может выслать другой код, который ты не проверял, и так при каждой перезагрузке. В этом суть веба - все решает сервер, клиент служит серверу, а не пользователю.
Золотце 27 August 2018 (Mon) 11:27:51 #371 8 Reply
>>370
> Ты скачиваешь приложение, скачиваешь подпись, проверяешь подпись, и только после этого запускаешь приложение.
Подпись гарантирует только состояние приложения, что оно не изменилось во время доставки, она не гарантирует, что приложение безопасно. Злоумышленник абсолютно также вместе с приложением угоняет и подпись. Подпись, как и в вебе, нужна только для защиты от mitm, если скомпрометировано само приложение -- ничего уже не поможет

> Хакер завладеет сервером, значит изначальная страница будет с вредоносным кодом.
Ну или с вредоносным десктопным приложением

> Что вышлет сервер то и выполнит клиент, клиент ничего не решает. Да, он может отправить заголовок, параметры, а сервер их может просто проигнорировать.
> Ну и как ты загрузишь страницу без выполнения кода, чтобы ты смог сначала его проверить, а потом запустить, и запустить именно тот код который ты проверил?
Ставишь брейкпоинт в самое начало кода и построчно запускаешь и проверяешь, вообще без каких-либо NoJS и прочего. Но зачем это нужно? JS выполняется в изолированной среде, никакого вреда он причинить не может не будем фантазировать про 0-day уязвимости в интерпретаторе, потому что на десктопе приложение априори небезоспасно без всяких 0-day и может делать в принципе что угодно

Но это все шиза. Невозможно пользоваться чьим-то софтом, если ты не доверяешь его автору. Даже если исходники открыты, физически невозможно проверять каждую версию каждого софта и разбираться что и как работает.
Единственная возможная защита от злоумышленника - это максимально изолированная среда с запросами на права для всего критичного и защита от mitm, к чему и пришел веб/мобайл. В десктопных приложениях есть защита от mitm, но у приложений абсолютно небезопасная среда
Золотце 27 August 2018 (Mon) 12:57:56 #372 9 Reply
>>371
>Подпись гарантирует только состояние приложения, что оно не изменилось во время доставки, она не гарантирует, что приложение безопасно.

Разумеется, но ты не понимаешь для чего нужны подписи.

>Злоумышленник абсолютно также вместе с приложением угоняет и подпись

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

>Ставишь брейкпоинт в самое начало кода и построчно запускаешь и проверяешь, вообще без каких-либо NoJS и прочего.

Ок. Но опять же, при первой же перезагрузке страницы сервер может выдать новый код. С десктопными приложениями обновления контролирует пользователь.

>JS выполняется в изолированной среде, никакого вреда он причинить не может не будем фантазировать про 0-day уязвимости в интерпретаторе

А зачем фантазировать если 0-days уже были и не раз? Из sandbox'а вирусы вырываются с завидной регулярностью, потому что даже на уровне спецификаций веб переусложнен и полон динозаврового говна, а реализовать такое безопасно практически нереально. Не забывай еще про JIT-компилятор. Браузеры на сегодняшний день одни из самых сложных программ. Написать десктоп-приложение для сраного чятика и доски и формально верифицировать абсолютно реально, попробуй верифицируй браузер.

https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=firefox+javascript
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=google+chrome+javascript

>на десктопе приложение априори небезоспасно без всяких 0-day и может делать в принципе что угодно

https://en.wikipedia.org/wiki/Snappy_(package_manager)
https://en.wikipedia.org/wiki/Flatpak
https://en.wikipedia.org/wiki/Apparmor

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

Зависит. Если скрипты состоят в основном из свистелок и большая часть функций реализована сервером, что встерчается часто, то я могу ограничиться проверкой только нужного кода, запретив выполнение всего остального. Даже следить за версиями получится, но опять же, контроля за версиями в случае веба нет.
Золотце 27 August 2018 (Mon) 20:33:46 #373 10 Reply
>>369
Девтулзы хрома неплохие, но это именно что набор утилит, а не ide, так что ничему они на клык не дают. Это разные задачи, в иде редко можно отладить лайв-код клиентской стороны приложения.
Золотце 27 August 2018 (Mon) 23:30:55 #374 11 Reply
>>371
>Ставишь брейкпоинт в самое начало кода и построчно запускаешь

А как поставить брейкпойнт перед тем как скрипты выполнились в первый раз? Т.е. есть какой-то другой ритуал вместо ввода URL, нажатия Enter, и потом уже установки брейкпойнта где-нибудь?
Золотце 31 August 2018 (Fri) 21:11:14 #376 12 Reply
>372
>Для того чтобы сделать валидную подпись для левого приложения нужен приватный ключ которым владеет один из разработчиков. Т.е. нужно угнать еще и этот ключ что весьма нетривиально так как инфраструктура для хостинга и для генерации подписей как правило раздельная именно чтобы не угнали ключ.
Тебе дают подпись и signing key в первый раз. Как ты поймешь, что это еще не взломанная версия? Угонять прайват ключ не нужно, его просто новый создадут и все.

>Т.е. суть подписей в том что если ты доверяешь разработчикам (которых ты идентифицируешь по публичному ключу) то валидная подпись говорит что да, приложение подписано разрабами, а не хакером.
Опять же, это все не работает, если разработчик аноним.
Золотце 01 September 2018 (Sat) 03:36:17 #377 13 Reply
>>376
>Тебе дают подпись и signing key в первый раз. Как ты поймешь, что это еще не взломанная версия? Угонять прайват ключ не нужно, его просто новый создадут и все.

Нет, тебе дают только подпись. Signing key это приватный ключ, к нему у тебя доступа нет. Соответствующий публичный ключ ты получаешь каким-то другим способом. Например приложения из официального репозитория убунту подписаны приватным ключом разработчиков убунту, а соответствующий публичный ключ включен в саму убунту. Т.е. если ты скачаешь хакнутое приложение с валидной подписью из этого репозитория, оно будет подписано приватным ключом соответсвующим другому публичному ключу и это приведет к ошибке во время установки. Если разрабы решат использовать новую пару ключей они подпишут новый публичный ключ (или сообщение о переходе включающее fingerprint нового публичного ключа) старым приватным ключом. Или как в случае с убунту: ты скачиваешь новую убунту которая подписана старым приватным ключом, а она уже содержит новый публичный ключ. Т.е. главное - получить верный публичный ключ в первый раз. Например разрабы OpenBSD публиковали свои ключи в официальном твиттере и на разных конференциях. Кто-то публикует их в бложиках, если еще https://en.wikipedia.org/wiki/Keybase, WoT в самом GPG (например если ты доверяешь разрабам Debian то ты можешь проверить ключи разрабов Tails). Ну и сервер с которого ты качаешь файлы и подписи может быть отличным от сервера на котором лежат публичные ключи или их отпечатки. В этом случае HTTPS тоже предоставляет определенную гарантию особенно если компания разворачивает свою собственную PKI.

Что я хочу этим сказать? Ты не хрена на понимешь в подписях и видимо в public-key cryptography. Я не буду больше ничего объяснять, читай сам https://en.wikipedia.org/wiki/Digital_signature и гугли что непонятно.

>Опять же, это все не работает, если разработчик аноним.

А разве речь шла об анонимах? Но в любом случае есть AppArmor и прочее что я приводил. Т.е. приложению можно обрубить доступ ко всему и смотреть куда оно тянет ручки. Если к безобидным ресурсам то можно дать доступ, иначе приложение можно снести.

Что ответишь на >>374 ?
Золотце 01 September 2018 (Sat) 14:43:58 #378 14 Reply
>>377
Ты путаешься в терминилогии.
Например, ты хочешь скачать тор браузер и проверить подпись.
Для этого ты должен заимпорить signing key 0x4E2C6E8793298290 https://www.torproject.org/docs/signing-keys.html.en
командой
gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290

И уже только потом ты можешь проверить подпись:
gpg --verify torbrowser-install-7.5.6_en-US.exe.asc

На которую тебе выдаст ворнинг:
gpg: Good signature from "Tor Browser Developers (signing key) " [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Notice that there is a warning because you haven't assigned a trust
index to this person. This means that GnuPG verified that the key made
that signature, but it's up to you to decide if that key really belongs
to the developer. The best method is to meet the developer in person and
exchange key fingerprints.

>А разве речь шла об анонимах? Но в любом случае есть AppArmor и прочее что я приводил. Т.е. приложению можно обрубить доступ ко всему и смотреть куда оно тянет ручки. Если к безобидным ресурсам то можно дать доступ, иначе приложение можно снести.
"Но то что ты мне предлагаешь скачать неподписанный архив симптоматично."
Золотце 01 September 2018 (Sat) 15:39:31 #379 15 Reply
>>377
>Что ответишь на >>374 ?
Я другой.
Золотце 02 September 2018 (Sun) 05:40:48 #380 16 Reply
>>378
>Ты путаешься в терминилогии.

Ну ок, имелось в виду что для подписи используется приватный ключ, а генерируется для этого не один ключ а пара. То что иногда публичный ключ из этой пары называется signing key это конечно баг. Остальная логика моего поста - про установление соответсвия личности разрабов и ключей - верна. Т.е. для веба отсутствует инфраструктура которая есть для десктоп приложений, что и требовалось доказать. Поэтому все предъявы фанатов что нечего тут разводить, веб безопасен/безопаснее десктопа - в /dev/null. Не включай скрипты, козленочком станешь.

>"Но то что ты мне предлагаешь скачать неподписанный архив симптоматично."

В чем конкретно предъява (нас здесь трое епт)?
Золотце 27 April 2019 (Sat) 13:15:19 #389 17 Reply
>>362
>Минимум зависимостей у клиентского кода.
И максимум убогих самодельных велосипедов.
Откуда это повсеместное безумное желание парашеводов делать своё говно с абсолютного нуля?
Золотце 27 April 2019 (Sat) 13:23:17 #390 18 Reply
> вручную нахуяренные на es5 function(){} function(){} var var, которые даже не сжаты
Ещё и делать настолько отвратительно. Неужели трудно пару дней уделить чтению мануалов по вебпаку и бабелю?
Золотце 27 April 2019 (Sat) 17:02:08 #391 19 Reply
>>390
Вебпак и бабел не нужны. Только компилируемые языки.
Золотце 27 April 2019 (Sat) 17:09:00 #392 20 Reply
>>391
А как ты будешь собирать модули в однофайловый бандл и транслировать ES6 в ES5?
Золотце 27 April 2019 (Sat) 17:13:08 #393 21 Reply
>>392
Допустим, есть typescript. Кладём рядом tsconfig и указываем опцию - объединить в один файл (там такая есть). Это работает быстро и есть ряд дополнительных опций. Собирает в тот же самый es5 с полифиллами, работает везде. npm не нужен, как и библиотеки на сотни метров, которые делают то же самое хуже и дольше.
Last modified 27 April 2019 (Sat) 17:13:39
Золотце 27 April 2019 (Sat) 18:20:02 #394 22 Reply
>>393
>typescript
Ненужные нагромождения, как по мне, но дело твоё, ладно.
>npm не нужен, как и библиотеки на сотни метров
Библиотеки-то тебе один хуй нужны будут. Анимации, аджаксовые формочки - всё это надо как-то делать. Нет, можно, конечно, ебануть велосипедов, но зачем, когда есть готовые решения, уже написанные и оттестированные, добавляющиеся в проект одной командой?

Один хуй, на параше из оп-поста кучка скриптов с процедурщиной на ES5 руками прямиком из 2011, даже блядь не сжатая. Хочешь тайпскрипт - ну, хуй с ним, пусть будет тайпскрипт, но там же просто наколеночная параша.
Что заставляет парашеводов запиливать параши именно в таком виде, если изучение человеческих инструментов занимает относительно немного времени и сил, но существенно упрощает дальнейшую разработку? Каргокульт?
Золотце 27 April 2019 (Sat) 18:35:11 #395 23 Reply
>>394
> Ненужные нагромождения
А бабел с вебпаком - это что?
> Библиотеки-то тебе один хуй нужны будут.
Это да. Например, я использовал axios для xmlhttp.
> кучка скриптом с процедурщиной
Может, им так удобней. Там же написано "максимальное облегчение веса". То есть упор как бы сделан на минималистичность. Следовательно, много скриптов им не нужно, можно обойтись и чистым джаваскриптом.
Золотце 27 April 2019 (Sat) 19:45:49 #396 24 Reply
>>395
>А бабел с вебпаком - это что?
Инструменты разработки, лол. Я имел в виду нагромождения в сам язык, типа прихуяренной сбоку статик типизации, но опять же - дело твоё.
>Там же написано "максимальное облегчение веса"
При этом код не сжат, что увеличивает время загрузки страницы, особенно из-под всяких торов. Напоминает лампач, где всё сделано через жопу, потому что тамошний парашник ничего не умеет, но преподносится такой "минимализм" под соусом ламповой аутичной атмосферы того самого 2005 и ещё какой-то хуйни.

Тут то же самое: взяли, нахуярили несколько скриптов с function function в блокноте, прописали несколько раз <script src> где-то в пыхо-хтмл мешанине и сделали
cp -R parasha-src/* /var/www/html
. Ну, нормально, пока у тебя три процедуры на 100 строчек суммарно, да. Пиздец начнётся, когда понадобится сделать больше, или ещё того хуже - устанавливать сторонние зависимости и, возможно, в дальнейшем обновлять их. Понятно, что минимализм и всё такое, но нельзя же абсолютно исключать вероятность возникновения подобной необходимости в будущем, проект должен быть готов к этому на всякий случай. В чём сложность изначально позаботиться о человеческом управлении зависимостями, сборкой? Зачем лепить низкокачественное наколеночное говно?
Золотце 27 April 2019 (Sat) 19:46:23 #397 25 Reply
png, 788.13 KB, 666x1000
>>394
>Что заставляет парашеводов запиливать параши именно в таком виде, если изучение человеческих инструментов занимает относительно немного времени и сил, но существенно упрощает дальнейшую разработку? Каргокульт?
Я не ОП, но вставлю свои пять копеек, ибо тоже парашевод админ, который на ES5 сделал сплав костылей и велосипедов вместо фронтенда. Тому що – опыт. Делая все с нуля, успеваешь обучиться азам, которые очень потом пригодятся. Например, я не использовал набирающие популярность в то время фреймворки типа Ember.js r и Backbone.js, а делал все ручками и освоил манипулирование DOM, XHR, концепцию AJAX и SPA, работу со стилями и анимациями, разные API браузера, вроде нотификаций и файлов. Много лет спустя я занялся профессиональной фронтенд-разработкой на Angular/React – фреймворки изменились, а база всё такая же, что позволило быстро войти в профессию и продемонстрировать хорошие результаты.
Золотце 27 April 2019 (Sat) 22:48:04 #398 26 Reply
>>397
Ну хуй с ним, можно писать и без фреймворков, но это не освобождает от необходимости по-человечески оформлять свой проект, чтобы тот был проектом, а не кучей говна. Регистрировать как-то все зависимости, мочь деплоить одной командой (и естественно не той, что приведена в >>396 ). Если говорить о коммерческой востребованности, необходимость очевидна. Ковырни фронтенд любого серьёзного проекта и ты увидишь там бандлы со сжатым кодом, очевидно, что это делается не вручную, а запускается заботливо написанный таск npm или что-нибудь в этом духе. ES6 сегодня тоже воспринимается как само собой разумеющийся навык. Даже если забить хуй на трудоустройство, это всё равно полезно, потому что так однозначно удобнее, а усилий для изучения тратится не так много.
Если всё же допустить, что парашевод полный ноль и делает парашу для пополнения портфолио и укрепления навыков для дальнейшего трудоустройства, то ему тем более стоит начинать учиться с хороших практик, а не лепить неподдерживаемое говно.
Велосипеды писать быстро заебёт. Безусловно, надо понимать, как повесить коллбэк на кнопку, поменять ксс или проскроллить страницу на 10 пикселей вниз, но в хоть сколько-то больших проектах некогда делать это вручную, так что особо увлекаться не стоит.
Золотце 30 April 2019 (Tue) 19:40:50 #399 27 Reply
>>394
> Библиотеки-то тебе один хуй нужны будут.
Да. Например, встроенная в браузер.
Золотце 30 April 2019 (Tue) 19:42:12 #400 28 Reply
>>396
> Я имел в виду нагромождения в сам язык, типа прихуяренной сбоку статик типизации, но опять же - дело твоё.
Чтоб не сидеть часами в developer tools.
Золотце 30 April 2019 (Tue) 19:45:36 #401 29 Reply
>>396
> При этом код не сжат, что
облегчает его отладку, проверку и дает возможность аноньчикам растащить этот код на куски. Твоё сжатие лишает всего этого с целью экономии на спичках. Серьезно, я бы штрафовал за сжатие и обфускацию JS-кода.
Золотце 30 April 2019 (Tue) 19:47:21 #402 30 Reply
>>396
> Пиздец начнётся, когда понадобится сделать больше, или ещё того хуже - устанавливать сторонние зависимости и, возможно, в дальнейшем обновлять их.
> В чём сложность изначально позаботиться о человеческом управлении зависимостями, сборкой?
В том, что человеческого управления зависимостями для JS еще не придумали (ты же не имеешь в виду помойки от хипстеров с лефтпадом и феминистками?).
Золотце 30 April 2019 (Tue) 19:49:16 #403 31 Reply
>>397
Погоди-погоди-погоди. То есть, сейчас фронтендеры сначала изучают Ember.js, Backbone.js, Angular.js, Govno.js и Mocha.js, а потом изучают манипулирование DOM, XHR, концепцию AJAX и SPA, работу со стилями и анимациями, разные API браузера, вроде нотификаций и файлов?
Золотце 30 April 2019 (Tue) 20:07:15 #404 32 Reply
>>402
В том, что человеческого управления зависимостями для JS (и для C, кстати) еще не придумали.

self-fix
Золотце 01 May 2019 (Wed) 01:09:13 #405 33 Reply
>>403
Ты прав. Ныне фронтендеры изучают сперва react, потом js, потом dom и html...
Золотце 02 May 2019 (Thu) 14:29:52 #406 34 Reply
>>401
>облегчает его отладку, проверку
У тебя должен быть дев билд и продакшн билд. Отладки-проверки должны делаться на первом.
Лепить всё в одном месте -- показатель абсолютного непрофессионализма. Как и месиво из тысячи процедур в глобал скопе (так писали в семидесятых).
>В том, что человеческого управления зависимостями для JS еще не придумали
Я всё понял, хватит. Возвращайся, когда хотя бы годик поработаешь фронтенд-макакой.
Золотце 04 May 2019 (Sat) 14:25:57 #407 35 Reply
>>406
> У тебя должен быть дев билд и продакшн билд. Отладки-проверки должны делаться на первом.
> Лепить всё в одном месте -- показатель абсолютного непрофессионализма. Как и месиво из тысячи процедур в глобал скопе (так писали в семидесятых).
Спасибо, Капитан.

> Возвращайся, когда хотя бы годик поработаешь фронтенд-макакой.
Менеджил один проект почти семь лет, где-то треть времени пилил фронтенд (сам, от остальных хуй добьешься). То есть, где-то 2 года я проработал фронтенд-макакой. Можно мне уже возвращаться?
Last modified 04 May 2019 (Sat) 23:15:03
Золотце 04 May 2019 (Sat) 15:50:03 #408 36 Reply
>>407
Чувак, опыт - это не когда ты навязываешь всем свой опыт, а используешь его для того, чтобы увидеть, что можно сделать лучше. Ты подчеркнул факт, сказав, что там процедурщина, это ничего не изменит. Более того, тебе должно быть понятна применимость твоего опыта, и имиджборда, написанная на коленке за полтора дня - это не твой семилетний проект, незачем стрелять из пушки по воробьям. Код должен выполнять свою задачу, требуя минимум эффорта по написанию и поддержке.
Золотце 04 May 2019 (Sat) 23:22:29 #409 37 Reply
>>408
> Ты подчеркнул факт, сказав, что там процедурщина
Покажи мне, пожалуйста, где я подчеркнул этот факт.

> имиджборда, написанная на коленке за полтора дня - это не твой семилетний проект
Совершенно верно, это его маленькая-маленькая часть.

> Более того, тебе должно быть понятна применимость твоего опыта
> Код должен выполнять свою задачу, требуя минимум эффорта по написанию и поддержке.
И еще раз спасибо, Капитан.
Золотце 04 May 2019 (Sat) 23:25:55 #410 38 Reply
>>409
Это разве не ты писал, что-де там процедурщина и надо всё переделать "как надо"?
Золотце 04 May 2019 (Sat) 23:27:46 #411 39 Reply
>>410
В >>407 я этого не нашел.
Золотце 17 May 2019 (Fri) 18:46:10 #412 40 Reply
>>390
>Неужели трудно пару дней уделить чтению мануалов по вебпаку и бабелю?
Там используется rollup. Babel используется в веб интерфейсе pfpmd клиента.
>>396
> При этом код не сжат
Он сжат gzip'ом как и всё остальное.
[ Reply ]
[ Get new posts ] [ Back ]
[ Mark all posts ]