ITmozg @itmozg Channel on Telegram

ITmozg

@itmozg


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

ITmozg (Russian)

Добро пожаловать в официальный канал ITmozg! Здесь вы найдете самые актуальные новости из мира IT, а также полезные материалы для программистов и дизайнеров. ITmozg - это место, где профессионалы и любители технологий собираются, чтобы обмениваться опытом и узнавать о последних тенденциях в сфере информационных технологий. Следите за нашими обновлениями на нашем сайте ITmozg.ru или в нашей группе ВКонтакте (vk.com/itmozg). Присоединяйтесь к нам и станьте частью крупнейшего сообщества IT-специалистов и энтузиастов в России!

ITmozg

21 Nov, 10:11


Добро пожаловать в крупнейшую библиотеку алгоритмов с открытым исходным кодом на GitHub

https://the-algorithms.com/ru

👉 @itmozg

ITmozg

18 Nov, 20:24


Программирование — это вообще не просто!⠀

Идея статьи появилась, когда я начал повсюду замечать якобы подтверждения мифа, что «программирование — это просто».

В новостях «восьмилетняя девочка, которая второй раз в жизни занимается программированием, наклепала чат-бота за 45 минут» (ага, да!).

Курсы предлагают мне за 10 месяцев с нуля стать миддл+ (ага, да!).

Но я-то знаю, как оно на самом деле. Мы, программисты, обычно решаем проблемы и двигаемся дальше, но я решил запротоколировать всё как есть, и в течение пары месяцев скрупулёзно записывал всю ту хрень, что происходила со мной и моими коллегами, чтобы показать программирование без прикрас. Поехали!

https://habr.com/ru/companies/timeweb/articles/840200/

👉 @itmozg

ITmozg

14 Nov, 07:40


Пишем свой собственный текстовый редактор

Это инструкция, которая покажет вам, как создать текстовый редактор на языке C.

Текстовый редактор представляет собой kilo от antirez, с некоторыми изменениями. Это около 1000 строк языка C в одном файле без зависимостей, и в нем реализованы все основные функции, которые вы ожидаете от минимального редактора, а также подсветка синтаксиса и функция поиска.

В этой инструкции вы пройдете путь создания редактора в 184 шага. На каждом шаге вы будете добавлять, изменять или удалять несколько строк кода. На большинстве шагов вы сможете наблюдать за внесенными изменениями, скомпилировав и запустив программу сразу после этого.

https://viewsourcecode.org/snaptoken/kilo/index.html

#cpp

👉 @itmozg

ITmozg

06 Nov, 13:43


Популярные методы аутентификации

🔵 Базовая аутентификация:
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.

🔵Аутентификация с помощью токенов:
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.

🔵 Аутентификация OAuth:
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.

🔵Аутентификация с использованием API-ключей:
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.


👉 @itmozg

ITmozg

27 Oct, 21:29


Пишем Wake-on-LAN сервис на ESP8266 при помощи ChatGPT

Мне нужен простой девайс с веб-страницей, заходя на которую, я смогу будить спящие компьютеры при помощи Wake-on-LAN магического пакета.

Готовые варианты для этой задачи уже есть, но все они имеют недостатки, которые были исправлены в моей версии этого приложения.

О том, как я писал прошивку и веб-страницу через ChatGPT, поведаю далее в статье.

▍ Постановка задачи

Я вижу законченное устройство в коробочке либо в виде USB-флешки.

Обязательно должна быть нормальная система настройки Wi-Fi соединения с лёгкой установкой и сбросом настроек.

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

https://habr.com/ru/companies/ruvds/articles/852876/

👉 @itmozg

ITmozg

22 Oct, 19:00


Прощай Капитан 😢

👉 @itmozg

ITmozg

15 Oct, 21:42


Удаленка под угрозой: зарубежные компании возвращают людей в офисы. Почему это неизбежно затронет Россию?

Иногда кажется, что удаленка была с нами всегда. Хотя массово айтишники начали работать из дома лишь с 2020 года из-за пандемии COVID-19. Тогда говорили, что это временная мера и уже через месяц все вернутся в офис.

