me && it
36 subscribers
58 photos
5 videos
48 links
Тут высказываю свое ИМХО, а так же делюсь интересностями и неинтересностями соответственно 🛰️
Download Telegram
Все-таки новости про массовые сокращения IT-шников оказались правдой.

В Т1 (бывший Иннотех, дочка ВТБ) массово сокращают айтишников.

В Positive Technologies аналогично сокращают рабочие места.

Без внимания не остались дочки Сбера (СберМегамаркет, ЕАптека и тд).

VK тоже засветился, но, кажется, там не все так серьезно, как у ребят выше.

Не прикольно как-то, честно говоря, учитывая высказывания западных компаний про ИИ 🤖
😬😬😬😬
Please open Telegram to view this post
VIEW IN TELEGRAM
😍1
Предостережение недели:
Не используйте никакие ORM'ки (особенно ебучий Hibernate) для сложных и долгоживущих проектов/сервисов.


Уж поверьте, лучше писать руками запросы, чем потом тратить кучу дней, копаясь в кишках ORM'ки и пытаясь разобраться в возникших проблемах.

Особенно больно, когда по какой-то причине нужно обновиться на новую мажорную версию - прямой путь в многодневный увлекательный (нет) дебаг кишков фреймворка.
Как правило, всегда есть 2-3 места (повезет, если не больше) в коде, где все внезапно развалится.

Поэтому лучше заранее откажитесь от соблазна не писать сикуэльки руками.
Хотя для маленьких проектов можно в целом пренебречь этим советом.

PS: что-то я зачастил с постами, теперь ухожу в закат (но это не точно)
Отмигрировал 29 микросервисов и их зависимотей с Spring Boot 2.7 на Spring Boot 3.2.

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

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

Топ самых хардовых проблем, с которыми я столкнулся:
1) Не адекватное поведение ObjectMapper - внезапно половина полей поменяла свое название из-за особенностей новой версии
2) Проблемы с неблокирующим построением индексов в PostgreSQL и транзакционными блокировками в миграциях Flyway 9
3) Измененное/Поломанное поведение каскадного удаления сущностей при использовании @ElementCollection и @CollectionTable в Hibernate 6
4) Поддержка двух версий Apache HttpClient для legacy-библиотек, которые так и не научились дружить с HttpClient5 - пришлось костылять и одновременно держать обе версии (client4 и client5) и дружить их между собой

Оставлю тут еще несколько основных приседаний, которые придется выполнить при миграции на Spring Boot 3.x (вдруг кто-то планирует обновляться):
1) Apache HttpClient4 -> Apache HttpClient5
2) Hibernate 5 -> Hibernate 6
3) Spring Security 5 -> Spring Security 6
4) javax -> jakarta
5) Spring Framework 5 -> Spring Framework 6

Такая миграция - это реально испытание на прочность, особенно если сервисы очень большие и с кучей зависимостей.
Если вдруг кому-то предстоит этим заняться - желаю удачи!
🔥3
СберТех (дочка Сбер'а) выпустил облачную среду разработки для профессиональных программистов с AI-ассистентом:

Platform V Works::GigaIDE Cloud — профессиональная среда разработки, которая использует вычислительные мощности облака и хранит код на сервере. В ее основе — платформа расширений Visual Studio Code, совместимая с обширной экосистемой плагинов с открытым исходным кодом


Бегом пробовать:
https://platformv.sbertech.ru/products/instrumenty-razrabotchika/works-giga-ide-cloud

💻💻💻💻💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🖕3👨‍💻3🔥2🙏2
Новая ачивка:

Сложил целый кластер ClickHouse одним запросом 💀

Умудрился написать запрос, который нашел баг в движке СУБД, после чего он ушел в бесконечные перезагрузки🫥
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥2
Круто, теперь и я влетел в полуторачасовой дебаг из-за ChatGPT (при этом его баги я так и не починил)🤢

Решил сделать простую лабораторную работу по разработке Android-приложений при помощи нейросетки, так как мне показалось, что задачка супер простая даже для нее.

Последний раз я писал под Android еще в 8 классе на C#, а тут надо было сделать стильно-модно-молодежно в Android Studio на Kotlin.
Очевидно такого опыта у меня нет (я же все-таки тру бэкендер), поэтому звучало заманчиво потратить 20 минут на что-то, в чем я бы разбирался минимум час (ага, ага)

Короче говоря, код, который выдала нейросетка, умудрился скомпилиться, но не работал от слова совсем. Приложение запустилось, но показывало пустой экран без какого-либо контента. Дальше были мои потуги хотфиксануть то что уже есть, но безуспешно⛹️‍♂️⛹️‍♂️

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

В итоге: потраченного времени жаль, а код ChatGPT - пятикратно переваренный калл (для написания кода).

PS: может именно ChatGPT просто очень слаб в написании кода, хз
Please open Telegram to view this post
VIEW IN TELEGRAM
Фронтендеры…..
Не прошло и сто лет как Google таки решили добавить встроенное приложение Linux Terminal в состав Android. Но доступно только с мартовского обновления Android 15.

Теперь не нужно скачивать отдельных приложений для эмуляции Linux терминала, а достаточно всего лишь перейти в настройки для разработчиков запустить Linux Terminal и загрузить образ размером 500 мб. Приложение позволяет запустить виртуальное окружение Linux в среде Android.
Реф: https://www.androidpolice.com/android-15-linux-terminal-app/

Подозреваю, что дефолтный образ будет сильно обрезан, но уверен, что на 4pda через месяцок уже появятся кастомные образы и инструкции по их подключению.
🔥2🙏1👨‍💻1
me && it
Всем привет, тут собираюсь делиться всякими разными штуками связанными с it и не только. Подписывайтесь, если есть желание следить за мной и моими мыслями по поводу различных тем. Так же открыл комменты поэтому с радостью готов выслушать ваше мнение в комментариях…
Штош, у канала сегодня день рождения, ему 1 год!🍾

Не успел я оглянуться, как целый год прошел - время летит!👨‍🦽
Всем спасибо, что читаете и оставляете комментарии, а я, в свою очередь, постараюсь не забрасывать канал и продолжать делиться интересными и не очень постами💆‍♂️

PS: по факту канал был создан 3 марта, но я считаю, что когда он вышел в свет, тогда и ДР
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🎉2😍1
Осуждаю, но не мог не поделиться…
Человек понял жизнь...👨‍🦽
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Вышла Java 24 - на мой взгляд довольно крупное и серьезное обновление.

Перечислю самые интересные на мой взгляд фичи:

1) Ahead-of-Time Class Loading & Linking - киллер фича, благодаря которой теперь можно ускорить запуск Java приложений как минимум на 15% (на самом деле спокойно можно затюнить до 30%, а если постараться то и 40%).
Суть в том, что теперь можно закэшировать прогретое состояние приложения со всеми загруженными и слинкованными классами - это позволит сэкономить тонну времени, так как не придется заново прогревать приложение при старте (достаточно просто подложить рядом кэш).

Особенно большой эффект это даст при использовании с Spring-приложениями, потому что Spring тоже начинает сканировать весь сlasspath (на самом деле не совсем, но ладно уж) - по факту происходит двойной проход по всем классам (сначала JVM, а потом почти тоже самое Spring)

AOT-cache позволит заранее запустить приложение, сохранить кэш, а потом уже просто подкладывать его на проде и ускорить раскатку инстансов.
Очень актуально, если у вас десятки подов и последовательная/полокационная выкладка

2) Remove the Windows 32-bit x86 Port - полностью выпили поддержку 32-битной Windows (пользователи Windows 7 Home Edition тут напряглись)

3) Deprecate the 32-bit x86 Port for Removal - все API для 32-битных систем пометили "к удалению", что фактически означает: потенциально с Java 25 полностью прекратится поддержка каких-либо 32-битных систем

По всем JEP'ам я пока не успел пройтись, поглядел пока на самые интересные.
Надеюсь руки дойдут как-нибудь потестировать AOT-cache - звучит многообещающе.
1
Совет дня:

Выбирайте поля сортировки в ClickHouse (да и в других БД тоже) с умом.
А еще избегайте AggregateFunction в AggregatingMergeTree, если оно вам реально не нужно...

В противном случае замедлите свои запросы в 1000 раз (я не шучу, реально в 1000 ускорилось после оптимизаций)

PS: сам бы я в жизни не додумался, но мне помогли, хэхэ....
1❤‍🔥1🙏1
Админ скоро переквалифицируется в ClickHouse SQL-query developer🤯

Теперь немного жалею, что не уделял теории по SQL должное внимание.
Оказалось, что эти запросы порой имеют реально большую ценность, чем просто поселектить данные из БДшки (ну ладно, я это и так знал, но от этого не легче)

Самое хреновое, что в императивном программировании ты спокойно можешь дебажиться хоть до ассемблера, чтобы понять корень проблемы.
А в декларативном тебе движок в лицо плюет ошибкой и ты сидишь такой: 🥵🥵🥵

А потом когда все заработало: 😁😁😁

И так по кругу 🔄 … Ставлю 10/10 за ощущение себя тупым живым при 4х часовых заходах по оптимизации запроса🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
💔3
Достиг стадии осознания - LeetCode и алгоритмы все-таки нужны🍩

Кто бы мог подумать, чтобы когда-нибудь я влечу в усложненную комбинацию Merge Intervals и Interval List Intersection в боевой задаче....

Хорошо хоть топологическую сортировку не приходится писать (как бы не накаркать, блин)😓😓
Please open Telegram to view this post
VIEW IN TELEGRAM
На этих выходных я впервые в жизни поучаствовал в CTF (Capture The Flag) 🏁
Так вышло, что меня позвали в команду позахватывать флаги (взламывать сайты, реверсить приложения, вычислять преступников, применяя OSINT, и много другое) - иными словами, применять знания информационной безопасности.

Мы участвовали в мероприятии от Т-Банка: https://t-ctf.ru/
36 часов непрервыного "хакинга" на соверешенно разные темы: OSINT, reverse, web, coding, crypto, mobile (ios, android) и даже AI (взломать промпт нейронки).
И все это очно в самом крутом офисе Т-Банка на Белорусской!

Нам с командой удалось отрешать 15 из 30 задач (на самом деле 16, но там 5 минут не хватило, чтобы флаг загрузить).

Это был невероятный опыт, где нам удалось применить кучу навыков и знаний в области ИБ и IT в целом.
Мне так же удалось занять второе место в мини турнире по Mortal Kombat (не зря у меня 500 часов наиграно там, хах) и получить дополнительный мерч (футболка и сумка).

В общем, ставлю 10/10 такому опыту, очень круто...

PS: спасибо @ampheee, что позвал - отлично провели выходные
🔥5❤‍🔥11🙏1👨‍💻1
В общем, я созрел все-таки поделиться с вами плодами моей дипломной работы.
Это телеграм-бот, которого зовут Leetty.
Он умеет взаимодействовать с LeetCode. Подробнее о функционале можете узнать в самом боте - он любезно обо всем расскажет.

Линк: @LeettyBot
Исходники: https://github.com/ksilisk/leetty

Многим я уже рассказывал о нем, но как-то прям публично не раскрывал как его пощупать.

К посту приложил его архитектуру, вдруг кому-то будет интересно посмотреть.
Плюсом предусмотрительно переключил его в режим Long Polling, чтобы вам не приходилось ждать ответа по 5 секунд.
Да и в целом будьте к нему терпимее, все-таки он живет на моем домашнем серваке с железом 16 летней давности вместе с кучей других сервисов и приложений.

Если что, приносите баг-репорты или пожелания - я все запилю в Q5👍
Please open Telegram to view this post
VIEW IN TELEGRAM
1
me && it
Любим и ждем…..
Обидно так-то…

Но это всяко лучше, чем поступить как с Cyberpunk 2077