OTUS IT News – Telegram
OTUS IT News
7.21K subscribers
4.33K photos
303 videos
5 files
4.3K links
Экспертный контент по востребованным технологиям 2025 года: от разработки и аналитики до искусственного интеллекта и облачных решений.

Более 170 курсов+

🗓 Расписание бесплатных ОУ: https://otus.pw/24Da/
🦉 Голосуй за канал: https://news.1rj.ru/str/boost/Otusjava
Download Telegram
Channel created
Channel photo updated
Добро пожаловать в канал OTUS Java club! Говорим о Java (и не только), профессиональном развитии и новых карьерных возможностях
Channel name was changed to «OTUS Java Club Channel»
А тем временем на roem! вышла отличная статья про то, как IT бизнесу побороть кадровый голод, наладить массовую, управляемую и воспроизводимую подготовку middle-специалистов и выстроить эффективную систему взаимодействия с ВУЗами:
https://roem.ru/26-04-2017/248615/vuz-voloshin/
Вы же знаете, что jar файл это zip архив? То есть, его можно unzip -d target my.jar распаковать и достать все class файлы. А каждый class файл это bytecode который легко-легко можно декомпилировать и получить весь ваш проект с именами всех ваших классов и их переменных и методов. И кодом методов. То есть, совсем все можно из jar файла получить.

Если конечно он не обфусцирован. При обфускации имена всех классов можно заменить на имена из примеров по программированию: class A, наследует class B и переопределяет у него метод c().

Так конечно понять что у вас в проекте становиться значительно сложнее. А, если еще и библиотечные классы включить в jar и обфусцировать, то еще сложнее.

Кстати, обфускацию любят не только секретные службы, но и разработчики мобильных приложений. Казалось бы, а им зачем? Просто jar файл после обфускации становится меньше в размере, ведь длинных имен классов и методов в нем нет.
А чем еще может быть полезна обфускация? Приходите к нам — расскажем!
У нас сегодня отличные новости: в ряду наших компаний-партнеров прибыло! Помимо ABBYY, <epam>, КРОК, IBS и LUXOFT —> HeadHunter начнет охоту за головами наших лучших студентов!

Борьба за наших студентов становится все сильнее ✌️
Вышла отличная статья с Дмитрием Волошиным (основателем OTUS) о персональных методах выхода из кризиса.
Почему учиться никогда не поздно и почему инвестиции в себя - уместны при любой конъюнктуре рынка:
https://vc.ru/p/life-long-learning
В ряду наших компаний-партнеров прибыло! ООО «Лаборатория облачных технологий» ждут на собеседование наших лучших Java-студентов, а в будущем и Python-студентов.

+1 возможность для карьерного роста и трудоустройства в классную компанию, где можно заниматься действительно интересными задачами!
Мы очень рады :)
Давно ли вы работали с числами? Странный вопрос для программиста.
С одной стороны мы только и работаем что с числами. Все наши программы с их несчетными фабриками, хэлперами, интерфейсами и менеджерами для процессора — набор чисел: прочитай, увеличь, сдвинь, сохрани. С другой — операцию a = b + c в коде можно встретить даже реже чем a « b. То есть нормальный программист не работает с числами напрямую, при том что процессор от него только числа и ждет
И от этого разрыва между программистом и числом у нас иногда (внезапно) возникают странные баги. И мы не знаем что с ними делать.
Начните с 0 и прибавляйте себе 1, если знаете ответ:
Почему нельзя сохранить 128 в byte?
Сколько байт занимает char?
Почему нельзя сконверить short в char.
Почему boolean занимает 8 бит, хотя ему достаточно 1?
Почему нельзя сложить 100_000_000f и 1f?
Почему 10f * 0.1f не равно 1f?
Набрали 6 баллов — отлично! Приходите к нам преподавать. Без шуток.
Набрали меньше — приходите и задавайте вопросы, мы с удовольствием на них ответим!
В преддверии майских праздников вышла еще одна интересная статья Дмитрия Волошина о преимуществах проектного метода обучения перед классической схемой подачи материала. "Истинно то, что полезно" - внимание к процессам решения задач и проблем, которые максимально приближены к реальности: http://mel.fm/obrazovaniye/4520138-obucheniye-ot-dostizheny-i-proyektny-podkhod-v-obrazovanii
Для чего программисту нужны паттерны проектирования? Ответ, на первый взгляд, очевиден. Для того чтобы проектировать. И это правда.

Но, я сейчас предложу, менее очевидный ответ. Который, на мой взгляд, даже важнее, чем разработка хорошей архитектуры. Знание паттернов нужны программистам для общения.

Вот сравните например диалоги:
- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.
- Хорошо, мы добавим в класс для каждого типа купюр, сделаем так чтобы они по цепочке обрабатывали запрос на снятие денег, передавая остаток, который не могу обработать дальше по цепочке. А чтобы посчитать остаток в автомате -- добавим специальный класс, который позволит перемещаться по цепочке и складывать остатки в каждой ячейке.
- Не понял, объясните пожалуйста.
и
- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.
- Хорошо, мы используем Chain-of-responsibility для снятия и Iterator для остатков.
- Понятно, делайте.

А вам какой диалог понятнее?