Прошло 4 года, пик удаленки позади – работодатели начинают возвращать людей в офисы. Последние, конечно, сопротивляются. Рассказываем, чем мировому бигтеху не угодила удаленка, зачем российские компании стараются заманить людей обратно в офисы и почему удаленка оказалось под угрозой исчезновения.

https://habr.com/ru/articles/849968/

👉 @itmozg

ITmozg

15 Oct, 05:24


C-код в форме пончика, который генерирует 3D вращающийся пончик

👉 @itmozg

ITmozg

13 Oct, 19:44


11 октября 2024 года в возрасте 78 лет умер Уорд Кристенсен, сооснователь первой онлайн-системы BBS и создатель XMODEM.

Уорд Кристенсен создал протокол передачи файлов для отправки бинарных компьютерных файлов через модемные соединения, который был просто назван MODEM.

Позднейшие улучшения программы привели к смене названия на знакомый всем XMODEM.

Успех этого проекта вдохновил на дальнейшие эксперименты. Кристенсен и Сюсс увлеклись идеей создания компьютеризированного автоответчика и центра сообщений, который позволял бы пользователям звонить со своими тогда новыми модемами и оставлять объявления о предстоящих встречах.

https://mastodon.laurenweinstein.org/@lauren/113300835222615766

👉 @itmozg

ITmozg

07 Oct, 12:23


Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга

Однажды в тёмном-тёмном городе, в тёмном-тёмном подвале, очередной обезумевший контентмейкер за паяльной станцией подключал программатор к умному термосу.

Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+.
Человек бредил. Раз в пару минут его глаза загорались и он издавал душераздирающий крик: «Если что-то существует, то на этом можно запустить Doom!».

https://habr.com/ru/users/CodeDroidX/publications/articles/

👉 @itmozg

ITmozg

28 Sep, 13:35


Как жить и работать при нарушениях внимания?

Щёлк — я обнаруживаю себя за просмотром ролика на YouTube, в котором музыкант рассказывает, как ухаживать за флейтой из сушёной тыквы. Как я оказался здесь?! Зачем? На мгновение я пугаюсь того, что не могу вспомнить, каким образом попал на этот ролик. Я ведь не планировал узнавать про эти флейты и вообще сел работать. Холодок пробегает по коже.

Пытаюсь размотать предысторию, пройти путь своих блужданий обратно. Листаю историю браузера и вижу, что это уже третий по счёту ролик, а до этого я был на вкладке с «Авито». И тут понимаю, как это произошло. Я сел работать и на мгновение решил заглянуть на сайт по продаже вещей, посмотреть, есть ли сообщения, и там залип на странице с предложенными товарами, среди которых была эта самая флейта. Мне стало интересно, я полез сначала на Википедию, потом на YouTube. Ну нужно же послушать, как она звучит… Вот небольшой пример того, как живётся людям с неустойчивым вниманием.

https://habr.com/ru/companies/ruvds/articles/845556/

👉 @itmozg

ITmozg

27 Sep, 09:01


Начинаете карьеру технического писателя? Хотите понять, что такое API и SDK и как они работают?

Ждем вас на открытом вебинаре 1 октября в 20:00 мск, где мы разберём:

- что такое API и как он устроен;
- архитектурный стиль REST и формирование HTTP-сообщений;
- основы работы с SDK и визуализацией.

Встречаемся в преддверии старта курса «Технический писатель». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cBsFhL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

ITmozg

21 Sep, 09:31


70 лет назад в этом месяце исследователи запустили первую программу на языке FORTRAN, что считается началом программирования общего назначения.

👉 @itmozg

ITmozg

17 Sep, 05:12


Unix на работе. Часть вторая, программная

В этой части раскрываю тему программного обеспечения «которого нет» под ОС, которые «не нужны». Что есть, чего нет, где брать и что со всем этим делать.

https://habr.com/ru/articles/843280/

👉 @itmozg

ITmozg

16 Sep, 08:11


Unix на работе. Часть первая: Качая железо

Открываю серию статей про реальное повседневное использование Linux и *BSD-систем в качестве основной ОС для работы. И начнем мы с общих принципов и выбора подходящего оборудования.

https://habr.com/ru/articles/841606/

👉 @itmozg

ITmozg

10 Sep, 11:14


Git Merge vs. Rebase vs. Squash Commit

В чем разница?

Когда мы объединяем изменения из одной ветки Git в другую, мы можем использовать «git merge» или «git rebase». Диаграмма ниже показывает, как работают эти две команды.

Git Merge
Эта команда создает новый коммит G’ в основной ветке. G’ связывает историю обеих веток: основной и функциональной.

Git merge — это недеструктивная операция. Она добавляет новый коммит в основную ветку, не изменяя существующие коммиты в обеих ветках.

Git Rebase
Git rebase переносит историю коммитов функциональной ветки на конец основной ветки. Он создает новые коммиты E’, F’ и G’ для каждого коммита в функциональной ветке.

Преимущество rebase в том, что он создает линейную историю коммитов.

Однако будьте осторожны: следуйте золотому правилу Git Rebase — никогда не используйте его на общих ветках, чтобы избежать путаницы среди ваших коллег.

Git Squash Commit
Сквошинг сжимает несколько коммитов в один, упрощая историю коммитов.

👉 @itmozg

ITmozg

03 Sep, 18:03


LeetCode был сложным, пока я не выучил эти 15 паттернов

1. Префиксная сумма
2. Два указателя
3. Скользящее окно
4. Быстрый и медленный указатели
5. LinkedList In-place Reversal
6. Монотонный стек
7. Топ 'K' элементов
8. Перекрывающиеся интервалы
9. Модифицированный бинарный поиск
10. Обход бинарного дерева
11. Поиск в глубину (DFS)
12. Поиск в ширину (BFS)
13. Обход матрицы
14. Обратный поиск (Backtracking)
15. Шаблоны динамического программирования

Я написал подробную статью об этих паттернах и предоставил ссылки на задачи LeetCode с примерами.

https://blog.algomaster.io/p/15-leetcode-patterns

👉 @itmozg

ITmozg

28 Aug, 05:47


Празднуем день рождения на древнем компьютере с BASIC

Этим летом я занимался созданием нового приложения для машины, продажи которой закончились в 1980 году, и которая не была рассчитана на поддержку графики, сети и даже букв в нижнем регистре. Её продавала компания, обанкротившаяся десяток лет назад. Приложение было специально разработано под единственного пользователя — моего отца, которому в позапрошлую пятницу исполнилось семьдесят лет. Представляю вашему вниманию MTS-70.

https://habr.com/ru/companies/ruvds/articles/838592/

👉 @itmozg

ITmozg

24 Aug, 11:38


Как компании доставляют код в продакшн?

Ниже описан типичный процесс доставки программного обеспечения. В разных компаниях используются разнообразные инструменты и среды, поэтому это один из вариантов рабочего процесса, который демонстрирует некоторые общие практики. Подробности могут отличаться в зависимости от организации. Учитывая это, общие шаги выглядят следующим образом:

Шаг 1: Владелец продукта создает требования и пользовательские истории.

Шаг 2: Команда разработчиков определяет приоритеты для историй и организует спринты.

Шаг 3: Разработчики коммитят код в систему контроля версий.

Шаг 4: Сервер автоматизации собирает код и запускает тесты. Проводятся проверки покрытия кода и качества.

Шаг 5: Если сборка успешна, артефакты сохраняются в репозитории артефактов. Сборка затем разворачивается в среде разработчиков.

Шаг 6: Функции тестируются независимо в нескольких изолированных средах.

Шаг 7: Команда QA тестирует функции в средах для контроля качества. Проводятся различные виды тестирования.

Шаг 8: После проверки сборка разворачивается в среде для тестирования пользовательского принятия для окончательной валидации.

Шаг 9: Кандидаты на релиз, успешно прошедшие тестирование, могут быть развернуты в продакшене согласно графику выпуска. Для управления рисками используются фиче-флаги и методы постепенного развертывания.

Шаг 10: Команда по надежности сайта (SRE) мониторит продакшен и сообщает о проблемах. Команды приоритизируют и исправляют проблемы в соответствии с определенными политиками.

👉 @itmozg