uk
Feedback
Java кабала

Java кабала

Відкрити в Telegram

Рассказываю про мир Java разработчиков. Делюсь опытом. Обучаю Java По всем вопросам - @fonatik_kabal

Показати більше
8 980
Підписники
-424 години
-307 днів
-15830 день
Архів дописів
В пятницу можно почилить 😁 кидайте сервак, буду очко вам рвать А завтра что-нибудь про джаву напишу
В пятницу можно почилить 😁 кидайте сервак, буду очко вам рвать А завтра что-нибудь про джаву напишу

Свеженькое видео для тех, у кого нет инсты 😄

«Не получается — давай вышвыривать на *** этот балласт, своих олигофренов, б***ь. Отбросы. Воняют на всю компанию». На YouTube появилось видео, как общается со своими подчинёнными гендиректор криптобиржи LaToken. В сеть слили видео с командных совещаний, там много нецензурных слов и оскорблений сотрудников. @bankrollo

Ахах и вот тут я работал 😂

Т.к. не у всех есть инст - скидываю сюда новый видосик 😄

При подготовке к собеседованию, обратите внимание на пункты из этой статейки - что чаще всего проверяют на собеседовании https://habr.com/ru/company/skillbox/blog/679584/

Задачка перед сном, чтобы размять мозг. Задана последовательность: Sn = T1 + T2 + T3 + … + Tn Где: n >= 1 && n <= 10^16 Tn = n^2 - (n - 1)^2 Нужно написать метод, который принимает на вход n (типа long) и возвращает посчитанное значение S (типа BigDecimal, либо int, но тогда это должен быть остаток от деления на 10^9 + 7). Метод должен отработать меньше чем за 1 сек. Значиния n возьмите равными 10, 10^3, 10^6, 10^9 и 10^16

Очень распространенная ошибка в резюме - разработчики не описывают детали проекта с точки зрения бизнеса, продукта. Они пишут, что-то вроде: "внедрял новые фичи, фиксил баги, писал юнит тесты" и т.д. Я провожу очень много собеседований, и когда я вижу подобное резюме, то у меня встает вопрос: а человек вообще понимает что он делает и для кого? Он вообще принимал участие в процессе разработки продукта или он просто перетаскивал задачи в Jira? Когда человек не может рассказать про продукт, который он делает, про то - для кого он, как построен процесс разработки, как устроен CJM, какие проблемы решает этот продукт и почему это крутая вещь, то выходит что человек совершенно не вовлечен в процесс. Ему не интересно то, что он создает. Он просто кодер. Такие люди не принимают решений, не берут ответственность, а значит они не достаточно зрелые для нашей команды. Нам нужны в первую очередь специалисты, которые умеют не просто нажимать на кнопки и писать код, а которые умеют думать и анализировать, которые способны выдвигать идеи и отстаивать их. Нам нужны люди, которые погружены в процесс и понимают что и для кого они делают. Которые лучше любого бизнеса знают, как работает их продукт. Которые сами могут сформулировать требования и реализовать их. К чему я это все - всегда будьте погружены в то, что вы делайте. Всегда пишите в резюме что за продукт вы делаете, чем он хорош, и почему ваша роль так важна на проекте. Конечно, вы должны перечислить технологии, с которыми работали. Но людям больше интересно какую именно задачу вы решали при помощи этой технологии. Технология в отрыве от решенной задачи не имеет никакого значения и не интересна. Если кто-то считает, что это "не зона ответственности разработчика", то это проблема его низких стандартов. Будьте посредственностью... и плачьте, что на рынке "высокая конкуренция"... Я видел сотни подобных кодеров, которые приходят и уходят. Их уход не заметен, т.к. заменить такого человека не составляет никакого труда.

Вышел новый рилс! Мне кажется, получился охеренно) https://www.instagram.com/reel/Cglal3wgceD/?igshid=MDJmNzVkMjY= Репосты в
Вышел новый рилс! Мне кажется, получился охеренно) https://www.instagram.com/reel/Cglal3wgceD/?igshid=MDJmNzVkMjY= Репосты в сториз и комментарии к рилс приветствуются 😊

