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

Ответить в тред Ответить в тред
Check this out!
Питон тред №117 /python/ Аноним 08/04/21 Чтв 13:40:23 19899431
python-django.png 21Кб, 200x200
200x200
Тред, посвящённый языку программирования Питон, #117

Предыдущий: >>1977853 (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: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf
Аноним 08/04/21 Чтв 14:11:12 19900042
вкот, питонщики.
тут есть кто делает игры на питоне по типу говна три в ряд или например олдскульные рпг?
Аноним 08/04/21 Чтв 14:31:09 19900393
>>1990004
Если ты решил делать игры на питоне, то остановись и подумай, все библиотеки питона для игр такое себе. Лучше уж выбрать юнити или другой движок и писать на c
Аноним 08/04/21 Чтв 16:01:38 19901494
doc2019-09-0615[...].mp4 5685Кб, 640x640, 00:00:34
640x640
Годная литература по алгоритмам никогда не устаревает я правильно понимаю? Посоветуйте пожалуйста. Грохаем алгоритмы слишком проста по отзывам. не бейте
Аноним 08/04/21 Чтв 17:02:28 19902035
>>1990149
Слишком проста по отзывам? Если с алгоритмами до этого не сталкивался, то простоты там точно не будет.
Аноним 08/04/21 Чтв 17:26:28 19902276
Решил тут почитать мангу, а у нее страницы сдвоенные, но не все. И некоторые сдвоенные на самом деле развороты. Как написать скрипт, который бы разделял одну картинки на две, при условии что сдвоенные картинки имеют ширину большую чем высоту, и белую полосу в середине?
Аноним 08/04/21 Чтв 17:28:37 19902317
fbv01ch01p006-0[...].jpg 237Кб, 1224x1000
1224x1000
fbv01ch01p052.jpg 112Кб, 611x1000
611x1000
fbv01ch06p192-1[...].jpg 222Кб, 1360x1100
1360x1100
>>1990227
Вот сдвенная странница, обычная и разворот
Аноним 08/04/21 Чтв 18:19:55 19903128
>>1990039
ну я имел ввиду игры просто по приколу, не для коммерции
Аноним 08/04/21 Чтв 19:12:17 19903769
image.png 13Кб, 510x347
510x347
>>1989943 (OP)
Здравствуйте, такой вопрос возник, вот щас дошел до изучения сортировок и вроде все понятно кроме одной вещи, а как на экран то результат вывести?
То есть вот, сортировка Хоара, она получает какой то список, че то там сортирует, а как увидеть то результат соритровки в том же самом например вскоде
Объясните пожалуйста, просто уже вроде как какую лекцию смотрю и нигде вообще не объясняется как вообще либо увидеть результат
Аноним 08/04/21 Чтв 19:18:58 199039110
>>1990376
for 0 to len(return) + принт по индексу +', '
Аноним 08/04/21 Чтв 19:19:47 199039411
>>1990376
Если не троллишь, то

nums = [2, 12, 85, 0, 6]
print (quicksort(nums))
Аноним 08/04/21 Чтв 19:26:37 199041512
Привет тред. Я правильно понял, что сокеты подходят только, если клиент написан на питоне? А если делаешь сайт, то они не подойдут, ведь клиент то не на питоне будет написан, а будет слать запросы к серверу из браузера? Тупой вопрос, но я в работе веб приложений что-то совсем нихуя не понимаю. https://www.youtube.com/watch?v=3UOyky9sEQY к примеру как код из этого видика переделать, чтобы это все крутилось в браузере?
Аноним 08/04/21 Чтв 19:38:37 199042913
image.png 23Кб, 671x416
671x416
image.png 9Кб, 893x92
893x92
>>1990394
Не тролю, у меня нихуя не получается и я не понимаю почему, то есть первый раз когда я вставил оно отсортировалось, начал еще раз пробовать начал выдавать вот такую ошибку
Аноним 08/04/21 Чтв 19:41:18 199043214
Есть функция, которая возвращает данные из бд логов (индексы и партицирование уже настроены). Проблема в том, что иногда скрипт долго висит из-за выполнения этой функции, т.к. на каких-то итерациях из очереди запрос может выполняться по 15-20 минут. Как мне внутри функции добавить асинхронный счетчик времени?
Ну т.е. как сделать, чтобы при вызове функции запускался счетчик, дальше идёт запрос к бд, дальше функция ожидает ответа и переключается на счетчик. Если счетчик насчитал за время ожидание, допустим, 10-15 минут, то принтит варнинг.
Аноним 08/04/21 Чтв 19:43:10 199043415
>>1990429
Животное, ты че ожидаешь передав на прямую данные?
Аноним 08/04/21 Чтв 19:45:19 199043616
>>1990434
Ну не стукай, я убрал, все равно не работает
"напрямую" это ведь ты имел ввиду что я в самой функции список написал?
Аноним 08/04/21 Чтв 19:48:31 199044417
>>1990429
оставь только nums в значение функции
Аноним 08/04/21 Чтв 19:49:00 199044618
>>1990436
Питон дырявая хуета, не работать он может даже если луна в раке.
Аноним 08/04/21 Чтв 19:52:08 199045319
>>1990444
Так и сделал, он ту же самую ошибку выдает, хотя в самый первый раз оно почему то сработало
>>1990446
Но как же... я же думал что лучший ЯП эвар... на самом деле ничего не думал, но впервые столкнулся с тем что сначала вроде работало, а щас перестало , хотя ничего по сути не изменилось
Аноним 08/04/21 Чтв 19:55:20 199045920
Учить программирование по функциональщине и скриптовом языке, всеравно что пытаться водить боинг видя вчера только руль машины.
>>1990453
переменные в функции локальные, точка входа получает только ссылки или подготовленные данные по типу func(a. 11, t, 55)
nums в тексте это примерно proc.main.var.nums
nums в функции это proc.main.func.name[nums]
разный уровень вложености.
Аноним 08/04/21 Чтв 19:57:08 199046221
>>1990459
Честно говоря, мне ни на грамм понятнее не стало от твоего поста
Аноним 08/04/21 Чтв 19:58:31 199046322
>>1990459
>Учить программирование по функциональщине и скриптовом языке, всеравно что пытаться водить боинг видя вчера только руль машины.
Этого двачну, сначала надо низкоуровневого говна пожрать. Но вкатышам хрен объяснишь.
Аноним 08/04/21 Чтв 20:03:54 199047023
>>1990462
У функции не переменные на входе, а ссылки, уже внутри разные уровни вложенности и доступа, все локальные не доступны из вне, и точка выхода только в ретурн.

Создай еще один экзепляр, просто функциональщики не могут в написание нормального кода, и логично чтобы
A = func(B) и A = func()->(B) A=func(* B). отличались.
Новички думают или создается копия, а оригинал сохраняется переменной или операциия происходит с самой переменной по типу B:= func(B)
Аноним 08/04/21 Чтв 20:15:46 199047924
Всем привет! Имеется. Как в пайтесте параматрищировать API ендпоинты? Допустим есть 5 разных видов эндоинтов, на который нужно написать один тест.
url1= “http://“
url2= “servis-huervis”
url3= “.com”
url4= “.pidor”
Url5= “https://“

Вот из таких комбинации грубо говоря нужно сделать один тест. Как это параметризировать?
В идеале, если это можно какую-то фикстуру запилить, скажем if url3 ==“.com” то делай это. И тд.
Аноним 08/04/21 Чтв 20:31:42 199048925
>>1989943 (OP)
Я произвожу некую операцию, которая занимает долгое время (запрос в базу например), как мне поставить таймаут на эту операцию, чтобы если он истек то выскочило некое исключение, которое потом можно было бы обработать?
Аноним 08/04/21 Чтв 20:36:54 199049326
>>1990470
Про то что на входе не надо ничего писать я и с первого раза понял, а еще у меня методом тыка получилось понять отчего TypeError возникал
>>1990463
>объяснишь
Справедливости ради, особо никто и не пытается объяснять, а те кто пытаются пишут настолько сложно что хуй разберешь что они тебе посоветовали, порой создается впечатление что программисты выебываются своим знанием технических терминов и стараются как можно больше ими выражаться прям как 12 летние девочки из твитора у которых зарубежных слов в посте больше чем русских
Аноним 08/04/21 Чтв 20:45:08 199050327
>>1990459
>Учить программирование по функциональщине и скриптовом языке, всеравно что пытаться водить боинг видя вчера только руль машины.
И функциональщина, и скриптовые языки довольно естественны.

Просто функциональщине надо иначе учить и иные задачи на ней решать.

Языки вроде питона тоже понятнее, чем Си-Ява. В последний слишком много с самого начала инженерной хрени непонятного назначения.

#include <stdio.h>
int main(void) {
printf("hello world \n");
return 0;
}
Вот тут, что такое include, что такое stdio, что за магия, int, main, void, return?

Чуть дальше начинается магия с выделением памяти и т.п., и т.п.

Правда для бэкграунда в это полезно погрузиться.

Но я бы сказал, что питон как первый язык очень-очень хорошее решение. Вот JS, PHP так себе варианты, лучше не надо.
Аноним 08/04/21 Чтв 21:23:39 199054828
>>1990429
В строке 3 нужно return nums, а не return. У тебя же в первом посте правильно было.
Аноним 08/04/21 Чтв 21:32:52 199055929
image.png 20Кб, 636x147
636x147
А вообще реально получить текущее значение генератора, не запуская по новой next ?
Аноним 08/04/21 Чтв 21:39:36 199056730
1616200126624.png 8Кб, 434x533
434x533
>>1990004
Ку, делал около года назад "Жизнь" на pygame
До этого еще всякую дичь на том же pygame делал
Аноним 08/04/21 Чтв 21:44:48 199057031
>>1990559
разобрался, нужно было через переменную сделать
Аноним 08/04/21 Чтв 22:03:11 199058032
Внимание, ПЛАТИНА!

Есть смысл пересаживаться с ПЫХи на Питон для веб-кодинга?
Аноним 08/04/21 Чтв 22:11:16 199058633
696333D5-8288-4[...].jpeg 229Кб, 1200x1600
1200x1600
Вниманий платинная! Стоить ли вкатитися в айти на питонзмея програмируи, когда тибе 33 годика?
Аноним 08/04/21 Чтв 22:20:29 199059034
>>1990580
С пыхи всегда есть смысл пересаживаться
Аноним 08/04/21 Чтв 22:24:57 199059635
>>1990586
>33 годика
Дед, гроб пора заказывать по индивидуальному дизайну, какой питон?
Аноним 08/04/21 Чтв 22:25:37 199059736
>>1990586
Последние 10 лет небось занимался лишь дрочевом tpl-шаблонов со вставками жкьюри да косплеем жавовского спринга, устраивая из него каргокульт?
Аноним 08/04/21 Чтв 22:43:53 199060337
>>1990429>>1990453
>>Так и сделал, он ту же самую ошибку выдает, хотя в самый первый раз оно почему то сработало
В третьей строке nums добавь к return
Аноним 08/04/21 Чтв 22:46:01 199060438
>>1990597
Не братан, я вообще даун торговый представитель, с кодом не знаком ни капли.
Аноним 08/04/21 Чтв 23:26:16 199063039
Как вообще для вката jetbrains academy + leetcode + свой аналог двощей на джанге? Плюс ещё Кормена наебнуть и что-нибудь по проектированию рестухи. Из опыта в ит стажировочка по системной АНАЛитике и 3 курс вузика по прикладной информатике. Плюс пара хаков выигранных. Хватит такого чтобы каким-нибудь джуном пойти или ещё чего-то наебнуть?
Аноним 08/04/21 Чтв 23:31:20 199063340
>>1990604
Если тебе это интересно, то очевидно стоит попробовать. Но будь готов к тому, что при лучше раскладе уйдёт около полугода на вкат джунобомжом.
Аноним 08/04/21 Чтв 23:48:47 199064041
Аноним 08/04/21 Чтв 23:59:06 199064442
>>1990429
Убери мутабельную переменную из дефолтного значения. Это первое. И никогда так не делай. Она инициализируется 1 раз и если вызовов функции будет два, то ты охуеешь искать где баг, так как предыдущий вызов будет влиять на следующий.
Второе, ты когда функцию вызвваешь для списка из 1 числа, то возвращаешь None. А питон складывать None со списком не умеет. На это питон и ругается. А вот эти долбаебы советчики я вообще в ахуе
>>1990444
>>1990434
Но вот этот дебил просто пиздец. Язык у него через раз работает, пиздец. Мозги у тебя через раз работают просто >>1990446
Аноним 09/04/21 Птн 00:02:47 199064643
>>1990479
Сформулируй свою мысль, читать невозможно
Аноним 09/04/21 Птн 00:04:43 199064944
Потихоньку учу питон, вкатываюсь в функции. Попробовал подключиться к рабочей базе данных, и сначала не получалось, потому что код был такой: https://ideone.com/XaTPfr

Потом я добавил функцию main, которая вызывает connection внутри test, и оно заработало: https://ideone.com/z1yujK

Почему не работал мой вариант? Я думал, что если возвращаю через return результат подключения (conn), то могу использовать его как аргумент в следующей функции.
Аноним 09/04/21 Птн 00:05:43 199065145
>>1990604
Пиздос, тебе сейчас фантазер уже 1 написал про "войти в айти за полгода". Кроме того, что это обесценивание знаний, так еще и просто неправда. В лучшем случае, если повезёт года полтора. В среднем на два года расчитывай. Сюда докидывай от месяц до трёх на поиск работы(в зависимости от региона и размера города).
Аноним 09/04/21 Птн 00:08:12 199065346
>>1990649
Бля, тут все глухо. Даже объяснять бессмысленно. Попробуй с чего попроще понять. Ты просто не понимаешь как работают функции
Аноним 09/04/21 Птн 00:12:26 199065747
>>1990653
Я пробовал читать/смотреть гайды, везде пишут/говорят, что вот, мол, хуе-мое, вот функция, возвращаем ее результат, и теперь мы можем этот результат использовать дальше. И никаких main() там не было.
Аноним 09/04/21 Птн 00:15:46 199066148
>>1990657
Плохо читал и смотрел. Давай так — что такое переменная?
Аноним 09/04/21 Птн 00:21:49 199066649
>>1990661
Это заглушка, вместо которой можно подставить любое значение.
Аноним 09/04/21 Птн 00:31:18 199067050
>>1990649
В 1 варианте ты в функцию test() не передал connection().
Аноним 09/04/21 Птн 00:32:47 199067351
>>1990567
ЛОЛ, тут в дваче расшаривал игры?
как оно тебе?
что еще за дичь мутил?
Аноним 09/04/21 Птн 00:35:10 199067652
>>1990670
Да, во втором случае я это и сделал. Но я-то думал, что передавая в test - conn как результат функции connection, оно будет работать. И вот я не понимаю, почему это так не работает.
Аноним 09/04/21 Птн 00:37:06 199067853
Аноним 09/04/21 Птн 00:38:09 199068054
>>1990649
Надеюсь ближайшие 5 лет 95% вкатывальщиков, которые параллельно лезут на рынок вместе с мной, будут вот такими, тогда себя не таким отбитым уёбищем ощущаю.
Аноним 09/04/21 Птн 00:41:52 199068255
>>1990676
Так в 1 примере ты ничего не передал в test, на 20 строке у тебя вызов функции.
Аноним 09/04/21 Птн 00:42:41 199068356
>>1990680
Ну не токси, лучше бы помог анчоусу разобраться.
Аноним 09/04/21 Птн 00:46:41 199068757
>>1990682
Ааа, ты про 20-ю строчку. Я думал, ты про 13-ю. Ну окей.
Аноним 09/04/21 Птн 00:49:27 199068958
>>1990687
Кекус, на 13 ты ОПРЕДЕЛЯЕШЬ функцию
Начни с базы, анчоус, почитай доки
Аноним 09/04/21 Птн 00:49:48 199069059
>>1990683
>Я думал, что если возвращаю через return результат подключения (conn), то могу использовать его как аргумент в следующей функции.
Вызовом функции connection() на 11 строке ты "создал" объект подключения в памяти, но не привязал его ни к какой переменной (ссылке).
Потом ты на 20 строке вызываешь функцию test(), которая принимает на вход что-то, в твоём случае объект подключения, но ты ей ничего не передал, поэтому ничего не работает.
Аноним 09/04/21 Птн 01:07:00 199070260
>>1990649
Чтобы использовать результат одной функции в другой, нужно этот результат получить, а потом передать в другую функцию. Сходство названий переменных в телах аргументах разных функций ничего не означает - переменные, объявленные внутри функции, живут только внутри этой функции.

def f1(): x = 0; return x
def f2(): x = 1; return x
def g(x): return x + 1
print(g(10)) # 11, не 1 и не 2

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

result = f1()
print(g(result))

Или сокращенно print(g(f1())).

В твоем случае, в строке 11 создается и тут же выбрасывается объект соединения (т. к. ты не сохранил результат работы функции ни в какую переменную и никуда не передал). В строке 20 функция тест отказывается запускаться, потому что ты не передал туда никакого значения conn.

Что почитать: LEGB rule - алгоритм поиска переменной в питоне; lexical scope.
Аноним 09/04/21 Птн 01:19:47 199070961
>>1990646
Есть эндпоинты, они разные. На них нужно писать тест юниты в пайтесте.
Чтобы не писать кучу одинаковых тестов где меняются лишь юрл нужно что-то придумать.
Пока сделал следующий образом. В файл записал ссылки. Сделал один тест и в этот тест через pytest.paramerize закидываю по одной ссылке. Вроде норм.
Но теперь в эндпоинте поменяли адрес с .com на .net например. Можно ли как-то иначе передавать данные в тест чтобы ссылку можно было порезать и в случае изменения домена проставлять нужный.
Аноним 09/04/21 Птн 01:24:41 199071562
GztUAW4u0Kc.jpg 81Кб, 604x426
604x426
>>1990702
Охуеть. От души за пояснение, анон!
Аноним 09/04/21 Птн 09:54:03 199084763
>>1990415
>Я правильно понял, что сокеты подходят только, если клиент написан на питоне?
Нет, неправильно
> как код из этого видика переделать, чтобы это все крутилось в браузере?
Видеву не смотрел, но судя по превью, там речь идет о голых tcp-сокетах, это не те сокеты, что ты ищешь. Тебе нужны вебсокеты, используй их. Сервер можешь на питоне пилить, а клиента, раз клиент в браузере, на джаваскрипте.
Аноним 09/04/21 Птн 11:03:11 199089664
Питонусы, обьяснити нубасы что такое эндпоинт. Ручка Строка реста? Или под этим иногда подразумевают что-то ещё?
Аноним 09/04/21 Птн 11:09:29 199090065
>>1990896
host:port/api/user/{id}

Вот пример эндпоинта. Например шлёшь GET api/user/1 и получаешь запись из БД с id 1.

Аноним 09/04/21 Птн 11:09:57 199090166
MAPTrentonJessy[...].jpg 53Кб, 600x364
600x364
Аноним 09/04/21 Птн 11:10:40 199090267
>>1990901
Типичное общение бэка и фронта по rest api
Аноним 09/04/21 Птн 12:19:39 199095068
Аноны, кто работал с Instagram? Хочу себе сделать скрипт для автоматического постинга веселых картинок. Есть библиотека instabot. У нее в зависимостях numpy!!!1 и еще куча всякого.
Вопрос: Есть что-нибудь полегче? Или пох юзать этого инстабота?
Аноним 09/04/21 Птн 12:43:53 199097369
launcher.png 33Кб, 404x354
404x354
gun.gif 33Кб, 500x500
500x500
>>1990673
>ЛОЛ, тут в дваче расшаривал игры?
Не, боюсь диванона и травли храню петы на гитхабе
>как оно тебе?
Было весело делать, вообще делал эту игру только потому что нарандомил её в programming challenges
pygame довольно прост сам по себе, если делаешь что-то небольшое
Сложнее было делать лаунчен на PyQt пикрил который кстати сука при темной теме GTK делает шрифт Qt невидимым, потому что я еблан не поправил конфиг
По итогу я не знаю как лаунчер в целом работает, просто гуглил, читал мануал и подстраивал чужой код под себя
>что еще за дичь мутил?
Смотря о чем вопрос, в целом на пистоне много всякой дичи делал, веб-приложухи, скрипты для автоматизации каких-то задач в ОС
Если про другие игры на pygame, то делал alien invaders, по гайду из одной книги python crush course, но это супер давно было, тоже ничего сложного по сути, пытался сделать платформер потом, но ничего из этого не вышло
Если про игры вообще, то еще в шараге была задача сделать тот же alien invaders но уже на ассемблере
Вот это реально треш был, там мозги кипели жестко, зато теперь понимаю как вообще все устроено на уровне железа

BTW, после шараги начал вкатываться, не справился с требованиями к web ждунам, потому что там была какая-то ебейшая математика и 100500 фреймворков и вот уже год работаю в банке, чищу вилкой данные для дата-сатанистов, строю etl'ки
Аноним 09/04/21 Птн 13:24:08 199100670
>>1990666
Нет. Вот попробуй с этого начать. Ты пропустил самую важную часть программирования
Аноним 09/04/21 Птн 13:26:40 199100871
>>1990709
Бля, что у тебя на эндпоинты подаётся и возвращается, что ответ отовсюду одинаковый? Или это последствия гениальной архитектуры?
Аноним 09/04/21 Птн 13:28:25 199101072
>>1990651
Братюни спасибо за позитивные слова, я как бы не планирую моментально стать профикодером, рассчитываю на работу примерно через 1,5 года, то есть 18 месяцев на вкатывание.

Пока начал с Яндекс практикума, и хочу составить список литературы для понимания основ, слышал про некого Савина как он?
Аноним 09/04/21 Птн 14:00:01 199102973
>>1990586
>>1991010
Чел, а можешь подробнее о себе? Какое у тебя образование? Как математика в школе давалась? Есть ли хоть какой-то интерес к программированию и информационным технологиями или просто хочешь работать за 300к?
Аноним 09/04/21 Птн 14:13:34 199104174
изображение.png 83Кб, 243x207
243x207
Анчоусы, подскажите , как работать с json.
Библиотеку глянул, ну нихуя не понял, смог только вытащить структуру словарём. Но наверное же есть методы чтоб кокретный кусок только доставать, а не копаться в словарях тройного вложения.


И вопрос вопрос номер два. Если есть вложеный словарь, можно сразщу получить доступ в N вложение, если знаешь ключи, или только в цикле перебирать?
Аноним 09/04/21 Птн 14:14:57 199104275
>>1991041
Нету, ты строку приводишь к словарю. Потом с ним и работаешь
Аноним 09/04/21 Птн 14:17:47 199104676
изображение.png 7Кб, 502x188
502x188
19345011.jpg 117Кб, 792x595
792x595
LVP1002Dfront.jpg 105Кб, 516x743
516x743
Аноним 09/04/21 Птн 14:17:49 199104777
Дублирую вопрос...
Как вообще для вката jetbrains academy + leetcode + свой аналог двощей на джанге? Плюс ещё Кормена наебнуть и что-нибудь по проектированию рестухи. Из опыта в ит стажировочка по системной АНАЛитике и 3 курс вузика по прикладной информатике. Плюс пара хаков выигранных. Хватит такого чтобы каким-нибудь джуном пойти или ещё чего-то наебнуть?
Аноним 09/04/21 Птн 14:24:59 199105478
изображение.png 387Кб, 1280x676
1280x676
Аноним 09/04/21 Птн 14:30:02 199106079
изображение.png 4Кб, 509x97
509x97
>>1991054
Ой блять, это питонотред, ошибся немного
Аноним 09/04/21 Птн 14:43:08 199107980
>>1991060
А теперь как понял. Спасибо анон.
Аноним 09/04/21 Птн 14:49:51 199108881
>>1991041
json.loads()
json.dumps()

json.load()
json.dump()

Вот и всё, что тебе нужно. Прочитай в инете про них, не займёт и 5-ти минут
Аноним 09/04/21 Птн 14:54:37 199109082
Можно ли в питоне написать код на любом япе и вставить как модуль, как это будет выглядеть, сильно сложно? На уровне пит компилятора должно же быть что-то что будет все это понимать и переводить. Нет?
Аноним 09/04/21 Птн 15:06:10 199109983
А как вообще сделать перебор регистра?
К примеру строка qwert
сделать ретёрн
qwert
qwerT
qweRt
qweRT
qwErt
qwErT
и тд
Аноним 09/04/21 Птн 15:11:28 199110484
Аноним 09/04/21 Птн 15:16:02 199110685
>>1991090
1 Пишешь код на другом япе
2 Запускаешь его из Питона через subprocess
3 Profit
Аноним 09/04/21 Птн 15:17:23 199110786
>>1991099
chr(ord('c') + 1) выводит 'd'
Дальше сам
Аноним 09/04/21 Птн 15:18:13 199110987
Аноним 09/04/21 Птн 15:18:29 199111188
>>1990973
как тебе работа в банке? платят норм?
кем там числишься? младшим баг дата сиентисом или типа того?
Алсо что за шарага была?
Аноним 09/04/21 Птн 15:29:59 199111889
>>1991109
По сути брутфорс с использованием словаря паролей.
Только надо ещё не просто из файла брать варианты, а и перебирать регист букв
Аноним 09/04/21 Птн 15:35:35 199111990
>>1991104
На уровне питоновского компилятора. Хз как он там называется, байт машина.

>>1991106
Я про то что как модуль, вызывая методы. Видел подобное для асма.
Аноним 09/04/21 Птн 15:48:25 199112891
>>1991041
Посмотри на библиотеку
jsonpath-ng
она как раз для этого. Аналог xpath в xml
Аноним 09/04/21 Птн 16:08:30 199114292
>>1991119
Передавай жсоном или аргументами командной строки в отдельную программу на другом языке данные и метод который нужно выполнить, лови ее ретурн. Или ты память общую хочешь?
Аноним 09/04/21 Птн 16:15:54 199114593
Аноним 09/04/21 Птн 16:23:07 199115094
16155839488740.png 1059Кб, 1025x1166
1025x1166
>>1991111
квадриплу грех не ответить
>как тебе работа в банке? платят норм?
Т.к. первая работа, то сравнивать особо не с чем
Понатыканая везде "безопасность" зачастую мешает работать, например мне нужен был один плагин для текстового редактора, так для него нужно завести заявку и ожидать ответа месяц, чтобы админы САМИ тебе его накатили
Также не нравится стек, но я думаю так везде сраное древнючее легаси без внятной документации
З.п. - немного ниже среднего для джунов, но грех жаловаться, потому что я большую часть дня ебланю удаленка, а потом закрываю довольно простые задачи за несколько часов
Если попадается что-то сложное, то спрашиваю помощи и трачу чуть больше времени
>кем там числишься? младшим баг дата сиентисом или типа того?
Не, все довольно банально - "младший разработчик"
>Алсо что за шарага была?
Не самая плохая, но и не самая хорошая
Как мне кажется в них разницы нет, в любом случае на одной шараге далеко не уедешь, если бы я пытался устроиться только с теми знаниями, что получил там, сейчас бы работал в пятер очке
Хотя все же были хорошие преподы, которые делились реально полезными знаниями
Аноним 09/04/21 Птн 16:23:54 199115195
Аноним 09/04/21 Птн 16:25:06 199115396
>>1991151
я уверен что это не лучшая реализация но оно работает...
Аноним 09/04/21 Птн 17:24:54 199121397
Что нужно знать из питона чтобы успешно фрилансить, на какие задания есть спрос на питоне.
Аноним 09/04/21 Птн 18:07:58 199125598
>>1991029
Я гуманитарий, в одной школе математика не заходила был троечником . Но когда я перешёл в другую школу, то стал отличником по математике и весь класс у меня списывал, истинна где-то посередине получается, в общем 4. Любимый предмет черчение.

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

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

Такая мотивация.




Аноним 09/04/21 Птн 18:31:07 199127699
>>1991255
Программирование морально тяжёлая сфера.

Реальное АйТи и программирование в частности больше не про про созидание, а про то, чтобы с чем-то разобраться и много держать в голове. Причём разбираться с чем-то огромным, кривым, запутанным и противным.

Вот ты смотришь код, тебе надо что-то подправить и доработать. Но для этого надо разобраться в куче тебе непривычного и непонятного, зачем там как-то сделано, почему криво (на это есть причины обычно), как переделать, чтобы было не криво и т.п.

Аноним 09/04/21 Птн 18:33:27 1991278100
>>1989943 (OP)
Знатоки, подскажите, почему этот код https://ideone.com/I9qfNc работает так странно. Список my_list объявлен глобально и в обеих функциях мы заводим локальные списки и возвращаем их.
Так почему глобальный список изменяется?
Аноним 09/04/21 Птн 18:43:12 1991286101
Что учить чтобы легче работу найти фласк или джангу?
Аноним 09/04/21 Птн 18:44:49 1991288102
>>1991278
В test_append ты аппендишь ссылки на элементы, это одни и те же списки в итоге. Надо копировать.
Аноним 09/04/21 Птн 19:04:23 1991299103
>>1991286
> Что учить чтобы легче
Фласк
> легче работу найти
Джангу

Аноним 09/04/21 Птн 19:05:56 1991301104
>>1991150
корка шараги помогла при устройстве на работу? ты кстати из милионника? пиздец у вас там админы отмороженные!
Аноним 09/04/21 Птн 19:17:17 1991313105
>>1991288
То есть, если я хочу создавать независимый список списков из частей другого списка со списками мне нужно делать deepcopy его частей?
Аноним 09/04/21 Птн 19:19:39 1991317106
>>1991313
deepcopy это для всяких сложных вложенных структур, для простого списка достаточно copy или того же [:]
Аноним 09/04/21 Птн 19:30:49 1991320107


Передаю в __init__ класса, объект другого класса.
Все окей
def __init__(self, obj):
----self._obj = obj


НО! Я не могу передать self._obj в декоратор как аргумент
@decor(self._obj)
def blabla_function():
----pass


NameError: name 'self' is not defined

Как обойти эту хрень?
Аноним 09/04/21 Птн 19:35:02 1991325108
>>1991320
У тебя ведь будет доступ к аргументам внутри декоратора, 1й аргумент это self, хуль тебе надо?
Аноним 09/04/21 Птн 19:38:50 1991327109
>>1991320
Декоратор - внешняя функция, не знает он никаких self, cls и т.д., если только ты не определил его как метод класса, в чем я очень сомневаюсь
Аноним 09/04/21 Птн 19:39:31 1991328110
изображение.png 25Кб, 642x349
642x349
Аноним 09/04/21 Птн 19:41:08 1991329111
>>1991328
Ага. И? Сам то понял?
Аноним 09/04/21 Птн 19:44:10 1991331112
изображение.png 10Кб, 443x384
443x384
>>1991329
Пиздец дети обленились, без Папки не могут нихера
Аноним 09/04/21 Птн 20:02:56 1991337113
>>1991008
Именно так брат. Такие эндпоинты.
Аноним 09/04/21 Птн 20:07:51 1991340114
Как вообще для вката jetbrains academy + leetcode + свой аналог двощей? Плюс ещё Кормена наебнуть и что-нибудь по проектированию рестухи. Из опыта в ит стажировочка по системной АНАЛитике и 3 курс вузика по прикладной информатике. Плюс пара хаков выигранных. Хватит такого чтобы каким-нибудь джуном пойти или ещё чего-то наебнуть?
Аноним 09/04/21 Птн 20:07:54 1991341115
restapi.jpg 57Кб, 600x364
600x364
Аноним 09/04/21 Птн 20:44:41 1991366116
16157922624470.jpg 144Кб, 640x640
640x640
>>1991301
>корка шараги помогла при устройстве на работу?
Я не знаю насколько это зашквар по меркам двача, но у меня короче СПО ПТУ
Насколько я узнал из тредов МЫ ВАМ ПЕРЕЗВОНИМ, подобных кандидатов отсеивает автоматический фильтр, так что их хрюши даже не видят, поэтому я поменял своё СПО на высшее в резюме и по итогу меня самого пригласили после пары недель тестовых в интересные мне компании, которые я успешно заваливал

Как только прошел этап созвона по телефону, то сразу залез в резюме и поставил обратно СПО, а т.к. уже приглашен на собес, то похер
В итоге на интервью спросили за высшее, я сказал, что его нет, есть СПО
Они сказали, что окей, пофиг

>ты кстати из милионника?
Простой Иван, город Пекин

>пиздец у вас там админы отмороженные!
Подобная херня везде, где речь идет о бабках
Во всех банках без исключения наверное
Аноним 09/04/21 Птн 22:58:43 1991450117
Парни, есть запрос в базу который выполняется около десятка секунд, потому что собирает больно много данных, как правильно сделать "листалку" (пагинацию) чтобы запрос выдавал данные лишь кусками и база нагружалась меньше?
Аноним 09/04/21 Птн 23:09:41 1991456118
Встал вопрос о временном хранилище для ~50,000 пар key:string (строка - пару сотен символов) на время работы программы. Имеет смысл юзать Redis?
Аноним 09/04/21 Птн 23:10:47 1991458119
>>1991456
Да, это веб-приложение, если что.
Аноним 09/04/21 Птн 23:25:22 1991468120
>>1991456
Ну вообще имеет, редис охуенен.
А что за данные и зачем их хранить?
Аноним 09/04/21 Птн 23:48:22 1991477121
>>1991456
>Имеет смысл юзать Redis
Нет. 50к - это вообще ни о чем.
Аноним 09/04/21 Птн 23:49:46 1991478122
>>1991468
> А что за данные и зачем их хранить?
Грубо говоря, несколько десятков тысяч последних результатов вычислений от разных пользователей, чтобы они могли их между собой переиспользовать, а скрипт не делал лишнюю работу.

>>1991477
> 50к - это вообще ни о чем.
От какой планки тогда отталкиваться, миллионы?
Аноним 10/04/21 Суб 00:12:21 1991483123
>>1991478
>несколько десятков тысяч последних результатов вычислений от разных пользователей
Ага, ну отлично подходит, да.
Аноним 10/04/21 Суб 00:41:27 1991492124
>>1991366
Лол, что за прикольная картинка?
алсо ты реально из китая? поясни.
пиздато, значит можно пиздеть про вышку.
И кстати, почему заваливал собесы в другие компании?
Аноним 10/04/21 Суб 00:49:17 1991499125
Читал кто (а может и имеет цифровую копию) CPython Internals: Your Guide to the Python 3 Interpreter / Anthony Shaw , стоит внимания или есть ресурс получше для копания во внутренностях?
Аноним 10/04/21 Суб 00:58:28 1991503126
>>1991499
Она уже спирачена, в принципе, по содержанию выглядит достойно, я пока не читал.
Ещё есть такая книжка, но она попроще https://leanpub.com/insidethepythonvirtualmachine
Алсо, видел на ютубе серию лекций, но они про двойку, не знаю, насколько актуально, для общего развития сгодится, наверное.
Аноним 10/04/21 Суб 04:06:16 1991596127
>>1991450
Оператор. LIMIT поможет, надеюсь
Аноним 10/04/21 Суб 04:17:03 1991598128
>>1989943 (OP)
>https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Питоногоспода, вкадывающийся ИТТ, а возможности скачать все одним архивом на эту хуйню не завезли? Хочу полистать книжки, выбрать наиболее подходящую, но скачивать по одной займет тысячу лет.
Аноним 10/04/21 Суб 06:31:24 1991607129
>>1991596
В бд есть FETCH, но я слышал что лучше делать это на стороне приложения. При использовании FETCH в бд, она всё равно запрашивает все данные, но выдает порциями, а првильнее будет запрашивать только нужную часть.
Аноним 10/04/21 Суб 08:56:01 1991644130
16179866523140.png 24Кб, 443x384
443x384
>>1991331
Дак у тебя декоратор без аргументов же.
Аноним 10/04/21 Суб 09:04:10 1991646131
изображение.png 99Кб, 2351x840
2351x840
Как правильно делать импорт своих модулей?
Я думал просто импорт-название файла, но не работает.
Аноним 10/04/21 Суб 09:21:46 1991648132
>>1991646
Консоль запущена в корне проекта, у тебя будет WebApi.convert_time
Аноним 10/04/21 Суб 09:38:07 1991652133
a.png 64Кб, 1788x400
1788x400
b.png 13Кб, 436x108
436x108
c.png 19Кб, 486x226
486x226
Почему эта хуйня не работает?
Я же создал переменную и она стала глобальной ведь, но в модуле она не существует.

Как исправить код чтобы можно было дотянуться до этой переменной без явного импорта?
Аноним 10/04/21 Суб 09:49:50 1991656134
Аноним 10/04/21 Суб 10:24:01 1991663135
Если уже умею прогерить на другом яп то достаточно ли будет прочтения документации чтобы прохавать за синтаксис и либу языка? Или посоветуйте чего чтобы максимально быстро вкатиться.
Аноним 10/04/21 Суб 10:29:44 1991664136
a.png 62Кб, 1586x354
1586x354
b.png 13Кб, 590x154
590x154
>>1991652
Нашел решение, но его не рекомендуют.
Аноним 10/04/21 Суб 10:45:45 1991668137
236581273658.jpg 63Кб, 763x763
763x763
1616169479595.png 176Кб, 250x275
250x275
>>1991492
>алсо ты реально из китая? поясни.
На дваче же недавно тема была с автозаменой
тян - кошачья жена
ДС - Пекин
анон - простой Иван город Тверь
и тд

Или этого в тематиках не было, только в /b/?

>И кстати, почему заваливал собесы в другие компании?
Откликался на вакансии типо "знать фласку, пистон, ськуэль и тд." Потом приходило тестовое с докером, нгинксом и другими тулзами, которых указанно не было и я естественно сливался
Еще были ебанутые задания уровня "Рассчитайте коллизию двух сфер и визуализируйте полученные данные, если известно, что на вход будут подаваться примерно следующие данные"
Я конечно понимаю, что нужно уметь обрабатывать ошибки, но я ебал проверку автотестами с 1 попыткой, где ты даже не знаешь, что именно отработало не так
То есть ты пишешь код по мутному ТЗ, отправляешь его, запускаются автотесты - все отработало, окей, беседуем дальше, иначе иди нахуй должны отработать все задачи, которые были даны, без ошибок
Ну и мой самый любимый тип вакансий, которые никого не ищут, а просто смотрят че на рынке творится
Аноним 10/04/21 Суб 10:48:36 1991670138
Аноним 10/04/21 Суб 10:50:23 1991672139
Аноним 10/04/21 Суб 11:04:37 1991681140
Пишут что питон может все, а чего не может питон?
Аноним 10/04/21 Суб 11:07:35 1991683141
>>1991681
Может не питон, а чувак который прохавал питон охуеть как сильно.
Аноним 10/04/21 Суб 11:10:09 1991688142
R2-FSA-Graphic-[...].jpg 566Кб, 2560x2048
2560x2048
>>1991681
>может все
Кто говорит? Инфоцыгане? Проще перечислить то, что он может, чем то, чего не может
Пикрил в помощь
Аноним 10/04/21 Суб 11:12:43 1991692143
>>1991644
...
Угараешь? Нахрена передавать туда какие-то аргументы (которые все равно физически невозможно передать как тот чувак хочет) если есть работающее решение без этого говна?
Аноним 10/04/21 Суб 11:34:58 1991701144
>>1991688
Откуда это говно? Electron теперь не desktop? Dart теперь не мобилка?
Аноним 10/04/21 Суб 11:46:13 1991706145
>>1991701
Первую попавшуюся пикчу с гугла залил, для общего понимания пойдет
Аноним 10/04/21 Суб 13:14:53 1991753146
>>1991668
А, то есть ДС?
такое проскакивало в пораше вроде но недолго, буквально несколько дней пофорсили и все.
и то в основном в связи пыня низкий рост редкий волос
Что за вакансии которые никог оне ищут? Это какие то исследовательские агенства?
алсо тесты с автопроверкой это пиздец дичь, ну там при сдаче даже не указывается где ошибка? пиздец они психи.
рад что попал в банк?
Аноним 10/04/21 Суб 13:15:36 1991754147
>>1991688
Странно что нету пхп, на нем весь веб, фейсбук и еще куча чего.
Аноним 10/04/21 Суб 13:54:08 1991773148
>>1991692
Тот чувак это я и есть. И изначально мой декоратор должен был получать число и объект другого класса. Но поебавшись 2 дня, я нашел другой способ. Теперь мой декоратор получает только число.
Аноним 10/04/21 Суб 16:20:06 1991933149
>>1991773
>и объект другого класса
ВНЕЗАПНО: без задней мысли взял и передал в декоратор, что сложного?
Аноним 10/04/21 Суб 16:46:57 1991965150
>>1991664
Функция globals тебе список глобальных переменных файла, а не папки.
В любом случае, явный импорт - лучшее решение. Какой бы ни была проблема.
Аноним 10/04/21 Суб 17:01:30 1991987151
>>1991688
А с помощью чего делают desktop applications на языке пайтон? Хочу сделать одну хуйнюшку для души.
Аноним 10/04/21 Суб 17:07:45 1991997152
Аноним 10/04/21 Суб 17:20:33 1992017153
Уважаемые питонисты, прошу совета. Мне нужно визуализировать около 20Гб данных, записанных в бинарники. Теперь собственно сам вопрос, что для этой цели лучше использовать? Пока что выбор пал на язык R, но может есть какие нибудь библиотеки для питона?
Аноним 10/04/21 Суб 17:41:48 1992036154
a.png 217Кб, 2616x782
2616x782
b.png 20Кб, 398x296
398x296
>>1992017
Библиотека matplotlib, а также не плохая bokeh





Эвент луп блокирует прибавление нового значения в поле у объекта класса. Как обойти эту проблему?
Код запущен через multiprocessing
Аноним 10/04/21 Суб 18:46:50 1992086155
a.png 353Кб, 3262x1708
3262x1708
>>1992036

Решил запустить асинхронно. Но multiprocessing не давал этого сделать. TypeError: cannot pickle 'coroutine' object sys:1: RuntimeWarning: coroutine 'Test.event_loop' was never awaited

Но в threading все получилось.
Я так и не понял почему.
Аноним 10/04/21 Суб 19:01:04 1992094156
image.png 71Кб, 218x231
218x231
>>1991754
>Странно что нету пхп
Аноним 10/04/21 Суб 19:04:56 1992098157
>>1992086
Потому что "cannot pickle 'coroutine' object" - он же сам говорит
Он не может в бинарный формат корутину перегнать чтоб потом ее десереализовать
Аноним 10/04/21 Суб 19:06:59 1992105158
Screenshot 2021[...].png 27Кб, 466x340
466x340
>>1992098

А почему трэдинг может?
Аноним 10/04/21 Суб 19:08:13 1992106159
170527728.jpg 55Кб, 1280x720
1280x720
>>1992105
Потому что он ничего не сериализует. Очевидно же
Аноним 10/04/21 Суб 19:11:00 1992108160
>>1992106
Спасибо улиточка, но ни хуя не понятно
Аноним 10/04/21 Суб 19:38:50 1992137161
>>1992105
Неправильно, пикл это любые маринованные штуки.
Аноним 10/04/21 Суб 21:00:35 1992259162
tkinter
Аноним 10/04/21 Суб 21:49:34 1992307163
>>1992108
Общее пространство памяти, не надо передавать объект в другой процесс ( для передачи его надо запаковать - pickle).
И для трединга другая метода передачи объектов из одной asyncio.loop в другой
Аноним 10/04/21 Суб 23:26:32 1992383164
>>1992307
>для трединга другая метода передачи объектов из одной asyncio.loop в другой
трединг же независим от asyncio?
Аноним 11/04/21 Вск 00:10:01 1992417165
Аноны, посоветуйте литературу по AWS. Хочу расширить границы познания дальше простых операций с EC2 инстансами.
Аноним 11/04/21 Вск 07:12:30 1992490166
>>1992307
Фигасе сколько тонкостей
Аноним 11/04/21 Вск 07:42:22 1992492167
Всем привет.
Начал, как тот торговец-каджит выше, вкатываться в программирование на питоне...
35, 5 лет вахты ведущим инженегром ПТО, в/о теплоэнергетик, программировал в школе на турбопаскале. Сам с микропосёлка в залупе мира.
Повелся на пиздеж отца, что энергетик царь и бог + электростанция под боком.
Пришел к тому, что заебло морозить жопу в ебенях с уральским и прочим быдлом настолько, что уже физически тошнит от тупорезов + потолок по зарплате в моей сфере это 150к~2k$/
Так шо пока сижу на работке, изучаю Питон, прохожу Я.Практикум, хочу заказать на алике ардуино наборчик, собрать какого-нибудь робота с племянником и прикрутить к нему питон, сделать простое приложение на телефоне, чтобы можно было управлять и тд.
Короче, вот такое хобби.

На вахту поехал, потому что нет вариков больше, как поднять тонну бабла за относительно короткий период времени, а это был самый логичный вариант, купил хату в итоге на скопленные рублики...
В общем, хочется сменить сферу и в более перспективную и интересную область перейти, в сфере программирования и робототехники, потому что за этим будущее/настоящее.
Хотя, пока в перспективе из программирования+роботы первое, что на ум приходит это прошивка и ремонт домашних роботов пылесосов)))


Аноним 11/04/21 Вск 08:08:49 1992495168
>>1992492
полюбому пасто откуда то
Аноним 11/04/21 Вск 08:11:11 1992497169
>>1992495
ммм, нет, можешь яндекснуть/гуглануть.
Аноним 11/04/21 Вск 08:49:12 1992504170
Аноним 11/04/21 Вск 08:55:34 1992505171
>>1992495
Не, не паста. А если паста, то неизвестная.

>что энергетик царь и бог
Но это ведь правда.
Аноним 11/04/21 Вск 09:49:01 1992521172
>>1992505
царь и бог говна, пара и электричества

Аноним 11/04/21 Вск 09:51:55 1992522173
Лутц выбесил. Про сраное импортирование столько воды налил, что пиздец. Раза в два больше, чем про функции. При чём функции как раз надо разжёвывать в деталях с кучей примеров, но он оче кратко всё описал и побежал дальше. А ебаные каталоги и импортирование модулей у него размазано на миллиард абзацев, при чём часто повторяя одно и тоже. Сука. Там вся инфа на 2-3 страницы от силы.
Аноним 11/04/21 Вск 09:54:16 1992524174
>>1992521
Говно и электричество будут всегда. Кому-нибудь всегда надо будет всё это хозяйство обслуживать, а оно с каждым годом всё сложнее и сложнее.

А программу один раз написал, и она после этого работает, ты не нужен становишься.
Аноним 11/04/21 Вск 10:01:42 1992530175
Есть два стула: pytest-bdd и behave

На какой сам сядешь, на какой девопса посадишь?
Аноним 11/04/21 Вск 10:04:30 1992532176
>>1992524
надоело уже...
хочется эволюционировать)
Аноним 11/04/21 Вск 10:13:37 1992538177
>>1992524
> электричество будут всегда
Разве что статическое, когда трешь кота.
Аноним 11/04/21 Вск 13:04:52 1992610178
Сап питонач.
Я в процессе вкота в питон, для начала запилил простенького дискорд-бота для практики и теперь думаю что делать дальше. Из того что я уже нагуглил/прочитал в нюфак треде - для того чтобы иметь хоть какие-то шансы на трудоустройство нужно изучить какой-нибудь фреймворк и REST api. Решил начать с фреймворка и выбрал Джангу, но пока гуглил гайды - понял что в некоторых местах мои знания явно проседают. В шапке дохуя книг, но какие из них нужны - непонятно.

Посоветуйте книжку по Джанге и книжку по Ресту, да и вообще разных советов мудрых.
Аноним 11/04/21 Вск 16:08:19 1992745179
>>1990847
Спасибо, анон. Таки нашел пример с вебсокетами, где клиент шлет запросы из браузера, очень годно. https://www.youtube.com/watch?v=4haMUvUxUJI&list=LL&index=1
Теперь есть еще пара вопросов, если вкратце направишь буду крайне благодарен.
1) Я хочу сделать любую веб игру в которую играет 2 человека, хоть крестики нолики, главное чтобы состояние игры менялось после ходов игроков. Я так понимаю, что состояние игры и очередность хода без проблем будет считаться на сервере, хоть в каком нибудь словаре, а клиенты будут обращаться к серверу, видеть очередность хода и от этого уже можно будет сделать ход или нет и т.д. Как это масштабировать, чтобы одновременно могло несколько сессий проходить, чтоб разные люди могли играть. Тоже самое, только в словаре несколько сессий хранится? Подозреваю, что есть стандартное решение этого вопроса
2) Как проще всего вывести и вести разработку на реальном сервере, чтоб можно было не с локалхоста ебошить, а по нормальному адресу, чтоб можно было корешам скинуть показать что уже получилось, какой самый быстрый / легкий вариант?
Аноним 11/04/21 Вск 18:40:06 1992851180
>>1992745
Не смотрел, ткнул в пару мест.

На видео чувак реализует руками http протокол. Это как-бы странно, максимум для обучения полезно, чтобы понимать, что такое http протокол.

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

То, что нужно для твоей задачи, это использовать какой-нибудь асинхронный фреймворк. Например aiohttp.

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

>Тоже самое, только в словаре несколько сессий хранится?
Самое простое, ты хранишь id сессии, и словарь объектов-состояний игры. Скажем игровое поле, чей сейчас ход и т.п.

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

>какой самый быстрый / легкий вариант?
Вариант только купить себе хостинг на VPS, цена вопроса на уровне 5 долларов в месяц. Можно дешевле что-нибудь найти, но за 5-10 долларов в месяц есть какие-то очень-очень приличные варианты.

Бесплатно такие вещи не очень дают из соображений безопасности.
Аноним 11/04/21 Вск 20:31:30 1992923181
Я делаю учебный проект в котором с каждым шагом накидываются дополнительные задачи. Нигде не пояснено - могу ли я в проекте каждую подзадачу делать в отдельном файле, чтобы титульный у меня только спрашивал какую функцию я хочу запустить и брал их из файлов, так же нигде пока не написал - нормально ли это писать все просто в одну страницу, но лично мне так кажется как-то монструозно.
Где почитать или может есть простой ответ как разбивать проект на файлы и оформлять по человечьи сразу?
Аноним 11/04/21 Вск 21:33:39 1992985182
>>1992923
Создаёшь рядом с основным файлом ещё один и просто импортируешь от туда. Если второй назван logicForMyProgram.py и в ней есть класс UserList, то import UserList from logicForMyProgram
Либи просто import logicForMyProgram, тогда импортируется все из файла. Дальше потом можно использовать logicForMyProgram.UserList()

Можно ещё задавать модулям имена. import logicForMyProgram as logic
и вызывать logic.UserList()

В одну страницу писать не надо, тем более в питоне, это чистый ООП язык и ты тут можешь импортировать, оборачивать, вызывать, передавать вообще абсолютно любую хуйню.
Аноним 11/04/21 Вск 21:46:19 1992999183
>>1992985
Спасибо, я уловил, вот только понятия класс еще не видел(я знаю что это такое, но в "программе" пока не подразумевается что мне стоит париться с этим пока)
Но главное что я понял что это import. Т.е. он сразу поймет что я импортирую из соседнего файла в проекте, а на будущее - если я захочу импортировать из другого проекта - мне надо сначала добавить фаил в проект или можно как-то import ~/Pidoras/musor/proecthuini hyinya.py zashkvarclass? Или так делать не принято из-за неразберихи с файлами и невозможности запустить проект если я забуду отправить все человеку и он не распихает все по директориям так же(или у него вообще винда)?
Аноним 11/04/21 Вск 21:52:58 1993007184
1618170767564.jpg 117Кб, 422x594
422x594
Я не могу осилить эту книгу. Что со мной не так? Дошёл до for и while и не смог выполнить задания в конце главы. Я один такой?
Аноним 11/04/21 Вск 21:54:33 1993010185
>>1993007
Какое задание?
И почему ты выбрал для детей книгу?
Аноним 11/04/21 Вск 22:12:18 1993043186
>>1992999
Импортировать можно не только классы, а вообще все если нужно. Но обычно импортируют только классы и функции через from fileName import funcName
А дальше она вызывается funcName()
Если ты раскидал файлы по папкам, то закинь в папку с импортируемым файлом пустой __init__.py и импортируй вводя название папки через точку в которой лежит файл.
from foldername.fileName import funcName
Для импорта конкретной функции или класса

from foldername import fileName
для импорта всего содержимого файла

Если вложено много папок, то просто через точку их прописывай все.

__init__.py вроде необязательно уже создавать, но я никогда не проверял.
Аноним 11/04/21 Вск 22:29:29 1993067187
1618169368621.jpg 155Кб, 1080x2340
1080x2340
>>1993010
Там какая-то говноигра на ткинтере.
мимодругойанон
Аноним 11/04/21 Вск 22:35:07 1993080188
>>1993007
Я решил открыть рандомную книгу, только не для детей и понял информацию сразу. А эта книга создана дьяволом. Я даже не представляю, как её смогут понять дети.
Аноним 11/04/21 Вск 22:36:02 1993083189
>>1993080
Там в аннотации не написано что она должна даваться детям в придачу к преподу?
Аноним 11/04/21 Вск 23:18:35 1993163190
>>1993007
Надо было с сишки начинать, она более понятна для новичков.
Аноним 12/04/21 Пнд 00:47:52 1993272191
>>1992522
Так блять с импортами в питоне пиздец тонкостей дохуя. А функции это прос о функции. Ничего необычного.
Аноним 12/04/21 Пнд 01:28:06 1993286192
Тяжело у вас вообще первую работу найти?
Аноним 12/04/21 Пнд 01:40:35 1993297193
>>1993286
Я учу по фану и мне похуй, но я уже вижу что работы "хуила питоновая" не существует как с джавой, например, это либо дрочила цифер у которого плюсом идет ЛЮБОЙ скриптовый язык, либо питон написан десятым языком в требования, либо вообще в позиции "ну было бы не плохо, а вообще нахуй надо". Смотрел по питеру если что. Я не знаю почему я выбрал питон, но я уже чувстую со всех сторон намеки на туповатость этого выбора.
Аноним 12/04/21 Пнд 01:43:10 1993303194
>>1993297
Для работы думаешь лучше жаву дрочить?
Аноним 12/04/21 Пнд 01:45:48 1993307195
>>1993303
Меня лучше не спрашивать, я еще неделю назад хеллоу ворлд писал
Аноним 12/04/21 Пнд 01:59:55 1993316196
>>1993307
Понял. Бтв почекай вакансии на джангу и фласк. Их вполне себе по количеству. Ну по крайней мере если ты в дс...
Аноним 12/04/21 Пнд 07:10:01 1993382197
>>1993007
ты не очень умный...
Аноним 12/04/21 Пнд 07:15:27 1993385198
программист пит[...].jpg 335Кб, 1913x947
1913x947
Аноним 12/04/21 Пнд 07:16:25 1993387199
>>1993385
уха, шашлык, плов, пельмени, блять...
Аноним 12/04/21 Пнд 08:33:34 1993425200
>>1993385
Пельмени к уху. Кринж то какой.
Аноним 12/04/21 Пнд 09:00:19 1993436201
16181671797210.jpg 61Кб, 422x594
422x594
Аноним 12/04/21 Пнд 10:01:59 1993462202
>>1993385
Это я должен прогать, а потом ещё шеф-поваром на лыжах у костра скакать с гитарой?)
Аноним 12/04/21 Пнд 11:23:01 1993532203
Аноним 12/04/21 Пнд 13:00:27 1993612204
>>1989943 (OP)
Почему при асинхронном доступе к базе (например aio sqlalchemy) мы совершает await дважды: при запросе в базу и при доставании результата как вот тут:

async with self._connector() as connection:
----query_result = await connection.execute(query)
----rows = await query_result.fetchall()
Аноним 12/04/21 Пнд 13:01:10 1993613205
>>1993612
Достаточно же 1 await сделать - первый, что мы можем await-ить после?
Аноним 12/04/21 Пнд 14:57:44 1993728206
Аноним 12/04/21 Пнд 15:13:23 1993750207
>>1989943 (OP)
> Параметры должны приниматься как в JSON, так и в POST формате параметров запроса.

Аноны, что за POST-формат параметров запроса? Это мне кастомные хэдэры передавать надо?
Аноним 12/04/21 Пнд 15:39:25 1993777208
>>1993612
Рискну предположить, что первый раз ты говоришь базе выполнить операцию, второй раз - получаешь от базы данные
Аноним 12/04/21 Пнд 15:49:19 1993786209
>>1993750
Это скорее всего формат form-urlencoded
Аноним 12/04/21 Пнд 15:50:28 1993790210
>>1993786
Хм, спасибо. Ни разу в REST с таким не сталкивался
Аноним 12/04/21 Пнд 16:10:40 1993802211
Пытаюсь подключиться к устройству в локальной сети:

import socket
s = socket.socket()
s.bind(('192.168.0.1', 1488))


Какой бы локальный айпишник не указывал получаю

OSError: [WinError 10049] Требуемый адрес для своего контекста неверен

ЧЯДНТ?
Аноним 12/04/21 Пнд 16:29:00 1993831212
Y8PQLF4q56U.jpg 188Кб, 800x800
800x800
Антоны, скажите правильно ли я составил список действий для того чтобы устроиться на работу по программированию?
Читаю грохаем алгоритмы>читаем лутца и выполняем задачи оттуда> опционально читаем кнута, параллельно пишем какую-то программу (и тут вопрос, для того чтобы путь от профана до работника был максимально краток, мне нужно акцентироваться на вебе, или можно заниматься приложениями? Хотелось бы конечно второе). Надо учить все так чтобы сразу засесть за работу, а не терять время на условной стройке, так что оклад устроит любой, лишь бы на еду хватало. И вообще сколько времени займет путь от профана до быдлокодера-работника?
Аноним 12/04/21 Пнд 16:37:14 1993844213
>>1993831
С таким бэкграундом тебя не возьмут никуда.
Аноним 12/04/21 Пнд 16:52:54 1993856214
>>1993844
Хорошо, я понимаю. Мне нужна хотя бы просто какая-то сверхзадача, чтобы на ней акцентироваться и от нее исходить. Есть какие-нибудь идеи вроде борды5000запросов в секунду как в той пасте?
Аноним 12/04/21 Пнд 17:06:34 1993870215
>>1993802
sock.bind(('', 1488)) попробуй
Аноним 12/04/21 Пнд 17:16:31 1993889216
https://www.youtube.com/watch?v=uAL-9AzQdQs

Поймал себя на мысли, что постоянно возращаюсь к питону, чтобы не начал изучать, за какой бы яп не брался или хотелся бы взяться. В чем подвох?
Аноним 12/04/21 Пнд 17:21:00 1993897217
>>1993889
Он прекрасен, это вершина человеческой мысли, ничего лучше нет и быть не может.
Мне на работе намекнули, что можно подучить питон и скинули ссылку на курс хотя изначально я шел на другие дела в этот проект, я очень скептически отнесся, потому что тяги к самообразованию у меня давно уже не было, но мне невообразимо зашло. Просто влюбился в него с первого взгляда. Продолжаю его изучать и выбиваю себе задачи на питоне, жизнь удалась.
Аноним 12/04/21 Пнд 17:25:22 1993902218
>>1993897
Если это не ирония, то в будущих версиях нас ждет оптимизация, еще более сахарный код, еще более плюшек, case конструкции, хз даже почему его так хейтят, мол для даунов и ничего не может. Веб, приложухи, даже уже микроконтроллеры есть. Как что еще нужно? Чел из видоса мониторил джобы по питону, на хх и прочих, там рили питон топ и больше всего строчек по нему. Даже по моей мухосрани строчек больше на питухоне чем на сях, жаве и прочем, но там практически только веб или всякие академгородки.
Аноним 12/04/21 Пнд 18:55:48 1994009219
Ухтыбля, в питоне можно русские буквы в названии переменных использовать!
Аноним 12/04/21 Пнд 19:33:22 1994031220
Как понять что я не пишу хуйню?
Тренировочные задачи, я решаю - изъебываюсь, затолкал все в функции, у меня идет работа с 5 переменными, которые я затолкал в листы, каждая функция либо лямбдой вычитает из оригинального листа количества, либо превращает некоторые элементы в нужные. Смотрю как ее васян со стак оверфлоу делает - тупо переменные +, переменные -, просто последовательный список операций с каждой переменной.
Короче у меня 50 строк, у него 97(с однаковыми отступами по ПЕП) и без комментариев.
Но с другой стороны у него как топор читабельно, у меня тоже(учитывая тупость учебной задачи), и обе задачи проходят проверку edutools
Вот это особо не поясняется кроме ублюдских видео на ютубе косого лысеющего хохла советующего не изобретать велосипед
Аноним 12/04/21 Пнд 19:37:51 1994033221
Я тут что то по ностальгии заглянул в ваш тред и стало интересно.
А веб на питоне сейчас до сих пор пишут на джангоговне или появилось что то нормальное?

мимо нода-тс бэкендер
Аноним 12/04/21 Пнд 20:05:35 1994061222
DASH480 (1).mp4 1343Кб, 480x480, 00:00:10
480x480
В общем чтобы не терять время я решил пойти по этому пути: https://m.habr.com/ru/post/311642/

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

Я: >>1993831
Аноним 12/04/21 Пнд 20:18:14 1994078223
>>1994033
ASGI-фреймворки погугли. Starlette особенно.
Аноним 12/04/21 Пнд 20:20:16 1994084224
>>1994078
Поглядел мельком, вроде прикольно. Но на вид, как будто это чисто новая мета. Или уже крупные дяди уже в проде используют?
Аноним 12/04/21 Пнд 20:24:43 1994090225
>>1993856
Конечно есть. Напиши свою имиджборду. И чтобы она выдерживала 3000 запросов в минуту.
Аноним 12/04/21 Пнд 20:28:07 1994096226
>>1994061
Это весьма очевидный список, ты его найдешь и в гугле, и если посмотришь программы курсов, там все есть прямо как на хабре. Я сегодня знатно проиграл, захожу на скиллбокс(потому что присылает мне рекламу в вк постоянно), там все эти курсы, вижу курс джанго за 12к, тысяча в месяц, думаю что когда дойду - подумаю стоит ли брать, типа тысяча немного, но я получу анального раба-препода отвечающего на вопросы, открыл этот курс, внизу кнопка - "скачать программу курса", нажимаю - кидает на главную страницу. КУРСЫ ЕБАНЫХ КОМПЬЮТЕРНЫХ МАСТЕРОВ, ПРОФЕССИЯ ВЕБ ДЕВЕЛОПЕР НАХУЙ ГЛЮЧНЫЙ ХУЕВО ОТОБРАЖАЮЩИЙСЯ САЙТ ХУЙНИ СДЕЛАННЫЙ КОНТУЖЕННЫМ ДИЗАЙНЕРОМ И ТАКИМИ ЖЕ ВЕБ МАКАКАМИ ЕБАЛ В РОТ.
И решил что сам когда придет время выучу джанго
Аноним 12/04/21 Пнд 20:32:46 1994103227
djjpg.jpg 46Кб, 453x374
453x374
>>1994096
>вижу курс джанго за 12к, тысяча в месяц
И вы могли подумать что он на год, а нет, он блядь на полгода. И там все цифры такие, например тестирование мобильных приложений 58800 на 9 месяцев, и это всего 2450 в месяц!
Я не могу это объяснить
Аноним 12/04/21 Пнд 21:22:37 1994130228
>>1994031
>у меня идет работа с 5 переменными, которые я затолкал в листы, каждая функция либо лямбдой вычитает из оригинального листа количества, либо превращает некоторые элементы в нужные.
Нихрена не понятно, что ты имеешь в виду. Смотреть надо. Если ты оптимизируешь строчки тем, что в одной строке делаешь две операции, то это ни разу не оптимизация.

Код должен быть читаемым и сопровождаемым. Не уверен, что это про твой вариант.

>косого лысеющего хохла
Если ты голубоглазая пышноволосая русня, что ты вообще в программирование лезешь? Или в манагеры по продажам, там симпатяшки нужны. А не те, кто что-то умеет.
Аноним 12/04/21 Пнд 21:26:13 1994132229
>>1993612
По идее, оба раза ты реально обращаешься к базе данных, по сети соответственно. Поэтому нужен await, синхронно лучше не делать.

Первым запросом СУБД разбирает запрос и помещает результат куда-то к себе в буферы. Из которого ты можешь запрашивать данные как построчно, так и все вместе. Вторым запросом бы именно выкачиваешь данные из СУБД к себе в процесс.
Аноним 12/04/21 Пнд 21:31:44 1994133230
Test

Аноним 12/04/21 Пнд 21:33:20 1994134231
hHQ1DedEvPA.jpg 89Кб, 590x590
590x590
>>1994090
То есть можно с этим прийти устраиваться?
>>1994096
Где то читал что нанимать препода - гиблое дело, у него ~30-50 учеников и отвечает он дежурными фразами, мол легче самому все это искать, а тому что могут дать на курсах ты один хрен сам научишься
>когда придет время
Звучит как оправдание не находишь? "Не получилось ну и ладно, главное что я старался". Не откладывай в долгий ящик
Аноним 12/04/21 Пнд 21:34:36 1994135232
>>1994130
>голубоглазая пышноволосая русня
Ну не совсем, я голубоглазая пышноволосая полунемчина полу жидяра, может мне можно все таки? Я уже в манагерах и админах клуба был, не хочу больше.
Аноним 12/04/21 Пнд 21:34:42 1994136233
Аноним 12/04/21 Пнд 21:35:24 1994137234
>>1994134
Когда придет время я подразумевал когда я дойду просто до этого, я даже близко не подошел к разработке чего-то
Аноним 12/04/21 Пнд 21:40:39 1994140235
>>1994134
Не верю, что может быть какой-то смысл в дешёвых онлайн курсах.

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

В онлайне сложнее это обеспечить в принципе. Как-то можно, но это сложно и дороже будет. Хотя если с тебя много попросят, то не факт, что этим обеспечат.

Тебе в обучении нужна обратная связь, а здесь скорее всего её не будет.

Просто электронных материалов дофига и бесплатных. Тебе не нужно даже ворованные курсы с трекеров качать.

Возьми программу курса и сам изучи нужные темы по этой программе.
Аноним 12/04/21 Пнд 21:48:42 1994143236
>>1994084
Было бы странно, если бы не использовали. Сейчас вообще у пайтоновского веба своеобразный ASGI-ренессанс - думаю, скоро стандартом станет.
Аноним 12/04/21 Пнд 23:10:11 1994191237
>>1994031
Ты долбаеб в строчках оценивать качество кода? Два главных качества кода это поддерживаемость и читаемость. Чтобы оценить насколько все плохо у тебя с этим на данном этапе, напиши проект тысячи на полторы строк. Оставь его на месяцок-два, а потом открой и попробуй внести туда новый функционал. Вот как раза два-три такое придется сделать, так сразу поймёшь, что городить лямбды на ровном месте хуйня затея, что лучше написать топорно, чем хуячить редкоиспользуемые функции и модули, что экономия двух десятков строчек выливается в десятки часов ебли и охуевания от того, что ничего не работает.
Аноним 12/04/21 Пнд 23:11:38 1994195238
>>1994033
> А веб на питоне сейчас до сих пор пишут на джангоговне или появилось что то нормальное?
Что у тебя за проблемы с джангой?
Аноним 12/04/21 Пнд 23:14:23 1994199239
>>1994143
ASGI ренессанс потому что вышла ASGI джанга лол
Аноним 12/04/21 Пнд 23:21:35 1994207240
>>1994191
А комментарии для чего?
Аноним 12/04/21 Пнд 23:34:37 1994216241
Tkinter
Аноним 12/04/21 Пнд 23:35:32 1994219242
>>1994207
Если ты пишешь код, для которого нужны комментарии, то ты уже пишешь говнокод. Как минимум, ты заставляешь человека не только поддерживать код, но и поддерживать комментарии. Но это половина беды, вторая половина заключается в том, что говнокод на то и говнокод, что комментарии у тебя будут на 30-40 строк, что не просто не улучшит, а лишь ухудшит читаемость кода.
Но вообще это все лирика, просто напиши петпроект за недельку на тысячи полторы строк. И попробуй его поддерживать новым функционалом раз в месяц-полтора хотя бы три-четыре месяца. Как перепишешь код в пятый-шестой раз, то приходи за азами кодстайла в тред.
Аноним 13/04/21 Втр 00:08:17 1994244243
>>1994219
>Если ты пишешь код, для которого нужны комментарии, то ты уже пишешь говнокод
Ты бросаешься в крайности. Комментариями надо пользоваться для того, чтобы пояснять, зачем нужен некоторый кусок кода и почему его не надо удалять при рефакторинге. Ну и для пояснения сложных алгоритмов, которые иногда таки приходится писать. Короче - по обстоятельствам.
Аноним 13/04/21 Втр 00:17:56 1994254244
>>1994244
>пояснять, зачем нужен некоторый кусок кода
Этот кусок кода должен пояснять сам себя. Если он этого не делает, то вместо дрочева комментариев его надо переписать так, чтобы пояснял.
>и почему его не надо удалять при рефакторинге
Для этого должны быть тесты.
>Ну и для пояснения сложных алгоритмов
Если речь о математических алгоритмах, то там максимум нужна ссылка на википедию.
Аноним 13/04/21 Втр 00:32:18 1994259245
>>1994254
Код сам за себя может пояснять, что он делает. Но он не может пояснять, зачем он это делает.
Аноним 13/04/21 Втр 00:37:49 1994265246
>>1994254
>Этот кусок кода должен пояснять сам себя
Код сам может пояснять только то, что он делает, а не почему. Это две разные вещи.
>Для этого должны быть тесты.
А если их нет?
>Если речь о математических алгоритмах, то там максимум нужна ссылка на википедию.
Не совсем. Математические алгоритмы обычно заканчиваются подключением нужной библиотеки - тут комментировать не нужно. Я скорее про всякие ебанутые преобразования данных. Они встречаются в основном в датасаенсе, но и в других сферах тоже не исключены.
Аноним 13/04/21 Втр 00:37:52 1994266247
>>1994259
Это уже документация бизнес-логики или внешнего API, в комментариях сурс-кода такое не пишется и не должно писаться.
Аноним 13/04/21 Втр 00:38:54 1994269248
>>1994265
>А если их нет?
Если у тебя нет ног, то нет смысла обсуждать варианты педикюра.
Аноним 13/04/21 Втр 00:42:27 1994271249
>>1994269
>Если у тебя нет ног, то нет смысла обсуждать варианты педикюра.
Юнит-тесты имеются от силы у половины проектов, и тоже нуждаются как в комментариях, так и в поддержке.
Аноним 13/04/21 Втр 00:50:14 1994273250
Screenshot from[...].png 88Кб, 892x408
892x408
Screenshot from[...].png 135Кб, 987x712
987x712
Screenshot from[...].png 76Кб, 804x366
804x366
>>1994266
Глянул ради интереса сорцы django, aiohttp и fastapi.

FastAPI очень-очень бедно задокументирован, aiohttp средненько с большим упором на docstring, а не комментарии.

Зато вот django просто конкретно закомментирован. А django всегда считался образцом, как надо проектировать, документировать, такое настоящее индустриальное ПО.
Аноним 13/04/21 Втр 01:05:55 1994280251
>>1994266
>Это уже документация бизнес-логики или внешнего API, в комментариях сурс-кода такое не пишется и не должно писаться.
Любой код реализует какую-то логику, иначе он просто не нужен. Логика может быть неочевидной. Если её оформлять в виде документации, то во-первых, она может быть сильно больше, чем просто код, во-вторых, она будет где-то отдельно, это придётся лезть в документацию. В третьих, в документации часто принято какой-то код или псевдокод приводить для иллюстрации, потому что кодом некоторые вещи проще выразить, чем словами.

Реальная логика действий может быть закопана довольно глубоко. У тебя функция вызывает другие служебные функции для внутреннего применения, не экспортируемые, они другие функции. В них ты закладываешься на некоторые вещи, что у тебя данные конкретного вида, что одно вызывается после другого и т.п. Много магии. Много не понятно, где смотреть. Это реальный код реальных задач.

Я видел народ, который считает, что код должен быть "самодокументированным", но их код обычно ни разу не саодокументирован.

Вообще чаще комментарии не пишут, чем пишут. Но и за код отвечают конкретные люди, кто просто знает что и зачем там без документации. Но это дурной стиль. Хотя в принципе удобно, когда тебя трудно заменить другим человеком.
Аноним 13/04/21 Втр 01:06:03 1994281252
>>1994271
Проекты без тестов нуждаются в первую очередь в тестах, а не в педикюре.
>>1994273
Либо ты говоришь "я комментирую, потому что так правильно, и вот мои причины думать, что так правильно", либо ты говоришь "я комментирую, потому что в джанге/хуянге так кто-то написал, на причины мне поебать".
Аноним 13/04/21 Втр 01:09:55 1994286253
>>1994280
В первом параграфе ни одно утверждение не следует из предыдущего. Неочевидную логику нужно наоборот описывать как можно проще и на видном месте, а не закапывать в слой комментариев в какой-то жопе.
>Реальная логика действий может быть закопана довольно глубоко
Ну значит откапывай, а не накидывай сверху еще комментариев лопатой.
>Много магии
Убирай магию, а не пиши некрономикон.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов