Шпаргалки по SQL, которые помогут ничего не забыть
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql #шпаргалка
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql #шпаргалка
👍2
Зачем разработчику знать И SQL И NoSQL? Разбираемся на примерах
Рассказываем в статье:
— Разницу между SQL и NoSQL;
—Сценарии применения БД;
— Почему будущее не за чистыми системами, а за гибридными.
#sql #nosql
Рассказываем в статье:
— Разницу между SQL и NoSQL;
—Сценарии применения БД;
— Почему будущее не за чистыми системами, а за гибридными.
#sql #nosql
❤2👍1
Конвейер Devops, часть 1: как организовать рабочее место и настроить облако из KVM+libvirt
Совместно с Эйч Навыки открываем серию материалов о том, как устроен конвейер DevOps и как шаг за шагом построить полный CI/CD пайплайн. Вы изучите ключевые инструменты, которые помогают автоматизировать разработку, тестирование и развертывание приложений.
Сегодня на повестке — развертывание собственного облака с помощью KVM и libvirt.
#kubernetes #devops
Совместно с Эйч Навыки открываем серию материалов о том, как устроен конвейер DevOps и как шаг за шагом построить полный CI/CD пайплайн. Вы изучите ключевые инструменты, которые помогают автоматизировать разработку, тестирование и развертывание приложений.
Сегодня на повестке — развертывание собственного облака с помощью KVM и libvirt.
#kubernetes #devops
👍1
Что такое утиная типизация
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
Эта функция ожидает, что у объекта будет метод
И используем их:
Функция
Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
def заставить_крякать(объект):
объект.крякать()
Эта функция ожидает, что у объекта будет метод
крякать()
. Теперь создадим два класса:class Утка:
def крякать(self):
print("Кря-кря!")
class Человек:
def крякать(self):
print("Эээ... Кря-кря?")
И используем их:
утка = Утка()
человек = Человек()
заставить_крякать(утка) # Вывод: Кря-кря!
заставить_крякать(человек) # Вывод: Эээ... Кря-кря?
Функция
заставить_крякать
работает и с Утка
, и с Человек
, потому что у обоих есть метод крякать()
. Python не проверяет, утка это или человек, — ему важно только, что метод есть.Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
👍4
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Разбираемся, на чём держится интернет: самые популярные протоколы и принципы их работы
Как передаются данные и устройства находят друг друга: ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS, DHCP
Как соединяются удалённые сети (туннелирование и маршрутизация): GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS, OSPF, BGP.
Как передаётся веб-трафик и обеспечивается его защита: HTTP, HTTPS, SSL, TLS.
#интернет
Как передаются данные и устройства находят друг друга: ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS, DHCP
Как соединяются удалённые сети (туннелирование и маршрутизация): GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS, OSPF, BGP.
Как передаётся веб-трафик и обеспечивается его защита: HTTP, HTTPS, SSL, TLS.
#интернет
😁5👍3
🐝Гексагональная архитектура — необычный подход к организации кода
Паттерн отделяет логику приложений от внешних интерфейсов, тем самым обеспечивая автономность и модульность компонентов системы. Как работает, где применяется и какие плюсы/минусы имеет данный подход: https://tprg.ru/lBcg
#архитектура
Паттерн отделяет логику приложений от внешних интерфейсов, тем самым обеспечивая автономность и модульность компонентов системы. Как работает, где применяется и какие плюсы/минусы имеет данный подход: https://tprg.ru/lBcg
#архитектура
❤5
Forwarded from Инструменты программиста
cobalt | Скачиватель видео с откуда угодно с API
Хорошо отлаженный инструмент, умеющий качать с YouTube, Twitter, Instagram, вКонтакте и кучи других сайтов, без регистрации и СМС. Сохраните, админы сами пользуются уже не первый месяц и очень довольны. А благодаря API процесс можно поставить на поток.
Цена: бесплатно
Репозиторий проекта
Попробовать скачать в GUI
@prog_tools
Хорошо отлаженный инструмент, умеющий качать с YouTube, Twitter, Instagram, вКонтакте и кучи других сайтов, без регистрации и СМС. Сохраните, админы сами пользуются уже не первый месяц и очень довольны. А благодаря API процесс можно поставить на поток.
Цена: бесплатно
Репозиторий проекта
Попробовать скачать в GUI
@prog_tools
👌6🆒2👍1
Сможете ли вы написать калькулятор?
Вам может показаться, что написать калькулятор — это задача для совсем неопытного новичка. Но вы ошибаетесь. Взгляните на картинку выше. Это калькулятор из iOS и он показывает неверный ответ.
Как же Appleнаговнокодила допустила ошибку в «простейшем» приложении и почему для Android такую же проблему решал именитый разработчик? Разобрались в статье.
Вам может показаться, что написать калькулятор — это задача для совсем неопытного новичка. Но вы ошибаетесь. Взгляните на картинку выше. Это калькулятор из iOS и он показывает неверный ответ.
(10100) + 1 − (10100)
равно 1
, а не 0
.Как же Apple
👍6❤2
Что бы стать программистом — программируйте
Сейчас есть тысячи разных курсов по программированию. Однако, после выхода с этих курсов многие ребята никому не нужны и их не берут на работу.
В чем может быть проблема? Ответ на этот вопрос есть в этой статье.
Сейчас есть тысячи разных курсов по программированию. Однако, после выхода с этих курсов многие ребята никому не нужны и их не берут на работу.
В чем может быть проблема? Ответ на этот вопрос есть в этой статье.
👍2👌2🤔1
Каждый раз, когда изучаешь новый инструмент:
This media is not supported in your browser
VIEW IN TELEGRAM
😁17🌚3💯1
Гайд: что такое хеш-таблицы
Внутри гайд подробно и с примерами рассказываем:
• Что такое хеш-функция
• Как работают хэш-таблицы
• Основные операции с хеш-функциями
Сохраняйте, это точно пригодится
#hash #простымисловами
Представьте, что вам нужно мгновенно находить нужные данные среди миллионов записей — например, определять, есть ли пользователь в базе, или быстро подсчитывать количество посещений страницы. Обычный массив или список справится с этим за O(n), а хэш-таблица — за O(1) в среднем.
Внутри гайд подробно и с примерами рассказываем:
• Что такое хеш-функция
• Как работают хэш-таблицы
• Основные операции с хеш-функциями
Сохраняйте, это точно пригодится
#hash #простымисловами
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Event loop для чайников: простыми словами о сложном механизме браузера
Event Loop — механизм, который управляет асинхронными операциями в JavaScript. Он позволяет обрабатывать задачи, не блокируя основной поток выполнения программы.
В этой статье простыми словами разберем, как работает цикл событий в браузере, что такое макрозадачи и микрозадачи, и как они влияют на выполнение кода. С примерами, схемами и лайфхаками для лучшего понимания.
Event Loop — механизм, который управляет асинхронными операциями в JavaScript. Он позволяет обрабатывать задачи, не блокируя основной поток выполнения программы.
В этой статье простыми словами разберем, как работает цикл событий в браузере, что такое макрозадачи и микрозадачи, и как они влияют на выполнение кода. С примерами, схемами и лайфхаками для лучшего понимания.
👍7
Области видимости в JavaScript
Мы используем переменные, чтобы хранить в них временные значения, а потом в нужный момент получать к ним доступ. Но не все переменные в нашем коде одинаково доступны. Доступна ли переменная и как получить к ней доступ, определяет область видимости.
Область видимости — это часть программы, в которой мы можем обратиться к переменной, функции или объекту. Этой частью может быть функция, блок или вся программа в целом — то есть мы всегда находимся как минимум в одной области видимости.
А более детально узнать что это такое и на примерах рассмотреть то, как работает эта область, вы сможете в этой статье.
#javascript
Мы используем переменные, чтобы хранить в них временные значения, а потом в нужный момент получать к ним доступ. Но не все переменные в нашем коде одинаково доступны. Доступна ли переменная и как получить к ней доступ, определяет область видимости.
Область видимости — это часть программы, в которой мы можем обратиться к переменной, функции или объекту. Этой частью может быть функция, блок или вся программа в целом — то есть мы всегда находимся как минимум в одной области видимости.
А более детально узнать что это такое и на примерах рассмотреть то, как работает эта область, вы сможете в этой статье.
#javascript
👍2😎1
Весна — повод разобраться в своих чувствах, особенно к Java
Перед вами как раз возможность это сделать в небольшом квизе. Здесь предстоит разработать устойчивую систему, которая выдержит любую нагрузку: https://tprg.ru/ynl5
Перед вами как раз возможность это сделать в небольшом квизе. Здесь предстоит разработать устойчивую систему, которая выдержит любую нагрузку: https://tprg.ru/ynl5
❤🔥7👍1
As Code: очередной тренд или будущее разработки ПО?
Обычная практика в IT-командах: все решения, договоренности живут ОТДЕЛЬНО от кода — в чатах, документах, головах. Со временем происходит масштабирование и всё это превращается в такой хаос, что проще снести и написать с нуля.
Тут на помощь приходит As Code.
Рассказываем почему As Code критически важен для современных IT-компаний и как он эволюционировал c 1970-х годов: https://tprg.ru/7gx5
#простымисловами #архитектура
Обычная практика в IT-командах: все решения, договоренности живут ОТДЕЛЬНО от кода — в чатах, документах, головах. Со временем происходит масштабирование и всё это превращается в такой хаос, что проще снести и написать с нуля.
Тут на помощь приходит As Code.
Это не просто методология, а философия, где все — от инфраструктуры до документации и политик безопасности — становится кодом.
Рассказываем почему As Code критически важен для современных IT-компаний и как он эволюционировал c 1970-х годов: https://tprg.ru/7gx5
#простымисловами #архитектура
👍8😁1
Можно ли уместить игру Minecraft всего в один QR-код?
Короткий ответ: да, можно.
Доказательство: на картинке выше.
Подробности: в статье.
#java #gamedev #неормальноепрограммирование
Короткий ответ: да, можно.
Доказательство: на картинке выше.
Подробности: в статье.
#java #gamedev #неормальноепрограммирование
❤4👍1😱1
Forwarded from Веб-страница
Пишем простое расширение для браузера
Ещё один туториал, который поможет вам изучить новые технологии и прокачать свои навыки. На этот раз мы с вами попробуем создать простое расширение для браузера, которое будет управлять куками на сайте. Для простоты в проекте используются только ванильные технологии без сложных библиотек и фреймворков.
#туториал
Ещё один туториал, который поможет вам изучить новые технологии и прокачать свои навыки. На этот раз мы с вами попробуем создать простое расширение для браузера, которое будет управлять куками на сайте. Для простоты в проекте используются только ванильные технологии без сложных библиотек и фреймворков.
#туториал
👍6
Чем отличаются реляционные БД от нереляционных
Реляционные и нереляционные базы данных — это два разных способа хранения и организации информации. Давайте разберём их отличия простыми словами.
Реляционные базы данных похожи на шкаф с ящиками, где всё упорядочено. Каждый ящик — это как таблица (представьте Excel), в которой:
— Есть чёткие столбцы, например, «Имя», «Фамилия», «Телефон».
— Каждая строка — это данные об одном объекте, например, о клиенте.
— Таблицы связаны между собой. Например, можно соединить таблицу «Клиенты» с таблицей «Заказы», чтобы узнать, кто что заказал.
В реляционных БД, например, MySQL или PostgreSQL, всё организовано и легко искать информацию даже с помощью сложных запросов вроде «покажи клиентов, купивших товар X». Но если данные часто меняются или их структура нечёткая, нужно «перестраивать шкаф», а при больших объёмах такие БД могут тормозить
Нереляционные базы, например, MongoDB или Redis — это как большая коробка, куда можно кидать вещи без строгого порядка. Здесь данные хранятся не в таблицах, а в разных форматах:
— Документы (как файлы с информацией).
— Ключ-значение (как словарь).
— Графы (для связей, например, в соцсетях).
— Колонки (для больших данных).
Такой подход даёт нам гибкость для хранения любых данных, даже если они часто меняются. А также позволяют быстро работать с большими объёмами и легко масштабируются. Взамен на эти преимущества они усложняют нам создание сложных запросов, а также поиск чего-то конкретного.
Другими словами, если у вас чёткие данные и нужно их связывать (например, для магазина), берите реляционную базу. Если данные хаотичные, их много и они часто меняются, подойдёт нереляционная.
#простымисловами #бд
Реляционные и нереляционные базы данных — это два разных способа хранения и организации информации. Давайте разберём их отличия простыми словами.
Реляционные базы данных похожи на шкаф с ящиками, где всё упорядочено. Каждый ящик — это как таблица (представьте Excel), в которой:
— Есть чёткие столбцы, например, «Имя», «Фамилия», «Телефон».
— Каждая строка — это данные об одном объекте, например, о клиенте.
— Таблицы связаны между собой. Например, можно соединить таблицу «Клиенты» с таблицей «Заказы», чтобы узнать, кто что заказал.
В реляционных БД, например, MySQL или PostgreSQL, всё организовано и легко искать информацию даже с помощью сложных запросов вроде «покажи клиентов, купивших товар X». Но если данные часто меняются или их структура нечёткая, нужно «перестраивать шкаф», а при больших объёмах такие БД могут тормозить
Нереляционные базы, например, MongoDB или Redis — это как большая коробка, куда можно кидать вещи без строгого порядка. Здесь данные хранятся не в таблицах, а в разных форматах:
— Документы (как файлы с информацией).
— Ключ-значение (как словарь).
— Графы (для связей, например, в соцсетях).
— Колонки (для больших данных).
Такой подход даёт нам гибкость для хранения любых данных, даже если они часто меняются. А также позволяют быстро работать с большими объёмами и легко масштабируются. Взамен на эти преимущества они усложняют нам создание сложных запросов, а также поиск чего-то конкретного.
Другими словами, если у вас чёткие данные и нужно их связывать (например, для магазина), берите реляционную базу. Если данные хаотичные, их много и они часто меняются, подойдёт нереляционная.
#простымисловами #бд
👍9
Визуализация алгоритмов сортировки
Визуализатор, создан с использованием React для того, чтобы помочь понять работу основных алгоритмов сортировки.
Что он может:
— сортировать массив из любых трехзначных натуральных чисел;
— менять скорость выполнения;
— запускать, приостанавливать и сбрасывать выполнение;
— генерировать массив из случайных чисел.
Подробнее на GitHub.
Визуализатор, создан с использованием React для того, чтобы помочь понять работу основных алгоритмов сортировки.
Что он может:
— сортировать массив из любых трехзначных натуральных чисел;
— менять скорость выполнения;
— запускать, приостанавливать и сбрасывать выполнение;
— генерировать массив из случайных чисел.
Подробнее на GitHub.
🔥3👍1