ar
Feedback
ITmozg

ITmozg

الذهاب إلى القناة على Telegram

Программисты, дизайнеры, новости из мира IT. Официальный канал. (vk.com/itmozg, ITmozg.ru)

إظهار المزيد
2 634
المشتركون
+224 ساعات
+17 أيام
-1230 أيام
أرشيف المشاركات
ITmozg
2 634
Алиасы (псевдонимы)- это лучший способ сэкономить время и не печатать длинные команды по сто раз в день. Вы можете добавить их в свой глобальный конфиг Git одной командой: git config --global alias.имя_алиаса "команда" Вот подборка самых полезных алиасов, разделенных по назначению: 1. Сокращения для базы Самые часто используемые команды до одной-двух букв. • st - быстрый статус: git config --global alias.st "status -s" (флаг -s делает вывод компактным). • co - переключение веток: git config --global alias.co "checkout". • cm - коммит с сообщением: git config --global alias.cm "commit -m". • br - список веток: git config --global alias.br "branch". 2. Визуализация логов (Красивый граф) Стандартный git log часто выглядит перегруженным. Этот алиас рисует понятное дерево проекта: • lg: git config --global alias.lg "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all" 3. Работа с изменениямиunstage - если случайно добавили файл в индекс (git add), этот алиас его «вытащит»: git config --global alias.unstage "reset HEAD --"last - посмотреть детали последнего коммита: git config --global alias.last "log -1 HEAD --stat"amend - если забыли что-то добавить в последний коммит или опечатались в сообщении (без открытия редактора): git config --global alias.amend "commit --amend --no-edit" 4. Для DevOps и автоматизацииpur - подтянуть изменения и «перебазировать» свои сверху (чистая история без лишних merge-коммитов): git config --global alias.pur "pull --rebase"ec - быстро открыть конфиг гит для редактирования: git config --global alias.ec "config --global -e" Как посмотреть все свои алиасы? Просто введите: git config --get-regexp alias 💡Если вы работаете в Linux/macOS, также полезно добавить алиас в ваш шелл (.bashrc или .zshrc), чтобы не писать даже слово git. Например: alias g='git'. Тогда статус можно будет проверить просто командой g st. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
⚡️ Совет по работе с базами данных 💡 Уникальные индексы с исключением определенных строк Создание уникальных индексов в неко
⚡️ Совет по работе с базами данных 💡 Уникальные индексы с исключением определенных строк Создание уникальных индексов в некоторых случаях невозможно из-за дублирования значений - например, в строках, помеченных как «мягко удаленные» (soft-deleted). Исключив такие строки из индекса, можно корректно настроить ограничение уникальности. В MySQL частичные уникальные индексы (unique partial indexes) требуют эмуляции. В современных базах данных часто используется паттерн Soft Delete, когда данные не удаляются физически, а помечаются флагом is_deleted = true. Если вы хотите, чтобы поле email было уникальным только для активных пользователей, обычный уникальный индекс выдаст ошибку при попытке регистрации нового пользователя с почтой, которая уже есть в «корзине». Использование частичного индекса решает эту проблему, позволяя игнорировать помеченные на удаление записи. Нюанс для MySQL: В отличие от PostgreSQL или SQL Server, MySQL не поддерживает синтаксис WHERE внутри команды CREATE INDEX. Чтобы добиться такого же поведения, разработчики обычно используют: • Виртуальные колонки (Generated Columns): создается колонка, которая принимает значение только если запись активна, и на нее вешается уникальный индекс. • Составные индексы: включение флага удаления или временной метки в сам индекс. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🐳 Как на самом деле работает Docker? Взгляд изнутри Мы привыкли писать в терминале docker run и магия происходит сама собой.
🐳 Как на самом деле работает Docker? Взгляд изнутри Мы привыкли писать в терминале docker run и магия происходит сама собой. Но что стоит за этими командами? Давайте разберем архитектуру Docker на одной наглядной схеме. Все держится на трех китах: 1️⃣ Docker Client - это ваш терминал. Вы отдаете приказы (build, pull, run), а клиент передает их главному исполнителю. 2️⃣ Docker Host - «мозги» и «мускулы» системы. Здесь живет Daemon, который слушает команды клиента и управляет объектами: 🔴Images (Образы): Чертежи или слепки ваших приложений (MySQL, Nginx, Ubuntu). 🔴Containers (Контейнеры): Запущенные версии этих образов (живые процессы). 3️⃣ Docker Registry - склад (например, Docker Hub). Здесь хранятся образы, доступные всему миру или вашей команде. 🎨 Что значат стрелки на схеме? 🔹 Build (Синяя): Клиент командует собрать образ из Dockerfile. Демон создает его на хосте. 🔸 Push (Оранжевая): Готовый образ отправляется с хоста в реестр (в облако). 💖 Pull (Розовая): Нужно скачать образ? Демон тянет его из реестра к себе на хост. 💚 Run (Зеленая): Самая частая команда. Демон берет локальный образ и разворачивает из него рабочий контейнер. 📌 Сохраняй шпаргалку в «Избранное», чтобы не путаться в потоках данных! #docker #devops #шпаргалка #обучение ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🖥 Пишем свою операционную систему с нуля. Серьезно. Многим кажется, что создание ОС это черная магия, доступная только избра
🖥 Пишем свою операционную систему с нуля. Серьезно. Многим кажется, что создание ОС это черная магия, доступная только избранным инженерам из Microsoft или создателям Linux. Но на самом деле, разобраться в том, как "железо" оживает после нажатия кнопки питания, может каждый разработчик. На GitHub лежит легендарный репозиторий os-tutorial, который буквально за руку проведет вас от пустого файла до работающего ядра. Это не теоретический учебник на 1000 страниц. Это набор последовательных шагов (от 01 до конца), где каждый новый урок наслаивается на предыдущий. Вы начинаете с того, что учите компьютер выводить "Hello World" без всякой ОС, и заканчиваете написанием простейшей файловой системы. Что вы изучите на практике: 🔴Boot sector: Как работает загрузочный сектор и почему в нем всего 512 байт. 🔴Assembly: Основы ассемблера x86 (без боли, только необходимое). 🔴Режимы процессора: Переход из 16-битного Real Mode в 32-битный Protected Mode. 🔴C Kernel: Как запустить C-код на "голом" железе. 🔴Драйверы: Написание простых драйверов для экрана и клавиатуры. 💡 Главная фишка: Автор объясняет почему мы делаем то или иное действие, а не просто дает код для копирования. Это идеальный способ понять, как работает компьютер "под капотом". Для старта не нужны глубокие знания, только Linux (или WSL), QEMU и желание разобраться. 🔗 Ссылка на репозиторий: https://github.com/cfenollosa/os-tutorial #github #os #lowlevel #assembly #cpp #tutorial ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
Сборка C++ проектов. Оптимизации компилятора. Inline, constexpr, alignment. Game Engine серии 0:00:00 - Введение 0:02:26 - Дизассемблер 0:09:31 - Общие оптимизации 0:20:46 - Inline 0:35:24 - Constexpr 0:45:28 - Compile-time raytracer 0:52:40 - Internal vs. external linkage 0:55:18 - Выравнивание структур 1:06:46 - Pragma optimize источник ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
Как выполняются SQL-запросы 👨‍💻 Порядок выполнения SQL-запроса определяет последовательность выполнения различных частей запроса SQL. Этот порядок важен, потому что он определяет, как данные фильтруются, группируются и упорядочиваются. Вот упрощённое объяснение порядка выполнения SQL: 🔴FROM / JOIN - оператор FROM указывает таблицы, из которых будут извлечены данные. JOIN может использоваться для объединения данных из нескольких таблиц. 🔴WHERE - оператор WHERE используется для фильтрации данных по заданным условиям. 🔴GROUP BY - оператор GROUP BY группирует данные по одной или нескольким колонкам. 🔴HAVING - оператор HAVING фильтрует уже сгруппированные данные по условиям. 🔴SELECT - оператор SELECT определяет столбцы, которые будут возвращены в результат. 🔴DISTINCT - ключевое слово DISTINCT используется для возврата только уникальных строк. 🔴ORDER BY - оператор ORDER BY сортирует результаты по возрастанию или убыванию. 🔴LIMIT - оператор LIMIT ограничивает количество возвращаемых строк. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
Doom снова доказал, что его можно запустить буквально на чём угодно. На этот раз культовую игру умудрились открыть прямо в фавиконе — маленьком значке сайта, который отображается на вкладке браузера. https://vidferris.github.io/FaviconDoom/favicondoom.html ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🔌 API против SDK: В чем реальная разница? Мы часто слышим эти аббревиатуры вместе, но это не одно и то же. Давайте разберем
🔌 API против SDK: В чем реальная разница? Мы часто слышим эти аббревиатуры вместе, но это не одно и то же. Давайте разберем шпаргалку с картинки. 1️⃣ API (Application Programming Interface) На картинке сверху. Это «мессенджер». Набор правил, по которым одна программа может попросить что-то у другой. 🔴Задача: Обеспечить общение (To Communicate). 🔴Как это работает: Вы отправляете запрос (Request) на конкретный адрес (Endpoint) с определенными параметрами. Сервер отвечает (Response) данными (обычно JSON) или кодом ошибки. 🔴Пример: Ваше приложение доставки еды «стучится» в Google Maps API, чтобы просто показать точку на карте. Оно не строит карту само, оно просит её у Google. 2️⃣ SDK (Software Development Kit) На картинке снизу. Это «ящик с инструментами». Полноценный комплект для создания приложений под конкретную платформу (Android, iOS, Windows). 🔴Задача: Дать инструменты для стройки (Tool Box to Build Apps). 🔴Что внутри: SDK - это «старший брат». Он гораздо больше и обычно включает в себя API, а также библиотеки кода, документацию, дебаггеры и примеры. 🔴Пример: Чтобы написать приложение под Android на Kotlin, вам нужен Android SDK. Вы берете этот чемоданчик, достаете оттуда готовые кнопки, окна и инструменты для вызова API. 💡 Главное отличие в одной фразе: API - это интерфейс для взаимодействия с сервисом (как меню в ресторане), а SDK - это набор инструментов для создания чего-то нового (как полностью оборудованная кухня). ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
FTXUI Простая кроссплатформенная библиотека C++ для пользовательских интерфейсов на базе терминала! • Функциональный стиль • Простой и элегантный синтаксис • Создаваемые консольные UI поддерживают навигацию с помощью клавиатуры и мыши • Поддержка UTF8 • Поддержка анимации • Поддержка рисования • Нет зависимостей • Кроссплатформенность: Linux/MacOS, WebAssembly, Windows https://github.com/ArthurSonzogni/FTXUI ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
RustDesk Клиентское программное обеспечение для удаленного рабочего стола с открытым исходным кодом, написанное на Rust. Рабо
RustDesk Клиентское программное обеспечение для удаленного рабочего стола с открытым исходным кодом, написанное на Rust. Работает "из коробки", настройка не требуется. Отличная альтернатива TeamViewer и AnyDesk! Вы полностью контролируете свои данные, не беспокоясь о безопасности. Вы можете использовать сервер разработчика или настроить свой собственный сервер или написать свой собственный сервер для рандеву/ретрансляции https://github.com/rustdesk/rustdesk ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
Шпаргалка по матрицам и операциям с ними ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Шпаргалка по матрицам и операциям с ними ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24

ITmozg
2 634
50 веб сайтов по изучению C/C++ В этой статье я расскажу о 50 сайтах, которые, по моему мнению, должен знать и добавить в зак
50 веб сайтов по изучению C/C++ В этой статье я расскажу о 50 сайтах, которые, по моему мнению, должен знать и добавить в закладки каждый разработчик на Си или Си++. В этом списке представлены прямые ссылки на исходные коды программ вместе с их описанием. https://www.mycplus.com/featured-articles/50-c-cpp-source-code-websites/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🖥 DrawDB Бесплатный, простой и интуитивно понятный инструмент для проектирования баз данных и генератор SQL. https://github.com/drawdb-io/drawdb ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
ImHex 🔍 Hex-редактор для реверс-инженеров, программистов и людей, которые ценят свое зрение, когда работают ночью. https://g
+1
ImHex 🔍 Hex-редактор для реверс-инженеров, программистов и людей, которые ценят свое зрение, когда работают ночью. https://github.com/WerWolv/ImHex ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
⚡Основные алгоритмы на графах В статье рассмотрены основные алгоритмы на графах и их реализацию на C++. Рассматриваемые алгоритмы: ▪ Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search ▪ Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search ▪ Алгоритм Дейкстры ▪ Алгоритм Флойда-Уоршелла ▪ Алгоритм Прима https://habr.com/ru/companies/timeweb/articles/751762/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🖥 7 основных стратегий масштабирования вашей базы данных. 1 - Индексация: Проверьте шаблоны запросов вашего приложения и создайте подходящие индексы. 2 - Материализованные представления: Предварительно вычислите результаты сложных запросов и сохраните их для более быстрого доступа. 3 - Денормализация: Уменьшите количество сложных объединений для повышения производительности запросов. 4 - Вертикальное масштабирование: Увеличьте мощность вашего сервер базы данных, добавляя больше процессоров, оперативной памяти или хранилища. 5 - Кэширование: Сохраните часто запрашиваемые данные в более быстром слое хранения для снижения нагрузки на базу данных. 6 - Репликация: Создайте реплики основной базы данных на разных серверах для масштабирования чтения. 7 - Шардинг: Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записи, так и чтения. А теперь ваш ход: Какие другие стратегии вы используете для масштабирования ваших баз данных? ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
Задержка (Latency) vs. Пропускная способность (Throughput) Задумывались, почему приложение «тормозит», хотя пропускная способность сети вроде бы в порядке? Дело в том, что задержка и пропускная способность описывают два совершенно разных аспекта производительности. Задержка (Latency) - это время задержки каждого пакета. Именно её ощущает пользователь, когда нажимает кнопку. Это - отзывчивость системы. Задержка показывает, сколько времени требуется, чтобы один запрос прошёл путь от сервера до конечного устройства. Она включает: - время обработки запроса на сервере, - задержку в очередях, - распространение сигнала по сети, - задержку передачи, - и «последнюю милю» - соединение с устройством пользователя. Пропускная способность (Throughput) - это объём данных, успешно переданных за единицу времени. Речь не о скорости отдельного пакета, а о количестве данных, проходящих через «трубу». Пропускная способность - это ёмкость системы. Высокая пропускная способность означает, что система справляется с нагрузкой без перегрузок. А теперь вопрос к вам: Как вы измеряете эти метрики так, чтобы они действительно предсказывали, когда система начнёт давать сбои? ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg

ITmozg
2 634
🔥Awesome-Cheatsheets Крутые шпаргалки по популярным языкам программирования, фреймворкам и инструментам разработки. В них со
+3
🔥Awesome-Cheatsheets Крутые шпаргалки по популярным языкам программирования, фреймворкам и инструментам разработки. В них собрано всё, что нужно знать — в одном файле. Я обычно создаю шпаргалку, когда хочу прокачать навыки в языке программирования, фреймворке или инструменте разработки. Раньше я делал такие записи в Gist, но чтобы удобнее отслеживать историю и дать возможность другим участвовать, я собрал всё в одном репозитории. Большая часть материалов основана на официальной документации и книгах, которые я прочитал. Заглядывай — возможно, узнаешь что-то новое. Эти шпаргалки созданы, чтобы быстро проверить знания и сэкономить тебе время. https://lecoupa.github.io/awesome-cheatsheets/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg