Как часто вы используете ИИ (ChatGPT, Gemini, Copilot, etc.)?
Final Results
18%
Постоянно. Всегда на фоне открыт чат с помощником.
76%
Иногда. Например, для написания доклада, курсовой или быстрого экскурса в какую-то тему.
6%
Никогда/очень редко. Предпочитаю думать самому.
Круто когда open-source фреймворки/библиотеки/инструменты развиваются.
Но не круто когда разработчики выпиливают какое-то API и при этом не пишут как/чем его можно заменить.
Так поступиликрутые дяди разрабы Flyway (популярный инструмент миграции баз данных) -> тык
Они просто обозначили метод устаревшим, к удалению в 9 версии, но без какой-либо информации о том, чем же можно будет его заменить.
В итоге вместо того, чтобы быстренько заменить метод на что-то другое, приходится идти раскапывать документацию, читать форумы и issues на GitHub, дабы починить проблему (выпиленный метод нельзя просто удалить и радоваться жизни)
PS:не надо мне в комментах писать, что там просят использовать setIgnoreMigrationPatterns - он принимает на вход строку => хуй пойми что туда передавать
Но не круто когда разработчики выпиливают какое-то API и при этом не пишут как/чем его можно заменить.
Так поступили
Они просто обозначили метод устаревшим, к удалению в 9 версии, но без какой-либо информации о том, чем же можно будет его заменить.
В итоге вместо того, чтобы быстренько заменить метод на что-то другое, приходится идти раскапывать документацию, читать форумы и issues на GitHub, дабы починить проблему (
PS:
👍2
Ко мне иногда обращаются с вопросами типа:
- "Какой pet-проект посоветуешь делать?"
- "Хочу проверить себя в сложной боевой задаче, что посоветуешь запилить?"
И, к сожалению, мне не всегда удается придумать что-то стоящее и интересное (ведь pet-проект это в первую очередь про интерес)
Поэтому обращаюсь к вам, дорогие читатели, какой бы pet-проект вы посоветовали сделать?
Может есть какая-то нерешенная задача, которую хотели бы сами решить, но не доходят руки?
Или есть крутая идея, но нет понимания как подойти к ее решению.
А может даже сами уже что-то реализовали, но интересно было бы посмотреть, как это делает кто-то другой.
В любом случае: Welcome to comments👨💻
- "Какой pet-проект посоветуешь делать?"
- "Хочу проверить себя в сложной боевой задаче, что посоветуешь запилить?"
И, к сожалению, мне не всегда удается придумать что-то стоящее и интересное (ведь pet-проект это в первую очередь про интерес)
Поэтому обращаюсь к вам, дорогие читатели, какой бы pet-проект вы посоветовали сделать?
Может есть какая-то нерешенная задача, которую хотели бы сами решить, но не доходят руки?
Или есть крутая идея, но нет понимания как подойти к ее решению.
А может даже сами уже что-то реализовали, но интересно было бы посмотреть, как это делает кто-то другой.
В любом случае: Welcome to comments
Please open Telegram to view this post
VIEW IN TELEGRAM
Китайцы (DeepSeek) или Американцы (ChatGPT)?
Final Results
40%
20%
40%
Все-таки новости про массовые сокращения IT-шников оказались правдой.
В Т1 (бывший Иннотех, дочка ВТБ) массово сокращают айтишников.
В Positive Technologies аналогично сокращают рабочие места.
Без внимания не остались дочки Сбера (СберМегамаркет, ЕАптека и тд).
VK тоже засветился, но, кажется, там не все так серьезно, как у ребят выше.
Не прикольно как-то, честно говоря, учитывая высказывания западных компаний про ИИ 🤖
В Т1 (бывший Иннотех, дочка ВТБ) массово сокращают айтишников.
В Positive Technologies аналогично сокращают рабочие места.
Без внимания не остались дочки Сбера (СберМегамаркет, ЕАптека и тд).
VK тоже засветился, но, кажется, там не все так серьезно, как у ребят выше.
Не прикольно как-то, честно говоря, учитывая высказывания западных компаний про ИИ 🤖
Предостережение недели:
Уж поверьте, лучше писать руками запросы, чем потом тратить кучу дней, копаясь в кишках ORM'ки и пытаясь разобраться в возникших проблемах.
Особенно больно, когда по какой-то причине нужно обновиться на новую мажорную версию - прямой путь в многодневный увлекательный (нет) дебаг кишков фреймворка.
Как правило, всегда есть 2-3 места (повезет, если не больше) в коде, где все внезапно развалится.
Поэтому лучше заранее откажитесь от соблазна не писать сикуэльки руками.
Хотя для маленьких проектов можно в целом пренебречь этим советом.
PS: что-то я зачастил с постами, теперь ухожу в закат (но это не точно)
Не используйте никакие ORM'ки (особенноебучийHibernate) для сложных и долгоживущих проектов/сервисов.
Уж поверьте, лучше писать руками запросы, чем потом тратить кучу дней, копаясь в кишках ORM'ки и пытаясь разобраться в возникших проблемах.
Особенно больно, когда по какой-то причине нужно обновиться на новую мажорную версию - прямой путь в многодневный увлекательный (
Как правило, всегда есть 2-3 места (повезет, если не больше) в коде, где все внезапно развалится.
Поэтому лучше заранее откажитесь от соблазна не писать сикуэльки руками.
Хотя для маленьких проектов можно в целом пренебречь этим советом.
Отмигрировал 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
Такая миграция - это реально испытание на прочность, особенно если сервисы очень большие и с кучей зависимостей.
Если вдруг кому-то предстоит этим заняться - желаю удачи!
Это очень крутой опыт, который больше никогда не захочется повторять.
Десятки часов дебага и поиска правильного решения возникшей проблемы порой заставляли сильно задумываться о том, на что я вообще трачу свою жизнь.
Топ самых хардовых проблем, с которыми я столкнулся:
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-ассистентом:
Бегом пробовать:
https://platformv.sbertech.ru/products/instrumenty-razrabotchika/works-giga-ide-cloud
💻 💻 💻 💻 💻
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 одним запросом💀
Умудрился написать запрос, который нашел баг в движке СУБД, после чего он ушел в бесконечные перезагрузки🫥
Сложил целый кластер 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 просто очень слаб в написании кода, хз
Решил сделать простую лабораторную работу по разработке 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 через месяцок уже появятся кастомные образы и инструкции по их подключению.
Теперь не нужно скачивать отдельных приложений для эмуляции 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 марта, но я считаю, что когда он вышел в свет, тогда и ДР
Не успел я оглянуться, как целый год прошел - время летит!
Всем спасибо, что читаете и оставляете комментарии, а я, в свою очередь, постараюсь не забрасывать канал и продолжать делиться интересными
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) 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: сам бы я в жизни не додумался, но мне помогли, хэхэ....
Выбирайте поля сортировки в ClickHouse (да и в других БД тоже) с умом.
А еще избегайте AggregateFunction в AggregatingMergeTree, если оно вам реально не нужно...
В противном случае замедлите свои запросы в 1000 раз (я не шучу, реально в 1000 ускорилось после оптимизаций)
PS: сам бы я в жизни не додумался, но мне помогли, хэхэ....
❤1❤🔥1🙏1
Админ скоро переквалифицируется в ClickHouse SQL-query developer🤯
Теперь немного жалею, что не уделял теории по SQL должное внимание.
Оказалось, что эти запросы порой имеют реально большую ценность, чем просто поселектить данные из БДшки (ну ладно, я это и так знал, но от этого не легче)
Самое хреновое, что в императивном программировании ты спокойно можешь дебажиться хоть до ассемблера, чтобы понять корень проблемы.
А в декларативном тебе движок в лицо плюет ошибкой и ты сидишь такой:🥵 🥵 🥵
А потом когда все заработало:😁 😁 😁
И так по кругу 🔄 … Ставлю 10/10 за ощущение себятупым живым при 4х часовых заходах по оптимизации запроса🥳
Теперь немного жалею, что не уделял теории по SQL должное внимание.
Оказалось, что эти запросы порой имеют реально большую ценность, чем просто поселектить данные из БДшки (ну ладно, я это и так знал, но от этого не легче)
Самое хреновое, что в императивном программировании ты спокойно можешь дебажиться хоть до ассемблера, чтобы понять корень проблемы.
А в декларативном тебе движок в лицо плюет ошибкой и ты сидишь такой:
А потом когда все заработало:
И так по кругу 🔄 … Ставлю 10/10 за ощущение себя
Please open Telegram to view this post
VIEW IN TELEGRAM
💔3
Достиг стадии осознания - LeetCode и алгоритмы все-таки нужны🍩
Кто бы мог подумать, чтобы когда-нибудь я влечу в усложненную комбинацию Merge Intervals и Interval List Intersection в боевой задаче....
Хорошо хоть топологическую сортировку не приходится писать (как бы не накаркать, блин)😓 😓
Кто бы мог подумать, чтобы когда-нибудь я влечу в усложненную комбинацию 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, что позвал - отлично провели выходные
Так вышло, что меня позвали в команду позахватывать флаги (взламывать сайты, реверсить приложения, вычислять преступников, применяя 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❤🔥1❤1🙏1👨💻1