METANIT.COM – Telegram
METANIT.COM
5.78K subscribers
1.64K photos
79 videos
9 files
982 links
Канал о программировании и разработке сайта metanit.com
Download Telegram
GitHub опубликовал отчёт за 2025 год.

Язык TypeScript вырвался на 1-ое место в рейтинге языков программирования, наиболее часто используемых разработчиками.Python и JavaScript переместились на 2-ое и 3-ье места. За год число разработчиков на TS увеличилось на 1 млн (+66%), Python - на 850 тыс (+48%), а JavaScript - на 427 тыс. (+25%).

В рейтинге наиболее быстро набирающих популярность языков лидируют Luau (3600 разработчиков, +194%), Typst (3600 разработчиков, +108%), Astro (45600 разработчиков, +78%), Blade (91100 разработчиков, +67%) и TypeScript (2.6 млн разработчиков, +67%).

По популярности в новых репозиториях лидируют языки JavaScript (9.3 млн, +14.57%), Python (9.2 млн репозиториев, +53.41%), TypeScript (5.4 млн, 78.10%), Java (3.5 млн, 9.35%), C++ (1.7 млн, 11.82%), C# (1.5 млн, 10.61%).

https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typenoscript-to-1/
👍14🔥4😢1
Процесс загрузки Linux
(продолжение в следующем посте)
👍3🥰1👏1
Процесс загрузки Linux
(описание к предыдущему посту)

1. Включение питания

→ Процесс загрузки начинается в момент включения компьютера.
→ Аппаратная часть системы инициализируется, управление передаётся BIOS или UEFI.
→ BIOS/UEFI хранится в энергонезависимой памяти и выполняет POST (самотест при включении питания) для проверки целостности оборудования.

2. Инициализация BIOS/UEFI

→ Обнаруживает и инициализирует аппаратные устройства: процессор, оперативную память, дисковые накопители и периферийные устройства.
→ Определяет загрузочные устройства (например, жёсткий диск, USB‑накопитель или сетевое подключение).
→ После завершения обнаружения оборудования управление передаётся загрузчику.

3. Выбор загрузочного устройства

→ BIOS/UEFI выбирает загрузочное устройство согласно настроенному порядку.
→ На загрузочном устройстве находится загрузчик (например, GRUB).
→ Система считывает загрузочный сектор, чтобы найти программу загрузчика.

4. GRUB (загрузчик)

→ GRUB (GRand Unified Bootloader) загружается с выбранного устройства.
→ Считывает конфигурационный файл /etc/grub2.cfg.
→ Отображает меню загрузки (если настроено), позволяя выбрать нужное ядро или версию ОС.
→ Загружает выбранное ядро Linux в память.
→ Загружает необходимые модули ядра и библиотеки, требуемые для загрузки.

5. Инициализация ядра

→ Ядро Linux распаковывается и инициализирует системные компоненты.
→ Обнаруживает аппаратные компоненты и подключает корневую файловую систему (/).
→ Запускает первый процесс в пользовательском пространстве — обычно systemd.
→ Переключается из режима ядра в пользовательский режим.

6. Запуск systemd

systemd — первый процесс в пользовательском пространстве (PID 1).
→ Отвечает за инициализацию всех остальных служб и целей.
→ Считывает конфигурационные файлы из /etc/systemd/system/.
→ Активирует целевые файлы, такие как:
 → basic.target
 → multi-user.target
 → getty.target
 → ssh.service

7. Выполнение стартовых скриптов

→ Выполняет общесистемные и пользовательские стартовые скрипты.
→ Примеры:
 → /etc/profile
 → /systemd-logind
 → ~/.bashrc
→ Эти скрипты настраивают пользовательское окружение и фоновые службы.

8. Вход пользователя

→ После выполнения всех стартовых скриптов и целей появляется экран входа в систему.
→ Пользователи могут войти через терминал, графический интерфейс или SSH.
→ Система переходит в полностью работоспособное многопользовательское состояние.
13👍6👏1
Кодить по-русски: студентов научат программировать на кириллице

В Пензенском государственном университете (ПГУ) начали обучать студентов программированию на кириллице. Инициатива направлена на укрепление роли национального языка в ИТ-сфере и создание отечественных решений, независимых от англоязычных стандартов.

Преподаватели вуза модифицировали популярный язык JavaScript, полностью переведя его синтаксис и условия задач на русский язык. Теперь будущие специалисты пишут код без единой латинской буквы. Такой подход облегчает освоение программирования и снимает языковой барьер, отметил кандидат педагогических наук, доцент кафедры «Информатика и методика обучения информатике и математике» Андрей Диков.

Однако в профессиональном сообществе новая инициатива вызвала дискуссию. Часть экспертов опасается, что полный отказ от английской терминологии может затруднить адаптацию выпускников в международной ИТ-среде и отдалить их от общепринятых стандартов. Тем не менее в ПГУ уверены, что эксперимент с кириллицей станет шагом к формированию отечественной школы программирования — самобытной, понятной и технологически независимой.

https://iz.ru/1980660/anton-belyi/kodit-po-russki-studentov-nauchat-programmirovat-na-kirillice
🤡60👎29🤣11🤔5👍4🤮4😱31💩1🐳1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Из мира извращений: графический редактор в консоли на PHP
😁31🤔11👍6🔥5💩1
Очередной баг в очередном обновлении для Windows 11 может сильно снизить производительность ПК

Компания Microsoft выпустила обновление KB5067036 для Windows 11 с новым меню «Пуск», которое будет внедряться постепенно. Оно также добавляет новые цветные значки батареи на панель задач, новую ленту рекомендуемых лент в проводнике и многое другое. Но обновление выходит за рамки некоторых улучшений дизайна.

Однако как обычно не обошлось без багов. Если запустить «Диспетчера задач», и закрыть его, то на деле сам процесс taskmanager.exe останется в оперативной памяти и не выгрузится. Так можно повторять снова и снова – программа будет висеть в ОЗУ и создавать все новые копии себя при каждом повторном запуске. Рано или поздно это приведет к тому, что свободная оперативная память на компьютере полностью закончится.

https://www.windowslatest.com/2025/10/30/windows-11-kb5067036-issue-task-manager-wont-close-and-duplicates-may-hurt-performance/
💊24🤣22🤯2😢21🖕1
6 основных типов ключей в базах данных:

1. Primary key (первичный ключ) — уникальный идентификатор для каждой записи в таблице; не может быть пустым и должен быть уникальным во всей таблице.

2. Foreign key (внешний ключ) — поле в таблице, которое соответствует первичному ключу другой таблицы; создаёт связь между таблицами.

3. Composite key (составной ключ) — комбинация двух или более столбцов, используемых как первичный ключ; применяется, если один столбец не может однозначно идентифицировать запись.

4. Alternate key (альтернативный ключ) — уникальный идентификатор записи, который не является первичным ключом; используется как вторичный способ поиска данных.

5. Candidate key (потенциальный ключ) — уникальный идентификатор записи, который потенциально может быть использован как первичный ключ.

6. Surrogate key (суррогатный ключ) — уникальный идентификатор, присвоенный записи в таблице, обычно создаваемый самой базой данных, а не пользователем.

#sql #database
7👍3🔥2🤔1
В России начали ограничивать регистрацию в Telegram и WhatsApp
В России началась блокировка передачи звонков и СМС новым пользователям со стороны подрядчиков Telegram и WhatsApp, говорят источники. В отдельных случаях сообщения продолжают поступать

https://www.rbc.ru/technology_and_media/31/10/2025/6903cec99a794758a0046cd9
🤬22🤡13😁4👍2😡2
Шпаргалка по IP-адресам
(описание в следующем посте)
10👏2🥰1
Шпаргалка по IP-адресам
(описание к предыдущему посту)

1. Частные диапазоны IPv4-адресов:
- 10.0.0.0 – 10.255.255.255 (10.0.0.0/8) — для крупных частных сетей;
- 172.16.0.0 – 172.31.255.255 (172.16.0.0/12) — для корпоративных сетей;
- 192.168.0.0 – 192.168.255.255 (192.168.0.0/16) — для домашних/офисных локальных сетей (LAN).

2. Префиксы CIDR, маски подсетей и количеством доступных хостов:
- /8 (255.0.0.0) — 16M хостов (для крупных внутренних сетей);
- /16 (255.255.0.0) — 65K хостов (для больших LAN);
- /24 (255.255.255.0) — 254 хоста (для малых подсетей/домашних LAN);
- /30 (255.255.255.252) — 2 хоста (для point-to-point соединений);
- /32 (255.255.255.255) — 1 хост (для одиночного устройства).
CIDR определяет сети по длине префикса, а не по фиксированным классам.

3. Специальные IPv4-адреса, их значениями и описание:
- Unspecified (0.0.0.0) — неопределённый адрес по умолчанию;
- Broadcast (255.255.255.255) — широковещательный адрес для всей локальной сети;
- Loopback (127.0.0.0/8) — для локального тестирования;
- APIPA (169.254.0.0/16) — автоназначение IP при сбое DHCP;
- CGNAT (100.64.0.0/10) — пространство NAT, используемое провайдерами;
- Multicast (224.0.0.0 — 239.255.255.255) — для многоадресной рассылки;
- Docs/Test (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24) — зарезервированные примеры.

4. Распространенные провайдеры публичных DNS-серверов:
- Cloudflare (1.1.1.1, 1.0.0.1 и IPv6-аналоги) — быстрый, ориентированный на конфиденциальность;
- Google (8.8.4.4, 8.8.8.8 и IPv6-аналоги) — глобальный anycast;
- Quad9 (9.9.9.9, 149.112.112.112 и IPv6-аналоги) — фильтрованный для безопасности;
- OpenDNS (208.67.222.222, 208.67.220.220 и IPv6-аналоги) — сервис Cisco;
- AdGuard (94.140.14.14, 94.140.15.15 и IPv6-аналоги) — блокировка рекламы и вредоносного ПО.

5. IPv6-адресов, диапазоны и описание:
- Unspecified (::) — неопределённый адрес;
- Loopback (::1) — локальное тестирование;
- Link-local (fe80::/10) — для локального использования на интерфейсе;
- ULA (Unique Local Address) (fc00::/7 или fd00::/8) — частные IPv6-сети;
- Docs/Test (2001:db8::/32) — зарезервированные примеры.
16👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Ролик по геометрии с наглядной визуализацией различных формул
👍25🔥16👏6🥴4🤯2
10 ключевых структур данных, которые мы используем каждый день

- список (*list*): хранение лент новостей в Twitter;
- стек (*stack*): поддержка функций «отменить/вернуть» в текстовом редакторе;
- очередь (*queue*): управление заданиями для принтера или отправка действий пользователя в игре;
- хэш‑таблица (*hash table*): системы кэширования;
- массив (*array*): математические операции;
- куча (*heap*): планирование задач;
- дерево (*tree*): хранение HTML‑документа или принятие решений в ИИ;
- суффиксное дерево (*suffix tree*): поиск строки в документе;
- граф (*graph*): отслеживание дружеских связей или поиск пути;
- R‑дерево (*R‑tree*): поиск ближайшего соседа;
- буфер вершин (*vertex buffer*): передача данных в GPU для рендеринга.
🔥24👍6🤔2👀2🤡1
Краткий совет по Linux

Работаете с CSV‑файлами в терминале? Вы можете сделать их удобочитаемыми, аккуратно выровняв колонки с помощью команды column:

$ cat inventory.csv | column -t -s,


Флаг -s, указывает использовать запятые в качестве разделителей, а флаг -t форматирует вывод в виде аккуратной таблицы.

Идеально для быстрой проверки данных без открытия табличного редактора.

#linux
👍146🥰1
Согласно результатам исследования "Сбераналитики" и "Работы.ру", доля вакансий в IT в 2025 году выросла на 7,5% за год, а средняя оплата труда IT-специалистов выросла на 15% - до 146,5 тыс. рублей.

"По итогам 9 месяцев средняя оплата труда IT-специалистов составила 146,5 тыс. рублей, что на 15% выше, чем в прошлом году. Заработная плата в IT превышает средний уровень дохода (96,1 тыс. рублей) в 1,5 раза и растет быстрее на 2,2%", - говорится в итогах исследования.

Также медианная заработная плата IT-специалистов составила 83 тыс. рублей, что на 15,9% выше, чем в прошлом году. Медианная зарплата в IT выше аналогичного показателя по всем отраслям на 21%. Самые высокие средние заработные платы IT-специалисты получают в Москве (222,8 тыс. рублей), Чукотском автономном округе (207,7 тыс. рублей), Московской области (179,3 тыс. рублей), Санкт-Петербурге (177,3 тыс. рублей) Ямало-Ненецком автономном округе (147,2 тыс. рублей).

Высокие зарплаты у IT-специалистов в крупных городах России (Москва, Санкт-Петербург), обусловлены высоким спросом на квалифицированных специалистов - крупнейшие IT-компании расположены здесь. В северных и дальневосточных регионах оплата труда IT-специалистов связана с общим высоким уровнем заработных плат, размер которых определяется суровыми климатическими условиями и географической отдаленностью от центральных районов страны.

Аналитики выяснили, что самая высокая заработная плата - у разработчиков - 178,3 тыс. рублей.

По данным сервиса Работа.ру, доля вакансий в IT с января по сентябрь 2025 года выросла на 7,5% по сравнению с аналогичным периодом 2024 года. При этом доля резюме в отрасли снизилась на 5,9%. Зарплатные предложения в сфере IT в вакансиях, опубликованных по всей России, выросли на 16,7%, а прирост зарплатных ожиданий соискателей составил 8,5%.

Наивысшие зарплатные предложения зафиксированы в вакансиях Краснодарского края - 585 тыс. рублей, Самарской области - 575 тыс. рублей, Республике Дагестан - 560 тыс. рублей, Москве - 550 тыс. рублей, а также Калужской области - 510 тыс. рублей.

https://tass.ru/ekonomika/25515469
11🤔3👏1
Шпаргалка по подсетям IPv4
👍9🔥42
В руководство по языку Java добавлена глава по аннотациям: их объявлению и применению, созданию своих аннотаций и использованию встроенных
https://metanit.com/java/tutorial/15.1.php
#java
🔥12👍6👏2
Сэм Альтман: «меня пугает сценарий, когда AGI можно будет запустить на ноутбуке»

В подкасте Брэда Герстнера глава OpenAI Сэм Альтман и босс Microsoft Сатья Наделла рассказали о совместных планах развития ИИ. По их словам, уже сейчас наблюдается мощный спрос на ИИ — крупных клиентов больше, чем вычислительные возможности компаний. Основное ограничение — недостаток железа и, особенно, электроэнергии. Это удобно для модели предоставления доступа к ИИ через облако: самые сильные модели живут в дата-центрах, доступ к ним регулируется и тарифицируется. И именно под эту модель сейчас делаются многомиллиардные инвестиции.

На этом фоне Альтман называет "пугающим" другой сценарий: если технологии оптимизации и локального запуска ИИ будут стремительно развиваться, то когда-нибудь настанет момент, когда пользователь сможет "запускать AGI на ноутбуке". Тогда вложения в дата-центры окажутся избыточными — для бизнеса это будет значить угрозу планируемой модели монетизации.

https://habr.com/ru/news/962534/
😈17🤔5😁3💯3👏1😨1
Внешние ключи vs ограничения. Многие путают эти понятия

Внешний ключ (foreign key): столбец, который устанавливает связь между двумя таблицами. Обычно реализуется как столбец в одной таблице (post), хранящий значения первичного ключа из другой таблицы (user) для обеспечения связи между ними.

Ограничение внешнего ключа (foreign key constraint): механизм, заставляющий СУБД обеспечивать целостность внешних ключей. Он гарантирует, что значения в столбце внешнего ключа (post→user_id) ссылаются на существующую запись в другой таблице (user→id)

Ограничения — полезное удобство (они поддерживают компонент «C» в ACID), но имеют свою цену: операции вставки, обновления и удаления в таблицах с ограничениями требуют дополнительных вычислительных ресурсов и операций ввода‑вывода для их соблюдения

Их удаление может привести к повышению производительности, но потребует переноса поддержки связей на уровень приложения. Приложения должны гарантировать, что их транзакции всегда оставляют эти связи в корректном состоянии
#sql
❤‍🔥12🤔1
Два типа пользователей Linux
😎39👍8🤔4🤡3👏1