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

Создать тред Создать тред

Программы и операционные системы обсуждаются в /s/. Воздержитесь от холиваров. Конференция доски в Телеграме - @pr2ch

Питон тред №96 /python/ Аноним 11/08/20 Втр 01:06:43 1773714 Ответ
image.png 74Кб, 474x474
474x474
image.png 728Кб, 680x370
680x370
image.png 365Кб, 712x400
712x400
image.png 95Кб, 290x174
290x174
Тред, посвящённый языку программирования Питон, #96

Предыдущий: >>1762623 (OP)

Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4[РАСКРЫТЬ]

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Пропущено 565 постов
52 с картинками.
Пропущено 565 постов, 52 с картинками.
Аноним 18/08/20 Втр 22:36:13 1780960
>>1780955
со скобками строкой выше все ок?
Аноним 18/08/20 Втр 23:38:46 1781002
>>1780960
3])) - тут нет скобки у него
Аноним 20/08/20 Чтв 05:43:34 1782301
>>1780767
>В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п.
В питоне это пол строки вообще, просто int.
Java #23 ЛЕТНИЙ thread /java/ Аноним 06/08/20 Чтв 08:35:35 1769582 Ответ
15964764661890.jpg 219Кб, 1388x1152
1388x1152
15940078448790.png 282Кб, 815x981
815x981
Прошлый >>1743038 (OP)

Шапка слегка дополнена и красуется в ОП-посте, т.к.количество слабоумных, которые не могут перейти по двум ссылкам растет.

Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?
A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.
Сейчас все советуют Hyperskill. Более продуманный план обучения.

Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред. Но в последнее время увеличивается количество вакансий на удаленке в связи с ковидом. Но, возможно, как вся эта мракобесия закончится, всех обратно загонят в стойло.

Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать?
A: Книги: https://libgen.is

Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.

Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо?
A: В наших тредах постоянно появляются люди, спрашивающие о джавараше. Громко объявляют, что начинают заниматься, задают пару тупых вопросов и куда-то пропадают. Похоже, большинство адекватов бросают джавараш из-за дебильных заданий типа "десять раз скопипасти этот кусок кода и выведи в консоль". Тем не менее, иногда появляются и люди, говорящие что прошли его целиком, и что дальше задания получше. Короче, хочешь - пробуй, первые десять занятий бесплатно же. Но, как минимум, лучше совмещать с обучением по другим источникам. На самом деле ты просто потратишь свое время на какой-то мусор.

Q: Пока читаю, все понимаю, а сам ничего сделать не могу. Что делать?
A: Практика, больше практики. Уровня laba1.pas: http://codingbat.com/java http://codehunt.com https://hyperskill.org все говно, есть литкод Примеры той-проектов: http://eax.me/programming-language-learning/

Q: Я выучил кор, достаточно ли этого, чтоб взяли на работу?
A: Лол, конечно нет. Вот майндмап с джава-технологиями: https://coggle.it/diagram/WqgTTNMJtPiHph_q/t/java-development-in-2018

Q: Слышал, SQL знать надо обязательно. Где его учить?
A: Начни с малого: http://www.w3schools.com/sql/default.asp Затем переходи к: http://www.sql-ex.ru/

Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут.
A: Не все конторы дрочат на подход Яндекса который спиздил подход гугла. Но для крупных фирм знать алгоритмы маст хев уже на уровне джуна/трейни, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java

Q: Я готов к первому собеседованию.
A: Проверь свои знания здесь: http://www.quizful.net/test И здесь: http://www.careercup.com/

Q: Вопросы на собеседование.
A: http://jsehelper.blogspot.ru/2016/01/blog-post_59.html : куча вопросов с ответамине всегда правильными http://becomejavasenior.com/blog/2015/07/01/327-interview-questions-java-developer/

Перед тем, как задать вопрос Как вайти в айти?, ознакомься с вики:
https://github.com/qqqlll/Java-Thread/wiki
https://github.com/random76/Java-Thread/wiki
Пропущено 1134 постов
94 с картинками.
Пропущено 1134 постов, 94 с картинками.
Аноним 09/09/20 Срд 23:24:32 1802215
>>1802204
Это разве длинные? Лол.
Аноним 10/09/20 Чтв 07:06:57 1802374
Аноним 14/09/20 Пнд 08:41:14 1805844
JavaScript.thread = Number(`169`); /js/ Аноним # OP 08/08/20 Суб 17:31:47 1772070 Ответ
image.png 89Кб, 1050x1050
1050x1050
Прошлый тред: >>1762464 (OP)

Больше пары строк кода в посте или на скриншоте ведут в Ад.

Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs

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

Руководство для вката:
https://pastebin.com/9yRADC0s
Пропущено 556 постов
41 с картинками.
Пропущено 556 постов, 41 с картинками.
Аноним 22/08/20 Суб 03:43:16 1784616
>>1783958

потому что в фронтенде помимо клепания сайтиков можно заниматься экспериментальными штуками по типу 3D, и делать искусство. Бекенд (по моему мнению) менее весёлый в этом плане потому что он взаимодействует с фронтом а не с конечным пользователем, и нет визуальной части, а только техническая.
Аноним 23/08/20 Вск 22:30:08 1785918
>>1783958
Потому что люблю делать удобные интерфейсы. Потому что без визуала нет никакого проку от самого крутого бекэнда. Ещё вопросы?
Аноним 06/09/20 Вск 17:12:01 1798798
>>1783958
Потому что я тупая макака.
V thread #1 /v/ Аноним 20/01/20 Пнд 03:49:08 1578220 Ответ
image.png 22Кб, 500x500
500x500
не нашел — создал

The V Programming Language
Simple, fast, safe, compiled language for developing maintainable software

Язык программирования V — самый молодой среди успешных и самый успешный среди молодых, начало разработки где-то в феврале 2018, initial release на гитхабе 2019-06-22 и уже 15k звёзд в январе 2020.

Язык воспринимали как мем, оспаривали утверждения о том, что он реально в разработке: https://github.com/vlang/v/issues/35

Сейчас на нём уже написаны компилятор V, текстовый редактор vid, пакетные менеджеры vpm и vpkg, мессенжер volt (пока только mac os), движок форума vorum и множество других вещей.

Сайт https://vlang.io
Доки https://vlang.io/docs
Песочница https://vlang.io/play
Автор: Alex Medvednikov
Patreon: https://www.patreon.com/vlang

Вклад в V сегодня — это шанс вписать своё имя в стандартную библиотеку популярного в будущем языка.
Пропущено 363 постов
42 с картинками.
Пропущено 363 постов, 42 с картинками.
Аноним 14/08/20 Птн 19:06:14 1777554
>>1777548
Нет в нём никакого смысла. Даже у борщехлёбских лиспов с хаскеллями инфраструктура в разы более развитая.
Аноним 14/08/20 Птн 23:18:01 1777745
>>1777548
Ну так можно относительно легко сделать себе имя написав несколько самых насущных либ. Такое ощущение что на дваче сидят не гребцы, а сплошные капитаны галер.
14/08/20 Птн 23:53:28 1777767
>>1776969
> Что ты несешь, кого там блять раст победил?)
Я же сказал: победил уебищностью синтаксиса. Это совершенно другая олимпиада, чего ты сразу загорелся?
Rust #14 /rust/ /rust/ Аноним 21/07/20 Втр 13:23:38 1756693 Ответ
1.png 36Кб, 256x256
256x256
2.png 115Кб, 500x790
500x790
3.jpg 36Кб, 638x479
638x479
4.png 38Кб, 1207x826
1207x826
Пропущено 534 постов
63 с картинками.
Пропущено 534 постов, 63 с картинками.
Аноним 24/08/20 Пнд 14:51:53 1786413
>>1786353
Так потолок в 500 постов пробили, надо новый тред делать. А всем лень.
Аноним 26/08/20 Срд 13:01:49 1788582
Есть ли срели всех вас человек, который пишет на этом языке не как хобби?
Аноним 26/08/20 Срд 21:01:22 1789062
Проджект менеджеров веретено #0 /pm/ Аноним 26/07/20 Вск 03:57:43 1760364 Ответ
14670507966860.webm 3457Кб, 480x320, 00:01:45
480x320
Странно, что на доске до сих пор нет треда.
ИТТ приглашаются все ПМы, продукт овнеры, тим/техлиды. Рассказываем за житуху, делимся успешными практиками, проводим утренний скрам и ретро.
Пропущено 40 постов
2 с картинками.
Пропущено 40 постов, 2 с картинками.
Аноним 10/08/20 Пнд 20:18:56 1773554
>>1761118
удваиваю этого, надо дать жиробасу ОТПУСК сначала (всё равно у него накопилось наверняка)
Аноним 10/08/20 Пнд 21:09:54 1773589
>>1761183
>Посоветуйте что-нибудь почитать про приоритезацию задач.
Ну так в этом и суть всей работы, в общем-то. Всё от твоего опыта зависит.
Аноним 13/08/20 Чтв 00:28:08 1775604
C++ тред #117 /cpp/ Аноним 01/08/20 Суб 16:11:39 1765587 Ответ
1479294246674.png 2Кб, 250x250
250x250
Пропущено 569 постов
42 с картинками.
Пропущено 569 постов, 42 с картинками.
Аноним 16/08/20 Вск 22:45:27 1779030
Аноним 16/08/20 Вск 23:22:23 1779052
>>1778974
Да любой подойдет, если не будешь ставить плагины, у тебя будет только синтаксис подсвечиваться, никакого автокомплишена и проверки ошибок ни у какого редактора из коробки нету.
Бери какой-нить сублим текст или нотпад++ и вперед, если хочешь конкретно заморочиться то вим из твоего видео, там он просто обвешан тонами плагинов уже.
Аноним 16/08/20 Вск 23:27:05 1779055
>>1778974
>>1779052

Хотя если тебе будет нужно работать именно с анрилом и его кодовой базой, то скорее всего у тебя просто не будет выбора, там билд система скорее всего заморочена пиздец как, и без студии просто не обойтись новичку.
А вас не заебало программирование? #2 /zaebalo/ Аноним 24/04/20 Птн 20:29:32 1666711 Ответ
1531437410914.jpg 60Кб, 770x684
770x684
Пропущено 105 постов
3 с картинками.
Пропущено 105 постов, 3 с картинками.
Аноним 10/08/20 Пнд 00:06:13 1773019
>>1666711 (OP)

1. 26
2. 4.5
3. Нет. Таски крутятся — лавеха мутится. Но был проект,с которого свалил, потому что заебал.
4. Я всегда дропаю компанию, в которой не получаю куража от работы.
Аноним 10/08/20 Пнд 05:14:42 1773100
>>1666711 (OP)
> 1. Возраст
26 вроде
> 2. Стаж коммерческой разработки
Пару лет, но под себя, если чо, так что меньше напрягаюсь и меньше знаю
> 3. Заебало?
Нет, идет как по маслу, как ребенок радуюсь когда прикручиваю топ свистопиперделку красивую и играю с ней часами. Не замечаю как проходить день, вылизывая софт и фикся всякую хуйню. Ни одна другая работа так не заходит, насколько я помню.
> 4. Если да, то почему не дропаешь?
Я ничо не умею, только немного кодить, дропать не вариант и не хочется.
Аноним 10/08/20 Пнд 10:58:22 1773179
>>1772974
Яндекс? Не, до такого я еще не опустился. Но направление мысли верное.
Питон тред №95 /python/ Аноним 28/07/20 Втр 21:53:44 1762623 Ответ
15948219196510.png 30Кб, 768x768
768x768
1328116117terka[...].jpg 87Кб, 1280x853
1280x853
photo-4-900x500.jpeg 33Кб, 900x500
900x500
python.jpg 262Кб, 1600x1068
1600x1068
Тред, посвящённый языку программирования Питон, #95

Предыдущий: >>1752122 (OP)

Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Пропущено 515 постов
53 с картинками.
Пропущено 515 постов, 53 с картинками.
Аноним 10/08/20 Пнд 22:22:37 1773647
>>1773601
Чел, это мои комменты если что...

На regex101 там автокомменты справа, но они не то чтобы очень информативные, если честно.
ползите Аноним 11/08/20 Втр 01:13:08 1773716
Аноним 22/08/20 Суб 18:22:43 1785002
tuple
Мамкины апворкеры, постите свои рейты Аноним 05/06/20 Птн 10:45:54 1713743 Ответ
image.png 697Кб, 998x652
998x652
1. Стек
2. Текущая ставка в час
3. Короновирус как-то повлиял на рейт?
4. Максималка которая была в час/фикс
5. Есть ли работа помимо апворка?
Пропущено 165 постов
11 с картинками.
Пропущено 165 постов, 11 с картинками.
Аноним 07/08/20 Птн 23:00:20 1771456
>>1771426
С чего ты взял, что там полностью готовое хотят, норкоман?
Там бывает что угодно, от йоба-энетрпрайза на сотни килобаксов, до поддержки говна на пхп3.
По-моему, можно даже без регистрации смотреть фиды, не знаю, какой смысл спрашивать - у всех весьма разные ниши.
Аноним 09/08/20 Вск 18:34:34 1772847
>>1770472
Бро, может там есть место чтоб и меня так повесили и забыли?
Аноним 09/08/20 Вск 18:37:08 1772850
>>1770825
>>1770832
Есть, но думаю проще напрямую выходить на софтверные компании мечты
Смысл такой, что на апворке или нищеброды - которым нужно дешево "фулстек"
Или реселлеры-посредники - им нужен например бекенд, но понятно что рейты могут быть невысокие

CyberSecurity Thread #1 | Не нашёл - создал Аноним 14/06/20 Вск 17:39:40 1722742 Ответ
42bef249996481b[...].jpeg 142Кб, 828x512
828x512
Сап, двач. Пара вопросов по кибер безопасности, нужна помощь.
Какой эксплойт использовать для privilege escalation на Linux 2.6.3?
Спрашиваю по учебе. Дали задание создать риверс шэл - не получается решить.
Пытался заюзать Dirty Cow, но в итоге чёт не понял куда что писать - не учили. Помогите плиз, кто может.
Пропущено 6 постов.
Пропущено 6 постов.
Аноним 09/08/20 Вск 17:38:37 1772750
>>1772711
>Кaк ты cтaнeшь cпeциaлиcтoм, ecли cтaжepoв и джунoв нe бepут?
1. Идти paбoтaть зa кoпeйки или зa eду paди любoгo oпытa(Тaкoe былo и в 2010м)
2. Кoммитить в oпeнcopц, дeлaть cвoи пpoeкты, чтoбы пoкaзывaть пpимepы кoды
Аноним 09/08/20 Вск 17:40:08 1772766
>>1722811
B oчepeднoй paз yбeждaюcь, чтo нaивныe пpoгpaммиcты нacтoлькo пepeoцeнивaют cвoи yмcтвeнныe вoзмoжнocти, чтo нe зaмeчaют кaк им cpyт в гoлoвy интepecными coвкoвыми ycтaнoвкaми, типa paди дeнeг paбoтaть cтыднo, нaдo paбoтaть зa интepec))) Bпpoчeм, oт зapплaты пpoгpaммиcтишкa oткaзывaтьcя нe cпeшит, нo пpoдoлжaeт пoчecывaть ceбe ЧCB cвoeй нитaкoвocтью)))
Аноним 09/08/20 Вск 17:40:37 1772773
>>1736896
Уже уcатые такcиcты лезут в ойти. Помню поcле первого кризиcа в 2008 году вcе cокращенные валом повалили в такcиcты, обрушив cтоимоcть поездок. Раньше на такcи было ездить илитно, а cейчаc это вcего в 3-4 раза дороже маршрутки. Поcле cледующего кризиcа повалили в cтроители/грузчики, и теперь нанять раба-грузчика может даже школьник на карманные деньги. Tеперь на очереди айти. Уже завтра любой школяр cможет нанять cеньеров фуллcтаков, которые запилят ему фейcбук.
C Programming Language #59 /clang/ Аноним # OP 18/07/20 Суб 18:53:28 1754859 Ответ
C Propaganda.jpg 1970Кб, 2000x2610
2000x2610
Тред, посвященный прародителю всех С-подобных языков и по совместительству единственному идеальному и всесторонне годному средству программирования как на системном, так и на прикладном уровне.

Пожалуйста, пользуйтесь https://ideone.com/, https://wandbox.org/ или https://pastebin.com/ для вставки кода, если он длиной больше нескольких строк или содержит [​i​] или ∗.

Что читать:

- Brian Kernighan, Dennis Ritchie "The C Programming Language": http://www.cypress.com/file/56651/download
- Stephen Prata "C Primer Plus, 6th Edition" (2014): относительно свежая, знает про C89/C99/C11, описывает различия, объемная (около тысячи страниц), годная, с вопросами, упражнениями и ответами. Читать после K&R или до.
- Zed A. Shaw "Learn C the Hard Way" (2015): годное пособие для гуманитариев для гуманитариев!
- Немного примеров хорошего стиля: http://www.oualline.com/books.free/style/index.html
- ООП, например: http://www.cs.rit.edu/~ats/books/ooc.pdf
- Стандарт ISO/IEC 9899:1999 (C99): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf (драфт)
- Стандарт ISO/IEC 9899:2011 (C11): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf (драфт)
- Черновик стандарта ISO/IEC 9899:202x (C2x): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2479.pdf (февраль 2020, с диффами)

Чем компилировать:

- Очевидный GCC.
- clang: оче годно, батя рекомендует.
- Intel C++ Compiler: оптимизации, тысячи их.
- Visual Studio Community Edition: внезапно этим стало можно пользоваться, особенно с тулсетом clang/C2. Поддержка C11 на уровне "есть все, что тебе понадобится в реальном проекте плюс кривая библиотека". Анализатор кода в комплекте.
- Pelles C (шиндоуз онли): поучиться, вкатиться в C11 (стандарт полностью реализован, имеются в том числе threads.h и прочие stdatomic.h), но количество багов в оптимизаторе и редкие апдейты напрочь отбивают желание собирать этим что-то сколько-нибудь серьезное.
- TCC: очень маленький компилятор с багами и поддержкой C99. С ключом -run умеет компилировать код в память и запускать его, что позволяет писать скрипты прямо на сишечке.

Что еще почитать:

http://c-faq.com/
FAQ из comp.lang.c. Древний, но все еще актуален.

Samuel P. Harbison, Guy L. Steele Jr. "C: A Reference Manual, 5th Edition" (2002)
Ебаный пересказ стандартов C89 и C99 (включая стандартную библиотеку). Для не осиливающих стандарт в оригинале. Читать в качестве подготовки к собеседованиям (есть задачник с ответами) и для ознакомления с масштабами пиздеца перед написанием своего парсера/компилера.

Peter Van Der Linden "Expert C Programming. Deep C Secrets" (1994)
"Си: грязные истории". Смехуечки, немного объяснений, чем обусловлены особенности языка, всем известные подводные камни кто там ругал косяки в JS? у нас в сишечке их гораздо больше, просто они лучше спрятаны, немного байтоебли и непонятно откуда взявшаяся глава про старинные плюсы. Читать в качестве сказки на ночь (на пару вечеров хватит).

Richard M. Reese "Understanding and Using C Pointers. Core Techniques for Memory Management" (2013) - почитать, вкатиться в указатели.

Ben Klemens "21st Century C: C Tips from the New School" (2012)

Paul Deitel, Harvey Deitel "C for Programmers with an Introduction to C11" (2013)

Stephen G. Koch@n "Programming in C (3rd Edition или 4th Edition, если найдется)" (2014)

MISRA Ltd. "Guidelines for the Use of the C Language in Critical Systems" (2013)
Набор рекомендаций по написанию надежного кода на C (промышленный стандарт). Читать - однозначно, следовать - вдумчиво и без фанатизма. Также можно посмотреть https://www.securecoding.cert.org/confluence/display/c/SEI+CERT+C+Coding+Standard и http://web.archive.org/web/20190213011655/homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf

Еще более длинный список: http://www.iso-9899.info/wiki/Books#Learning_C

https://github.com/kozross/awesome-c

Онлайн-утилиты:

- https://godbolt.org/ - Compiler Explorer позволяет посмотреть выхлоп компиляторов для введенного куска кода (больше полусотни разных версий компиляторов).
- http://cdecl.org/ - С Gibberish ↔ English помогает читать сложные сишные декларации.

Прошлые треды:

- №56: http://arhivach.ng/thread/563333/
- №57: http://arhivach.ng/thread/563334/
- №58: http://arhivach.ng/thread/573804/ >>1711268 (OP)
Пропущено 507 постов
58 с картинками.
Пропущено 507 постов, 58 с картинками.
ПЕРЕКАТ Аноним # OP 08/08/20 Суб 23:25:57 1772291
Аноним 08/08/20 Суб 23:26:56 1772292
>>1772240
Поздравляю, ты уретральник. В просторечии "охуевший". Эгоизм, упрямство, спесивость, желание доминировать, соревновательность, амбициозность либо потянут тебя к достижениям, либо сделают невротиком. Ну, если повезёт, то получится это компенсировать без особого вреда для себя и окружающих.
Аноним 09/08/20 Вск 00:27:49 1772340
>>1772292
Он звуковик, а не уретральник
JavaScript.thread = Number(`168`); /js/ Аноним # OP 28/07/20 Втр 18:31:18 1762464 Ответ
image.png 89Кб, 1050x1050
1050x1050
Прошлый тред: >>1755059 (OP)

Больше пары строк кода в посте или на скриншоте ведут в Ад.

Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs

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

Руководство для вката:
https://pastebin.com/9yRADC0s
Пропущено 518 постов
49 с картинками.
Пропущено 518 постов, 49 с картинками.
Аноним 12/08/20 Срд 02:04:38 1774798
Аноним 17/08/20 Пнд 16:51:41 1779621
>>1770985
Говнокодер детектед
Аноним 20/08/20 Чтв 13:40:00 1782697
map.()
Пхп или история о том как соснули все Аноним 15/06/20 Пнд 14:50:33 1723666 Ответ
image.png 59Кб, 425x280
425x280
С пхп я выкатился в 2010 году, надо сказать, уже тогда он начал немного затухать. Малолетние шутки про его непригодность давно переросли в мемы. А рядом из клоаки андеграунда повылезали node.js, руби и питоны забавно, что именно питонисты смеялись больше всего, хотя у них до сих пор нет вменяемого ООП, а 2.7 был тем еще кривым говном.

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

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

В общем, без детальных подробностей, CMS есть веха показателя популярности языка в вебе, просто потому, что разработка вменяемого CMS и популяризация его, ресурс довольно дорогой. И что же мы видим сейчас? А то что, такие языки или платформы как нода, руби или питон, до сих пор не высрали не одного решения в виде CMS. Не сказать что попыток не было, но в реале они так и крутятся где-то там в стороне, на низкой ступени фреймворков, которые симулируют возможности CMS.
Самое забавное, на этот вопрос, мне один питонист как-то сказал, что все это не нужно, мол админка джанги из коробки может делать CRUD запросы ЧТА?.

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

Пропущено 58 постов.
Пропущено 58 постов.
Аноним 22/06/20 Пнд 18:39:39 1730738
>>1730734
простой и логичный бекенд? да ладно? и там хватает своих костылей. не гоже так быть циником.
Аноним 06/08/20 Чтв 07:06:54 1769564
>>1723742

>Я не видел больших зарплат у пхп-шников уже лет 5.

240к рублей у мидла — это большая зп?
Аноним 08/08/20 Суб 02:08:16 1771557
>>1728153
ООП-пидор порвался
Ноутбук программиста Аноним 20/05/20 Срд 08:43:26 1694571 Ответ
1432066657.jpg 69Кб, 800x713
800x713
Сап,
Нужен ноут для успешного погромирования 300к в наносекунду.

Собственно, желания:
- сборка qemu в нескольких потоках (сейчас мой старенький Samsung NP300N5Z тянет только 2 с 4Гб памяти)
- тестирование в нем новых модулей
- работа в гиппервизоре, может быть несколько машин linux + windows
-Желательно лёгкий, и небольшой экран, 15 хватит.

Пока что всё, может еще что-то добавится.

Да и по цене: особо не в цене дело, ищу баланс, т.к. исхожу из потребносностей, но конечно не за 150К и не за 20К. Т.е. нужен нормальный.

Что посоветуете?
Пропущено 30 постов
1 с картинками.
Пропущено 30 постов, 1 с картинками.
Аноним 01/08/20 Суб 20:54:50 1765857
Аноним 01/08/20 Суб 21:05:13 1765869
lenovo 14are05
14'
ryzen 4500u (6 ядер \6 потоков)
16gb ddr4 .
вес 1.4 кг
Абсолютно не шумный
Крутится vmware (3 виртуалки) + jbrains хватает на 6-9 часов.
Макс нагрузка(в игори 4 часа)
ips
Единственный минус экран 45% ntsc, но если ты не работаешь в фотошопе - поебать.
Взял его и балдею.
Т.к нищеброд -виндузятник.
Дешево и сердито, достал - поработал
Аноним 06/08/20 Чтв 13:44:44 1769835
>>1694578
>но не можешь сам технические характеристики железа оценить?
Ну хз. Покупаю себе ноуты, так как мобилен.

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

С первым ноутом как-то удачно получилось, особых проблем не было. Но устарел.

Решил взять что-нибудь понавороченей, взял хорошее железо за 80к руб еще до скачков бакса, думал топ.
Сука как я ошибся - взял маленький 15 дюймовик (первый был 17 дюймовым - тяжко таскать). Ставишь большое разрешение - нихуя не видно. Ставишь маленькое - нихуя не влезает в экран.

Сука - рамки в полтора сантиметра - и так маленький экран стал еще меньше... Сука я даже не знал что есть экраны "без рамок".. Я даже не думал что такая проблема есть (на 21+ мониторах как-то пох было)

Этот ебучий глянец экрана... Я до сих пор не шарю в этих матрицах, матах и прочих экранах. Глаза устают.

USB мало - это пиздец. Че блядь они все на них экономят? Хорошо у меня их хотя бы три. Но блядь только один usb 3 (блядь, это че - такая дорогая плата что они даже в дорогих моделях не могут поставить все usb3?). Смотрю на новых ноутах usb еще больше убирают, и на некоторых моделях вообще один. Сука да что за хуйня, а куда подключать:
- мышь (тачпадом палец сотрешь)
- usb модем где нет вайфай
- флешка с рабочими данными
- клавиатура (потому что ноутбучные - неэргономичное дерьмо)
- кабель для какого-нибудь диайвая-самоделки на андуино
- внешний жесткий
- подставка охлаждения (хотя бытует мнение что бесполезна, но в 35 жару на самом деле очень даже)


Ах, а самая большая ебучая боль - это кабель питания и блок питания. Какого хуя они не универсальны? Через полгода оно выходит из строя и блядь ноут просто нечем заряжать - потому что блядь он уже снят с продаж (и соответсвенно снято с продаж и все связанное). На новых ноутах уже другой вход питания.

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


Оперативная память - какого хуя в материнку впаивают одну плашку? (даже если ноут подразумевает добавление оперативки в свободные слоты). При этом впаивают еще и самую дерьмомую, чтобы блядь даже оперативку нормально нельзя было добавить. Хотел расширить себе оперативы до 32 гб. А у меня блядь одна плашка впаяна, на 4гб, с хуевыми таймингами и частотами от какого-то обосранного ноунейма. И еще есть свободный слот - но блядь...


О, драйвера. Это еще веселее. На старом ноуте производитель поставил какую-то кустарную AMD видеокарту, на которую просто никак нельзя было накатывать драйвера AMD. Только от производителя ноута... Да вот беда, он обанкротился и удалил нах свой сайт со всем.


Короче, вот бы мне, когда у меня были эти 80к кто-то нормально объяснил обо всех проблемах с которыми я столкнусь.


Ruby thread /ruby/ 19/06/20 Птн 21:58:38 1728444 Ответ
first.png 64Кб, 950x612
950x612
second.jpeg 55Кб, 724x345
724x345
third.jpeg 244Кб, 1201x897
1201x897
fourth.png 1538Кб, 1280x960
1280x960
Ruby thread COUCH EDITION

Предыдущий тред героически тонет здесь: https://2ch.hk/pr/res/1612194.html
Arhivach: https://arhivach.ng/thread/561709/

ИЗУЧЕНИЕ ЯЗЫКА
Q: C чего мне начать, чтобы стать рубистом?
A: Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и те же вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby.
А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.

Q: Следующий уровень, продвинутые книги по руби:
A: Confident Ruby by Avdi Grimm | Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition | Ruby Under a Microscope

Q: Онлайн курсы чтобы попробовать/вкатиться:
A: https://ruby.github.io/TryRuby/ | https://rubymonk.com/
https://www.codewars.com/?language=ruby | http://rubykoans.com

Q: Какой gem посмотреть, чтобы понять, как писать код?
A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
Еще можешь полистать на гитхабе гемы с нарастающей популярностью (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby

Q: Хорошие практики по руби и рельсам?
A: Обязательно стайлгайды (как оформлять код):
https://github.com/rubocop-hq/ruby-style-guide
https://github.com/JuanitoFatas/fast-ruby
https://github.com/rubocop-hq/rails-style-guide

Руководства "для чайников":
https://www.railstutorial.org/book [en]
https://www.theodinproject.com/tracks/1 [en] | http://codenamecrud.ru/ [ru]

Еженедельная рассылка с новостями из руби мирка:
https://rubyweekly.com

Прочая годнота:
https://github.com/markets/awesome-ruby

Q: Документация по стандартным библиотекам руби и рельс:
A: https://ruby-doc.org/ | https://api.rubyonrails.org
https://guides.rubyonrails.org

Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
A: Да, но не стоит.

Q: Что ещё изучить?
A: Английский, git, linux. Паттерны. Один из часто используемых – Service Object.

СРЕДА РАЗРАБОТКИ
Q: Как установить разные версии рубей?
A: https://rvm.io | https://github.com/rbenv/rbenv | https://github.com/asdf-vm/asdf

Q: Есть ли чат в Telegram?
A: @rubylang | @pro_rb | @saintprug | @moscowrb | @ruby_talks | @ruby_random

https://www.youtube.com/watch?v=9JEEabL90AA
Пропущено 586 постов
69 с картинками.
Пропущено 586 постов, 69 с картинками.
Аноним 21/08/20 Птн 19:15:06 1784328
>>1728444 (OP)
Матц решил сделать руби статическим.

Ну все, теперь точно все, с тем же успехом можно было сразу на голанг перекат делать и не ебать себе мозг.
Аноним 22/08/20 Суб 07:00:01 1784647
Аноним 25/08/20 Втр 14:43:01 1787644
[Тред №2] React оболочка двача 10/06/19 Пнд 15:12:43 1414508 Ответ
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: всё древо раскрытых комментариев, и состояния для каждого из сообщений этого древа ("Показать текст полностью").
В общем, рекурсия на рекурсии, но я смог.

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

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

Сроки релиза пока можно сдвинуть на "ближе к осени", судя по всему.
Пропущено 163 постов
38 с картинками.
Пропущено 163 постов, 38 с картинками.
Аноним 04/08/20 Втр 20:29:14 1768520
>>1414508 (OP)
>>1768517
только не иди в авиакомпании, медицину и банковский сектор, умоляю!
Аноним 04/08/20 Втр 20:35:05 1768524
>>1414508 (OP)
в чем ты пишешь стили и js, что там строки без переносов длинные. как это читать?
05/08/20 Срд 15:46:47 1769190
Untitled-2.png 482Кб, 3588x1956
3588x1956
---------------------------------------------
--- скриншот сделать и приаттачить ---
---------------------------------------------

>>1736151
> Ребята, а объясните что ОП сделал, покидайте скриншотов, а то скачивать неохото. А то написано про оболочку двача и в то же время какой то аниме тред на 2500 сообщений, какие то оптимизации, о чем речь идет не понимаю
Да, да, не редактируемая шапка.
ОП делает универсальный альтернативный интерфейс имиджборд, и пишет в данный тред как в бортовой журнал.

>>1753263
> Опчик, можешь починить сайт?
Ничего не трогал.
Немного порефакторил код и немного изменил дизайн комментариев.
Выкатил.
Вроде работает?
https://captchan.surge.sh/2ch
(кольчан разве что не грузился, но они там немного шатали API; исправлено)

>>1768517
> ОП, зачем???
> я не знаю как замерить сколько памяти требует, но процесс резко подрос на сотку и рос дальше всего лишь при прокрутке 4chan/b на 50 постов вниз.
> тормозит просто адово.
Да, тормозит.
Что тормозит конкретно?
Ящитаю, рендеринг Реактом.
Ещё там есть парсинг из HTML в "древовидную" JSON-овую структуру, но по сравнению с ним рендеринг занимает может быть на порядок больше процессорного времени.
Потому что:

>> 1768518
> охуеть достижение. это же просто текст с картинками блеать.
А вот так вот: не может Реакт просто так взять и отрендерить "просто текст и картинки".
Казалось бы...
Зато он удобен для того, чтобы фигачить быстро и менять на ходу.
А вот ежели устаканится, то можно будет и переписать на православных шаблонах, как деды делали. Вон, у Абу до сих пор работает, и причём быстрее всех новомодных технологий.

>>1768520
> только не иди в авиакомпании, медицину и банковский сектор, умоляю!
Да мне уже идти куда, после 30-ти.
Разве что на "пенсию". Но на "пенсию" (так называемый "early retirement") я ещё не заработал, потому что пинал болт в свои 20-ые годы.

>>1768524
> в чем ты пишешь стили и js, что там строки без переносов длинные. как это читать?
Комментарии, скорее всего.
Я хз, как этот JSDoc писать — я чё-то просто фигачу в одну строку всю документацию параметров (@param). Хз, можно ли там её переносить по строкам.
Вообще, читать код, особенно через полгода, скажем, даже свой — это то ещё развлечение...

--------------------------------

Чейнжлог, по мелочам:

1. Немного изменён дизайн комментариев: значки и время теперь внизу и справа. Время теперь в стиле твиттера. Автоматически сгенерированные цитаты теперь по умолчанию скрыты — выяснилось, что так легче читать тред "беглым взглядом". Потом сделаю автоматическое раскрытие их по наведению курсора мыши (с небольшой задержкой), как здесь сделано. Убрана кнопка "ответить" — это дело будет по "long press" или по double click.

2. (по мелочи) При повторном заходе в тред показывается самое позднее из уже прочитанных сообщений (но в "сером" цвете). Сделано это для того, чтобы пользователь мог сразу увидеть, действительно ли он их читал ранее, и что программа не глючит и что сообщения не были пропущены. Потом допишу, чтобы при заходе в тред автоматически перематывало scrollbar так, чтобы новое сообщение (или надпись "Нет новых комментариев") было наверху экрана, мб где-то на 25% высоты от верха. И выводить будет не одно "предыдущее прочитанное", а, например, штуки 3-4.

3. (по мелочи) Индикатор загрузки вида "крутилка" заменён на индикатор загрузки вида "полоска сверху".

4. (по мелочи) Убран "плавающий хедер".

5. (по мелочи) У названия треда добавлен индикатор статуса "онлайн": жёлтый, если были комментарии за сутки, зелёный, если были комментарии за час, зелёный с пульсацией, если было два и более комментария за 15 минут.

6. (заморочки) Комментарии помечаются как "прочитанные" в localStorage. Соответственно, на каждом проскролленном комментарии происходила запись в localStorage. Если учесть, что у современных SSD не бесконечное количество циклов перезаписи, возникал вопрос: насколько вообще такое поведение сайта законно. Нашёлся багрепорт где-то в issue-трекере Хрома, в котором разработчикам указывали на это, и они кое-как добавили где-то внутри Хрома ограничитель, пишущий в localStorage не чаще одного раза в 5 секунд. https://bugs.chromium.org/p/chromium/issues/detail?id=52663#c161 . Далее, возник вопрос о том, насколько активно вообще Хром, да и все остальные, пишут что-то на диск. Было нагуглено, что в Windows можно запустить программу "Resource Monitor", в которой видно, что Хром в "положении без движения" пишет около 200 KB каких-то данных в секунду, что почти сравнимо с тем, что пишет на диск сама Операционная Система по каким-то там своим делам. В общем, все пишут на диск, и пишут неслабо так, и вроде как диски живут, так что хз. На всякий случай, написал кеширующую обёртку над LocalStorage, которая сохраняет статус прочитанности комментариев на диск раз в минуту, или каждый раз при изменении "visibility" текущей вкладки (см. Visibility API): visibility меняется каждый раз, когда пользователь закрывает вкладку, или переходит на другую вкладку, или сворачивает окно, или нажимает кнопку "Домой" на мобильном устройстве.
Аутентификации тред Аноним 15/04/20 Срд 14:29:25 1658420 Ответ
image.png 71Кб, 850x423
850x423
Перефразированный репост отсюда: https://2ch.hk/pr/res/1651996.html#1656894

Задача.

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

Проблема: данные, по пути их даставки (особенно по открытому каналу),
могут быть перехвачены - в результате MITM-атаки.

Вопрос: возможно ли как-то исключить возможность подмены данных?

Первое, что приходит в голову - это передать данные,
вычислить и них, и дать возможность клиенту сравнить этот хэш с хэшем данных на сервере.
Однако, и сам хэш может быть подменён в результате MITM-атаки.
Поэтому, можно было бы предварительно вычислить хэш строки, и опубликовать его так,
чтобы он был известен клиенту - ещё до запроса от него.
Но и в этом случае MITM-атакер может подменить хэш на свой.

Какие ещё могут быть варианты?
__________________________________
Ранее, анон >>1656896 → предлагал использовать Pre-Shared public key, и приватным ключём - подписывать данные,
а затем проверять цифровую подпись на клиенте.

Проблема в том, что исходный код сервера может быть открыт, и MITM-атакер может полностью заменить сервер.
__________________________________
Этот анон: >>1657795 → предложил использовать OTP-пароли (одноразовые пароли)
с доставкой их по совершенно-другому каналу связи.

Проблема в том, что канал связи один, и он ещё и открыт.
__________________________________
Как вариант, можно было бы использовать Gauth: https://gauth.apps.gbraad.nl/#add
но я чё-то не пойму, как там сгенерировать ключ.
__________________________________
На пикрил - MITM-атака, при обмене ключами по алгоритму Diffie-Hellman'a.
Очевидно, что MITM-атакер вынужден вычислять два ключа, в то время как обменивающиеся стороны - по одному ключу K.
Что если вместо ключа использовать длинную цепочку хэшей, как в этом вот warpwallet: https://keybase.io/warp/
hash(hash(hash(...ещё 65536 хэшей (K)))) - вычисление которой заняло бы довольно продолжительное время???
По разнице времени вычисления, и задержке отклика, можно было бы определить наличие MITM-атакера, и исключить MITM?
__________________________________

Каким ещё образом можно было бы исключить MITM-атаку, при обмене ключами?
Пропущено 78 постов.
Пропущено 78 постов.
Аноним 20/07/20 Пнд 03:11:42 1755678
>>1755674
Так-так... Если A и B ничего не знают друг о друге,
то зачем MITM-щику перехватывать их данные,
и пытаться что-то там дискретно логарифмировать,
если он может просто стать посреди A <-> B?
Получится что-то вроде A <-> MITM <-> B,
где A <-> B', и B' - это (MITM <-> B), и по факту A <-> (MITM <-> B),
и наоборот, A' <-> B, и A' - это (A <-> MITM), и по факту (A <-> MITM) <-> B...
Ни A ни B, они же ничего не знают друг о друге,
и B может общаться как с A напрямую, так и с A' (где сидит MITM-щик)
и наоборот, A может общаться как с B напрямую, так и с B' (где сидит MITM-щик).
Аноним 05/08/20 Срд 03:12:20 1768638
>>1658420 (OP)
Вопрос к формулировке "есть клиент с браузером".

Если под браузером понимать web-браузер, то единственная возможность установить начальное соединение с сервером - это http(s). Самый смак в том, что классический ход работы браузера - это "получить код от сервера -> исполнить его", что при MITM-атаке позволяет делать намного более интересные вещи, чем перехват данных, т.к. может подсунуть браузеру вообще любой код. Для защиты используем классические же средства браузера (см https, сертификаты и далее по списку). Если злоумышленник смог их поломать - штош, у тебя большие проблемы, которые скрипт, отдаваемый твоим сервером, не решит (он просто не доберется до клиента, лол).

Если под браузером понимать вообде любую программу, которая коннектится к твоему серверу по tcp/udp, то клиенту для начала работы нужно, опять же:
а. получить бинарь;
б. получить инфу о сервере (как минимум айпишник или домен).

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

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

Понятно, что закрытый ключ сервера нужно держать в тайне будь исходный код сервера открыт или закрыт.

Вот, вроде рассмотрел все возможные случаи и ничего не упустил.
Аноним 05/08/20 Срд 06:24:40 1768658
>>1768638
Мне почему-то кажется,
что если, на сервере, использовать,
один и тот же privkey и соответствующий ему pre-shared public-key (который может быть перехвачен),
и если этим сверхсекретным privkey'ем,
шифровать и подписывать много разных данных,
то перехват этих зашифрованных и подписанных данных,
позволит сбрутфорсить privkey прямым перебором,
но не простым, а оптимизированным,
например методом ветвей и границ, или методом последовательных приближений как-то,
а критерием успешного подбора privkey'я,
может служить просто его соотстветствие pre-shared public-key'ю, который открыт, и известен злоумышленнику.

Вот, например, атаки на RSA: http://algolist.ru/defence/attack/rsa.php
Чем больше разношёрстных шифров шлётся, подписанных и зашифрованных одним и тем же привкеем,
тем больше вероятность его сбрутить и сломать,
приложив достаточное количество вычислительных мощностей...

Поэтому, по идее, privkey и pre-shared-public-key,
их тоже надо бы менять, на сервере,
хотя-бы периодически,
чтобы усложнить подобного рода атаки,
и сделать их энергетически и экономически нецелесообразными.
Но, здесь встаёт вопрос о том, как же передать новый pre-shared-public-key именно в клиенту,
чтобы MITM-щик не подменил его на свой.

Такие дела.
СПЕЦИФИКАЦИЯ https://aletheia.icu/~badt/logos/spec/ Аноним 15/07/20 Срд 21:34:26 1752320 Ответ
logos.png 327Кб, 724x474
724x474
СПЕЦИФИКАЦИЯ https://aletheia.icu/~badt/logos/spec/
ЭССЕ НА ТЕМУ ЯЗЫКА, ИСТОРИИ И СИСТЕМНОГО АНАЛИЗА https://aletheia.icu/~badt/on-language/
001 ДИСКУРС https://aletheia.icu/~badt/logos/001/
002 КТО ТАКОЙ АКТОР https://aletheia.icu/~badt/logos/002/
003 МЕЖДУ ЙОТОЙ И ПУСТОТОЙ https://aletheia.icu/~badt/logos/003/
004 ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС https://aletheia.icu/~badt/logos/004/

Логоса тред
Я всю свою жизнь занимаюсь языком. С раннего возраста я показывал достижения в области программирования: мне легко давалось осиливать много языков и технологий значительно быстрее остальных. Некоторое время спустя, меня начала интересовать поэзия, способность работать с языком будто это пластилин. Я долгое время искал неочевидные зоны пересечения; например, вместо того чтобы заниматься speech-to-text распозаванием голоса, я занимался распознаванием акцентов английского. Могло бы показаться что это похожие проблемы: что тут, что там — надо раскидать слова по правильным категориям классификатора и так далее... На самом деле, как оказалось, это намного более сложная задача + в момент когда мы начали ею заниматься на рынке абсолютно никто не умел это делать, ни о каком готовом решении речь идти не могла... Что уж говорить, эта работа разбудила во мне интерес к искусственномому интеллекту, интерес что с тех пор никак не покинет мое сердце.
Я заинтересовался поэзий; начал много читать, вдохновляться, а в какой-то момент писать—стихи. Признаться говоря, ничто в программировании не приносит столько удовольствия, как создание и исполнение прикольного стиха. Всем советую писать стихи — для вас это может стать по меньшей мере сильным медитативным инструментом, например. Для меня это цель жизни: когда я пишу, все внезапно имеет смысл, “звезды сходятся“ в самом подходящем месте. Я очень быстро понял, что именно этой тупо непробивной самодостаточной креативной силы создания и не хватает в программировании. И я стал ее искать. Будучи полиглотом и освоив в свое время порядка 15 разных языков программирования, для меня было очевидно что ни один из ООП-, функционально-, векторно-ориентированных языков не удовлетворит в должной степени моих творческих потребностей. В этот момент зародился Логос.

Во-первых, Логос — это не язык программирования; более, это совсем некорректноо думать про Логос как про язык программирования. Да, при помощи Логоса можно запрограммировать компьютер, но это не язык программирования, а язык для вычисления произвольных дискурсов. Что такое дискурс? Люди, незнакомые с жаргоном, часто путают слово дискурс со словом “дискуссия” или “обсуждение”, в то время когда дискурс всего–навсего означает какой-то процесс говорения. Когда мы говорим о таком процессе, то речь обычно идет об объекте (язык) и субъекте (тот, кто говорит) говорения. Логос оперирует на этом уровне анализа: предметом исследования для Логоса является говорение. Большинство языков (программирования) семантически кастрированы в том смысле, что позволяют не более одной формы говорения. В логосе есть две такие формы, два режима дискурса: (i) артикуляция, субъект может сказать что-то о состоянии дел или (ii) демонстрация, способ показать связи между знаками и пропозициями, из которых можно артикулировать множество корректных дискурсов. Это различие тянет ножки из say/show логической дихотомии Витгенштейна. “Демонстрацию“ языка мы обычно называем диалектом, а непосредственную возможность (артикуляцию) этого диалекта — историей. Диалекты это абстрактное описание доступного языка, а история — это одно из правильных использований этого языка. Целью говорения в Логосе является системный анализ, предсказание и вычисление языковых процедур.
Логос одновременно охватывает все компоненты MVC модели. Состояние системы это непрерывная последовательность транзакций (текстов) что предшествовали этому моменту времени, записанных в транзакционное хранилище. Вьюхой этих транзакций является непосредственно сама текстовая история, что им соответствует. В роли контроллера же выступает непосредственно сам субъект, которым может быть как агент системы, так и живой человек. В контексте Логоса, мы называем субъектов дискурса “акторами“ системы. Логос не нуждается в базе данных и не нуждается в сериализации: заданный диалект сам по себе является как достаточным представлением данных, так и полной историей преобразования этих данных. Выполняются диалекты в децентрализованной виртуальной машине Avtivka. Автивка состоит из блокчейна (транзакционного хранилища), вычислительного кластера для выполнения и предсказывания дедукций, а так же суперграфа реального времени, данных которого достаточно чтобы выполнять любые текущие вычисления.
Пропущено 16 постов
5 с картинками.
Пропущено 16 постов, 5 с картинками.
Аноним 18/07/20 Суб 00:12:08 1754302
ШИЗОГОС))))))0000
Аноним 20/07/20 Пнд 00:54:55 1755643
>>1752330
> нарошно
> через чур
Сразу видно - ОП настоящий лингуист, а не какой то шкодник.
Аноним 04/08/20 Втр 11:53:43 1768035
Стоит ли перекатываться с мобилок? Аноним 03/03/20 Втр 23:22:48 1622445 Ответ
download.jpeg 11Кб, 300x168
300x168
Работаю 2 года мобильным разработчиком(андроид). Как считаете, стоит ли перекатываться в бекенд(Java Spring) или оставаться в мобилках(перекатиться в фуксию в будущем).

Что думаете, аноны ? Что перспективнее?
Пропущено 30 постов.
Пропущено 30 постов.
Аноним 17/07/20 Птн 23:15:16 1754272
а мне оп после ++ скучно джаву учить, вкатываюсь в мобилки, даже блять интересно стало, а веб программирование уже параша полная, там один хуй приходится вечно что-то подверстывать т.к. фронтэндщики обычно тупое ленивое быдло, ох заебало.
Аноним 17/07/20 Птн 23:24:07 1754273
>>1753333

Есть жизнь на Unity 3d, разве что.
Аноним 04/08/20 Втр 10:12:54 1767956
>>1632703
Бро, напиши базовые понятия в андроиде, что это такое?
Обзор языков #2 Холиварим лучший! Аноним 14/07/20 Втр 20:13:26 1751525 Ответ
image.png 1149Кб, 840x559
840x559
прошлый утонул тут >>1736839 (OP)

C# (.NET core) - язык вроде и кроссплатформенный стал, но хер пойми где какие и куда либы. Синтаксис и возможности в свое время увлажняли многие бородатые умы, но по состоянию 2020 синтаксис уже протух.

Kotlin - наконец-то на жабе стало удобно писать. Стало настолько модно и молодежно, что напряглись даже шорписты. Если вы хотите пробустить вашу джаву, то котлин без вариантов.

Python - язык создавался гением, поэтому не такой как все во всех смыслах. Петухон стоит брать только, если вы хотите стать инфоцыганом и зарабатывать на курсах. Это сейчас золотая жила для развода "хочух в айти".

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

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

JavaScript - если с фронтендом я еще смирился и с новыми версиями даже полюбил немного (стокгольмским синдромом, не иначе), то вот сам node.js это кусок говна, который по ощущению пилился студентом. Даже JavaScript не заслужил такого издевательства. А ведь реально могли запилить все на корутинах и сделать нам "нормальный" Go.

PHP - по прежнему топ в вебе, от чего поджигает пуканы всем остальным. Каким-то хером, какой-то долбаеб, засунул туда полный комплект ООП, от чего макаки просто замесили тонну трудно сопровождаемого тормозного кода.

Rust - очередная попытка победить С/C++, возможно попытка была бы и удачной, но комьюнити больше волнуют политические проблемы. Со слов хейтеров все выглядит сыро и бестолково (даже говорят о зависающих асинках). Язык, почему-то, привлекает бэкендеров, хотя даже уборщика кабинета информатики знает, что быстрый код надо уметь еще писать, о чем постоянно напоминает techempower.

Go - Тот язык в котором нет стектрейса во время ошибок и в котором руками надо пробрасывать эти ошибки - просто непригоден для серьезной разработки (можно, способных много, но нахрена?). Одно дело когда у тебя Си 1970 года и сам язык просто представляет обертку над ассемблером, другое дело в 21 веке позорится таким сырым говном.
И да - лол, нет дженериков.



Пропущено 511 постов
32 с картинками.
Пропущено 511 постов, 32 с картинками.
Аноним 08/08/20 Суб 10:28:16 1771662
>>1771548
Так почему? Неприятный вопрос, да?
Аноним 10/08/20 Пнд 21:22:08 1773604
>>1771662
> Так почему? Неприятный вопрос, да?
Да похуй мне, щенок ебанный!
Аноним 12/08/20 Срд 09:10:33 1774887
chromeqeNfGtbOpn.png 7Кб, 307x351
307x351
>>1771626
0 и "" это примитивные типы, для них сравнение происходит по значению, они оба кастятся в false, поэтому true
[] - объект, для него сравнение происходит по ссылке, здесь создается два объекта, очевидно что один не является другим, поэтому false
А вообще == уже давно никто не использует, есть ===
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов