TGViewer
Channel Public Channel
Прогревочная

Прогревочная

@pro_grevy

Java, Go и их рантаймы, многопоточность, конференции и немного IT-внутрянки. Прогреваемся разумно.

Null enjoyer: @lantsov_aleksander
Subscribers
395
Photos
33
Videos
0
Links
22
Recent Posts 10 shown
Post #86 549
Мой соратник по алготрейдинговым делам прошлого, спикер и просто хороший человек, Сергей Мельников, 26 августа расскажет про перформанс и производительность, так что если по какой-то причине окажитесь в Алматы - заходите к нему и передавайте привет

Регистрация на митап
YouTube Сергей Мельников — Профилирование Java в стиле Linux Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx — осенью — Joker: https://jrg.su/h7yvG4 — — Скачать презентацию с сайта Joker — https://jrg.su/m9SRcY Рассмотрели вопросы профилирования с использованием профилировщика perf в ОС Linux.…
  • 👍 12
  • 🌚 1
Post #85 1.06K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 👍 9
  • 🔥 8
  • ❤ 5
Post #84 891

Forwarded from I’m CTO, bitch

#вайбкуколдинг
Чеклист продвинутого погромиста:
✅ Решать все задачи с помощью LLM
✅ Закоммитить API ключ в паблик
✅ Отвечать хейтерам: «Сам ты петух! Я — вайбкодер!»
  • 😁 15
  • 🌚 4
  • 💯 3
Post #83 823
Вы таки будете смеяться, но ведь этот однострочник и правда работает неправильно ⬇️⬇️⬇️

Например, в китайском нет регистра символов, а функция будет говорить, что для строка "你好" начинается с заглавного регистра - что неверно. Про испытание турецким языком мне даже говорить страшно; про юникодные злоключения рассказывал в том году - теперь доступно в виде статьи
  • 👍 4
  • 💯 2
Post #82 834
Post #81 986
https://habr.com/ru/articles/1033788

tldr: одна из субличностей ChatGPT заболела гоблиноманией, из-за чего ей провели лоботомию в системный промт выжгли каленым железом запрет об их упоминании:

Never talk about goblins, gremlins, raccoons, trolls, ogres, pigeons, or other animals or creatures unless it is absolutely and unambiguously relevant to the user's query.


Обидно за наших зеленокожих собратьев!
  • 😁 12
  • 👍 5
  • 🔥 3
Post #75 854
А вот и вторая часть майских пазлеров; надеюсь вам понравится немного подумать над некоторыми задачами.

Кое-где они занимательные: пишите мысли и решения в комментариях 🌼
  • 🔥 8
  • 👍 2
Post #68 554
А вот и разбор первой части! Спасибо всем, кто оставлял свои решения и мысли в комментариях. На мой взгляд, основная трудность тут состоит в том, что надо придумать исправление именно в одну строку.

Подвох первой задачи состоит в правиле вывода типов для тернарной операции, тип будет примитивным, из-за чего возникнет NPE при анбоксинге

Вторая задача эксплуатирует известную особенность функции Math.abs - она возвращает отрицательное число для минимально возможного значения int

Третья задача сделана по мотивам моей статьи про обработку Unicode в Java. Со строками можно работать на разных уровнях: отдельных байтов, двухбайтовых char в Java, codepoint-ов и графем. Их не надо путать между собой

Четвертый паззлер - известный баян про removeIf, но тут основная задача была придумать минимально рабочую починку именно в одну строку. Изначально я предполагал только вариант 1: использовать коллекцию, которая поддерживает конкурентные изменения. Но на конференции один из участников придумал вариант 2: копировать коллекцию при итерировании

Пятая задача требует понимания логики инициализации классов. Во время инициализации JVM помечает класс как инициализируемый текущим потоком. Если в этот момент другие потоки пытаются получить доступ к этому классу (полям, функциям и т.д.), они будут ждать окончания инициализации.

Здесь мы вычисляем статическое поле через parallel stream, поэтому часть работы уходит в другие потоки. Эти потоки пытаются выполнить лямбду, которая передаётся в filter(...). Эта лямбда скомпилирована как часть класса, который сейчас инициализируется

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

Вывод: в статической инициализации нельзя запускать логику работы инициализации, если эта работа сама зависит от инициализируемого класса. Поэтому для починки в одну строку делаем все через .sequential()

Это были первые пять задач-пазлеров, а в следующее воскресенье ждите вторую часть 😀
  • 🔥 13
  • ❤ 1
Post #62 608
На прошедшем JPoint для Мир Plat.Form подготовил десять пазлеров-задачек, которые посетителям стенда предлагалось решить. Зачем пропадать этому добру - поэтому делюсь с уважаемыми подписчиками! Ловите первые пять задач, а через неделю будет вторая часть 🙈

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

Сегодня задачи попроще, но кое-где забавные. Enjoy 😀
  • 🔥 15
  • ❤ 3
Older posts →

About this channel

How can I read @pro_grevy without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Прогревочная: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Прогревочная have?
Прогревочная (@pro_grevy) has 395 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Прогревочная know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →