ITmozg
СтатистикаПрограммисты, дизайнеры, новости из мира IT. Официальный канал. (vk.com/itmozg, ITmozg.ru)
- Последний пост
- 14 авг.
- Последнее чтение
- 17:00
- Постов за неделю
- 6
- Всего постов
- 24
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 121
- 1/48двое суток
- 138
- 1/72трое суток
- 149
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
🖥 7 основных стратегий масштабирования вашей базы данных. 1 - Индексация: Проверьте шаблоны запросов вашего приложения и создайте подходящие индексы. 2 - Материализованные представления: Предварительно вычислите результаты сложных запросов и сохраните их для более быстрого доступа. 3 - Денормализация: Уменьшите количество сложных объединений для повышения производительности запросов. 4 - Вертикальное масштабирование: Увеличьте мощность вашего сервер базы данных, добавляя больше процессоров, оперативной памяти или хранилища. 5 - Кэширование: Сохраните часто запрашиваемые данные в более быстром слое хранения для снижения нагрузки на базу данных. 6 - Репликация: Создайте реплики основной базы данных на разных серверах для масштабирования чтения. 7 - Шардинг: Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записи, так и чтения. А теперь ваш ход: Какие другие стратегии вы используете для масштабирования ваших баз данных? ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Задержка (Latency) vs. Пропускная способность (Throughput) Задумывались, почему приложение «тормозит», хотя пропускная способность сети вроде бы в порядке? Дело в том, что задержка и пропускная способность описывают два совершенно разных аспекта производительности. Задержка (Latency) - это время задержки каждого пакета. Именно её ощущает пользователь, когда нажимает кнопку. Это - отзывчивость системы. Задержка показывает, сколько времени требуется, чтобы один запрос прошёл путь от сервера до конечного устройства. Она включает: - время обработки запроса на сервере, - задержку в очередях, - распространение сигнала по сети, - задержку передачи, - и «последнюю милю» - соединение с устройством пользователя. Пропускная способность (Throughput) - это объём данных, успешно переданных за единицу времени. Речь не о скорости отдельного пакета, а о количестве данных, проходящих через «трубу». Пропускная способность - это ёмкость системы. Высокая пропускная способность означает, что система справляется с нагрузкой без перегрузок. А теперь вопрос к вам: Как вы измеряете эти метрики так, чтобы они действительно предсказывали, когда система начнёт давать сбои? ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
🔥Awesome-Cheatsheets Крутые шпаргалки по популярным языкам программирования, фреймворкам и инструментам разработки. В них собрано всё, что нужно знать — в одном файле. Я обычно создаю шпаргалку, когда хочу прокачать навыки в языке программирования, фреймворке или инструменте разработки. Раньше я делал такие записи в Gist, но чтобы удобнее отслеживать историю и дать возможность другим участвовать, я собрал всё в одном репозитории. Большая часть материалов основана на официальной документации и книгах, которые я прочитал. Заглядывай — возможно, узнаешь что-то новое. Эти шпаргалки созданы, чтобы быстро проверить знания и сэкономить тебе время. https://lecoupa.github.io/awesome-cheatsheets/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
🚀 Подборка полезных 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
Пишем свой собственный текстовый редактор Это инструкция, которая покажет вам, как создать текстовый редактор на языке C. Текстовый редактор представляет собой kilo от antirez, с некоторыми изменениями. Это около 1000 строк языка C в одном файле без зависимостей, и в нем реализованы все основные функции, которые вы ожидаете от минимального редактора, а также подсветка синтаксиса и функция поиска. В этой инструкции вы пройдете путь создания редактора в 184 шага. На каждом шаге вы будете добавлять, изменять или удалять несколько строк кода. На большинстве шагов вы сможете наблюдать за внесенными изменениями, скомпилировав и запустив программу сразу после этого. https://viewsourcecode.org/snaptoken/kilo/index.html ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
15 проектов с открытым исходным кодом, которые изменили мир ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Гайд по Git Для Начинающих За 15 Минут Запутались в командах Git? В этом видео я объясню 9 основных команд, которые вам действительно нужны для работы. Простыми словами, без лишней теории, и с крутыми анимациями. Вы узнаете, как клонировать проекты, делать коммиты, управлять ветками и делиться изменениями с командой. Всё, что нужно, чтобы уверенно использовать Git каждый день! Таймкоды: 00:00:00 - интро 00:00:34 - Git clone 00:01:58 - Git commit 00:05:08 - Git add 00:07:16 - Git branch 00:08:42 - Git checkout 00:09:29 - Git push 00:11:54 - Git rebase 00:13:30 - Git revert источник ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
💻 12 основных команд Git Git - мощный инструмент для контроля версий, и знание базовых команд поможет работать быстрее и эффективнее. Вот шпаргалка по самым важным командам: 1️⃣ git init - инициализация нового репозитория 2️⃣ git add - подготовка изменений к коммиту 3️⃣ git commit - создание коммита 4️⃣ git push - отправка изменений в удалённый репозиторий 5️⃣ git pull - получение и слияние изменений с удалённого репозитория 6️⃣ git remote - управление удалёнными репозиториями 7️⃣ git branch - работа с ветками 8️⃣ git fetch - получение данных без слияния 9️⃣ git checkout - переключение между ветками 🔟 git merge - слияние веток 1️⃣1️⃣ git status - проверка состояния репозитория 1️⃣2️⃣ git reset - откат изменений ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Этот парень — величайший гик современности Создал UNIX в 1971 году, когда ему было 28 лет. Создал Go в 2009 году, когда ему было 66 лет. Также он разработал язык программирования B (который стал основой для C), придумал UTF-8 (что сделало возможным использование международных текстов в интернете) и создал важнейшие инструменты вроде grep, которые разработчики используют до сих пор каждый день. Он также участвовал в разработке Multics (который предшествовал UNIX), а также операционных систем Plan 9 from Bell Labs и Inferno. Итого — 4 операционные системы. Большинство людей даже не пользуются таким количеством разных ОС. Впечатляющее резюме, правда? И всё же печально, что многие, даже в мире IT, не знают его имени. Кен Томпсон — запомните это имя 🙏 ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Коллекция библиотек и фреймворков для C++ Список удивительных фреймворков, библиотек, ресурсов и блестящих вещей на C++ (или C). Вдохновленный удивительными... вещами. https://github.com/fffaraz/awesome-cpp ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Assembler для Windows в Visual Studio 1️⃣Часть первая В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой. https://habr.com/ru/articles/763636/ 2️⃣Часть вторая — MASM x64 и юникод Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. https://habr.com/ru/companies/ruvds/articles/884240/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
В 2002 году мир математики стал свидетелем исторического момента, когда российский математик Григорий Перельман представил первую из трех новаторских работ, представивших доказательство неуловимой гипотезы Пуанкаре. Эта гипотеза ставила в тупик математиков более столетия, что сделало ее одной из самых сложных нерешенных проблем в этой области. Работа Перельмана была поистине революционной. Он успешно сориентировался в запутанном лабиринте топологии и в конечном итоге предоставил строгое и элегантное доказательство своей гипотезы. Его достижение потрясло математическое сообщество и сразу же привлекло внимание коллег и экспертов со всего мира. В знак признания своих исключительных достижений Григорий Перельман был награжден престижной медалью Филдса в 2006 году, что считается высшей наградой в математике. Однако реакция Перельмана на эту похвалу была столь же нетрадиционной, как и его математическое путешествие. Совершив беспрецедентный шаг, он отказался от медали Филдса, избегая всеобщего внимания и традиционных атрибутов успеха. Его затворнический и скромный характер стал очевиден миру. Но отказ Перельмана принять признание на этом не ограничился. Математический институт Клея также пообещал существенное финансовое вознаграждение в один миллион долларов за доказательство гипотезы Пуанкаре. Поступок, который еще больше сбил с толку многих, Перельман отказался и от этой значительной суммы. Его цитировали: «Меня не интересуют деньги или слава; я не хочу, чтобы меня выставляли напоказ, как животное в зоопарке». Действия Перельмана оставили в мире больше вопросов, чем ответов. Его отказ как от медали Филдса, так и от премии в миллион долларов пролил свет на его глубоко укоренившиеся ценности и приоритеты. Это выдвинуло на первый план математика, движимого не похвалами или богатством, а непоколебимой преданностью делу чистой математики и поиску истины. Вклад Григория Перельмана в математику и его загадочная личность оставили неизгладимый след в этой области. Его решение отказаться от признания и богатства в пользу интеллектуальной честности служит свидетельством чистоты его математических занятий. В анналах математики он остается уникальной фигурой, блестящим умом, который разрешил одну из величайших математических загадок нашего времени и решил сделать это на своих собственных условиях. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
🔥 СВЕЖИЙ АД, ПРЯМО В ТВОЙ МОНИТОР! 💀 Они думали, что ад остался на Марсе… Они ошибались. DOOM возвращается — теперь в виде лёгкого, как бензопила в руках Мародёра, и безжалостного, как ракета в лицо кибердемону, порта на Go. Никаких платформенных цепей. Никакого CGo. Только чистая ярость и кросс-компиляция, рвущая реальность на куски. 🔸 Запускается везде, где бьётся сердце Go 🔸 Минимум балласта — только стандартная библиотека Go 🔸 Полная линейка ада: DOOM, DOOM II, Ultimate DOOM, Final DOOM 🔸 WAD — твой пропуск в бездну: приноси своих демонов 🔸 Память в бронежилете: защита от переполнений буфера (но не от зубов какодемона) 🔸 Оружие массового поражения — кросс-компиляция под любую цель Подготовься. Натяни броню. И перезаряди BFG… https://github.com/AndreRenaud/gore ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
🚀 Подборка полезных 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 Питер Новости: Санкт-Петербург / СПБ / ДТП
🔐 Путеводитель по аутентификации: от Cookies до OAuth 2.0 Разбираться в способах входа пользователя в систему можно бесконечно, но эта шпаргалка отлично раскладывает всё по полочкам. Давайте разберем эволюцию методов «узнавания» пользователя. 1. WWW-Authenticate (Basic Auth) Самый древний способ. Браузер запрашивает логин/пароль и отправляет их в каждом заголовке. • Минус: Невозможно нормально управлять жизненным циклом сессии (сложно разлогиниться). 2. Session-cookie Классика веба. После входа сервер создает сессию в базе, а браузеру отдает Session ID в куках. • Проблема: Плохо масштабируется и «не дружит» с мобильными приложениями, которые не всегда умеют работать с куками так же, как браузеры. 3. Token & JWT Чтобы не дергать базу данных каждый раз, придумали токены. • Token: Обычная строка, которую проверяет отдельный сервис валидации. • JWT (JSON Web Token): «Умный» токен. Он содержит внутри хедер, полезную нагрузку (данные пользователя) и подпись. Серверу не нужно лезть в базу, чтобы проверить его валидность - достаточно проверить подпись. 4. SSO (Single Sign-On) Когда у вас много сайтов (a.com, b.com), а логин один. Центральный сервис аутентификации (CAS) берет на себя проверку личности и перенаправляет пользователя между ресурсами без повторного ввода пароля. 5. OAuth 2.0 Стандарт для предоставления доступа сторонним приложениям (например, «Войти через Google»). Основные сценарии: • Authorization Code: Самый безопасный (через браузер и сервер). • Client Credentials: Для общения между двумя серверами. • Implicit Grant: Упрощенный путь для мобильных и JS-приложений (сейчас считается менее безопасным). • Password Grant: Прямая передача логина/пароля (используется только в доверенных приложениях). #backend #security #jwt #oauth #webdev ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
📌7 распространённых асимптотических сложностей алгоритмов 1. O(1) — Константное время - Время выполнения не зависит от размера входных данных. - Пример: доступ к элементу массива по индексу. 2. O(log n) — Логарифмическое время - Время выполнения растёт медленно при увеличении размера входных данных. Обычно встречается в алгоритмах, которые на каждом шаге делят задачу пополам. - Пример: бинарный поиск в отсортированном массиве. 3. O(n) — Линейное время - Время выполнения растёт прямо пропорционально размеру входных данных. - Пример: поиск элемента в массиве перебором всех элементов. 4. O(n log n) — Линейно-логарифмическое время - Время выполнения растёт чуть быстрее линейного, включает логарифмическое число операций для каждого элемента. - Пример: сортировка массива быстрой сортировкой или сортировкой слиянием. 5. O(n²) — Квадратичное время - Время выполнения пропорционально квадрату размера входных данных. - Пример: сортировка пузырьком, где сравниваются и при необходимости меняются местами все пары элементов. 6. O(2ⁿ) — Экспоненциальное время - Время выполнения удваивается с каждым новым элементом во входных данных. Такие алгоритмы становятся непрактичными для больших входных размеров. - Пример: генерация всех подмножеств множества. 7. O(n!) — Факториальное время - Время выполнения пропорционально факториалу размера входных данных. - Пример: генерация всех перестановок множества. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg
Git Merge vs Rebase Одной из самых мощных возможностей Git является работа с ветками. Однако при работе с ними нам нужно интегрировать изменения из одной ветки в другую, и способов сделать это несколько. Есть два основных метода: 1. Merge (слияние) Когда вы сливаете ветку A в ветку B (с помощью git merge), Git создаёт новый merge-коммит. У этого коммита два родителя — по одному от каждой ветки, что символизирует объединение их истории. - Это неразрушающая операция, которая сохраняет точную историю проекта. - Merge особенно полезен в командной работе, когда важно сохранить целостность и хронологию изменений. Минус: merge-коммиты могут "засорять" историю, усложняя отслеживание конкретных изменений. 2. Rebase (перебазирование) Когда вы перебазируете ветку A на ветку B (с помощью git rebase), это означает: "Давайте сделаем вид, что изменения из ветки A были сделаны поверх последних изменений ветки B." - Rebase переписывает историю проекта, создавая новые коммиты для каждого из исходных коммитов. - Результат — чистая, линейная история. Минус: может быть проблематично, если над веткой работают несколько человек, ведь перебазирование переписывает историю, что усложняет совместную работу при уже опубликованных ветках. Когда что использовать? - Merge — когда важно сохранить полную историю и вы работаете с общими ветками. Идеально для слияния feature-веток в main или develop. - Rebase — для личных веток или когда нужна чистая, линейная история для удобства отслеживания изменений. Важно: не делайте rebase публичной истории. Если ветка уже опубликована и с ней работают другие, переписывание истории приведёт к конфликтам и путанице. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @itmozg