Найти - Пользователи
Полная версия: Реальные задачи и проблемы
Начало » Python для новичков » Реальные задачи и проблемы
1 2 3 4
liuyr879
День добрый, хотелось бы увидеть реальные задачи и проблемы с которыми сталкиваются ежедневно разработчики на Python, подойдут любыем примеры.)
py.user.next
liuyr879
хотелось бы увидеть реальные задачи и проблемы с которыми сталкиваются ежедневно разработчики на Python
Из последних задач я написал именно на Python, а не на других языках, которые я тоже там знаю, пару скриптов таких: 1) один залазит под капот браузеру, берёт его сжатый внутренним алгоритмом файл с настройками, расжимает его, потом открывает этот разжатый файл и вытаскивает оттуда информацию о ссылках и сохраняет её в формате html, оформляя всё это дело; 2) второй заходит на YouTube и из страницы списка видео, из её исходника, вытаскивает кусок кода, преобразует его в JSON-структуру и из неё выуживает ссылки на видео, названия этих видео и время этих видео, что в результате даёт мне сохранять интересные плейлисты с YouTube и просматривать их прямо из файла на диске.

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

Вот я такой скрипт написал и делаю вот так
[guest@localhost youtube]$ ls
[guest@localhost youtube]$ ytlist.py https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
https://www.youtube.com/watch?v=KdZ4HF1SrFs 1:20:50 Алгоритмы на Python 3. Лекция №1
https://www.youtube.com/watch?v=ZgSx3yH7sJI 1:19:49 Алгоритмы на Python 3. Лекция №2
https://www.youtube.com/watch?v=b8m9uRMpKJk 1:14:12 Алгоритмы на Python 3. Лекция №3
https://www.youtube.com/watch?v=DvsCUI5FNnI 1:14:14 Алгоритмы на Python 3. Лекция №4
https://www.youtube.com/watch?v=3I6OjxoeSS8 1:18:46 Алгоритмы на Python 3. Лекция №5
https://www.youtube.com/watch?v=NLq7nB9bV0M 1:19:35 Алгоритмы на Python 3. Лекция №6
https://www.youtube.com/watch?v=0Bc8zLURY-c 1:20:31 Алгоритмы на Python 3. Лекция №7
https://www.youtube.com/watch?v=2XFaK3bgT7w 1:18:29 Алгоритмы на Python 3. Лекция №8
https://www.youtube.com/watch?v=qf82-r9hl2Y 1:04:49 Алгоритмы на Python 3. Лекция №9
https://www.youtube.com/watch?v=EdhN_gEDfUM 1:14:58 Алгоритмы на Python 3. Лекция №10
https://www.youtube.com/watch?v=m4HOkVeN4Mo 1:22:17 Алгоритмы на Python 3. Лекция №11
https://www.youtube.com/watch?v=rEPggzaPoUw 1:19:32 Алгоритмы на Python 3. Лекция №12
https://www.youtube.com/watch?v=L4IU1bPKvHM 1:17:14 Алгоритмы на Python 3. Лекция №13
https://www.youtube.com/watch?v=I9YB4qrYGDc 1:23:13 Алгоритмы на Python 3. Лекция №14
https://www.youtube.com/watch?v=4tBrZoi37VI 1:19:16 Алгоритмы на Python 3. Лекция №16 (весной 2-я)
https://www.youtube.com/watch?v=aN15vtKjdP4 1:20:32 Алгоритмы на Python 3. Лекция №17 (весной 3-я)
https://www.youtube.com/watch?v=Y4ithGiEO08 1:18:11 Алгоритмы на Python 3. Лекция №18 (весной 4-я)
https://www.youtube.com/watch?v=XwNfhI8498k 57:29 Алгоритмы на Python 3. Лекция №19 (весной 5-я)
https://www.youtube.com/watch?v=-zb51s9iGzU 1:18:06 Алгоритмы на Python 3. Лекция №20 (весной 6-я)
https://www.youtube.com/watch?v=oTVsrJrnTC4 1:21:13 Алгоритмы на Python 3. Лекция №21 (весной 7-я)
https://www.youtube.com/watch?v=V8bu4tn4i-4 1:19:55 Алгоритмы на Python 3. Лекция №22 (весной 8-я)
https://www.youtube.com/watch?v=rg7DX6U0v9k 1:23:52 Алгоритмы на Python 3. Лекция №23 (весной 9-я)
https://www.youtube.com/watch?v=sBJ7ana1fgI 1:14:53 Алгоритмы на Python 3. Лекция №24 (весной 10-я)
https://www.youtube.com/watch?v=S-hjsamsK8U 1:09:31 Алгоритмы на Python 3. Лекция №25 (весной 11-я)
https://www.youtube.com/watch?v=2N6YbTc-USw 1:12:21 Алгоритмы на Python 3. Лекция №26 (весной 12-я)
https://www.youtube.com/watch?v=JUibM6KSeIw 1:05:01 Алгоритмы на Python 3. Лекция №27 (весной 13-я)
https://www.youtube.com/watch?v=53CFRYCSGSU 47:51 Алгоритмы на Python 3. Лекция №28 (весной 14-я)
[guest@localhost youtube]$
[guest@localhost youtube]$ ytlist.py https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0 > file.txt
[guest@localhost youtube]$
[guest@localhost youtube]$ cat file.txt
https://www.youtube.com/watch?v=KdZ4HF1SrFs 1:20:50 Алгоритмы на Python 3. Лекция №1
https://www.youtube.com/watch?v=ZgSx3yH7sJI 1:19:49 Алгоритмы на Python 3. Лекция №2
https://www.youtube.com/watch?v=b8m9uRMpKJk 1:14:12 Алгоритмы на Python 3. Лекция №3
https://www.youtube.com/watch?v=DvsCUI5FNnI 1:14:14 Алгоритмы на Python 3. Лекция №4
https://www.youtube.com/watch?v=3I6OjxoeSS8 1:18:46 Алгоритмы на Python 3. Лекция №5
https://www.youtube.com/watch?v=NLq7nB9bV0M 1:19:35 Алгоритмы на Python 3. Лекция №6
https://www.youtube.com/watch?v=0Bc8zLURY-c 1:20:31 Алгоритмы на Python 3. Лекция №7
https://www.youtube.com/watch?v=2XFaK3bgT7w 1:18:29 Алгоритмы на Python 3. Лекция №8
https://www.youtube.com/watch?v=qf82-r9hl2Y 1:04:49 Алгоритмы на Python 3. Лекция №9
https://www.youtube.com/watch?v=EdhN_gEDfUM 1:14:58 Алгоритмы на Python 3. Лекция №10
https://www.youtube.com/watch?v=m4HOkVeN4Mo 1:22:17 Алгоритмы на Python 3. Лекция №11
https://www.youtube.com/watch?v=rEPggzaPoUw 1:19:32 Алгоритмы на Python 3. Лекция №12
https://www.youtube.com/watch?v=L4IU1bPKvHM 1:17:14 Алгоритмы на Python 3. Лекция №13
https://www.youtube.com/watch?v=I9YB4qrYGDc 1:23:13 Алгоритмы на Python 3. Лекция №14
https://www.youtube.com/watch?v=4tBrZoi37VI 1:19:16 Алгоритмы на Python 3. Лекция №16 (весной 2-я)
https://www.youtube.com/watch?v=aN15vtKjdP4 1:20:32 Алгоритмы на Python 3. Лекция №17 (весной 3-я)
https://www.youtube.com/watch?v=Y4ithGiEO08 1:18:11 Алгоритмы на Python 3. Лекция №18 (весной 4-я)
https://www.youtube.com/watch?v=XwNfhI8498k 57:29 Алгоритмы на Python 3. Лекция №19 (весной 5-я)
https://www.youtube.com/watch?v=-zb51s9iGzU 1:18:06 Алгоритмы на Python 3. Лекция №20 (весной 6-я)
https://www.youtube.com/watch?v=oTVsrJrnTC4 1:21:13 Алгоритмы на Python 3. Лекция №21 (весной 7-я)
https://www.youtube.com/watch?v=V8bu4tn4i-4 1:19:55 Алгоритмы на Python 3. Лекция №22 (весной 8-я)
https://www.youtube.com/watch?v=rg7DX6U0v9k 1:23:52 Алгоритмы на Python 3. Лекция №23 (весной 9-я)
https://www.youtube.com/watch?v=sBJ7ana1fgI 1:14:53 Алгоритмы на Python 3. Лекция №24 (весной 10-я)
https://www.youtube.com/watch?v=S-hjsamsK8U 1:09:31 Алгоритмы на Python 3. Лекция №25 (весной 11-я)
https://www.youtube.com/watch?v=2N6YbTc-USw 1:12:21 Алгоритмы на Python 3. Лекция №26 (весной 12-я)
https://www.youtube.com/watch?v=JUibM6KSeIw 1:05:01 Алгоритмы на Python 3. Лекция №27 (весной 13-я)
https://www.youtube.com/watch?v=53CFRYCSGSU 47:51 Алгоритмы на Python 3. Лекция №28 (весной 14-я)
[guest@localhost youtube]$
[guest@localhost youtube]$ wc -l file.txt
27 file.txt
[guest@localhost youtube]$
То есть все 27 видео из этого списка оказались теперь у меня в файле. Я мог бы их и закачать, но нафиг они мне нужны на диске-то?

Естественно, я их потом преобразую в более удобный формат и оно выглядит в итоге вот так:


Поэтому мне удобно заниматься на YouTube, смотреть передачи всякие и циклы передач, потому что мне не нужно на YouTube отслеживать что-то там постоянно. Я себе просто создаю список и потом с диска им управляю так, как мне надо. А без этого скрипта я сидел и руками всё это копировал. А прикинь, когда там видео под сотню штук в плейлисте?

Почему я выбрал для этого Python, а не другой язык? Потому что на нём удобно залазить в сеть, на нём удобно управлять JSON-структурами и на нём можно разрабатывать очень быстро.

А потом, знаешь, что стало происходить? Потом YouTube стал менять внутреннюю структуру списков видео. И из-за этого я стал периодически обнаруживать, что мой скрипт не работает, сломался, потому что YouTube опять что-то поменял в структуре хранения плейлиста. Выглядит-то всё так же, а устроено внутри оно уже по-другому. И тогда я написал скрипт, который проверяет, не поменял ли YouTube конструкцию плейлиста внутри. И вот этот скрипт я уже написал на Shell'е, потому что для этого Python не нужен. Суть скрипта на Shell'е в том, что он пытается с известного мне плейлиста скачать ссылки с помощью моего вот этого скрипта на Python. И если количество скачанных ссылок не равно тому, которое я ожидаю, то скрипт на Python сломан и скрипт на Shell'е видит это и создаёт мне индикатор на рабочем столе “скрипт такой-то сломался”. И теперь у меня нет такой ситуации, что у меня скрипт на Python сломан из-за YouTube'а, а я об этом даже не знаю.

При этом успешные проверки я тоже вижу
[guest@localhost ~]$ sudo tail -100 /var/log/cron
...
Jan 23 13:00:01 localhost CROND[3509]: (guest) CMD (ytlist_check.sh check || touch $HOME/Desktop/ytlist-problem)
Jan 23 13:00:02 localhost CROND[3507]: (guest) CMDOUT (ytlist_check.sh: For Dido - Still On My Mind (The Remixes) with 4 videos)
Jan 23 13:00:02 localhost CROND[3507]: (guest) CMDOUT (ytlist_check.sh: Works fine.)
...
[guest@localhost ~]$


tags: ytlist
doza_and
Ну за прошедшую неделю.

Проблема
У нас есть проекты - куча технической документации, файлов схем, чертежей, файлов описания технического состояния систем, программных кодов. На проект 40-60 гигабайт. Проблема возникает при рефакторинге и сопровождении. Если в проекте надо что-то назвать по другому - найти переменную, связи и т.п. Поиск именно по файлам занимает минут 10 и при этом невозможно точно сформулировать что надо искать.
Задача. Сканирование описания проекта и файлов проекта и создание индекса. Первое это сканирование множества бинарных файлов уникальных и разнообразных форматов. Второе - разработка структуры СУБД и импорт данных, разработка запросов к СУБД. Прототипы на SQLite и postrgress.

Основные сложности реверс инжиниринг форматов недокументированных бинарных файлов и проектирование структуры СУБД и запросов.

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

Основная сложность - надо таки прочитать документацию по указанным инструментам.

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

Основная сложность - придумать способ компактного и однозначного описания геометрии подобластей чтобы при разбиении области на подобласти понимать что подобласть такой формы уже рассматривалась.

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

Почему тут применялся питон? При построении индекса потому что это удобный клей для доступа к функциям ОС и СУБД.
При генерации шаблонов потому что в питоне удобный механизм шаблонизации.

В третьем потому что питон основной язык описания задачек в fenics.

Ну и просто потому что знаем питон. А знаем потому что пользуемся.
liuyr879
doza_and
Ну за прошедшую неделю.Проблема У нас есть проекты - куча технической документации, файлов схем, чертежей, файлов описания технического состояния систем, программных кодов. На проект 40-60 гигабайт. Проблема возникает при рефакторинге и сопровождении. Если в проекте надо что-то назвать по другому - найти переменную, связи и т.п. Поиск именно по файлам занимает минут 10 и при этом невозможно точно сформулировать что надо искать.Задача. Сканирование описания проекта и файлов проекта и создание индекса. Первое это сканирование множества бинарных файлов уникальных и разнообразных форматов. Второе - разработка структуры СУБД и импорт данных, разработка запросов к СУБД. Прототипы на SQLite и postrgress.Основные сложности реверс инжиниринг форматов недокументированных бинарных файлов и проектирование структуры СУБД и запросов.Проблема - разработчики кодов не владеют инструментами сборки -scons cmake менеджером пакетов conan. Поэтому не могут корректно создать файлы конфигурации.Задача - разработка скрипта генерации шаблонов под сборку и пакетирование новых приложений, библиотек, отчетов, компилируемых расширений питона и т.п.Основная сложность - надо таки прочитать документацию по указанным инструментам.Проблема.Построение наилучших среднеквадратичных описаний для набора решений уравнений в частных производных в фрагментах связной области. Основная сложность - придумать способ компактного и однозначного описания геометрии подобластей чтобы при разбиении области на подобласти понимать что подобласть такой формы уже рассматривалась.Из приведенных описаний думаю становится ясно, что питон это один из множества применяемых инструментов, а проблемы это просто общие проблемы разработки алгоритмов, которые вообще не зависят от применяемого языка.Почему тут применялся питон? При построении индекса потому что это удобный клей для доступа к функциям ОС и СУБД.При генерации шаблонов потому что в питоне удобный механизм шаблонизации.В третьем потому что питон основной язык описания задачек в fenics.Ну и просто потому что знаем питон. А знаем потому что пользуемся.
Спасибо)
liuyr879
py.user.next
Спасибо). Сейчас как раз пытаюсь проработать курсы Хирьянова)).
py.user.next
liuyr879
Сейчас как раз пытаюсь проработать курсы Хирьянова
У него ещё курс по C есть
[guest@localhost ~]$ ytlist.py https://www.youtube.com/playlist?list=PLRDzFCPr95fLjzcv6nNdjMu_9RcZgIM9U
https://www.youtube.com/watch?v=S6HzukfU0Lw 8:19 Разбор "Hello, World!" на Си
https://www.youtube.com/watch?v=OR_QrTHaNbQ 18:15 Ошибки и предупреждения при компиляции на Си
https://www.youtube.com/watch?v=UNJ1xTsH9ko 20:31 Этапы компиляции на Си: предобработка, трансляция, компоновка
https://www.youtube.com/watch?v=sKrIIWS2kaY 20:53 Переполнение и ошибки при работе с целыми типами в Си
https://www.youtube.com/watch?v=7K61QRBZNjM 6:20 Циклы for и while в Си: сходство и различие
https://www.youtube.com/watch?v=sCanJ1ubevA 13:41 Генерация арифметических и геометрических прогрессий на Си
https://www.youtube.com/watch?v=48as_RUOIXM 13:06 Операции присваивания и сравнения чисел в Си
https://www.youtube.com/watch?v=8K5Rd0xRAy0 8:40 Деление нацело и взятие остатка
https://www.youtube.com/watch?v=E_5mLXawjbM 15:00 Оператор if и организация ветвления в Си
https://www.youtube.com/watch?v=sHjJ2OIiIas 11:34 Метки, оператор goto и оператор switch в Си
https://www.youtube.com/watch?v=V9zc-Ik8TtI 15:25 Управление циклом в Си: break, continue
https://www.youtube.com/watch?v=eGUwTj2v42c 7:33 Разложение числа на множители на Си
https://www.youtube.com/watch?v=gTv7izWvXXg 7:49 Фильтрация потока чисел на Си
https://www.youtube.com/watch?v=ZheB3ItHdxA 8:50 Индуктивные функции на Си: подсчёт, сумма, произведение
https://www.youtube.com/watch?v=_Z6RyZ52-7o 8:01 Индуктивные функции на Си: any of, all of
https://www.youtube.com/watch?v=MaVd1L892Yw 23:38 Индуктивные функции на Си: поиск максимума
https://www.youtube.com/watch?v=unn44evpUCI 5:47 Хранение массива в памяти в Си
https://www.youtube.com/watch?v=1D3SAsp1M9s 12:35 Создание и заполение массива на Си
https://www.youtube.com/watch?v=2KPAph4f8ME 11:41 Решето Эратосфена на Си
https://www.youtube.com/watch?v=sWg8ZNveNpI 20:30 Копирование массива, реверс циклический сдвиг на Си
https://www.youtube.com/watch?v=GWqZgOi1ljQ 5:56 Задачи №25 ЕГЭ по информатике на Си
https://www.youtube.com/watch?v=CWqL5IJvB9Y 16:08 Задача №27 ЕГЭ по информатике на Си
https://www.youtube.com/watch?v=zMRG6Dhqjto 13:41 Добавление и удаление элемента в конец массива на Си
https://www.youtube.com/watch?v=ZxpcEQcqHWU 14:25 Сортировка массива вставками на Си
https://www.youtube.com/watch?v=KdwiF_6ZvNw 22:18 Асимптотика сортировок. Сортировка подсчётом на Си
https://www.youtube.com/watch?v=TX0-gdBrhW8 27:17 Функции в языке Си
https://www.youtube.com/watch?v=NOaSY5pJmyc 18:37 Рекурсия. Репка и матрёшка
https://www.youtube.com/watch?v=oRd4WanaeSQ 23:54 Примеры рекурсивных алгоритмов
https://www.youtube.com/watch?v=rFuQCd4RvI0 12:25 Ханойские башни на Си
https://www.youtube.com/watch?v=VgPAFaEYEo4 13:54 Динамическое программирование сверху и снизу
https://www.youtube.com/watch?v=UVAfng6OCW0 11:48 Динамическое программирование: траектории кузнечика
https://www.youtube.com/watch?v=nIY1fBkGQq4 27:47 Адреса и указатели в Си. Адресная арифметика
https://www.youtube.com/watch?v=IKXwBgB14qc 13:07 Тип void* и интерпретация данных
https://www.youtube.com/watch?v=OXhrYl9no2A 10:44 Передача адреса переменной в функцию в Си
https://www.youtube.com/watch?v=dNwXcyLfHkI 27:39 Выделение и освобождение динамической памяти в Си
https://www.youtube.com/watch?v=MQBV3PMx5sg 21:50 Двумерные массивы в Си: обычные и динамические
https://www.youtube.com/watch?v=HyyfbYXuW1U 19:25 Техника безопасности при работе с памятью в Си
[guest@localhost ~]$
Эти данные я также беру и заношу в org-файл Emacs'а.


А потом из org-файла я могу эту таблицу экспортировать в html-файл и дать его кому-нибудь, у кого нет Emacs'а.


В самом html-файле можно делать отметки времени, просто редактируя его. Хотя я курсы прохожу прямо в org-файлах, потому что таблицы в них живые, как в Excel'е каком-нибудь.

Конечно, можно эти данные из ytlist.py напрямую по каналу передавать на транслирующий скрипт, который эти данные сохранит в html-файл в любом виде (таблица или просто набор абзацев). Можно и на Shell'е написать скрипт, который для списка плейлистов создаст один html-файл, в котором все эти плейлисты будут сгруппированы вместе. Причём необязательно, чтобы они были с одного канала в YouTube. Тут для творчества открывается простор. Главное, что вспомогательный инструмент - скрипт на Python, который и скачивает список, - был создан из ничего, из пустоты, а сделать с его помощью, когда он существует, можно очень много. Например, скачать на диск я эти видео тоже могу по этим же данным, используя программу youtube-dl. И у меня также есть для этого соответствующие удобные функции на Shell'е, которые я тоже сам написал себе.
[guest@localhost youtube]$ declare -f Ytf
Ytf ()
{
local fmtn=${3:-18};
[ $# -eq 0 -o "$1" = "--help" ] && {
echo "usage: $FUNCNAME url [ ofile ] [ fmtn=$fmtn ]";
return 1
} 1>&2;
case $# in
1)
youtube-dl -c -f "$fmtn" "$1"
;;
*)
youtube-dl -c -f "$fmtn" "$1" -o "$2"
;;
esac
}
[guest@localhost youtube]$

Тут пример, как эти файлы можно загружать на диск по этим данным из скрипта на Python
[guest@localhost youtube]$ ytlist.py https://www.youtube.com/playlist?list=PLRDzFCPr95fLjzcv6nNdjMu_9RcZgIM9U | awk '{ title = $3; for (i = 4; i <= NF; i++) title = title "_" $i; printf "Ytf \"%s\" kurs_c_%02d_\\(%s\\).mp4 22\n", $1, ++n, title }'
Ytf "https://www.youtube.com/watch?v=S6HzukfU0Lw" kurs_c_01_\(Разбор_"Hello,_World!"_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=OR_QrTHaNbQ" kurs_c_02_\(Ошибки_и_предупреждения_при_компиляции_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=UNJ1xTsH9ko" kurs_c_03_\(Этапы_компиляции_на_Си:_предобработка,_трансляция,_компоновка\).mp4 22
Ytf "https://www.youtube.com/watch?v=sKrIIWS2kaY" kurs_c_04_\(Переполнение_и_ошибки_при_работе_с_целыми_типами_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=7K61QRBZNjM" kurs_c_05_\(Циклы_for_и_while_в_Си:_сходство_и_различие\).mp4 22
Ytf "https://www.youtube.com/watch?v=sCanJ1ubevA" kurs_c_06_\(Генерация_арифметических_и_геометрических_прогрессий_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=48as_RUOIXM" kurs_c_07_\(Операции_присваивания_и_сравнения_чисел_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=8K5Rd0xRAy0" kurs_c_08_\(Деление_нацело_и_взятие_остатка\).mp4 22
Ytf "https://www.youtube.com/watch?v=E_5mLXawjbM" kurs_c_09_\(Оператор_if_и_организация_ветвления_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=sHjJ2OIiIas" kurs_c_10_\(Метки,_оператор_goto_и_оператор_switch_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=V9zc-Ik8TtI" kurs_c_11_\(Управление_циклом_в_Си:_break,_continue\).mp4 22
Ytf "https://www.youtube.com/watch?v=eGUwTj2v42c" kurs_c_12_\(Разложение_числа_на_множители_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=gTv7izWvXXg" kurs_c_13_\(Фильтрация_потока_чисел_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=ZheB3ItHdxA" kurs_c_14_\(Индуктивные_функции_на_Си:_подсчёт,_сумма,_произведение\).mp4 22
Ytf "https://www.youtube.com/watch?v=_Z6RyZ52-7o" kurs_c_15_\(Индуктивные_функции_на_Си:_any_of,_all_of\).mp4 22
Ytf "https://www.youtube.com/watch?v=MaVd1L892Yw" kurs_c_16_\(Индуктивные_функции_на_Си:_поиск_максимума\).mp4 22
Ytf "https://www.youtube.com/watch?v=unn44evpUCI" kurs_c_17_\(Хранение_массива_в_памяти_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=1D3SAsp1M9s" kurs_c_18_\(Создание_и_заполение_массива_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=2KPAph4f8ME" kurs_c_19_\(Решето_Эратосфена_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=sWg8ZNveNpI" kurs_c_20_\(Копирование_массива,_реверс_циклический_сдвиг_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=GWqZgOi1ljQ" kurs_c_21_\(Задачи_№25_ЕГЭ_по_информатике_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=CWqL5IJvB9Y" kurs_c_22_\(Задача_№27_ЕГЭ_по_информатике_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=zMRG6Dhqjto" kurs_c_23_\(Добавление_и_удаление_элемента_в_конец_массива_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=ZxpcEQcqHWU" kurs_c_24_\(Сортировка_массива_вставками_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=KdwiF_6ZvNw" kurs_c_25_\(Асимптотика_сортировок._Сортировка_подсчётом_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=TX0-gdBrhW8" kurs_c_26_\(Функции_в_языке_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=NOaSY5pJmyc" kurs_c_27_\(Рекурсия._Репка_и_матрёшка\).mp4 22
Ytf "https://www.youtube.com/watch?v=oRd4WanaeSQ" kurs_c_28_\(Примеры_рекурсивных_алгоритмов\).mp4 22
Ytf "https://www.youtube.com/watch?v=rFuQCd4RvI0" kurs_c_29_\(Ханойские_башни_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=VgPAFaEYEo4" kurs_c_30_\(Динамическое_программирование_сверху_и_снизу\).mp4 22
Ytf "https://www.youtube.com/watch?v=UVAfng6OCW0" kurs_c_31_\(Динамическое_программирование:_траектории_кузнечика\).mp4 22
Ytf "https://www.youtube.com/watch?v=nIY1fBkGQq4" kurs_c_32_\(Адреса_и_указатели_в_Си._Адресная_арифметика\).mp4 22
Ytf "https://www.youtube.com/watch?v=IKXwBgB14qc" kurs_c_33_\(Тип_void*_и_интерпретация_данных\).mp4 22
Ytf "https://www.youtube.com/watch?v=OXhrYl9no2A" kurs_c_34_\(Передача_адреса_переменной_в_функцию_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=dNwXcyLfHkI" kurs_c_35_\(Выделение_и_освобождение_динамической_памяти_в_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=MQBV3PMx5sg" kurs_c_36_\(Двумерные_массивы_в_Си:_обычные_и_динамические\).mp4 22
Ytf "https://www.youtube.com/watch?v=HyyfbYXuW1U" kurs_c_37_\(Техника_безопасности_при_работе_с_памятью_в_Си\).mp4 22
[guest@localhost youtube]$
[guest@localhost youtube]$ ytlist.py https://www.youtube.com/playlist?list=PLRDzFCPr95fLjzcv6nNdjMu_9RcZgIM9U | awk '{ title = $3; for (i = 4; i <= NF; i++) title = title "_" $i; printf "Ytf \"%s\" kurs_c_%02d_\\(%s\\).mp4 22\n", $1, ++n, title }' > load.txt
[guest@localhost youtube]$ ls
load.txt
[guest@localhost youtube]$ head -3 load.txt > load3.txt # загрузим только три видео, а не все
[guest@localhost youtube]$ ls
load3.txt load.txt
[guest@localhost youtube]$ cat load3.txt
Ytf "https://www.youtube.com/watch?v=S6HzukfU0Lw" kurs_c_01_\(Разбор_"Hello,_World!"_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=OR_QrTHaNbQ" kurs_c_02_\(Ошибки_и_предупреждения_при_компиляции_на_Си\).mp4 22
Ytf "https://www.youtube.com/watch?v=UNJ1xTsH9ko" kurs_c_03_\(Этапы_компиляции_на_Си:_предобработка,_трансляция,_компоновка\).mp4 22
[guest@localhost youtube]$
[guest@localhost youtube]$ . load3.txt
[youtube] S6HzukfU0Lw: Downloading webpage
[download] Destination: kurs_c_01_(Разбор_Hello,_World!_на_Си).mp4
[download] 100% of 28.90MiB in 00:02
[youtube] OR_QrTHaNbQ: Downloading webpage
[download] Destination: kurs_c_02_(Ошибки_и_предупреждения_при_компиляции_на_Си).mp4
[download] 100% of 73.02MiB in 00:06
[youtube] UNJ1xTsH9ko: Downloading webpage
[download] Destination: kurs_c_03_(Этапы_компиляции_на_Си:_предобработка,_трансляция,_компоновка).mp4
[download] 100% of 84.72MiB in 00:08
[guest@localhost youtube]$
[guest@localhost youtube]$ ls
'kurs_c_01_(Разбор_Hello,_World!_на_Си).mp4' 'kurs_c_02_(Ошибки_и_предупреждения_при_компиляции_на_Си).mp4' 'kurs_c_03_(Этапы_компиляции_на_Си:_предобработка,_трансляция,_компоновка).mp4' load3.txt load.txt
[guest@localhost youtube]$
Конечно, не проблема всё это на лету грузить. Но для планомерной работы лучше написать удобную и стабильную обвязку из готовых инструментов (скриптов, функций Shell, просто команд) и запускать на её вход эти данные, чтобы на выходе получались скачанные файлы в соответствующей им директории.

Приложил html-файл, экспортированный из узла org-файла.
liuyr879
py.user.next
Благодарю) всё очень доступно и по полочкам, за файл отдельное спасибо, скачал). Хотелось бы уточнить несколько вопросов ещё.
1.А что ещё нужно кроме С. Читая Лутца(дошел до кортежей) ни раз натыкался на фразы-что некоторые моменты вы будете писать на С.
2. Хватает ли его курсов по пайтону + Лутц+ книга грокаем алгоритмы, (практика. лекции) что бы уже ориентировать себя на джуна?
3. Наткнулся ещё на Олега Молчанова https://www.youtube.com/user/zaemiel/playlists и его канал, у него есть платный контент, на патреоне https://www.patreon.com/oleg_molchanov, возможно сможете подсказать стоит ли он того, обязателен ли он и даёт ли он тот профит о котором автор говорит?
py.user.next
liuyr879
1.А что ещё нужно кроме С. Читая Лутца(дошел до кортежей) ни раз натыкался на фразы-что некоторые моменты вы будете писать на С.
1)
Из C повырастали все промышленные языки современные. Всё, что в них есть основополагающего, это всё пришло из C напрямую. Даже C++ появился из C, а не наоборот, как многие думают. И даже когда C++ появился, C от этого было ни тепло ни холодно, он продолжил развиваться сам по себе, но самое главное, на нём продолжили писать программы, не обращая внимание на такой “классный” C++ (слово в кавычках потому, что там рекламы этого языка было немало про его мнимые чрезвычайные преимущества).

И Python вырос из C, и Go вырос из C, и JavaScript вырос из C. То есть C там везде. Поэтому если ты его знаешь, тебе будет проще ориентироваться во всех языках, которые есть вокруг прямо сейчас. Все базовые конструкции у них будут как-то удивительно похожи между собой. Вот эта похожесть, она из C берётся. Либо она напрямую скопирована, либо в виде идеи, которая была в C.

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

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

То есть без C ты будешь хуже понимать Python. У него многие вещи просто скопированы из мира C и из мира UNIX. Всякие новшества, откровения типа Zen'а там видишь и думаешь “так это же в UNIX уже всё было”.

liuyr879
2. Хватает ли его курсов по пайтону + Лутц+ книга грокаем алгоритмы, (практика. лекции) что бы уже ориентировать себя на джуна?
2)
Я думаю, нет. Джун, который ничего делать не умеет, не нужен. Ты должен в компанию принести прибыль. Можешь деньгами дать напрямую, можешь своими трудами как-то это сделать (что-то принести такое, что можно продать и получить прибыль таким образом). Но либо сегодня, либо завтра ты должен принести прибыль. Вот из этого и исходят. Если берут тупых - ну, бывает так, ты видишь, берут тупого и ты думаешь “а я чем хуже?! я же лучше в сто раз! почему меня не берут?!”, - то это делают только потому, что эти тупые им прибыль либо уже приносят, либо принесут завтра. Это не зависит от того, умеют ли они программировать или не умеют. Это зависит от того “они уже прибыль приносят или завтра принесут?”. Так что смотри сам: 1) ты можешь прибыль приносить компании сейчас или завтра?; 2) они видят, что ты можешь приносить прибыль сейчас или завтра?
Ты должен приносить прибыль, ты не должен приносить ноль, и тем более ты не должен приносить убытки.
Убытки, например, могут возникать из того, что ты конфликтуешь с кем-то из команды. То есть он перестаёт работать из-за стресса, программа не делается, а продать можно только законченную программу. Прибыль не пришла, а она запланирована, - это убыток.
Соответственно, если у тебя явно сложатся плохие отношения с кем-то, то тебя ещё на входе не примут. А ты будешь думать “а я джун или не джун? что-то я не изучил ещё что ли?”. А дело вообще не в этом.
Так что следи за своей прибыльностью и за своей убыточностью.

liuyr879
3. Наткнулся ещё на Олега Молчанова https://www.youtube.com/user/zaemiel/playlists и его канал, у него есть платный контент, на патреоне https://www.patreon.com/oleg_molchanov, возможно сможете подсказать стоит ли он того, обязателен ли он и даёт ли он тот профит о котором автор говорит?
3)
Хороший канал. Вижу его впервые, посмотрел пару роликов, хорошо подаёт всё. Для новичка подойдёт, чтобы и по питону что-то лучше знать, и какие-то неявные вещи, которые он тоже подаёт, особо на них не фокусируясь. В плане платного продолжения курса, я не думаю, что там большой инкремент. Но если бы я был новичком, посмотрел бы его эти ролики и у меня были бы деньги, то я бы купил его курс на патреоне и не факт, что смотрел бы его. Просто задонатил бы ему в такой ненавязчивой форме (как он говорит, $10 в месяц) просто в благодарность за бесплатные ролики, которые уже посмотрел и по которым я уже понял, что узнал у него из этих роликов много полезных и правильных знаний. Отключился бы от донатов месяца через два-три. А если бы денег не было, ну, поискал бы бесплатное получше что-то и посложнее. Не у всех есть $10 в месяц. У кого-то их вообще -$100 в месяц и делать из этого -$110 как-то не хочется. Так что это тоже нужно понимать. Не всё от жадности идёт.

liuyr879
и даёт ли он тот профит о котором автор говорит?
Он даёт профит не там, а даёт профит в этих бесплатных роликах.

Но при этом можно, конечно, и без него обойтись полностью и всё так же узнать правильно и успешно из других источников, которые бесплатные.
AD0DE412
py.user.next ок ваш список требований (знаний-умений) для джуна, не … не так
вот это все для стажера, джуна, мидла, сеньора и этого … принципиала
py.user.next
AD0DE412
вот это все для стажера, джуна, мидла, сеньора и этого … принципиала
Это субъективные понятия. Где-то ты джун, в то же время (прямо вот с теми же знаниями и навыками) где-то ты сеньор и в то же время (прямо вот с теми же знаниями и навыками) где-то ты даже не стажёр.
Попробуй в Samsung устроиться. Там не будут спрашивать, знаешь ли ты циклы в питоне. Ты им такой “а я джун!”. А они тебе “и чо дальше?”. Ты такой “а возьмите меня на работу!”. А они такие “а нахер ты нам сдался?”. Ну, они даже тебе отвечать не станут. А ты будешь сидеть и думать “а почему мне не отвечают? может, я модуль какой-то не выучил?”. Какой модуль?! Ты должен закончить вуз какой-нибудь типа Бауманки и только тогда они тебя возьмут на стажировку и будут ещё смотреть, что ты из себя представляешь, потому что им надо делать телевизоры и смартфоны, а не муйню какую-то про циклы в питоне слушать. Потому что они их продают, а на вырученные деньги выплачивают кредиты банкам, которые компания берёт на всё это производство. И если ты ничего не приносишь, то ты просто убыточная статья. Ты просто набор цифр в базе данных, напротив которого записано “убыток”. Они даже твоего имени не будут знать. Просто будут смотреть “какой-то хрен с идентификатором таким-то - убыточный по всем показателям => уволить”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB