🐍 Python Lab – Telegram
🐍 Python Lab
2.77K subscribers
361 photos
16 videos
1 file
346 links
Список файлов @ptnlab_books
Чат @ptnlab_chat
Download Telegram
SQL и реляционная теория. Как грамотно писать код на SQL
К. Дж. Дейт

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

Скачать
MeiliSearch — поисковой движок, который можно прикрутить к своему приложению.

Чем он крут:
— мгновенный отклик (< 50 мс);
— полнотекстовый поиск;
— понимает опечатки и неправильное написание;
— поддерживает синонимы;
— хорошо задокументированный;
— кастомизируемый;
— RESTful API.


Документация: ссылка
Может кому будет интересно

Сейчас сижу развлекаюсь с protobuf , как я понял, штука полезная.

ссылка на документацию
Лекции CS50 на русском языке

«Основы программирования и компьютерных наук». Его уже много лет читают студентам Гарварда, а в последнее время — воспитанникам Йельского университета очно, а заочно — многомиллионной аудитории интернета.

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

Смотреть: ссылка
Что почитать про алгоритмы?



1. «Алгоритмы» С. Дасгупта, Х. Пападимитриу, У. Вазирани

Книга больше подойдёт новичкам, так как помогает разобраться с основными методами построения и анализа алгоритмов. Она собрана из лекций преподавателей университетов Сан-Диего и Беркли. Эта книга ― хорошее начало для тех, кто ещё ничего не читал про алгоритмы.

2. «Алгоритмы: построение и анализ» Т. Кормен, Ч. Э. Лейзерсон, Р. Л. Ривест, К. Штайн

Это справочник и пособие по алгоритмам, которое пригодится и начинающим разработчикам, и сеньорам, и тимлидам. Описания даются на простом языке, главы независимы друг от друга, можно изучать в любом порядке и объёме.

3. «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих» А. Бхаргава

Думаете, алгоритмы это сложно? Книга убедит вас в обратном. В ней подробно разбирается каждый алгоритм: будет понятно даже ребёнку. Воспроизвести их на любом языке программирования не составит труда.

4. «Программирование. Теоремы и задачи» А. Шень

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

5. «Искусство программирования» Д. Кнут

«Если вы сможете прочесть весь этот труд, то вам определённо следует отправить мне резюме», — так об этой книге отзывался Билл Гейтс. Если вы считаете себя гением программирования, то начните с неё. Книга входит в двенадцать лучших книг физико-математических монографий XX столетия по версии журнала American Scientist.
Сайт, на котором собраны подробные объяснения паттернов проектирования

Для
каждого паттерна на сайте приводится:
— описание проблемы, которая когда-то возникла;
— способ решения этой проблемы с помощью паттерна;
— аналогия с какой-нибудь жизненной ситуацией;
— общая структура паттерна и его реализация на псевдокоде;
— ситуации, в которых было бы уместно применить паттерн;
— преимущества и недостатки;
— примеры реализации на C#, Java, PHP, Python, Ruby, Swift или TypeScript.


Сайт: ссылка
LeetCode - сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.

Сайт
📌Протокол TCP

Что каждый разработчик должен знать о TCP.
Роберто Витилло рассказывает об основах протокола TCP и объясняет, чем эти знания полезны для контроля производительности сайтов.

Подробнее: ссылка
5 книг для начинающих программистов.

Прагматичный программист

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

Чистый код

Под этим заголовком мы объединили две книги — «Clean code» и «Clean coder», поскольку они затрагивают смежные темы, да и короткие настолько, что могли бы стать одной прекрасной книгой с двумя главами. «Чистый код» рассматривает аспекты того, как программисты общаются между собой посредством кода и предлагает правила написания удобнопонятного (как тебе так и коллегам) кода. «Чистый программист» — затрагивает сферу вербального и письменного общения. Хоть эти книги и короткие, но пользы приносят немало.

Шаблоны проектирования

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

Эффективная работа с унаследованным кодом (legacy)

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

Рефакторинг. Улучшение существующего кода.

Прочтение этой книги подталкивает к на первый взгляд преступной мысли — программирование это совсем не просто. Еще вчера ты просто старался записать тот код, который считаешь лучшим для решения определенной задачи, а сегодня тебе уже нужно разбираться, как улучшить структуру этого кода. Это вполне логичный шаг в развитии выпускника-программиста, но сначала он воспринимается, как удвоение работы. Книга научит понимать этот процесс и получать от него удовольствие.
Code Combat - несмотря на то что Code Combat создан для детей школьного возраста, игра остается интересной для всех возрастов. В ней у вас под контролем находится храбрый герой, которому предстоит пройти через сотни подземелий, сражений с врагами, а также он будет собирать множество самоцветов. Прохождение игры занимает около 20 часов и охватывает основные аспекты программирования.

Ссылка
Что почитать про UNIX, Linux и сетевые технологии🐧

Эти книги стоит прочесть инженерам, которые хотят работать или уже работают в дата-центре либо отвечают за сети и мониторинги в офисах. Если вы пробовали разные дистрибутивы Linux и остановились на каком-нибудь не самом популярном варианте — тоже не проходите мимо.

1. Understanding the Linux Kernel / Ядро Linux, 3-е издание. Даниэль Бовет, Марко Чезати

Англоязычное название хорошо отражает содержание книги: авторы помогают читателю понять суть процессов, происходящих в ядре Linux. Даниэль Бовет и Марко Чезати много говорят о структурах данных, алгоритмах и описывают строение ОС. Каждая тема — от управления памятью и хронометрирования до выполнения программ — раскрывается с понятными примерами и построчными комментариями фрагментов кода.

2. UNIX and Linux System Administration Handbook / UNIX и Linux. Руководство системного администратора, 4-е издание. Эви Немет

В сфере системного администрирования книга Эви Немета считается культовой. Всё потому, что это, пожалуй, самый подробный справочник как для начинающих, так и для опытных специалистов. Внутри — описание эффективных методов работы с UNIX-системами и дистрибутивами Linux: Ubuntu, openSUSE и Red Hat. Вы узнаете, как в каждой из этих систем администрировать сети, управлять конфигурацией ПО, выполнять анализ производительности, контролировать безопасность и многое другое.

3. The UNIX Programming Environment / UNIX. Программное окружение. Брайан Керниган, Роб Пайк

Если вы хотите разобраться в семействе систем UNIX, то это идеальная книга. Она была опубликована в далёком 1984 году и включает в себя всю важную информацию: от философии и описания отдельных функций до практического руководства с боевыми задачами для разработчиков UNIX. Первые главы можно читать всем пользователям, мечтающим лучше понимать, как работает их ОС. Вторая часть книги посложнее, она будет полезна разработчикам, готовым погрузиться в сложный мир программирования на C.
Code Basics - бесплатные практические уроки по программированию для тех, кто начинает с нуля.

Ссылка на курс по Python
LearnGitBranching — сайт, на котором вы можете попрактиковаться в изучении команд Git, выполняя предложенные задания.

Ссылка
Базa данных в Python


Cтатья
: ссылка

В статье вы узнаете:
- Как создать базу данных SQLite
- Как вставить данные в таблицу
- Как редактировать данные
- Как удалять данные
- Базовые запросы SQL
👨🏻‍💻Серия уроков по GIT

Урок 0. Подготовка и Введение - Смотреть
Урок 1. Первый коммит - Смотреть
Урок 2. Проверка состояния - Смотреть
Урок 3. Индексация файлов - Смотреть
Урок 4. История коммитов - Смотреть
Урок 5. Git checkout - Назад в будущее - Смотреть
Урок 6. Отмена индексированных файлов - Смотреть
Урок 7. Revert - Отмена коммита - Смотреть
Урок 8. Решение простого конфликта - Смотреть
Урок 9. Ветки и их применение - Смотреть
Урок 10. Слияние веток и решение конфликтов слияния - Смотреть
Урок 11. Rebase vs. Merge - Что такое git rebase? - Смотреть
Урок 12. Удаленный репозиторий и git clone - Смотреть
Урок 13. Загружаем изменения на удаленный репозиторий - Смотреть
Урок 14. Обновляем код манерой merge и rebase - Смотреть
Урок 15. Что такое Origin и для чего нужен stash? - Смотреть
Jython

Это реализация Python на языке Java. Первоначальное имя проекта - JPython, которое пришлось поменять из-за конфликта с одноименным проектом.
Одновременно и компилятор, и интерпретатор.

Подробнее