Хотите статейку на тему того, как лучше всего заполнить свое резюме?
Anonymous voting

Система автоматической сборки проектов - отвечает за управление жизненным циклом проекта, от начала разработки до публикации артефакта (иногда и до деплоя на прод). Выглядит это примерно так: вы написали код -> нужно подтянуть все зависимости, в том числе и транзитивные -> генерация кода (lombok, mapstruct, wsdl и тд) -> check style проверки -> код нужно скомпилировать -> запустить тесты -> сформировать отчет -> упаковать это все в jar или war -> запаблишить этот артифакт в репозиторий. Благодаря тому, что системы сборки поддерживают подключение плагинов, мы с вами можем добавлять любые дополнительные шаги в наш пайплайн. Но то, что я описал - это практически дефолтный жизненный цикл проекта, которым как раз и управляют системы по автоматической сборке проекта. Примеры таких систем для Java: Gradle, Maven, Ant. Последним я никогда не пользовался, однако у меня большой опыт в использовании первых двух. Gradle, конечно же, намба ван, за счет его универсальности, расширяемости, DSL и прочего. Maven хорош для простых проектов, где все что вам нужно предоставляется из коробки. Но если это не так, то вам придется попотеть. В общем, данные системы позволяют одной командой сделать все вышеперечисленное. Более того, данные системы могут даже задеплоить вам все что нужно на прод, но чаще всего все заканчивается публикацией артифактов, а деплой уже входит в отдельный пайплайн.

Заметил такую тему, что даже программисты с опытом не до конца понимаю, что такое OpenJDK. Давайте разбираться. OpenJDK - это исходный код единственной реализации Java спецификации (JSR, JEP). Других нет. Тут важно то, что это исходный код. Это не дистрибутив. А где же тогда его взять? Раньше было все просто - Sun Microsystems (а позже Oracle) поставлял бинарники OpenJDK. У Oracle они так и называются Oracle OpenJDK. Но у Oracle есть и коммерческая версия - Oracle JDK (он же Oracle Java SE). Таким образом, Oracle предоставляет нам две версии бинарников - бесплатную для коммерческого использования (GPL лицензия) и платную. Отличаются они на данный момент в основном только уровнем поддержки - в одном случае ее нет (только комьюнити), в другом она есть + есть LTS версии, в то время как у Oracle OpenJDK их попросту нет. Начиная с 8й джавы Oracle Java SE стала платной для коммерческого использования. Это очень сильно взбударажило интернет, когда многие стали говорить о том, что Java стала платной. Но как мы знаем - платной стала только Oracle Java SE (и то, только для коммерческого использования), а Oracle OpenJDK как выпускалась под GPL лицензией, так и продолжает выпускаться. На сегодняшний день существует несколько десятков провайдеров JDK. Самые популярные из них это Oracle OpenJDK, Oracle Java SE, Temurin, Carretto, Liberica, Zulu и др. Все они сделаны на основе OpenJDK. Отличия лишь в поддержке + какие-нибудь небольшие утилиты. При выборе провайдера очень важно обращать внимание на сертификат TCK - technology compatibility kit, который говорит о том, что данный дистрибутив прошел определенный набор тестов на совместимость и соответствие спецификации. Другими словами, мы сможете без проблем поменять провайдера без каких либо изменений в вашем коде, т.к. если оба провайдера сертифицированы, значит они полностью совместимы. Стоит отметить, что начиная с версии 17 Oracle изменил свою лицензию для Oracle Java SE на «Oracle No-Fee Terms and Conditions», которая позволяет использование данного дистрибутива в продакшене. Таким образом, мы снова можем его бесплатно использовать!

