Что такое Joins в SQL?
JOIN в SQL позволяет объединять строки из двух таблиц на основе определенного условия. Посмотрим, как это работает:
▪️2 таблицы: left_table и right_table.
▪️Условие: строки объединяются, если left_table.foo равно right_table.baz и left_table.bar равно right_table.panda.
INNER JOIN:
Возвращает все пары строк из обеих таблиц, которые удовлетворяют условию.
Пропускает строки, которые не имеют совпадений (в левой или правой таблице).
LEFT JOIN:
Возвращает все строки из левой таблицы (left_table), даже если они не соответствуют условию.
Если соответствия нет, строки из правой таблицы (right_table) заполняются NULL.
RIGHT JOIN:
Возвращает все строки из правой таблицы (right_table), даже если они не соответствуют условию.
Если соответствия нет, строки из левой таблицы (left_table) заполняются NULL.
FULL OUTER JOIN:
Возвращает все строки из обеих таблиц.
Если строки не соответствуют условию, они заполняются NULL в тех местах, где отсутствуют данные.
JOIN — это мощный инструмент для объединения данных из разных таблиц на основе определенного условия.
#база
JOIN в SQL позволяет объединять строки из двух таблиц на основе определенного условия. Посмотрим, как это работает:
SELECT * FROM left_table JOIN right_table
ON left_table.foo = right_table.baz
AND left_table.bar = right_table.panda;
▪️2 таблицы: left_table и right_table.
▪️Условие: строки объединяются, если left_table.foo равно right_table.baz и left_table.bar равно right_table.panda.
INNER JOIN:
Возвращает все пары строк из обеих таблиц, которые удовлетворяют условию.
Пропускает строки, которые не имеют совпадений (в левой или правой таблице).
LEFT JOIN:
Возвращает все строки из левой таблицы (left_table), даже если они не соответствуют условию.
Если соответствия нет, строки из правой таблицы (right_table) заполняются NULL.
RIGHT JOIN:
Возвращает все строки из правой таблицы (right_table), даже если они не соответствуют условию.
Если соответствия нет, строки из левой таблицы (left_table) заполняются NULL.
FULL OUTER JOIN:
Возвращает все строки из обеих таблиц.
Если строки не соответствуют условию, они заполняются NULL в тех местах, где отсутствуют данные.
JOIN — это мощный инструмент для объединения данных из разных таблиц на основе определенного условия.
#база
👍12❤2
🌐⚙️ 5 лучших альтернатив Create React App
Пять лучших альтернатив CRA, которые помогут вам создать более производительные и современные веб-приложения.
🔗 Читать статью
🔗 Зеркало
Пять лучших альтернатив CRA, которые помогут вам создать более производительные и современные веб-приложения.
🔗 Читать статью
🔗 Зеркало
👍3❤1
Postman: Инструмент для работы с API
🌻 Что это такое?
Postman — один из самых распространенных сервисов для тестирования API и создания запросов. Большинство QA-инженеров регулярно им пользуются. Это такой же обязательный инструмент профессии, как и среда разработки для программистов
🌻 Подойдет ли новичку?
Приложение максимально дружелюбно к новичку, поэтому начать работать с postman несложно. У приложения есть бесплатная версия, которая в функциональности почти не уступает платной
🌻 Какие основные преимущества?
Его преимущество — простой графический инструмент. Основная сущность в Postman — запрос, позволяющий получить, отправить или удалить данные из API
Пост про API:
⚙️ Практическое использование API
Postman — один из самых распространенных сервисов для тестирования API и создания запросов. Большинство QA-инженеров регулярно им пользуются. Это такой же обязательный инструмент профессии, как и среда разработки для программистов
Приложение максимально дружелюбно к новичку, поэтому начать работать с postman несложно. У приложения есть бесплатная версия, которая в функциональности почти не уступает платной
Его преимущество — простой графический инструмент. Основная сущность в Postman — запрос, позволяющий получить, отправить или удалить данные из API
Пост про API:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Существуют разные типы прокрастинаторов. Мы выделяем пять основных:
— Деловая колбаса: постоянно занят несколькими делами, откладывает сложные задачи и занимается простыми
Совет: расставь приоритеты и устанавливай чёткие сроки
— Кризисный наркоман: сознательно откладывает работу до последней минуты, недооценивая необходимое время.
Совет: начни работу сразу, не жди дедлайна.
— Мечтатель: строит идеальные планы, но редко воплощает их в жизнь
Совет: преврати планы в конкретные цели и работай над ними последовательно, устанавливая сроки
— Перфекционист: стремится к идеалу, из-за чего затягивает выполнение задачи
Совет: сфокусируйся на достижении измеримого результата, а не на совершенстве
— Самосаботажник: боится ошибок и избегает работы, особенно если задача кажется трудной
Совет: раздели задачу на небольшие части, чтобы минимизировать риск
#психология_айтишника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👾1
Мердж — это процесс объединения изменений из разных веток (branches) в одном проекте. Представьте, что вы и ваши коллеги работаете над разными частями одного кода, каждый в своей отдельной ветке. В какой-то момент вам нужно объединить ваши изменения с основным проектом — вот тогда и выполняется merge.
▪️ Параллельная работа: Мердж позволяет одновременно работать над разными частями проекта, а затем объединять всё в целостную систему
▪️ Безопасность: Благодаря веткам можно экспериментировать с новыми фичами, не рискуя повредить стабильный код в основной ветке
▪️ Легкость управления: Мердж помогает поддерживать чистоту и порядок в проекте, позволяя внедрять изменения поэтапно
#термины
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰1
💻 15 лучших ноутбуков для программиста в 2024 году
Вот тебе путеводитель по лучшим машинам для разработки в 2024 году. От доступных моделей до настоящих монстров производительности. В конце статьи рекомендации наших читателей.
🔗 Ссылка на статью
Хочешь заменить свой рабочий ноут?
Вот тебе путеводитель по лучшим машинам для разработки в 2024 году. От доступных моделей до настоящих монстров производительности. В конце статьи рекомендации наших читателей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4😢1
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🐧🎭 10 дистрибутивов Linux на грани безумия и гениальности: от Windows-клона до самоуничтожающейся ОС
Мир Linux полон сюрпризов, и эти 10 дистрибутивов — яркое тому подтверждение.
Читать статью
#гайд
Мир Linux полон сюрпризов, и эти 10 дистрибутивов — яркое тому подтверждение.
Читать статью
#гайд
👍6
🎯 Бэклог в Agile: Как оптимизировать работу команды
В компании с более чем 6000 сотрудников команда по обучению и развитию столкнулась с трудностью: заинтересованные стороны не понимали, сколько ресурсов нужно на создание тренингов и образовательных проектов.
Чтобы упростить этот процесс, команда обратилась к Agile-практике — управлению бэклогом и приоритезации задач. Для визуализации стали использовать Trello.
Запросы от заинтересованных сторон собираются на доске, где каждому присваивается метка: зеленая — для текущих задач, красная — для тех, которые отправляются в очередь.
Ежемесячно команда и стейкхолдеры собираются для определения приоритетов, обсуждают новые проекты.
#управленцам
В компании с более чем 6000 сотрудников команда по обучению и развитию столкнулась с трудностью: заинтересованные стороны не понимали, сколько ресурсов нужно на создание тренингов и образовательных проектов.
Чтобы упростить этот процесс, команда обратилась к Agile-практике — управлению бэклогом и приоритезации задач. Для визуализации стали использовать Trello.
Запросы от заинтересованных сторон собираются на доске, где каждому присваивается метка: зеленая — для текущих задач, красная — для тех, которые отправляются в очередь.
Ежемесячно команда и стейкхолдеры собираются для определения приоритетов, обсуждают новые проекты.
#управленцам
👍3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
😡👨💼 ТОП-7 самых раздражающих вопросов от HR-ов
Разбираем самые бесячие вопросы на собеседованиях и объясняем, для чего их спрашивают в формате короткого видео.
👉 Ссылка на полную статью
Разбираем самые бесячие вопросы на собеседованиях и объясняем, для чего их спрашивают в формате короткого видео.
👉 Ссылка на полную статью
👍4❤2
Kotlin создан для работы с JVM, Android и веб-разработки. Он обладает лаконичным синтаксисом, высокой производительностью и полной совместимостью с Java-кодом, также имеет мощные средства проверки типов и безопасности.
Лаконичность: Меньше кода — меньше ошибок. Kotlin позволяет писать компактный код без потери читаемости и выразительности
Совместимость с Java: Полностью совместим с кодом Java, что позволяет плавно мигрировать проекты и использовать огромный массив Java-библиотек
Безопасность: Встроенная система проверки типов и предотвращение ошибок NullPointerException (NPE) помогают избежать большинства типичных ошибок
Корутины: Мощный инструмент для асинхронного программирования, позволяющий работать с многопоточностью проще и эффективнее
Длительное компилирование: Хотя в работе код на Kotlin быстро выполняется, время компиляции может быть больше по сравнению с Java, особенно в крупных проектах
Меньшее сообщество: Несмотря на растущую популярность, сообщество Kotlin всё ещё меньше, чем у Java. Это может осложнить поиск готовых решений или библиотек
Кривая обучения: Для Java-разработчиков переход на Kotlin может потребовать некоторого времени, чтобы привыкнуть к новым концепциям и синтаксису, особенно к корутинам и расширениям
Kotlin — мощный инструмент для современного программирования, но, как и любой другой язык, он не лишён недостатков.
#языки_программирования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Для успешного подбора в IT важно разобраться в специфике проекта и технологий. Вот несколько советов:
Подробный брифинг: уточняйте, какие технологии и навыки нужны — опыт в Kubernetes, знание Python или Node.js
Совместное интервью: участвуйте в технических интервью, чтобы понять реальный уровень кандидатов
Командные встречи: оцените, как соискатель впишется в Agile-процессы
Рынок труда: знайте, какие специалисты в дефиците (например, DevOps)
Помните, важно погрузиться в детали проекта
#HR
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
Новая функциональность в React 19 направлена, прежде всего, на улучшение:
☑️ Управления состоянием.
☑️ Обработки ошибок.
☑️ Работы с асинхронными операциями.
👉 Рассмотрим ключевые улучшения подробнее:
▪️ Actions предназначены для обработки асинхронных запросов и автоматизации управления отложенными состояниями, ошибками и оптимистичными обновлениями. Фронтендеры теперь могут работать с асинхронными операциями более интуитивно, сохраняя пользовательский интерфейс отзывчивым в любое время — даже когда запросы выполняются в реальном времени.
▪️ Улучшенная работа с формами: в React 19 появился новый хук
▪️ Оптимистические обновления — способ мгновенно показать пользователю предполагаемый финальный результат в интерфейсе, даже если в фоновом режиме продолжается обработка данных. Это делает приложение более отзывчивым, особенно в случаях плохого соединения или долгих запросов. Если при выполнении возникает ошибка, интерфейс возвращается к исходному состоянию.
▪️ В React 19 появилась новая возможность — использовать
▪️ Server Components в React 19 — новый способ рендеринга компонентов: рендеринг происходит заранее, либо один раз во время сборки, либо при каждом запросе на сервере, который отделен от клиентской части приложения. Похожим образом реализован серверный рендеринг в Next.js.
▪️ Server Actions — новая функция в React, позволяющая компонентам на клиенте вызывать асинхронные функции, выполняемые на сервере.
🔗 Читать статью полностью
🔗 Зеркало
Новая функциональность в React 19 направлена, прежде всего, на улучшение:
☑️ Управления состоянием.
☑️ Обработки ошибок.
☑️ Работы с асинхронными операциями.
▪️ Actions предназначены для обработки асинхронных запросов и автоматизации управления отложенными состояниями, ошибками и оптимистичными обновлениями. Фронтендеры теперь могут работать с асинхронными операциями более интуитивно, сохраняя пользовательский интерфейс отзывчивым в любое время — даже когда запросы выполняются в реальном времени.
▪️ Улучшенная работа с формами: в React 19 появился новый хук
useActionState
, который предоставляет разработчикам встроенную поддержку для обработки состояний и отправки формы.▪️ Оптимистические обновления — способ мгновенно показать пользователю предполагаемый финальный результат в интерфейсе, даже если в фоновом режиме продолжается обработка данных. Это делает приложение более отзывчивым, особенно в случаях плохого соединения или долгих запросов. Если при выполнении возникает ошибка, интерфейс возвращается к исходному состоянию.
▪️ В React 19 появилась новая возможность — использовать
API use
для работы с ресурсами, такими как промисы и контексты, прямо внутри функции рендеринга. Это позволяет использовать use
даже в условных конструкциях, что ранее было невозможно с хуками.▪️ Server Components в React 19 — новый способ рендеринга компонентов: рендеринг происходит заранее, либо один раз во время сборки, либо при каждом запросе на сервере, который отделен от клиентской части приложения. Похожим образом реализован серверный рендеринг в Next.js.
▪️ Server Actions — новая функция в React, позволяющая компонентам на клиенте вызывать асинхронные функции, выполняемые на сервере.
🔗 Читать статью полностью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2😁1
Заголовок: Как создать простую блок-схему в C
Блок-схемы (flowcharts) часто используются для визуализации алгоритма или процесса. Они помогают понять логику программы при проектировании кода. Сегодня мы рассмотрим, как создать простую блок-схему для программы на языке C, которая выполняет сложение двух чисел.
➡️ Блок-схема демонстрирует процесс сложения двух чисел:
Старт: Начинаем выполнение программы.
Объявление переменных: Объявляем переменные для хранения чисел и суммы. В данном случае используются три переменные: No1, No2, и Sum.
Ввод чисел: Чтение значений No1 и No2. Это момент, когда пользователь вводит два числа, которые будут использованы в операции сложения.
Процесс сложения: Производим вычисление суммы, используя формулу Sum = No1 + No2.
Вывод результата: Отображаем результат на экране.
Стоп: Завершаем выполнение программы.
#база
Блок-схемы (flowcharts) часто используются для визуализации алгоритма или процесса. Они помогают понять логику программы при проектировании кода. Сегодня мы рассмотрим, как создать простую блок-схему для программы на языке C, которая выполняет сложение двух чисел.
Старт: Начинаем выполнение программы.
Объявление переменных: Объявляем переменные для хранения чисел и суммы. В данном случае используются три переменные: No1, No2, и Sum.
Ввод чисел: Чтение значений No1 и No2. Это момент, когда пользователь вводит два числа, которые будут использованы в операции сложения.
Процесс сложения: Производим вычисление суммы, используя формулу Sum = No1 + No2.
Вывод результата: Отображаем результат на экране.
Стоп: Завершаем выполнение программы.
#база
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Хотфикс (hot fix — быстрая правка) — маленький патч, исправляющий самые острые проблемы игры. Обычно это изменения, которые возможно быстро вынести и применить.
Хотфиксы требуют тщательной проверки, чтобы не появились дополнительные ошибки в других частях игры.
#термины
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📊 Data Science и Big Data: сходства и различия
В нашей статье разложим по полочкам сходства и различия между специализациями Data Science и Big Data.
🌻 Что внутри?
▪️ Термины
▪️ Применение
▪️ Навыки
▪️ Карьерные перспективы
👉 Ссылка на Статью
В нашей статье разложим по полочкам сходства и различия между специализациями Data Science и Big Data.
▪️ Термины
▪️ Применение
▪️ Навыки
▪️ Карьерные перспективы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍2❤1
У любого IT-проекта есть цель — конкретная точка в будущем, при достижении которой проект считается завершённым. Руководитель проекта отвечает за то, чтобы достигнуть этой цели в срок и с нужным уровнем качества.
— Снижение рисков: Разработка плана Б позволяет команде быть готовой к нештатным ситуациям. Если что-то пойдёт не так, каждый знает, как вернуть проект на «рельсы».
— Налаживание коммуникаций: Важно правильно организовать общение между командой и заказчиком, чтобы все были на одной волне и понимали конечные цели.
— Выбор методологии: Для каждого проекта необходим свой подход. Методологии управления различны, и не всегда одна и та же работает в разных ситуациях. Грамотный менеджер подбирает тот подход, который принесёт наилучший результат.
— Решение проблем: Что-то обязательно пойдёт не по плану. Главная задача — быстро заметить препятствия и устранить их.
— Контроль бюджета, сроков и содержания: Здесь работает модель проектного треугольника: бюджет, сроки и содержание связаны. Если меняется один элемент, нужно корректировать и остальные, чтобы треугольник оставался устойчивым.
В IT-проектах изменения происходят часто: меняются требования, запросы аудитории или рыночные условия. Именно поэтому управление проектом — это постоянный процесс, а описанные выше задачи приходится решать снова и снова.
#проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁2
Многие из нас замечали, что среди айтишников немало тех, кто не ведет соцсети, редко выкладывает фото или вовсе остается анонимным. Но почему это так?
Безопасность и конфиденциальность
В профессии, где ценность данных и их защита — на первом месте, неудивительно, что айтишники осторожны и в личной жизни. Публикация своих фотографий, местоположения и другой личной информации в сети может восприниматься как потенциальная угроза безопасности. Для айтишников анонимность — это привычный и комфортный формат существования в интернете.
Соцсети — это работа
Для многих IT-специалистов соцсети — это не место для отдыха, а один из инструментов работы (будь то поиск клиентов, партнёров или коллег). Ведение личной страницы требует времени и сил, которые они предпочитают направить на проекты или на отдых.
Зона комфорта в анонимности
Многие айтишники интроверты. Для них нахождение в сети «без лица» — это способ чувствовать себя комфортно. Анонимный ник и отсутствие реальной фотографии позволяет быть более открытым и искренним в обсуждениях.
#психология_айтишника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Библиотека — это набор функций, которые вы вызываете в своем коде. Контроль остается у вас: решаете, что и когда использовать.
Примеры: NumPy, React, jQuery.
Фреймворк — это каркас для приложения, который управляет вашим кодом. Он задает правила и структуру, а ваш код встроен в этот каркас.
Примеры: Django, Angular, Flask.
Главное отличие — инверсия управления: с библиотекой вы управляете потоком программы, а с фреймворком — он управляет вами.
#база
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2
Разбираемся с ошибками компиляции на Python, которые приводят новичков в ступор.
Эта ошибка возникает, когда интерпретатор Python не может распознать синтаксис кода.
a = 10
b = 15
def fun(x, y):
return x y # Ошибка: отсутствует оператор
result = fun(a, b)
print(result)
Ошибка: В строке return x y не хватает оператора умножения. Чтобы исправить, добавьте *:
def fun(x, y):
return x * y
Советы:
Прошлый пост:
❌Что означает ошибка TypeError: unsupported operand type(s)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Юнит-тест (unit test) — это автоматизированный тест, проверяющий работу отдельного модуля или компонента кода. В программировании модулем обычно называют небольшую часть программы, например, функцию или метод. Цель юнит-тестирования — убедиться, что отдельные части кода работают правильно в изоляции от остальной системы.
#термины
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8