SQL и реляционная теория. Как грамотно писать код на SQL
К. Дж. Дейт
Язык SQL распространен повсеместно. Но работать с ним непросто: он сложен, запутан, при написании SQL-команд легко допустить ошибку. Понимание теории, лежащей в основе SQL, - лучший способ гарантировать, что ваш код будет написан правильно, а сама база данных надежна и легко сопровождаема.
Скачать
К. Дж. Дейт
Язык SQL распространен повсеместно. Но работать с ним непросто: он сложен, запутан, при написании SQL-команд легко допустить ошибку. Понимание теории, лежащей в основе SQL, - лучший способ гарантировать, что ваш код будет написан правильно, а сама база данных надежна и легко сопровождаема.
Скачать
MeiliSearch — поисковой движок, который можно прикрутить к своему приложению.
Чем он крут:
— мгновенный отклик (< 50 мс);
— полнотекстовый поиск;
— понимает опечатки и неправильное написание;
— поддерживает синонимы;
— хорошо задокументированный;
— кастомизируемый;
— RESTful API.
Документация: ссылка
Чем он крут:
— мгновенный отклик (< 50 мс);
— полнотекстовый поиск;
— понимает опечатки и неправильное написание;
— поддерживает синонимы;
— хорошо задокументированный;
— кастомизируемый;
— RESTful API.
Документация: ссылка
GitHub
GitHub - meilisearch/meilisearch: A lightning-fast search engine API bringing AI-powered hybrid search to your sites and applications.
A lightning-fast search engine API bringing AI-powered hybrid search to your sites and applications. - meilisearch/meilisearch
Может кому будет интересно
Сейчас сижу развлекаюсь с protobuf , как я понял, штука полезная.
ссылка на документацию
Сейчас сижу развлекаюсь с protobuf , как я понял, штука полезная.
ссылка на документацию
Лекции CS50 на русском языке
«Основы программирования и компьютерных наук». Его уже много лет читают студентам Гарварда, а в последнее время — воспитанникам Йельского университета очно, а заочно — многомиллионной аудитории интернета.
Лекции курса смотрятся как увлекательный блокбастер, а задачи, предлагаемые к решению, — не надуманные стерильные учебные материалы, а взятые из реальной жизни кейсы.
Смотреть: ссылка
«Основы программирования и компьютерных наук». Его уже много лет читают студентам Гарварда, а в последнее время — воспитанникам Йельского университета очно, а заочно — многомиллионной аудитории интернета.
Лекции курса смотрятся как увлекательный блокбастер, а задачи, предлагаемые к решению, — не надуманные стерильные учебные материалы, а взятые из реальной жизни кейсы.
Смотреть: ссылка
YouTube
Основы программирования: Легендарный Гарвардский курс CS50
Весь курс CS50 - https://javarush.com/s/course_cs50
Первая лекция курса «Основы программирования» https://javarush.com/quests/lectures/questharvardcs50.level00.lecture00
Знаете, как называется самый популярный в мире университетский курс? Это CS50, «Основы…
Первая лекция курса «Основы программирования» https://javarush.com/quests/lectures/questharvardcs50.level00.lecture00
Знаете, как называется самый популярный в мире университетский курс? Это CS50, «Основы…
Что почитать про алгоритмы?
1. «Алгоритмы» С. Дасгупта, Х. Пападимитриу, У. Вазирани
⠀
Книга больше подойдёт новичкам, так как помогает разобраться с основными методами построения и анализа алгоритмов. Она собрана из лекций преподавателей университетов Сан-Диего и Беркли. Эта книга ― хорошее начало для тех, кто ещё ничего не читал про алгоритмы.
⠀
2. «Алгоритмы: построение и анализ» Т. Кормен, Ч. Э. Лейзерсон, Р. Л. Ривест, К. Штайн
⠀
Это справочник и пособие по алгоритмам, которое пригодится и начинающим разработчикам, и сеньорам, и тимлидам. Описания даются на простом языке, главы независимы друг от друга, можно изучать в любом порядке и объёме.
⠀
3. «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих» А. Бхаргава
⠀
Думаете, алгоритмы это сложно? Книга убедит вас в обратном. В ней подробно разбирается каждый алгоритм: будет понятно даже ребёнку. Воспроизвести их на любом языке программирования не составит труда.
⠀
4. «Программирование. Теоремы и задачи» А. Шень
⠀
Книга учит строить корректные и быстрые алгоритмы. В ней вы найдёте задачи разного уровня сложности, а для самопроверки к большинству из них предлагается решение. Научитесь аккуратно работать с данными и получите навыки культуры написания кода.
⠀
5. «Искусство программирования» Д. Кнут
⠀
«Если вы сможете прочесть весь этот труд, то вам определённо следует отправить мне резюме», — так об этой книге отзывался Билл Гейтс. Если вы считаете себя гением программирования, то начните с неё. Книга входит в двенадцать лучших книг физико-математических монографий XX столетия по версии журнала American Scientist.
1. «Алгоритмы» С. Дасгупта, Х. Пападимитриу, У. Вазирани
⠀
Книга больше подойдёт новичкам, так как помогает разобраться с основными методами построения и анализа алгоритмов. Она собрана из лекций преподавателей университетов Сан-Диего и Беркли. Эта книга ― хорошее начало для тех, кто ещё ничего не читал про алгоритмы.
⠀
2. «Алгоритмы: построение и анализ» Т. Кормен, Ч. Э. Лейзерсон, Р. Л. Ривест, К. Штайн
⠀
Это справочник и пособие по алгоритмам, которое пригодится и начинающим разработчикам, и сеньорам, и тимлидам. Описания даются на простом языке, главы независимы друг от друга, можно изучать в любом порядке и объёме.
⠀
3. «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих» А. Бхаргава
⠀
Думаете, алгоритмы это сложно? Книга убедит вас в обратном. В ней подробно разбирается каждый алгоритм: будет понятно даже ребёнку. Воспроизвести их на любом языке программирования не составит труда.
⠀
4. «Программирование. Теоремы и задачи» А. Шень
⠀
Книга учит строить корректные и быстрые алгоритмы. В ней вы найдёте задачи разного уровня сложности, а для самопроверки к большинству из них предлагается решение. Научитесь аккуратно работать с данными и получите навыки культуры написания кода.
⠀
5. «Искусство программирования» Д. Кнут
⠀
«Если вы сможете прочесть весь этот труд, то вам определённо следует отправить мне резюме», — так об этой книге отзывался Билл Гейтс. Если вы считаете себя гением программирования, то начните с неё. Книга входит в двенадцать лучших книг физико-математических монографий XX столетия по версии журнала American Scientist.
Сайт, на котором собраны подробные объяснения паттернов проектирования
Для каждого паттерна на сайте приводится:
— описание проблемы, которая когда-то возникла;
— способ решения этой проблемы с помощью паттерна;
— аналогия с какой-нибудь жизненной ситуацией;
— общая структура паттерна и его реализация на псевдокоде;
— ситуации, в которых было бы уместно применить паттерн;
— преимущества и недостатки;
— примеры реализации на C#, Java, PHP, Python, Ruby, Swift или TypeScript.
Сайт: ссылка
Для каждого паттерна на сайте приводится:
— описание проблемы, которая когда-то возникла;
— способ решения этой проблемы с помощью паттерна;
— аналогия с какой-нибудь жизненной ситуацией;
— общая структура паттерна и его реализация на псевдокоде;
— ситуации, в которых было бы уместно применить паттерн;
— преимущества и недостатки;
— примеры реализации на C#, Java, PHP, Python, Ruby, Swift или TypeScript.
Сайт: ссылка
refactoring.guru
Паттерны/шаблоны проектирования
Паттерны проектирования описывают типичные способы решения часто встречающихся проблем при проектировании программ.
LeetCode - сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.
Сайт
Сайт
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
📌Протокол TCP
Что каждый разработчик должен знать о TCP.
Роберто Витилло рассказывает об основах протокола TCP и объясняет, чем эти знания полезны для контроля производительности сайтов.
Подробнее: ссылка
Что каждый разработчик должен знать о TCP.
Роберто Витилло рассказывает об основах протокола TCP и объясняет, чем эти знания полезны для контроля производительности сайтов.
Подробнее: ссылка
5 книг для начинающих программистов.
Прагматичный программист
«Прагматичный программист» — это книга-откровение. Если у тебя есть выбор что почитать ее или что либо другое, выбирай «Программиста». Автор не ставил себе целью погрузиться в тайны программирования, однако он проделал отличную работу, чтобы сделать из вчерашнего студента, рабочего программиста. Причем не такого, для которого его работа с кодом это продолжение любимого хобби, а такого, который станет настоящим членом команды и будет писать на профессиональном уровне.
Чистый код
Под этим заголовком мы объединили две книги — «Clean code» и «Clean coder», поскольку они затрагивают смежные темы, да и короткие настолько, что могли бы стать одной прекрасной книгой с двумя главами. «Чистый код» рассматривает аспекты того, как программисты общаются между собой посредством кода и предлагает правила написания удобнопонятного (как тебе так и коллегам) кода. «Чистый программист» — затрагивает сферу вербального и письменного общения. Хоть эти книги и короткие, но пользы приносят немало.
Шаблоны проектирования
В отличие от большинства книг, затрагивающих эту область, в «Паттернах проектирования» примеры рассматриваются в контексте их использования. Благодаря такой манере изложения читатель учится понимать, когда следует применять тот или иной паттерн, а не бросаться примерять все сразу.
Эффективная работа с унаследованным кодом (legacy)
Случалось ли вам разбираться в чужой системе кода? Причем разбираться так, чтобы не только не нарушить работающую схему, но и улучшить ее, поняв как она реагирует на те или иные изменения? Для всех, кому такая ситуация кажется кошмарным сном, эта книга станет крутейшим подспорьем. Она предлагает тактику (которая, однако, не будет простой) работы с унаследованным кодом, а также рассказывает как самому писать удобнопонятный код.
Рефакторинг. Улучшение существующего кода.
Прочтение этой книги подталкивает к на первый взгляд преступной мысли — программирование это совсем не просто. Еще вчера ты просто старался записать тот код, который считаешь лучшим для решения определенной задачи, а сегодня тебе уже нужно разбираться, как улучшить структуру этого кода. Это вполне логичный шаг в развитии выпускника-программиста, но сначала он воспринимается, как удвоение работы. Книга научит понимать этот процесс и получать от него удовольствие.
Прагматичный программист
«Прагматичный программист» — это книга-откровение. Если у тебя есть выбор что почитать ее или что либо другое, выбирай «Программиста». Автор не ставил себе целью погрузиться в тайны программирования, однако он проделал отличную работу, чтобы сделать из вчерашнего студента, рабочего программиста. Причем не такого, для которого его работа с кодом это продолжение любимого хобби, а такого, который станет настоящим членом команды и будет писать на профессиональном уровне.
Чистый код
Под этим заголовком мы объединили две книги — «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.
Эти книги стоит прочесть инженерам, которые хотят работать или уже работают в дата-центре либо отвечают за сети и мониторинги в офисах. Если вы пробовали разные дистрибутивы 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
Ссылка на курс по Python
LearnGitBranching — сайт, на котором вы можете попрактиковаться в изучении команд Git, выполняя предложенные задания.
Ссылка
Ссылка
learngitbranching.js.org
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
Базa данных в Python
Cтатья: ссылка
В статье вы узнаете:
- Как создать базу данных SQLite
- Как вставить данные в таблицу
- Как редактировать данные
- Как удалять данные
- Базовые запросы SQL
Cтатья: ссылка
В статье вы узнаете:
- Как создать базу данных SQLite
- Как вставить данные в таблицу
- Как редактировать данные
- Как удалять данные
- Базовые запросы SQL
Python 3
Модуль sqlite - Работаем с базой данных
Как создать базу данных 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? - Смотреть
Урок 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? - Смотреть
YouTube
Git: Урок 0. Подготовка и Введение
Стань Android-разработчиком: https://goo.gl/4iUNPj.
Поспеши, действуют приятные скидки!
Сайт: http://devcolibri.com
Вконтакте: https://vk.com/devcolibri
Telegram: https://telegram.me/dcolibri
Twitter: https://twitter.com/devcolibri
Facebook: https://ww…
Поспеши, действуют приятные скидки!
Сайт: http://devcolibri.com
Вконтакте: https://vk.com/devcolibri
Telegram: https://telegram.me/dcolibri
Twitter: https://twitter.com/devcolibri
Facebook: https://ww…
Jython
Это реализация Python на языке Java. Первоначальное имя проекта - JPython, которое пришлось поменять из-за конфликта с одноименным проектом.
Одновременно и компилятор, и интерпретатор.
Подробнее
Это реализация Python на языке Java. Первоначальное имя проекта - JPython, которое пришлось поменять из-за конфликта с одноименным проектом.
Одновременно и компилятор, и интерпретатор.
Подробнее