Java Mentor – Telegram
Java Mentor
293 subscribers
173 photos
48 videos
1 file
79 links
Download Telegram
Как изначально назывался язык программирования Java?
Anonymous Quiz
15%
Lava 🔥🌋
6%
Nova
45%
Oak 🌳
23%
CoffeeScript ☕️
2%
GreenTea 🍵
5%
С --
3%
ByteBrew 🧑‍💻🍺
👍4😱2🥴2
This media is not supported in your browser
VIEW IN TELEGRAM
А я тут рилсик запилил, и в мотиваторы подался 🌚
10🔥7👍3
Я как-то снимал видос про докер на YouTube.

И недавно пришел чел, и сказал:
- Непонятно, поясни за эти файлы (см скрин)

А мне лень все это расписывать, тем более, что я когда-то делал урок на эту тему в своем курсе.

Поделился с ним уроком. С вами тоже поделюсь, вдруг кому полезно будет.

Урок в коментах.

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

Залетайте короче
🔥5👍4❤‍🔥3
Самый важный навык программиста.

Привет! В этом посте поделюсь своими мыслями по следующим вопросам:

1. Что самое сложное в работе программиста?
2. Какой скилл является самым важным?
3. Куда расти: вглубь или вширь?


В программировании способов реализовать какую-то задачу — вагон и маленькая тележка.

И представьте: собралась команда разработчиков, и им нужно реализовать какой-то большой проект. В этой команде могут быть как новички, так и древние мамонты. Новички учились по туториалам и никаких других способов реализовать задачу не знают. Ну а древние мамонты могут быть тоже разные. У одних расцвет сил пришёлся на времена Java 1.0, и в голове могут быть крутые, но чуть устаревшие знания. А могут быть и крутые мамонты, которые решают задачу элегантно: ты смотришь на их код и думаешь: «Боже, как круто! Как круто и непонятно».

Всё это многообразие умов как-то договорилось программировать совместно. Вырабатываются некоторые договорённости и гайдлайны: начиная с выбора фреймворков, заканчивая тем, парсить ли DTO в сервисах или всё-таки в контроллерах.

Проект живёт, кодовая база растёт, люди уходят и приходят.

И в какой-то момент появляешься ты. Ты проходишь онбординг, настраиваешь IDE, получаешь доступы, скачиваешь проект и такой:

«Господи, что это такое?!»

Ты видишь столько кода и не понимаешь — это говно или так надо по объективным причинам. А если ты новичок, то смотришь на говно и думаешь, что это апогей алгоритмической мысли.

И если ты не сидел в проекте со времён распада СССР, то самым сложным в твоей работе будет одно:

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

И чем сложнее задача, тем больше времени придётся тратить именно на это: на чтение и понимание чужого кода. Умение разобраться в чужом коде — это навык, который будет использоваться 88% твоего рабочего времени.

Это самое сложное, но, на мой взгляд, не самое важное в работе программиста.

Что же является самым важным?

Написать свой код так, чтоб спустя годы тебя не прокляли. А ещё лучше — чтоб не прокляли в тот же миг.
Тебе может показаться, что твой код проходит ревью, и, как бы, «старшие коллеги» берут часть ответственности на себя за то нечто, что породил ты в больном бреду, пытаясь понять, как оно всё тут принято. Но это далеко не всегда так. Ревью делают такие же люди как и ты. И ты будешь делать ревью и ловить себя на мысли, что хочется поставь аппрув "ради галочки", вроде бы все тут хорошо....

Если ты программируешь уже какое-то время и даже писал пет-проекты, то, возможно, замечал: возвращаясь спустя время к своим старым проектам, ты задумчиво чешешь свою репу и думаешь: «Господи, это же я писал, почему я ничего не понимаю?!». А это только ты, в маленьком проекте. Помножь эту ситуацию на бесконечность — и получишь некоторое (хоть и не полное) представление о том, что тебя ждёт, если ты не научишься писать код МАКСИМАЛЬНО ПРОСТО И ПОНЯТНО.

Это и есть самое важное — уметь писать понятный код. Не только тебе, но и другим людям.

Как к этому прийти?
Нет быстрого способа. Нужно породить тонну говна и с опытом обрести понимание того, «что такое хорошо, а что такое плохо».

Ну и куда расти?

Знаешь, на свете есть столько всего помимо Спринга, что ты бы удивился. Такое многообразие разных решений: баз данных, брокеров сообщений, фреймворков. Что можно до пенсии пытаться освоить их все и так и не успеть сделать это.

Но это и не нужно. Благо, несмотря на всё это многообразие, под капотом везде заложены одни и те же принципы, которые придумали «когда наши родители были молодыми» люди, которые в разы умнее самого умного твоего знакомого.

Если у тебя получится хорошо (плюс-минус) разобраться в какой-то одной технологии, то освоить другие не составит большого труда. Поэтому моё имхо: не нужно бросаться учить всё подряд. Всё не выучить. И не угадать, что надо учить.
Сосредоточься на чём-то одном и долби в эту точку. А остальное поймёшь по ходу.

Всем добра, хорошей пятницы и прекрасных выходных!
👍8👏7🔥42❤‍🔥2
Кто лучший программист (все еще), человек или машина?

Полное исследование можно почитать по ссылке.

Ниже перевод вступления

Генерация кода с помощью LLM (вместо написания кода с нуля) резко выросла в популярности. Однако последствия для безопасности такого кода остаются неизвестными.

Мы провели исследование, сравнив безопасность и качество кода, написанного людьми, с кодом, сгенерированным LLM, на широком наборе задач: структуры данных, алгоритмы, криптографические процедуры и задачи уровня LeetCode.
• Для оценки безопасности использовались модульные тесты, fuzzing и статический анализ.
• Для оценки качества учитывались сложность и размер кода.

Результаты:
• LLM может генерировать некорректный код, который не реализует требуемый функционал, особенно на сложных задачах. Ошибки могут быть тонкими.
Пример: реализация алгоритма SHA1 компилировалась, но была неверной.
• Даже если функциональность верная, код от LLM часто менее безопасен: отсутствуют защитные конструкции (defensive programming), что приводит к уязвимостям (переполнение буфера, переполнение целых чисел).
• Fuzzing показал, что код от LLM чаще подвержен зависаниям и крашам, чем написанный человеком.
• По качеству: LLM генерирует «скелетный» код без защитных конструкций, при этом более сложный на строку кода, чем человеческий.

Попытка улучшить:
Мы создали цикл обратной связи: просили LLM повторно сгенерировать код и устранить найденные проблемы (например, malloc overflow, выход за границы массива, null dereference).

Результат:
• Иногда LLM устраняет уязвимость,
• но часто появляются новые проблемы,
• а также были случаи, когда в изначально корректный код после доработки LLM вносил ошибки.
🔥7👍2
Сводка апдейтов.

Сходил на конфу от amoCRM, про свой бизнес и выход из найма. Было полезно с точки зрения вдохновения и мотивации.

Из тех кого я знаю выступали Гарик Мартиросян, и Асафьев Стас.

Все спикеры были интересными, очень понравились истории основателей барбер-шопов Top Gun, и сети кофеен Baggins Coffee.

Ну а я тем временем дооформляю ИП. Как закончу - начну снова брать учеников.

Работал в разных форматах, бессрочное наставничество с разовой оплатой. Наставничество с оплатой по месяцам. Даже курс получилось запилить.

Больше всего понравился вариант с работой на результат без привязки к срокам. Попробую еще раз собрать команду мечты из 3-5 учеников и снова повторить такой кейс. ИП поможет с оформлением рассрочки как одним из вариантов оплаты.

23 Октября буду выступать на дне карьеры в ИТМО, от своей текущей работы. Мне повезло учиться в ИТМО 7 лет, быть дважды отчисленным и один раз даже закончить. Поэтому для меня это важное знаковое событие. Буду рассказывать ребятам за которыми охотятся Яндекс, ВК, и прочие крупные РФ игроки, как фиксил багулю.
Сам рассказ мне надо будет придумать. С одной стороны это типа круто. С другой стороны очко жим-жим. Это мое первое публичное выступление.

Ну и фоном работаю. Вписался в одну задачу, которую «было бы неплохо закончить в этом году», - как говорит аналитик) посмотрим, мне нравится такой горизонт планирования. Не без косяков, конечно, но пока вроде справляюсь.

Сори за такую сборную солянку. Веду блог стихийно.
🔥11👍3😎32🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🤔6👍3😁1
Вчера выступал на дне карьеры в ИТМО 🎓

Для меня это значимое событие. Я сам учился в ИТМО, был дважды отчислен 😅. Но умудрился таки и диплом получить)

Рассказывал о том как расследовал баги и о том, как в принципе работается в финтехе.

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

Блин, щас студенты такие крутые. Я в свое время не знал что такое git, а некоторые из них уже в Яндексе работали 💪
12🔥5👍4👏1😎1
Полтора года назад я запускал курс.

Посмотрите как круто получилось у одного из тех, кто его проходил:

https://caffe.senioravanti.ru/

Здесь реализовано в разы больше, чем я давал на курсе, тем не менее хочется поделиться отзывом:

Привет, брал у тебя курс 1,5 года назад, и только пару дней назад довёл проект до ума.

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

(захостил - ссылка в начале поста)

Делал как курсовой проект для предмета "разработка информационной системы" в ВУЗе. Все зубы об него обломал.

По другому предмету будет ещё и мобильное приложение для этой системы.

Стек пришлось несколько раз поменять.
Итоговый стек:
Бэк: Spring Java, Kotlin, GraphQL, jOOQ, PostgreSQL, MongoDB -> 3 микросервиса (сервис продуктов, авторизации и взаимодействия с s3).
Фронт: Vue.js TypeScript .

Конец.

Имхо вышло огонь! 👍

PS Надеюсь у меня в итоге тоже получится «довести до ума», свою менторскую деятельность, и я снова начну «причинять пользу» другим 🥲
7👍6🔥5😱1
Теперь у меня есть copilot)

А тем временем идет четвертая неделя работы без выходных.

Надо заканчивать настолько любить программирование. Кажется до добра это не доведет 😅

Но по крайней мере последние выходные мне оплатят в двойном размере, что в целом приятненько.

Кажется виден свет в конце тоннеля, но тоннель что-то не заканчивается 🤪

Надо бы конечно сделать пост про Java….

Ненавижу Java 🥹

Directed by Robert B. Weide

Кстати, а ты знал, что мем с титрами Directed by Robert B. Weide взят из сериала «Умерь свой энтузиазм»?

Узнал только что, пока гуглил как эта херня пишется. Совпадение? Не думаю

А как у тебя дела? Расскажи че-нибудь, пажалуста 🥹
5🤓3👾3😁1
Media is too big
VIEW IN TELEGRAM
Вы помните разговоры с уточкой?

Все это, херня, как говорил мой школьный друг.

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

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

А бонусом вы прокачаете свой нейролингвистический кортекс (чтобы это ни значило)

Я начал с балкарского, потому что это однозначно +20 к внимательности.
5🔥2🥴2🌚1🤣1🗿1🙉1😎1
Мой Пет-Проект. Вайбкодинг. Смотреть на YouTube

Снял видео про свой пет-проект и про то, как последние пару дней занимаюсь вайб-кодингом.

👉 Видео:
https://youtu.be/ymq7SEh0EL4

👉 Сам проект:
https://notedesk.ru

В этом видео рассказываю:

💎о своём проекте на React;
💎как можно использовать Cursor / Codex в разработке;
💎как я собрал простой CI/CD пайплайн;
💎как деплою проект на VPS.

Как деплой выглядел раньше:
после изменений в коде я:

👎 делал git push;
👎 заходил на сервер по SSH;
👎 выполнял git pull;
👎 останавливал контейнеры;
👎 пересобирал контейнеры;
👎 поднимал их заново.

Как деплой выглядит сейчас:
👍 я просто делаю git push в ветку main, и через 5 минут изменения долетают на прод.

Если тебе интересно, могу отдельно подробнее рассказать про инфраструктуру и выбранный подход.

Буду очень благодарен, если ты:

Зайдёшь на

https://notedesk.ru

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

DISCLAIMER: Проект не адаптирован под мобильные устройства 😔

Приятного просмотра и спасибо, если посмотришь / потыкаешь / напишешь фидбек 🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4👏21🤩1