TG Telegram Group Link
Channel: Dev Tools
Back to Bottom
​​DeepGit: refs

Блок 1

В крайней статье, мы смогли построить полноценное дерево коммитов.
Была единственная проблема в том, что нам надо было передать hash последного коммита.

В папке .git/refs хранятся файлы которые хранят в себе хеш коммита.
Чтобы создать референс в git нужно сделать следующее:
  echo "<hash>" > .git/refs/heads/<name> 

Ну или используя более безопасное решение:
 git update-ref refs/heads/<name> <hash>

Теперь вместо просмотра дерева через
git log <commit-hash>
мы можем использовать
git log master .

Базовый функционал ссылок это и есть наши git branches.
Для того что-бы "создать" ветку, достаточно просто связать ее название с крайним хешом коммита.
Через крайний хеш коммита уже можно воссоздать полностью дерево.
​​DeepGit: HEAD

Забыл в последней статье упомянуть про HEAD.
В файле .git/HEAD лежит ссылка на рефернс.

 09:32:21 in tmp/git_/first on  master •99%
➜ cat .git/HEAD
ref: refs/heads/master


С помощью команды

 git symbolic-ref HEAD refs/heads/<branch_name>


Можно ставить HEAD.

Теперь можно полностью понять как работает git checkout <branch> .

  cat .git/HEAD
cat <ref_path>
git cat-file -p <commit_hash>
git cat-file -p <tree_hash>


И дальше уже проходим по blob-ам, и записываем туда версии.

P.S Это весьма топорная реализация git checkout , на самом деле все работает немного иначе.
Впереди нас еще ждет статья про pack файлы и про то, как git оптимизирует хранение файлов.
​​Themer

Я обожаю инструменты для стилизации своего рабочего окружения.
У меня кастомные темы в tmux, pycharm, chrome, итд.
На themer можно создать общую тему для кучи разных платформ.
Вроде slack, tmux, brawe, chrome,vim, vscode итд.
​​Git unstaged diffs

Недавно наблюдал как знакомый использовал
 git diff | git apply --reverse

Для того чтобы убрать unstaged diffs в git.
Для этих целей пользую обычно
 git stash
или иногда
 git checkout . 

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

Как ты обычно чистишь ненужные изменения? Может есть еще какие-то варианты?
Го в наш чат - @developer_tools_chat
​​qart.js - прикольный инструмент на js, который генерирует qr код поверх любой картинки.
​​Brave, Bat и при чем тут черное зеркало

Basic Attention Token или Bat - продукт по рекламному продвижению на базе крипты.
Я давно смотрел в сторону Brave, но как-то не доходили руки разобраться в чем там дело.
- Внутренний adblocker
- Tor
- Bat

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

Из важного: ваши данные никогда не покидают ваш девайс, вся аналитика происходит исключительно на вашем пк без отправки ее на сервера.
​​gh

gh cli - после многочисленных реализаций cli для github-a, он решил выпустить свой.
На странице в гитхаб его сравнивают с hub.

Ссылка.

Попробов, я не нашел ничего нового.
Просмотр задач, пр и прочее уже все давно написано.

gh cli неплохой вариант если не пользуете никакой врапер на гитом.
Особо причин переходить на него не вижу.

Надеюсь в дальнейшем для него сделают что-то уникальное.
​​Codespace VS Gitpod

Github запустил регистрацию на ранний доступ к браузерной IDE на базе VSCode - Codespaces.
Мне раньше не приходилось натыкаться на браузерные IDE, потому считал Codespaces - новинкой на рынке.
Оказалось что довольно давно и успешно существуют решения вроде GitPod.

Как получу доступ к Codespaces смогу сделать сравнение этих двух IDE.

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

Думаю Codespace станет просто красивой оберткой над уже существующими возможностями Github-a.

Что думаете по поводу браузерных IDE? Есть у них будущее? Зачем они нужны?
Го в чат -> https://hottg.com/developer_tools_chat
​​Довольно часто получаю фидбек по каналу.
Спасибо всем кто пишет критику и рекомендации.

Периодически приходят просьбы об изменении формата видео.

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

Обсудить канал, как всегда, можно в чате или написав мне в личку: @bogbel .

А поддержать молодого инфлюенсера(меня) можно
через ЯндексДеньги по ссылке: https://money.yandex.ru/to/410017713757333
или
Монобанк: 4441114444687642
(Может когда-то доберусь до патреона, но это не точно)

Надеюсь канал вам по душе и вы черпаете от сюда что-то полезное)

P.S. Проголосуйте плз за формат видео который вам зашел больше.
​​NoCoin no Profit?

Перебирая материал на канал наткнулся на репозиторий NoCoin.
NoCoin - браузерное расширение которое блокирует майнинг крипты на сайтах.
Конкретно он уже не работает, как и сайт с майнерами на который он ссылался (Coinhive),

Майнинг происходит c помощью js скрипта который запускается при загрузке страницы и начинает садить вам CPU пока вы находитесь на странице.
 <script src="https://coin-hive.com...coinhive.min.js">
<script>
var miner = new CoinHive.Anonymous('token');
miner.start
</script>


Сейчас есть решения вроде coinimp и crypto-loot.
На сайтах они позиционируются как альтернативная монетизация сайта.
Что вы думаете по этому поводу?
Как вы относитесь к тому что сайт майнит крипту за ваш счет?
​​ElasticSearch Head

Браузерное расширение со сносным UX, которое позволяет работать с кластером невыходя из браузера.
В доступности:
- построение запросов через фильтры с плашками ;
- написание ручных запросов;
- работа с индексами.

UX как по мне - кошмар, но лучшего решения я не нашел.

github
​​gitql - очень странный микс sql и git.
Позволяет делать sql запросы по дереву коммитов.

 select * from commits 

 select author, date from commits where "diff" in full_message 

Незнаю зачем, но если писать запросы sql для вас привычнее чем интерфейс git - вот ссылка.
​​«Появились картинки, которые выводят Android-смартфоны из строя»

Эта новость завирусилась в куче телеграмм каналов, техноблогов, а началось все с поста в твитер.

 На некоторых андроид устройствах эта картинка крашит телефон

Вот ссылка на картинку: https://drive.google.com/file/d/11rxzYvPcIOh_8GvS4XSC3YtbW3CecE-O/view

Проблема, скорее всего, в невозможности представить некоторые цвета в RGB цветовой модели.

Баг уже был зарепорчен в android support и было написано решение.

 int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);
Стало
 int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);
if (y > 255) y = 255;

Пока разработчики ответили что решат проблемы самостоятельно.

Что думаете по поводу такого формата?
Чат - https://hottg.com/developer_tools_chat
​​lazygit

simple terminal UI for git commands

lazygit - консольный UI для git.
В целом неплохо.
Тут легко можно добавлять файлы, смотреть дифы по файлам, решать конфликты, сквошить итд.

Я часто пользую UI интрументы для решения конфликтов в git, тут это делать не сложно.

Если смотрите cli для git - lazygit неплохой вариант.
​​npkill

remove old and heavy npm modules

npkill - инструмент для удаления npm пакетов.
Я не особо пользуюсь npm и js, но когда записываю статьи то часто устанавливаю какие-то пакеты.
В npkill их легко посмотреть и удалить.
Из плюсов - можно не ставить его в систему, а просто запустить через
 npx npkill

Максимально удобный инструмент для своих целей.
​​hstr - от англ. history, инструмент для просмотра истории команд.

Я просто довольно крепко врос в fzf, и потому даже не беру обычно на обзор альтернативы)
Из плюсов hstr
- очень прост в пользовании
- сравнительно с fzf проще ставится в систему
- огромный список поддерживаемых систем

В плане UX - ничего нового, дело вкуса.
​​fkill

Fabulously kill processes

fkill - cli для "убийства" процессов.

Я раньше пользовался связкой fzf + kill -9 но альтернатива в виде npm пакета выглядит свежо и красиво.

Рекомендую попробовать.
​​Rocket Redis

Первый на моей памяти UI для редиса.

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

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

Cross-platform Text Expander written in Rust

Меня, как дикого любителя шорткатов, расширений и прочего очень заинтересовал проект Espanso.

Espanso читает твой текст с клавиатуры и, когда ты вводишь кейворд, ранит какой-то скрипт.

Красивые примеры есть на сайте.

Но, как оказалось, я весьма устарел сидя на 16 убунте. Относительно свежий openssl 1.1 не становится мне в систему.

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

Что думаете по поводу таких софтов?
Го в чат -> @developer_tools_chat
HTML Embed Code:
2025/07/02 01:48:35
Back to Top