Telegram Web
простымисловами: Как «откатить» последний коммит в Git

❗️ Важно. Прежде чем что-то отменять, убедитесь, что понимаете, нужно ли изменять историю и синхронизирован ли ваш коммит с удалённым репозиторием (GitHub, GitLab и т. д.). Для приватных веток это обычно безопасно, но в общей ветке лучше быть осторожным.


Существует несколько способов сделать это. Давайте рассмотрим каждый из них:

1. Вернуть изменения в рабочие файлы, но убрать коммит из истории

Если вы хотите переделать сообщение или добавить файлы, используйте git reset --soft HEAD~1. Он убирает «снимок» последнего коммита, но все ваши изменения остаются в индексе (staging). Дальше можно поправить файлы, написать новое сообщение и закоммитить снова.

2. Убрать коммит из истории, но оставить изменения «распакованными» (не в индексе)

Если нужно сначала ещё раз глянуть на файлы, а потом решать, что с ними делать: git reset --mixed HEAD~1 или просто git reset HEAD~1. Он удаляет последний коммит, а файлы раскладывает в рабочую директорию. Индекс очищен — придётся снова добавлять нужные файлы через git add.

3. Полностью стереть и коммит, и изменения

Если коммит «не тот» и вам не нужны даже изменения: git reset --hard HEAD~1. Он возвращает ветку и рабочую директорию к состоянию до коммита. Восстановить потом будет непросто, поэтому используйте осторожно.

Коммит уже ушёл на сервер (GitHub, GitLab):

а) Историю изменять нельзя (например, в общей ветке)

Используйте «отменяющий» коммит: git revert HEAD. Git создаст новый коммит, который инвертирует изменения последнего. История остаётся линейной, а коллегам не нужно ничего форс-пушить.

б) Историю нужно перезаписать и вы уверены, что можно force-push

git reset --hard HEAD~1
git push --force # или --force-with-lease, чтобы не затереть чужие коммиты


Такой подход стирает коммит на сервере. Договоритесь с командой, чтобы никто не успел на основе старой истории создать новые коммиты.

Чтобы точно избежать проблем, воспользуйтесь этим коротким чек-листом перед «откатом»:

1. Проверьте, пушили ли вы коммит.
2. Выберите подходящее действие:
reset --soft — оставить всё в индексе;
reset --mixed — убрать из индекса, но сохранить файлы;
reset --hard — удалить всё;
revert — отменить «по-честному», если история уже общая.
3. При force-push предупредите коллег!

#git
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Когда строки тормозят: как колоночные базы данных ускоряют аналитику

В традиционных базах данных информация хранится построчно, что затрудняет выполнение сложных запросов на больших объёмах данных. Колоночные базы данных решают эту проблему, храня данные по колонкам, что позволяет:

— ускорить выборки, обрабатывая только нужные колонки;
— эффективно сжимать данные, так как каждая колонка содержит однотипные значения;
— быстро добавлять или удалять колонки без переработки всей таблицы.

Однако стоит учитывать, что обновление и удаление данных в колоночных базах может быть более ресурсоёмким по сравнению со строчными базами.

Подробнее об этом можно почитать в статье, которую недавно выложили в нашей флудилке.

#базыданных #аналитика #производительность
Как превратить аудиозапись встречи в структурированный отчёт с помощью Python и ИИ

Порой после онлайн-встречи сложно вспомнить, кто что сказал и какие задачи были поставлены. В статье представлен пошаговый гайд по созданию Python-приложения, которое:

— распознаёт речь с аудиозаписей с помощью модели Whisper-1;
— извлекает ключевые моменты и задачи, обсуждённые на встрече, используя Claude 3.5 Sonnet;
— формирует структурированный отчёт в формате PDF.

Да, сейчас существуют готовые решения. Но помогут ли они вам прокачать навыки программирования? Вряд ли. А тут используются API BotHub и библиотеки openai, fpdf, dotenv, подробно описан процесс настройки окружения, взаимодействия с API и обработки ошибок. В общем, мастхэв.

#python #ии #продуктивность
2
7 самых нелепых хакерских атак в истории

В мире кибербезопасности не все атаки — дело рук гениев. Иногда злоумышленникам даже не нужно сильно напрягаться. А бывает, что цель взлома настолько тупа, что в это трудно поверить. В этом материале собраны семь самых нелепых хакерских атак:

— взлом казино через термометр в аквариуме;
— загрузка собственных отпечатков пальцев в систему безопасности;
— воспроизведение AC/DC на ядерном объекте Ирана;
— соискатель, взломавший Marriott, чтобы получить работу;
— взлом дорожных знаков с сообщением о нападении Годзиллы;
— «этичный хакер», сливавший данные клиентов;
— кража топлива с АЗС с помощью пульта и пароля «0000».

Какая из этих историй вас удивила больше всего?

#кибербезопасность #хакеры
🔥4
Forwarded from Веб-страница
Как выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ

Можно ли выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ? Узнали у экспертов, какими источниками пользоваться, чтобы начать карьеру во фронтенде: https://tproger.ru/articles/kak-besplatno-vyuchit-html-i-css

#фронтенд
🔥42🌭1
Гайд: Как использовать ChatGPT, чтобы стать программистом

Если вы только начинаете путь в разработке, ощущение «не понимаю ничего» может преследовать каждый день. Иногда нужен кто-то, кто объяснит проще, подскажет, где ошибка, и не осудит за глупый вопрос.

В этой статье — о том, как использовать ChatGPT в обучении программированию с умом.

Что спрашивать? Как ставить задачи? Чем он может заменить ментора, а в чём точно не стоит полагаться на ИИ?

Практичные советы, примеры и важные нюансы, которые помогут использовать нейросеть не просто как генератор кода, а как учебный инструмент.
3😁21
Пугающая типизация
🤣18😁62
Конец эры ручного кода: как вайб-кодинг изменит ИТ–индустрию

Сегодня программирование меняется — и на глазах. Всё больше задач берут на себя ИИ-ассистенты: они предлагают куски кода, исправляют баги, тестируют.

Вайб-кодинг — это не модный термин. Это новый способ писать код, когда разработчик задаёт направление, а ИИ дописывает детали. Это может кардинально изменить и то, как мы учимся, и то, как строим карьеру в IT.

В материале — размышления о том:

— как изменится роль начинающих разработчиков;
— почему важно не терять контроль над кодом, даже если его пишет нейросеть;
— какие новые навыки становятся важнее, чем знание синтаксиса наизусть.

Для тех, кто только входит в профессию, это не повод паниковать, а шанс адаптироваться раньше других.

#вайбкодинг #будущееразработки #ai
🥰3😁3👎1
Regexp Garden: учим RegEx играя в сад

Регулярные выражения часто кажутся страшными, но это зря. Этот интерактивный мини-гейм помогает учиться RegEx, словно поливать нужные растения в саду:

— вы получаете сад и задачу — например, «полить розы между строк А и Б»;
— вместо того чтобы бежать по всей грядке, вы пишете регулярку, чтобы точно попасть нужные «растения»;
— при каждом шаге даётся подсказка и объяснение, так что вы постепенно учитесь понимать синтаксис.

Сделано на React / Next.js, опенсорсно и доступно всем. Идеально тем, кто уже знаком с основами, но хочет использовать RegEx без головной боли.

Открыть игру: https://regexp-garden.madewith.fun/

Код (если захотите внести свой вклад): https://github.com/avfirsov/regexp-garden

#regex #обучение #игрыдляразработчика
2👍1🔥1🥰1
Hacksplaining: учимся кибербезопасности через реальные атаки

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

Идеально, если вы имеете хоть какой-то опыт программирования и хотите понять, какие дыры реально ломают сайты и как их закрыть.

#безопасность #тренажер
😁4
20 игр, которые научат программированию

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

CodeCombat — RPG, где нужно использовать различные ЯП, чтобы проходить уровни, головоломки и сражаться с врагами.

Ruby Warrior — игрок управляет воином, который проходит различные уровни. Управлять персонажем можно только на Ruby.

Untrusted — управляете персонажем и решаете головоломки через Java.

Check IO — здесь предлагается решать различные задачки с помощью Python или TypeScript. Тут также есть возможность соревноваться с другими игроками.

Dungeons & Developers — здесь нужно путешествовать по пещерам и выполнять задания, связанные с HTML, CSS и JavaScript.

Ещё больше игр в подборке.

@prog_point
👍72
Бэкенд без боли: что нужно знать фронтендеру

Вы начали разбираться во фронтенде, уже пишете интерфейсы и подключаете данные. Но тут появляется слово вроде «rate limiting» — и всё, паника.

На этом этапе многим не хватает простой вещи — базового словаря. Понять, что происходит «на той стороне», помогает даже знание пары ключевых терминов.

Этот материал — как мини-гид по миру бэкенда для тех, кто с ним только начинает сталкиваться. Без лишней теории, коротко, по делу, простыми словами. Чтобы не просто копировать чужие fetch-запросы, а понимать, как всё устроено.

#фронтенд #бэкенд
3🔥2
А как вы решили стать айтишником? Пишите в комментарии
🔥12👌9😁1👻1
Как компьютер хранит звук

Если хранить текст, изображения и даже мысли (в виде того же текста) человек научился давно, то со звуком долгое время были проблемы. В 19 веке Томас Эдисон изобрел фонограф — первое устройство для записи и воспроизведения звука. Записывало оно с помощью фиксации вибраций от звуковой волны сначала на фольге, а затем на воске.

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

#видео
👍4
☕️ Java-интервью без паники: один репозиторий — весь фундамент

Когда вы готовитесь к собеседованию, важна не только практика, но и быстрое освежение теории. Этот репозиторий — как шпаргалка по всему, что может спросить интервьюер на Java-собеседовании:

— чётко структурированная информация по коллекциям, потокам, JVM, сборке мусора, сериализации, аннотациям и другим ключевым темам;
— всё кратко, по делу, с примерами;
— подходит не только для подготовки, но и для регулярного повторения.

#java #шпаргалка
🔥1
Точка входа в программирование
Делаем полностью автоматизированное онлайн радио с AI-ведущими и музыкой Такой проект уже реализовал автор этой статьи. Теперь он делится им с нами. Кажется, это отличная возможность сделать что-то классное, избежав кучи ошибок и обойдя подводные камни. Детальной…
От идеи до платформы: полгода разработки собственного AI радио

В одном из прошлых постов мы рассказывали о проекте AI-радио с нейросетевым диджеем, музыкой и автоматизацией всего на свете. Так вот, у этой истории появилось продолжение — и оно куда масштабнее.

Автор прошёл путь от любительского AI-радио до полноценной медиа-платформы, которая генерирует, собирает и транслирует контент почти без участия человека. Всё работает на микросервисах, Docker, Kubernetes, нейросетях и здоровой одержимости. В статье — честный разбор, как за 6 месяцев вырастить пет-проект до настоящей системы.

#ии #петпроекты
Forwarded from Веб-страница
CORS от А до Я: как не ломать фронт ради бэкенда

Ошибка CORS — один из самых частых стоперов на стыке фронта и API. В статье по шагам разбирается, зачем вообще нужен механизм Cross-Origin, какие бывают типы запросов, как устроен preflight и в чём чаще всего ошибаются разработчики. Плюс — готовые конфиги для разных серверов, чтобы настроить CORS правильно с первого раза.

#cors
2
2025/07/08 21:47:47
Back to Top
HTML Embed Code: