uz
Feedback
Merion Academy

Merion Academy

Kanalga Telegram’da o‘tish

Самое важное про IT на доступном языке. Сотрудничество: @olegpohl Служба поддержки: https://t.me/merion_academy_bot

Ko'proq ko'rsatish
9 002
Obunachilar
+324 soatlar
Ma'lumot yo'q7 kun
+7430 kun
Obunachilarni jalb qilish
Okt '26
Oktabr '26
+27
0 kanalda
Sentabr '26
+191
0 kanalda
Get PRO
Avgust '26
+197
0 kanalda
Get PRO
Iyul '26
+147
0 kanalda
Get PRO
Iyun '26
+267
0 kanalda
Get PRO
May '26
+265
0 kanalda
Get PRO
Aprel '26
+274
0 kanalda
Get PRO
Mart '26
+184
0 kanalda
Get PRO
Fevral '26
+255
0 kanalda
Get PRO
Yanvar '26
+206
0 kanalda
Get PRO
Dekabr '25
+238
0 kanalda
Get PRO
Noyabr '25
+482
5 kanalda
Get PRO
Oktabr '25
+252
0 kanalda
Get PRO
Sentabr '25
+173
0 kanalda
Get PRO
Avgust '25
+217
0 kanalda
Get PRO
Iyul '25
+242
0 kanalda
Get PRO
Iyun '25
+246
0 kanalda
Get PRO
May '25
+222
0 kanalda
Get PRO
Aprel '25
+248
1 kanalda
Get PRO
Mart '25
+250
1 kanalda
Get PRO
Fevral '25
+237
0 kanalda
Get PRO
Yanvar '25
+271
0 kanalda
Get PRO
Dekabr '24
+159
0 kanalda
Get PRO
Noyabr '24
+310
0 kanalda
Get PRO
Oktabr '24
+270
0 kanalda
Get PRO
Sentabr '24
+407
0 kanalda
Get PRO
Avgust '24
+335
0 kanalda
Get PRO
Iyul '24
+346
0 kanalda
Get PRO
Iyun '24
+270
0 kanalda
Get PRO
May '24
+255
0 kanalda
Get PRO
Aprel '24
+337
0 kanalda
Get PRO
Mart '24
+240
0 kanalda
Get PRO
Fevral '24
+346
3 kanalda
Get PRO
Yanvar '24
+819
22 kanalda
Get PRO
Dekabr '23
+180
0 kanalda
Get PRO
Noyabr '23
+313
0 kanalda
Get PRO
Oktabr '23
+238
0 kanalda
Get PRO
Sentabr '23
+391
0 kanalda
Get PRO
Avgust '23
+499
0 kanalda
Get PRO
Iyul '23
+196
0 kanalda
Get PRO
Iyun '23
+133
0 kanalda
Get PRO
May '23
+65
0 kanalda
Get PRO
Aprel '23
+40
0 kanalda
Get PRO
Mart '23
+51
0 kanalda
Get PRO
Fevral '23
+118
0 kanalda
Get PRO
Yanvar '23
+37
0 kanalda
Get PRO
Dekabr '22
+37
0 kanalda
Get PRO
Noyabr '22
+45
0 kanalda
Get PRO
Oktabr '22
+55
0 kanalda
Get PRO
Sentabr '22
+56
0 kanalda
Get PRO
Avgust '22
+51
0 kanalda
Get PRO
Iyul '22
+70
0 kanalda
Get PRO
Iyun '22
+67
0 kanalda
Get PRO
May '22
+46
0 kanalda
Get PRO
Aprel '22
+46
0 kanalda
Get PRO
Mart '22
+61
0 kanalda
Get PRO
Fevral '22
+28
0 kanalda
Get PRO
Yanvar '22
+32
0 kanalda
Get PRO
Dekabr '21
+34
0 kanalda
Get PRO
Noyabr '21
+43
0 kanalda
Get PRO
Oktabr '21
+38
0 kanalda
Get PRO
Sentabr '21
+40
0 kanalda
Get PRO
Avgust '21
+45
0 kanalda
Get PRO
Iyul '21
+39
0 kanalda
Get PRO
Iyun '21
+25
0 kanalda
Get PRO
May '21
+1 079
0 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
06 Oktabr+4
05 Oktabr+4
04 Oktabr+5
03 Oktabr+10
02 Oktabr+1
01 Oktabr+3
Kanal postlari
Если запрос из Node.js зависает слишком долго, то ставим дедлайн Если проект использует встроенный fetch, укажи таймаут через AbortSignal.timeout: const res = await fetch(url, { signal: AbortSignal.timeout(5000) }); Через 5 секунд сигнал отменит запрос. Ошибку всё равно нужно обработать: таймаут — ожидаемый сценарий при работе с сетью, а не повод ронять весь обработчик. try { const res = await fetch(url, { signal: AbortSignal.timeout(5000) }); if (!res.ok) throw new Error('HTTP ' + res.status); } catch (err) { console.error('Запрос не выполнен:', err); } Важно: таймаут ограничивает ожидание на стороне клиента; он не обещает, что сервер прекратит уже начатую работу. Есть ли таймауты у внешних API, от которых зависит ваш сервис?

2
Разгадка пятничного кейса 🐸 Одна из вероятных причин – в зависимости useEffect попал объект или функция, которые создаются з
Разгадка пятничного кейса 🐸 Одна из вероятных причин – в зависимости useEffect попал объект или функция, которые создаются заново на каждом рендере. Эффект делает запрос → ответ меняет state → новый рендер создаёт новую зависимость → эффект снова делает запрос. Проверка: сравнить значения зависимостей между рендерами и временно заменить составную зависимость на стабильный примитив, например status или page. Если цикл исчез, источник найден. В реальном проекте возможны и другие причины; одних 150 запросов для точного диагноза мало. А теперь короткая ловушка Python: def add(x, items=[]): items.append(x) return items Что вернут подряд add(1) и add(2)? Список по умолчанию создаётся один раз при определении функции: ответы будут [1] и [1, 2]. Безопасный шаблон: def add(x, items=None): if items is None: items = [] items.append(x) return items И в React, и в Python - всё решает момент создания значения.
987
3
React отправляет запрос дважды? Сначала проверь причину 🐸 В разработке StrictMode может дополнительно запускать setup и cleanup эффекта. Это помогает заметить эффекты, которые нельзя безопасно повторить. В production такое дополнительное выполнение из-за StrictMode не происходит. Но если запрос повторяется при каждом рендере, посмотри на зависимости: const filters = { status: 'open' }; useEffect(() => { load(filters); }, [filters]); Объект filters создаётся заново при каждом рендере. Для React это новая зависимость. Вынеси постоянное значение за пределы компонента или используй примитивные зависимости: useEffect(() => { load(status); }, [status]); И ещё: эффекту с запросом полезна отмена через AbortController, чтобы старый ответ не перезаписал свежий. Сохрани пост на случай, когда в Network вдруг появятся одинаковые запросы. В пятницу вернёмся к этой теме уже в формате расследования.
1 263
4
Пятничная загадка: кто размножил запросы? После небольшой правки React-страница стала открываться 8 секунд. Backend отвечает за 50 мс, база — за 20 мс, ошибок нет. В DevTools - около 150 одинаковых запросов к /api/items. Факты расследования: • проблема воспроизводится и в production-сборке; • запрос запускается внутри useEffect; • массив зависимостей эффекта заполнен; • после каждого ответа компонент обновляет состояние; • если убрать обновление состояния, шквал запросов прекращается. Почему запрос запускается снова и снова? 👀 - виноват StrictMode: он дублирует запросы и в production 🔥 - в зависимостях эффекта есть объект или функция, которые создаются заново при каждом рендере 🤔 - браузер автоматически повторяет запрос, пока не получит ответ из кэша Разгадка - в понедельник.
1 466
5
Задачка с собеса: почему список в React «путает» состояние строк? 🐸 Есть список задач. У каждой строки – поле ввода. Ты сорт
Задачка с собеса: почему список в React «путает» состояние строк? 🐸 Есть список задач. У каждой строки – поле ввода. Ты сортируешь список, и текст из первой строки внезапно оказывается у другой задачи. Данные в API правильные. Где ошибка? Частая причина – key={index}. После сортировки индекс остался на позиции, а задача на этой позиции уже другая. React переиспользовал компонент и его локальное состояние. Исправление: key={task.id} – стабильный идентификатор самой задачи. Он должен быть уникален среди соседних элементов и не меняться при сортировке. На собеседовании за этим обычно спрашивают дальше: где хранить состояние, когда нужен useEffect, как обрабатывать формы и запросы к API. Эти темы разбираются на курсе «Frontend-разработка на React»: компоненты, JSX, состояние, события и работа с API. ➡️ Программа курса и бесплатная часть по ссылке
1 536
6
х
1
7
Мы тут с последним напоминанием До конца закрытой акции Merion Academy осталось всего 5 часов. Если присматривал курс себе или хотел отправить ссылку другу, сейчас последний момент. Сегодня скидки доходят до 70%, а после полуночи акция закончится. Предложение действует только для участников нашей группы и их друзей. Успеть выбрать курс со скидкой
1 488
8
Сделал `git reset` и «потерял» коммит? Проверь reflog 🐸 git log показывает историю текущей ветки. git reflog показывает, куда двигался HEAD локально, в том числе после reset и rebase. План спасения: git reflog -n 10 найди хеш нужного состояния, затем: git switch -c rescue <хеш> Теперь у тебя отдельная ветка с найденным коммитом. Проверь её через git log --oneline -5 и только потом решай, переносить ли коммит в рабочую ветку через cherry-pick. ⚠️ Reflog хранится локально и не бесконечно. На другом компьютере этих записей может не быть. Какая команда Git однажды спасла тебе день?
1 490
9
Закрытая акция в честь Большой учительской недели Большая учительская неделя пройдет с 28 сентября по 5 октября. В честь нее мы подготовили специальные скидки для участников нашей группы и их друзей. Скидки действуют только два дня, 29 и 30 сентября. В открытом доступе об этой акции не рассказываем. Предложением могут воспользоваться участники нашей группы и ваши друзья. Скидка 70% на базовые тарифы следующих курсов: • Data Science с нуля • Мобильная разработка на Android • Программирование на Kotlin • Системный аналитик с нуля • Нейросети с нуля • Frontend React • Redis для разработчиков и DevOps • RabbitMQ для разработчиков и DevOps • MongoDB для разработчиков и DevOps • Node.js с нуля • IP-АТС Asterisk с нуля • Сетевые технологии Huawei • GitLab CI/CD с нуля Скидка 60% на базовые тарифы всех остальных курсов. Скидка 50% на все тарифы с наставником. Все скидки рассчитываются от полной стоимости. Промокод: SCIENTIAESTLUX Он уже добавлен во все ссылки, по дефолту вам добавлять руками ничего не нужно, но если вдруг будут трудности, прикрепили, чтобы он был под рукой.
1 597
10
Фронт сломался, в консоли тихо: 3 команды для проверки API Страница не загружает данные? Проверь API напрямую через терминал. 1. Узнать статус ответа curl -I https://site.ru/api/users Покажет статус и заголовки. 404 — ошиблись в адресе, 401 или 403 — проблема с доступом, 500 — упал сервер. 2. Проверить, сколько отвечает сервер curl -sS -o /dev/null -w "HTTP %{http_code} | %{time_total}s\n" https://site.ru/api/users Увидишь код ответа и общее время запроса. Если API отвечает несколько секунд, фронт здесь ни при чём. 3. Посмотреть запрос целиком curl -v https://site.ru/api/users Команда покажет соединение, отправленные заголовки, редиректы и ответ сервера. Удобно, когда браузер пишет только Failed to fetch. Если запрос работает в терминале, но падает в браузере, дальше проверь CORS, cookie и заголовок авторизации.
1 676
11
Процесс завис, что "убивать"? kill не сработал, kill -9 кажется грубым, а какой именно PID мешает - непонятно Собрали, как разбираться с процессами в Linux: • найти виновника через ps и pgrep, • понять разницу между kill, kill -9 и killall, • отправить задачу в фон и вернуть обратно, • не потерять запущенное при обрыве SSH. В статье простым языком: какие сигналы существуют, почему -9 это последнее средство и зачем нужен screen. 👉 Полная статья тут
2 346
12
Подключайтесь, вебинар начался https://www.youtube.com/live/nkxrGD4dqVY?si=QuXRU5BznwnnM4e5
2 285
13
Лягушата, сегодня в 19:00 по МСК начинаем наш вебинар – «Рынок IT сломался - куда идти прямо сейчас». Трансляция будет на Youtube. Ссылку скинем сюда, когда начнется.
2 170
14
Поднимаешь стек из пяти контейнеров руками и каждый раз заново? docker run с десятью флагами, потом ещё один, потом сеть между ними - и всё это снова после перезагрузки Собрали, как это делается через docker-compose: • один файл вместо простыни команд, • зависимости между сервисами: база поднимается раньше приложения, • переменные окружения и тома, чтобы данные не терялись, • запуск и остановка всего стека одной командой. 💡 В статье простым языком: структура compose-файла, самые нужные директивы и грабли, на которые наступают все. 👉 Полная статья тут: https://wiki.merionet.ru/articles/nastrojka-i-ispolzovanie-docker-compose?utm_source=tg&utm_medium=own
2 327
15
Задачка с собеса: в сети завёлся хост, который каждые 10 минут стучится на незнакомый адрес. Твои действия? 🐸 Самый частый ответ - «заблокировать». И самый неудачный: заблокируешь - потеряешь возможность понять, что вообще происходило. Порядок примерно такой: • кто это физически - по MAC и логам DHCP найти конкретное устройство, а не «айпишник в сети» • куда стучится - whois, обратная зона, репутация адреса. Иногда это просто телеметрия вендора • чем стучится - снять трафик и посмотреть: шифровано, сколько данных, в какую сторону их больше • когда началось - логи файрвола за месяц. Важно не «сейчас», а «с какого дня» • кто ещё - один хост это инцидент, десять это уже кампания Второй вопрос собеса: а если это принтер? Или камера? Или, как в загадке на прошлой неделе, термометр в аквариуме? Третий, самый неудобный: как докажешь, что данные утекли, а не просто устройство пинговало обновления? Вот это и есть работа безопасника - не «знать, что бывают утечки», а уметь разложить инцидент по шагам. Разбираем в курсе «Кибербезопасность»: атаки и их механика, защита периметра и сети, разбор инцидентов. Если интереснее со стороны атакующего - есть «Этичный хакинг»: Kali Linux, типовые уязвимости, своя лаборатория. У обоих доступна бесплатная часть курса. ➡️ Кибербезопасность ➡️ Этичный хакинг
2 298
16
Разгадка пятничного чгк Внутрь просто не пускало. Электронные пропуска и системы доступа работали через ту же инфраструктуру, которая легла. А сам сбой начался с плановой проверки: выполнили команду, чтобы оценить доступность сети, и она вырубила соединения между дата-центрами. Дальше сработала автоматика - серверы, отвечающие за адреса, решили, что они «нездоровы», и убрали свои маршруты из интернета. Соцсеть исчезла с карты мира. Речь про Facebook и 4 октября 2021 года. Шесть часов простоя. Отдельно жаль тех, кто в тот день объяснял руководству, что войти в систему нельзя, потому что нельзя войти в систему 🐸 А у тебя доступ к инфраструктуре зависит от той же сети, что может упасть? 😱 - конечно, а как иначе 🤓 - есть отдельный канал, мы не первый день живём 👇 Жмите на реакцию
2 133
17
Время пятничной загадки. Крупнейшая соцсеть мира пропадает из интернета целиком. Не тормозит - её просто нет: сайт, приложение, мессенджер, всё. Инженеры примерно понимают, что случилось. Проблема в том, что они не могут ничего сделать: внутренние системы лежат вместе со всем остальным, потому что зависят от той же сети. Тогда несколько человек садятся в машину и едут в дата-центр чинить руками. Приезжают. И тут их ждёт следующий сюрприз. Вопрос: что пошло не так на месте? 👀 - у дежурной смены не было прав на нужное оборудование 🔥 - двери не открывались: пропускная система тоже работала через упавшую сеть 🤣 - нужный шкаф был заперт, а ключ - у сотрудника в отпуске 👇 Жми на реакцию, разгадка в понедельник
2 535
18
Ребят, привет. 23 сентября в 19:00 проводим бесплатный вебинар «Рынок IT сломался - куда идти прямо сейчас». Разберём, что происходит с наймом и вилками, что забрал ИИ, а что нет, и в какую нишу заходить сейчас. Вебинар проведет Никита Карасёв, fullstack-разработчик, сейчас пишет фронт в финтехе, автор курсов в нашей академии. Много лет успешно совмещает работу в IT и жизнь в солнечных странах, а еще он просто интересный собеседник и его опыт может быть для вас полезен. Прийти можно без регистрации. В день вебинара мы пришлем ссылку в канале, но если боитесь пропустить - оставьте почту, пришлём напоминание с ссылкой в день эфира. Ссылка на запись.
2 560
19
Почему нейронка несет чушь с такой уверенностью? А у нас новое видео, про LLM, большие языковые модели. Те самые, которые пиш
Почему нейронка несет чушь с такой уверенностью? А у нас новое видео, про LLM, большие языковые модели. Те самые, которые пишут код, сочиняют стихи и иногда ссылаются на исследования, которых никогда не существовало. Разбираемся, что происходит между твоим вопросом и ответом в чате. Внутри: 🔹 токены, эмбеддинги и трансформеры, объясняем по человечески 🔹 как предсказание следующего кусочка текста превращается в код и стихи 🔹 почему нейронки галлюцинируют и зачем им шпаргалки 🔹 можно ли запустить модель на своем компе и чем ИИ агент отличается от обычного чат бота 👉 Смотреть на YouTube 👉 Смотреть в VK Видео А, и пиши в комменты самую смешную дичь, которую тебе выдавала нейронка 👀
2 402
20
Пять команд, чтобы за минуту понять, что происходит на сервере Не после инцидента, а прямо сейчас. Одинаково полезно, когда «что-то тормозит» и когда тебе просто передали чужой сервер. 1. `ss -tulpn` - кто слушает порты и каким процессом. Современная замена netstat. Первое, на что стоит смотреть на незнакомой машине: почти всегда находится сервис, про который никто не помнит, а он торчит наружу. 2. `lsof -i -P -n` - то же самое, но про уже установленные соединения. Кто, куда и каким процессом прямо сейчас разговаривает. 3. `last` и `lastb` - кто заходил и кто не смог. Вторая показывает неудачные попытки входа. Если на сервере с белым IP их тысячи - это обычный фон интернета, но хороший повод поставить fail2ban. 4. `ps auxf` - процессы деревом, а не списком. Сразу видно, кто кого породил. Скрипт, запущенный из-под веб-сервера, выглядит подозрительно именно здесь. 5. `journalctl -p err -b` - только ошибки и только с момента загрузки. Быстрее, чем листать всё подряд и надеяться на удачу. Бонус: `tcpdump -ni any port 53` - показывает, какие имена машина резолвит в реальном времени. Иногда сразу видно, куда она ходит без спроса. Про tcpdump у нас есть подробный разбор с примерами и фильтрами. А что ты запускаешь первым на незнакомом сервере? 😱 - htop, посмотреть глазами 🤓 - сразу в логи 👇 Жмите на реакцию
2 398