GIT commit NPE
95 subscribers
298 photos
5 videos
36 links
Кодинг, linux, git, SQL, regex, board games, ножі, треш-індастріал.
Download Telegram
Інколи при роботі з системами контролю версій є потреба повернути один файл у той стан, в якому він був колись. Наприклад, у конкретному коміті.

git checkout коміт файл

Замість коміту ми можемо вказати тег або ім'я гілки.
Щодо гілки, формулювання "стан файлу, в якому він був колись" тут буде не зовсім точним, краще сказати "стан файлу з альтернативної реальності" 😏

P.S.: так-так, checkout вміє не лише перемикати гілкИ.

#git
Якщо ви пам'ятаєте, що таке "диск B", то ви входите у групу ризику з коронавірусу.
(с) Segment@tion fault
Темна тема на GitHub. Помітив зовсім нещодавно.
Не можу цього не показати. Особливо в контексті того, що на проекті починаємо працювати з таймзонами.
Bugs are coming...
Картинка - (с) інтернет
Ну все. Приїхали. Gmail відвалився. Та не просто відвалився, а з п'ятисотою.
Писав у робочому чаті. Зробив помилку. І схоже, шо винайшов новий підхід до проектування: "ікросервісна архітектура".
Мабуть, під Новий рік добре піде...
Не можу не процитувати це 😀

LinkedIn - це як дейтинг, тількі навпаки. Вам постійно пишуть дівчата, а ви їх баните.
(с) Segment@tion fault
Вересень 2018-го. П'ятиденний практичний семінар зі спортивного ножового бою та Крав-Мага. Десь під Кривим Рогом на малесенькій базі відпочинку біля невеличкої річки. Тиша та спокій.
#places
Під лежачий application пам'ять не тече
(с) інтернети
Є контакт! Чекаємо на перші фото з поверхні Марсу.
Вчора ввечорі завершив один тікет. І тільки-но перемістив його до "Ready for review", придивився до його номеру - і щось ну ду-у-уже знайоме мені здалося у тих п'яти цифрах.
Так і є. Табельний номер з попередньої роботи. Усі п'ять цифр 😁
Більше трьох років пройшло, а й досі пам'ятаю.
Декілька тижнів тому, після перерви у більш ніж рік, нарешті зібралися втрьох та здолали Стародавнього. Здолали вперше. Раніше було сумарно 4-5 спроб (іншим складом гравців та з іншими Стародавніми), які неодмінно завершувалися кінцем світу.
#boardGames
Слухайте, я не можу це не перепостити. Пробачте за баян.
Трохи українських ножів вам.
#knives
Завтра в Дніпрі. Вхід вільний.
https://www.facebook.com/events/2067678206713640
Робив тут один пет-проект.

Невеличкий мікросервис, що працює з стародавнім лайном мамонта legacy-базою MySQL 5.0.
Так-так, "п'ять нуль". Ні, я не збочинець. Нажаль, проапгрейдити базу чи підняти інший мускул/постгрес там, де воно висить, не маємо можливості. Не від нас це залежить.

На домашній машині спеціально встановлений MySQL 5.7 (чи то на ОС, чи в докері...), а для тестів піднімається Testcontainers з MySQL 5.5, де все і відпрацьовується.

SpringBoot 2.2. Його дефолтний mysql-connector каже, що з мускулом 5.5 працювати не буде, треба версію сім з чимось.
Добре, даунгрейдимо версію коннектора.
Приходимо на live.
Вже даунгрейднутий mysql-connector лається та фейлить запуск сервіса. Гугл каже, що для 5.1 тре ще сильніше даунгрейдити.
Даунгрейдимо ще раз. Міняємо драйвер з "com.mysql.cj.jdbc.Driver" на deprecated "com.mysql.jdbc.Driver". Недобре дивимося в сторону лайна мамонта MySQL 5.0.
Приходимо на live.
На сцену виходить Flyway. Каже, що MySQL 5.0 is outdated (та ла-а-адно!) and no longer supported.
І тут ми приймаємо серйозне рішення: даунгрейдимо Flyway. Будеш ти мені тут вказувати, софтиняка така, що мені юзати, а що ні...
На mvn clean compile падає сконфігурований для тестів бін Флайвея, бо API у даунгрейднутого Флейвея інше. Переписуємо конфіг біна.
Падає ще в двох місцях.
Недобре дивимося в сторону лайна мамонта MySQL 5.0.

Можна продаунгрейдити весь SpringBoot. Бо 2.0.1 вже перевірена - і працювала на MySQL 5.0...

І тут ми приймаємо серйозне рішення: викидуємо нафіг Flyway з release-гілки, а всі міграції бази високотехнологічно кладемо у текстовий файл. Руцями накатимо, їх менше десятка.

Чи запрацює, чи щось новеньке вилізе - подивимося. Перевірити зможемо лише через декілька днів.

Знайшов тут docker-образ з MySQL 5.0. Неофіційний, звісно. Якщо не запрацює, доведеться піднімати та тестити на ньому.

До чого я це все?
Та ні до чого. Legacy-ПО - зло.