Ребзи, держите полезный канал Надоел однообразный материал по Java? Хочешь оригинальный контент, а не копипаст из других источников? Заходи на новый канал по java: https://t.me/java_interview_tasks Джуниор разработчик и хочешь найти достойный материал для подготовки к собесам и изучению нового - заходи на канал Супер сеньор и надоели тупые и затертые до дыр задачки на внимательность - не проблема , у нас полно интересных и сложных реальных задач с собесов Запас контента большой. Будет много вопросов по concurrency и jvm, по стандартным ошибкам и best practices.

А вот и свеженькое видео! Балдейте https://www.instagram.com/reel/Cf8Vbd-g_x4/?igshid=YmMyMTA2M2Y=
А вот и свеженькое видео! Балдейте https://www.instagram.com/reel/Cf8Vbd-g_x4/?igshid=YmMyMTA2M2Y=

Полезные ссылочки, не забудьте сохранить и сказать «спасибо босс» 1. https://sbergraduate.ru/ - Сбер. Тут можно зарегистрироваться и получать оповещения обо всех наборах на стажировки, анонсах и мероприятиях. Также можно почитать истории успеха и полезные статьи. 2. https://rshbdigital.ru/stage/ - РСХБ. Тут вся информация о стажировках для разработчиков и не только 3. https://fintech.tinkoff.ru/study/start/java/ - Тинькофф. Тут инфа о стажировке для java разработчиков, но полазив по сайту, можете поискать и другие. 4. https://yandex.ru/yaintern/ - Яндекс. Стажировки для разработчиков и не только

LTS версия. Наверняка многие из вас слышали этот термин. Java у нас не исключение. У нее есть LTS версии и не LTS. LTS - long-term support, По сути это политика по управлению продуктом, в которой LTS релизы имеют более долгую поддержку, нежели другие. У Java, например, LTS версии это 8, 11 и 17 Следующая запланированная LTS версия - 21 (сентябрь 2023 года) Если вы хотите потестировать новые фичи, то смело используйте самые свежие non LTS версии (сейчас, например это 18я). Но не стоит ставить такие версии в прод, т.к. их поддержка быстро заканчивается и вы можете лишиться важных обновлений.

Новый выпуск подкаста уже завтра! Я сам не ожидал, что получится так быстро 💨 Поговорим о миграции специалистов, уходе компаний, импортозамещении и конечно же, зарплатах. https://www.youtube.com/watch?v=igxpLwgQGpQ

Что такое NFT с технической точки зрения? На самом деле не более чем набор атрибутов, которые сохранены в БД блокчейна (key-value хранилища, например LevelDB у эфира и RocksDB у трона). NFT - невзаимозаменяемые токены (non-fungible token). Разрабатываются в рамках таких стандартов как ERC-721 (Ethereum), TRC-721 (Tron), BEP-721 (Binance) и др. За связь между данным в блокчейне и ассетом в реальной жизне отвечает как правило владелец смартконтракта - для простоты, это сайт, который вам продает эти NFT. Поэтому, если вдруг что-то случится с проектом и сайт, например, пропадет, то все ваши NFT по факту станут ничем, т.к. больше нет того, кто говорит о том, что условня картинка что-то да значит) Конечно, некоторые проекты закрепляют связь юридически, создавая документы, которые регулируют владение тем или иным предметом, но опять таки это делают не все)

Если хотите стать блокчейн разработчиком, тогда лучше всего учить Golang, т.к. блокчейны третьего поколения пишутся на Cosmos SDK, который написан на Go. Вообще, собственную ноду на космосе можно поднять буквально за пару команд: 1. ./simd.exe init first-chain 2. ./simd.exe keys add bob 3. ./simd.exe add-genesis-account bob 100000000stake 4. ./simd.exe gentx bob 7000000stake --chain-id <chain-id> 5. ./simd.exe start Туториал - https://tutorials.cosmos.network/ Дополнительную бизнес логику вы реализовываете в виде модулей. Для буста этого процесса (т.к. там много бойлерплейта) существует тула Ignite CLI. Конечно, есть блокчейны, которые написаны на Java, например Tron, но это скорее исключение, нежели правило) Имхо, разрабатывать блокчейн не самое интересное занятие. Мне показалось это довольно скучным.