101010.pl is one of the many independent Mastodon servers you can use to participate in the fediverse.
101010.pl czyli najstarszy polski serwer Mastodon. Posiadamy wpisy do 2048 znaków.

Server stats:

501
active users

#softwaredevelop

0 posts0 participants0 posts today

Всегда есть дефицит наглядных примеров по вопросу rebase vs. merge.
Для убеждения заблудших можно использовать такую публикацию «Чем опасен rebase, или как получилось, что 2*3=5»

Поскольку другие публикации на схожую тематику водянисты, расплывчаты и вообще TL;DR.

Да обрящут заблудшие разум, да не истощится терпение взразумляющих :)

#git #software #SoftwareDevelop #программирование #разработка #programming @russian_mastodon @ru @Russia

ХабрЧем опасен rebase, или как получилось, что 2*3=5Однажды старший программист Антон искал причину очередного бага в очень важном проекте компании: git bisect start git bisect bad git bisect good … В компании использовали rebase, история коммитов была...

Открытие Эндрю Крапивина о хеш-таблицах и микро-указателях?
Чисто гипотетически, может и актуально, но лишь в чистой и голой computer science теории.
На практике же полно нюансов реализации, сводящихся к оптимизациям конкретных аппаратных платформ.

Например, есть #SwissTable известные с 2018 года, недавно #Golang перешёл на них (с версии 1.24). И до него на SwissTable перейти успел #Rust.

Хеш-таблицы Google SwissTable и Facebook F14 примерно одинаковые, одно лишь вариант другого.

Идея оптимизации работы вокруг использования #SIMD инструкций для поиска занятых ячеек и проверки ключа. И в тотально подавляющем большинстве случаев хватает одной проверки блока из восьми элементов.

Надо ещё много раз поиграться с вариантами реализации какой-либо идеи из чистого computer science. Посмотрев как оно ложится на аппаратную платформу сродни x86-64.

  1. Есть prefetching памяти и работа с ОЗУ идёт через загрузку целиком всей cache line в ЦПУ, даже при обращении на чтение лишь к одному значению в пару байт.

  2. Предыдущий пункт не только про cache misses, но и «локальность данных». Как повышающую производительность, так и приводящих к false sharing при многопоточном использовании структуры данных.  

  3. Необходимо учитывать и размер страницы виртуальной памяти, чтобы снизить «давление» на TLB и уйти от TLB miss.

Для пример, в нагруженных системах используется донастройка системы на huge pages, например, все кто используют модный #DPDK сам по себе или с каким-нибудь #Seastar:

  • Выбравшие не оригинальную #Kafka, а её более производительный аналог #RedPanda.
  • Использующие вместо Apache #Cassandra более производительную #ScyllaDB

Голая теория computer science это хорошо и замечательно, но практика омерзительна свой приземлённостью. Прямой проход перебором по небольшому массиву оказывается быстрее, чем использование binary search tree. И совершенно не важно какого именно красно-чёрного или же АВЛ.

Это не вопрос ретроградства и вызова 40-летней теории :)

#software #SoftwareDevelop #программирование #разработка #programming @russian_mastodon @ru @Russia

idealists.suAkkoma

Неплохо рассказывается что добавить в свой:
~/.gitconfig

https://blog.gitbutler.com/how-git-core-devs-configure-git/

Много разных полезностей, такого рода как

  • Чтобы теги автоматом синхронизировались.
  • Список веток отображался по свежести коммитов.
  • Перемещение кода отображалось разными цветами.
  • Выявление был ли файл переименован.
  • Префиксы в diff откуда пришло различие.
  • Алгоритм вычисления разности коммитов.
  • Автоматом разруливать «has no upstream branch».
  • Дописывать чутка сведения в конфликты.
  • Индексирование файлов для ускорение status.

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

#git #software #SoftwareDevelop #программирование #разработка #programming @russian_mastodon @ru @Russia

GitButler · How Core Git Developers Configure GitWhat `git config` settings should be defaults by now? Here are some settings that even the core developers change.