Вышла 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
В общем, я созрел все-таки поделиться с вами плодами моей дипломной работы.
Это телеграм-бот, которого зовут Leetty.
Он умеет взаимодействовать с LeetCode. Подробнее о функционале можете узнать в самом боте - он любезно обо всем расскажет.
Линк: @LeettyBot
Исходники: https://github.com/ksilisk/leetty
Многим я уже рассказывал о нем, но как-то прям публично не раскрывал как его пощупать.
К посту приложил его архитектуру, вдруг кому-то будет интересно посмотреть.
Плюсом предусмотрительно переключил его в режим Long Polling, чтобы вам не приходилось ждать ответа по 5 секунд.
Да и в целом будьте к нему терпимее, все-таки он живет на моем домашнем серваке с железом 16 летней давности вместе с кучей других сервисов и приложений.
Если что, приносите баг-репорты или пожелания - я все запилю в Q5👍
Это телеграм-бот, которого зовут Leetty.
Он умеет взаимодействовать с LeetCode. Подробнее о функционале можете узнать в самом боте - он любезно обо всем расскажет.
Линк: @LeettyBot
Исходники: https://github.com/ksilisk/leetty
Многим я уже рассказывал о нем, но как-то прям публично не раскрывал как его пощупать.
К посту приложил его архитектуру, вдруг кому-то будет интересно посмотреть.
Плюсом предусмотрительно переключил его в режим Long Polling, чтобы вам не приходилось ждать ответа по 5 секунд.
Да и в целом будьте к нему терпимее, все-таки он живет на моем домашнем серваке с железом 16 летней давности вместе с кучей других сервисов и приложений.
Если что, приносите баг-репорты или пожелания - я все запилю в Q5
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡5
Относительно недавно задумался о приобретении/сборке своего сетевого хранилища (NAS).
Лет 5 назад я уже задумывался о таком, но ничего годного на рынке не было.
Даже те же Synology были как-то не очень юзабельны для конченого потребителя не из IT-сферы.
Да и выглядело оно все как решение скорее для корпоративных клиентов, нежели для домашнего использования.
Но каково же было мое удивление, когда я недавно снова озадачился этим вопросом и наткнулся на довольно большое кол-во хороших решений.
Например, Ugreen начали выпускать свои NAS , которые, на мой взгляд, отлично могут подойти для дома. Хотя их решение еще весьма сырое, но, кажется, довольно скоро они смогут занять свое место на рынке.
Кроме того, некоторые модели NAS от Synology (DS224+, DS923+) тоже теперь выглядят довольно неплохо для домашней файлопомойки, хоть ценник и кусается прям сильно + санкции😐
А вот с жесткими дисками, конечно, беда. Ценники взвинчены в космос, а качество оставляет желать лучшего. За хороший 8-терабайтник придется отвалить 16-20к. А учитывая сборку: RAID 1 на 2 HDD + 1 HDD как холодное хранилище, то и вообще получается, что конечное решение может встать в 100-130к спокойно😧 😧
Некоторые собирают NAS своими руками, но я не приверженец костыляния своими руками, учитывая, что есть отличное Plug-And-Play решение на рынке.
В общем, домашний NAS видимо снова откладывается на N лет😁 😁
Лет 5 назад я уже задумывался о таком, но ничего годного на рынке не было.
Даже те же Synology были как-то не очень юзабельны для конченого потребителя не из IT-сферы.
Да и выглядело оно все как решение скорее для корпоративных клиентов, нежели для домашнего использования.
Но каково же было мое удивление, когда я недавно снова озадачился этим вопросом и наткнулся на довольно большое кол-во хороших решений.
Например, Ugreen начали выпускать свои NAS , которые, на мой взгляд, отлично могут подойти для дома. Хотя их решение еще весьма сырое, но, кажется, довольно скоро они смогут занять свое место на рынке.
Кроме того, некоторые модели NAS от Synology (DS224+, DS923+) тоже теперь выглядят довольно неплохо для домашней файлопомойки, хоть ценник и кусается прям сильно + санкции
А вот с жесткими дисками, конечно, беда. Ценники взвинчены в космос, а качество оставляет желать лучшего. За хороший 8-терабайтник придется отвалить 16-20к. А учитывая сборку: RAID 1 на 2 HDD + 1 HDD как холодное хранилище, то и вообще получается, что конечное решение может встать в 100-130к спокойно
Некоторые собирают NAS своими руками, но я не приверженец костыляния своими руками, учитывая, что есть отличное Plug-And-Play решение на рынке.
В общем, домашний NAS видимо снова откладывается на N лет
Please open Telegram to view this post
VIEW IN TELEGRAM
Мда, положил DeepSeek промптом на 1.5к символов.
Чисто приложение умерло и теперь прошлые чаты открываются через раз (если вообще открываются).
Кстати, ChatGPT тоже похожим страдает, у меня постоянно на относительно серьезных промптах он просто отваливается и не хочет отвечать. Это при том что у меня подписка есть...
А еще, несмотря на то, что ChatGPT умеет принимать файлы, он совершенно не читает .docx и .pdf, хотя с фотографиями справляется. Обычно он тупо выдает галлюцинацию по названию файла, что выглядит смешно.
DeepSeek, кстати, наоборот, довольно неплохо справляется с большими объемами текста в PDF-файлах. Ради интереса загнал в него 45-страничный диплом и начал мучать его вопросами - на мое удивление он прям все просканировал и смог выдать внятые ответы и даже вполне интересные мысли.
Вот бы был 1 супер-гига AI-ассистент, который соберет в себе все самое лучшее от всех....
Чисто приложение умерло и теперь прошлые чаты открываются через раз (если вообще открываются).
Кстати, ChatGPT тоже похожим страдает, у меня постоянно на относительно серьезных промптах он просто отваливается и не хочет отвечать. Это при том что у меня подписка есть...
А еще, несмотря на то, что ChatGPT умеет принимать файлы, он совершенно не читает .docx и .pdf, хотя с фотографиями справляется. Обычно он тупо выдает галлюцинацию по названию файла, что выглядит смешно.
DeepSeek, кстати, наоборот, довольно неплохо справляется с большими объемами текста в PDF-файлах. Ради интереса загнал в него 45-страничный диплом и начал мучать его вопросами - на мое удивление он прям все просканировал и смог выдать внятые ответы и даже вполне интересные мысли.
Вот бы был 1 супер-гига AI-ассистент, который соберет в себе все самое лучшее от всех....
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
record Barbell(int weightKg) {} // штанга
class Human {
private final String name;
Human(String name) {
this.name = name;
}
boolean press(Barbell barbell) {
return barbell.weightKg() <= 100;
}
}
public static void main(String[] args) {
Human me = new Human("Shaliko");
Barbell barbell = new Barbell(100);
if (me.press(barbell)) {
System.out.println("Successful hit 100kg bench press!");
}
}
Делюсь с вами своим достижением, но с небольшим креативом.
Тем более у Java вчера ДР было
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Сегодня расскажу вам про Open WebUI и ее интеграцию с Ollama и внешними AI-моделями.
Представьте, что вы можете интегрироваться с множеством разных LLM-ок в 1 вкладке браузера без необходимости держать миллион других с разными ИИшками, бонусом возможность сравнивать ответы разных моделей на один и тот же промпт/запрос.
С этим прекрасно справляется Open WebUI: https://openwebui.com
В общем виде это просто веб-приложение, которое можно запустить у тебя на ноуте/сервере/где угодно в Docker, в Kubernetes или просто питон командой в терминале: https://docs.openwebui.com/getting-started/quick-start
Его суть заключается в том, что оно имеет просто огромные возможности для интеграции с большим количеством AI-инструментов и моделей и все это упаковано в минималистичный и понятный веб-интерфейс.
Можно создавать базы промптов, базы знаний, подключать разные утилиты.
Все это дело можно упаковать в Workspace - окружение специально под конкретную задачу, чтобы LLM сходу имела доступ к всей необходимой ей информации для обработки и решения ваших задач.
Поддерживаются так же и всякие advanced штуки, типа RAG.
Окей, теперь допустим у вас есть мощное железно и вы хотите развернуть модели у себя, чтобы не завязываться на внешних ребят.
А с этим поможет Ollama: https://ollama.com
Здесь вы можете найти любую open-source LLM и установить ее локально, после чего подключить к Open WebUI и пользоваться своей инсталяцией выбранной модели.
Тем кто часто общается с LLM-ками - must have, пользуйтесь!)🤝
Представьте, что вы можете интегрироваться с множеством разных LLM-ок в 1 вкладке браузера без необходимости держать миллион других с разными ИИшками, бонусом возможность сравнивать ответы разных моделей на один и тот же промпт/запрос.
С этим прекрасно справляется Open WebUI: https://openwebui.com
В общем виде это просто веб-приложение, которое можно запустить у тебя на ноуте/сервере/где угодно в Docker, в Kubernetes или просто питон командой в терминале: https://docs.openwebui.com/getting-started/quick-start
Его суть заключается в том, что оно имеет просто огромные возможности для интеграции с большим количеством AI-инструментов и моделей и все это упаковано в минималистичный и понятный веб-интерфейс.
Можно создавать базы промптов, базы знаний, подключать разные утилиты.
Все это дело можно упаковать в Workspace - окружение специально под конкретную задачу, чтобы LLM сходу имела доступ к всей необходимой ей информации для обработки и решения ваших задач.
Поддерживаются так же и всякие advanced штуки, типа RAG.
Окей, теперь допустим у вас есть мощное железно и вы хотите развернуть модели у себя, чтобы не завязываться на внешних ребят.
А с этим поможет Ollama: https://ollama.com
Здесь вы можете найти любую open-source LLM и установить ее локально, после чего подключить к Open WebUI и пользоваться своей инсталяцией выбранной модели.
Тем кто часто общается с LLM-ками - must have, пользуйтесь!)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥1
https://localmess.github.io/
Статья о том как Яндекс, Meta/Facebook/Instagram допускают Android-уязвимость по утечке вашей истории браузера (и не только) в руки злоумышленников.
Если вкратце:
Ряд приложений (список можно посмотреть по ссылке) от этих компании непрерывно случают localhost-порты, а сайты с Яндекс Метрикой или Meta Pixel в эти порты засылают пакеты с различной собранной инфой для своих целей => любое приложение, которое тоже слушает эти порты может собирать информацию о ваших похождениях в браузере.
PS: и от потенциального слива вас не спасет никакой инкогнито и никакая очистка cookies
PPS: на Apple девайсах все по красоте, уязвимости нет
Статья о том как Яндекс, Meta/Facebook/Instagram допускают Android-уязвимость по утечке вашей истории браузера (и не только) в руки злоумышленников.
Если вкратце:
Ряд приложений (список можно посмотреть по ссылке) от этих компании непрерывно случают localhost-порты, а сайты с Яндекс Метрикой или Meta Pixel в эти порты засылают пакеты с различной собранной инфой для своих целей => любое приложение, которое тоже слушает эти порты может собирать информацию о ваших похождениях в браузере.
PS: и от потенциального слива вас не спасет никакой инкогнито и никакая очистка cookies
PPS: на Apple девайсах все по красоте, уязвимости нет
2🤝3
Открыл предложку🤝
Если будет что-то интересно по тематике, то приносите - с удовольствием опубликую!)
Если будет что-то интересно по тематике, то приносите - с удовольствием опубликую!)
Please open Telegram to view this post
VIEW IN TELEGRAM
Поделились со мной вот таким ответом от GPT 4.5, который как раз призван помогать с глубоким исследованием.
Мало того что моделька отказалась исследовать тему, так еще и потратила целый запрос, а они жестко ограничены, так как очень дорогие для обработки.
В общем, восстание машин не за горами - последнее время периодически натыкаюсь на посты об отказе LLM-ок работать🗿
Мало того что моделька отказалась исследовать тему, так еще и потратила целый запрос, а они жестко ограничены, так как очень дорогие для обработки.
В общем, восстание машин не за горами - последнее время периодически натыкаюсь на посты об отказе LLM-ок работать
Please open Telegram to view this post
VIEW IN TELEGRAM
😢1
🍏Apple выпустила свой wrapper над Docker:
https://github.com/apple/container
Ладно, я шучу - это утилита, которая позволяет запускать легковесные Linux-контейнеры на Mac.
Специально написана на Swift и оптимизирована под Apple Silicon.
API слизано с Docker, образы качаются с общего Docker Hub, а контейнеры собираются Dockerfile’ами.
Ну и по классике: функционал даже близко не повторяет возможности Docker + есть некоторое количество багов, которые они любезно просят Open Source сообщество чинить вместе с ними - кайф, спасибо 🙏
Вишенка на торте: про Docker Compose любезно умолчали👍
https://github.com/apple/container
Ладно, я шучу - это утилита, которая позволяет запускать легковесные Linux-контейнеры на Mac.
Специально написана на Swift и оптимизирована под Apple Silicon.
API слизано с Docker, образы качаются с общего Docker Hub, а контейнеры собираются Dockerfile’ами.
Ну и по классике: функционал даже близко не повторяет возможности Docker + есть некоторое количество багов, которые они любезно просят Open Source сообщество чинить вместе с ними - кайф, спасибо 🙏
Вишенка на торте: про Docker Compose любезно умолчали
Please open Telegram to view this post
VIEW IN TELEGRAM