Pull to refresh
2
0
Otto Händler @Tschumin

Java developer

Send message

Шпаргалки Java программиста 10: Lombok

Reading time9 min
Views96K
image

Lombok — проект по добавлению дополнительной функциональности в Java c помощью изменения исходного кода перед Java компиляцией.

По сути, проект Lombok позволяет избавиться от многословности Java в большинстве случаев и перестать писать огромные простыни кода из гетеров, сеттеров, equals, hashcode и toString (да их обычно генерит IDE, но читать и менять все равно приходится программисту), в результате Java становиться почти такой же краткой как Kotlin, Scala или C#.

Что особенно радует, Lombok очень прост и легок в добавлении к вашему проекту. Если вам, как и мне, нравится принцип KISS, то советую посмотреть на Lombok.

Так же рекомендую, посмотреть на другие статьи цикла, например последную шпаргалку по Java SE8
Интересно?
Total votes 21: ↑18 and ↓3+15
Comments38

Подготовка к Spring Professional Certification. Spring REST

Reading time5 min
Views41K

Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов.


Официальный гид от Pivotal, в котором написано про темы для подготовки.



Оглавление
  1. Внедрение зависимостей, контейнер, IoC, бины
  2. AOP (аспектно-ориентированное программирование)
  3. JDBC, транзакции, JPA, Spring Data
  4. Spring Boot
  5. Spring MVC
  6. Spring Security
  7. REST
  8. Тестирование


Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments4

Куда деваются программисты после 40

Reading time16 min
Views168K


— Вам уже 45? Но у нас коллектив очень молодой. Вы уверены, что хотели бы у нас работать?
— Да, конечно! Я много наслышан о вашей компании. Это мечта всей моей жизни!
— Ну ладно. Вот вам простой вопросик. Что означает буква L в аббревиатуре SOLID?
— Liskov Substitution Principle.
Читать дальше →
Total votes 136: ↑105 and ↓31+74
Comments1044

«Вояджеры» и люди: судьба разработчиков

Reading time19 min
Views13K
image

Ларри Зоттарелли — член летного экипажа корабля «Вояджер», в 2015 вышел на пенсию.

Ранней весной 1977 года Ларри Зоттарелли, 40-летний компьютерный инженер Лаборатории реактивного движения НАСА в Пасадене, отправился на своей Toyota Corolla на мыс Канаверал, штат Флорида. Уроженец Лос-Анджелеса, он никогда не ездил дальше Тихуаны, но у него был казеный бензин, и он любил водить машину. К востоку от Орландо, через реки Индиан и Банана, он перебрался на треугольную песчаную косу, вдающуюся в Атлантический океан, где находилась база ВВС. Его поездка закончилась в громадном военном ангаре.

Автопарк грузовиков JPL проделал путь под бронированной охраной к тому же месту назначения. Их груз разворачивали внутри высокого отсека ангара — сверкающего бункера, уставленного стеллажами с инструментами и лестницами. Инженеры приступили к сборке различных частей. Постепенно сформировались два одинаковых космических корабля. Их назвали «Вояджер I и II», и их миссия заключалась в том, чтобы сделать первые цветные фотографии и сделать замеры вблизи Юпитера, Сатурна и их лун. Далее, если все пройдет успешно, они отправятся дальше — на неизведанную территорию.
Читать дальше →
Total votes 21: ↑18 and ↓3+22
Comments19

COBOL — древний код, который управляет вашими деньгами

Reading time19 min
Views90K
image

Язык программирования COBOL старше Игоря Николаева. Люди, умеющие им пользоваться, часто того же возраста. Он лежит в основе целой финансовой системы и его нельзя оттуда убрать. Мы расскажем о том, как компьютерный язык управляет финансовой жизнью мира.

Когда Томас начинал программировать, на дворе стоял 1969 год. Он был обычным парнем, только что выпустившимся из старшей школы в Торонто, не имея особых целей в жизни. Его отец был плотником, но в двери его семьи постучалась удача: оказалось, что руки у Томаса растут не из того места. «Мой отец знал, что я даже не смогу приколотить одну доску к другой», — смеётся он.

Поэтому его мать предложила нечто странное и новомодное: как насчёт… программирования компьютеров?

В 1969 году компьютеры всё ещё были странными новыми диковинками размером с большой шкаф. Но по всему миру компании начали понимать, что эти устройства бесценны для всех задач, требующих мгновенных бухгалтерских расчётов, например, подсчёта зарплат. Вакансии предлагались любому, кто хотя бы немного умел кодить. Поэтому Томас нашёл «небольшую школу-однодневку» в деловом центре Торонто и за следующие два месяца изучил самый популярный на то время компьютерный язык: COBOL (Common Business-Oriented Language).
Читать дальше →
Total votes 24: ↑20 and ↓4+25
Comments66

Правильный Singleton в Java

Reading time4 min
Views425K
Уверен, каждый из читателей, знает что такое шаблон проектирования “Singleton”, но не каждый знает как его программировать эффективно и правильно. Данная статья является попыткой агрегирования существующих знаний по этому вопросу.

Кроме того, можно рассматривать статью как продолжение замечательного исследования, публиковавшегося на Хабрахабре ранее.
Читать дальше →
Total votes 67: ↑53 and ↓14+39
Comments84

Многопоточность в Java: ExecutorService

Reading time2 min
Views245K
В Java 5 было добавлено много вещей для организации многопоточности и особенно касаемо организации параллельного доступа. В этой и последующих статьях мы пройдемся по некоторыми из них.
ExecutorService и ScheduledExecutorService будут рассмотрены в этой статье
Total votes 50: ↑50 and ↓0+50
Comments20

Разработчик пинбола для Windows XP рассказал о том, почему игра не появится в Windows 11

Reading time7 min
Views47K

Привет, меня зовут Дейв Пламмер, я бывший разработчик операционных систем Microsoft. Я работал в компании ещё с эпохи MS-DOS и Windows 95. Так получилось, что мне довелось портировать игру Space Cadet, поставлявшуюся в комплекте с Windows. Сегодня я поговорил с разработчиком из Microsoft, который полностью удалил её из операционной системы, чтобы понять, почему это было сделано, а также чтобы оценить перспективы возврата игры. Также я покажу как запустить этот пинбол в Windows 10 и протестирую его работу в новой Windows 11, чтобы проверить, работает ли он спустя почти 25 лет. Сразу должен сказать, что я не занимался графикой, звуком, дизайном стола и разработкой геймплея, даже оригинальный код писал не я. Изначально это была отдельная игра Full Tilt! Pinball, выпущенная Maxis в 1995 году. Я могу лишь похвастаться тем, что взял относительно малоизвестную игру и портировал её на платформу, получившую больше миллиарда пользователей. Изначально я добровольно вызвался портировать игру на Windows NT 4.0.
Читать дальше →
Total votes 67: ↑59 and ↓8+71
Comments117

Разбиваем монолит на микросервисы

Reading time8 min
Views14K

В настоящее время, задача разбивки монолита на микросервисы приобрела поистине огромную популярность в бизнес среде. Как будто все корпорации России вдруг осознали все перспективы “новой” архитектуры, получили при этом пинок от начальства и бросились брать под козырек.


Ретивость корпоративных чиновников, как всегда, безумна и беспощадна. И вот опять, огромные деньги, выделенные на пилоты, бездарно тратятся на то, что в лучшем случае никогда не взлетит, а в худшем случае будет внедрено, невзирая на все ошибки. И, дамы и господа, удручает больше всего то, что это явление отнюдь не единичное. Оно характерно для всей ИТ-отрасли России.



В настоящей статье я предлагаю обсудить какие возникают ошибки при разбивке монолита на микросервисную архитектуру (МСА), почему они возникают, к чему приводят. Ну а в конце я опишу как должен быть организован эффективный и правильный процесс перевода на МСА и какой должна стать архитектура микросервисной системы.

Читать дальше →
Total votes 20: ↑12 and ↓8+8
Comments17

Почему программисты через 10 лет будут не нужны?

Reading time9 min
Views126K
Это один из распространённых вопросов о судьбе программирования: мне не раз приходилось его слышать от журналистов, блогеров и родителей, чьи дети выбирают будущий вуз. Для меня этот вопрос звучит довольно удивительно: во-первых, 10 лет для программирования это не такой уж большой период, чтобы выпасть из обоймы, во-вторых, я пока не вижу никаких прорывных движений в этом направлении, в-третьих, мне не кажется что за 10 лет полностью исчезнут компьютеры или люди — а это два единственных условия для уничтожения программирования на планете. Между тем вопрос есть, он в топах поисковых запросов по теме, а значит, это жжжж неспроста. Давайте разбираться.


Disclaimer

Мы открываем в блоге RUVDS на Хабре новую рубрику — вопросы с поиска. Принцип прост: выбираем самые интересные и популярные поисковые запросы о программировании, технологиях, программистах и карьере в ИТ и отвечаем на них с помощью наших постоянных экспертов. Будет интересно.
Читать дальше →
Total votes 87: ↑61 and ↓26+63
Comments381

Пойти в IT в возрасте >X лет

Reading time6 min
Views14K

Периодечески на Хабре, Линкедине и других ресурсах вижу посты о смене профессии на что-то связанное с IT в довольно значительном, по меркам IT, возрасте — после 30 и более. Посты эти, в основном, про истории успеха, что может создать у некоторых людей иллюзию простоты подобной смены профессии. Дошло до того, что один мой знакомый инженер-строитель решил стать QA, ведь он «курсы закончил, да чего там сложного!». Хочу высказать свое мнение и заодно дать несколько советов, которые могут показаться полезными, тем, кто на это решится. Но это не точно. Все, что под катом — лютое ИМХО.

Читать далее
Total votes 21: ↑13 and ↓8+11
Comments56

youtube-dl, или как скачать видео с YouTube в качестве 1080p и выше

Reading time5 min
Views337K
Видеохостинг YouTube — второй по посещаемости сайт в мире. Его смотрят с умных телевизоров, игровых и телевизионных приставок, настольных компьютеров и ноутбуков, планшетов и смартфонов. Не все из этих устройств требуют одинаковой картинки. Сетевая природа сервиса и потокового видео предполагает, что на сайте должны быть доступны опции просмотра в разном качестве.

Качество картинки на YouTube варьируется от 144p (144 строчки в прогрессивной развёртке) до 8K 4320p. Последнее видео в четыре раза крупнее 4К 2160p, в шестнадцать — 1080p, в тридцать шесть — 720p, который также называют HD.


Мало какой компьютер может проиграть это видео в его полном разрешении, а доступных по цене 8K-мониторов в мире просто нет.

Технология MPEG-DASH разбивает контент на куски, а браузер запрашивает эти сегменты автоматически. Логично хранить и отдавать отдельно видео и звук. У DASH есть жирный плюс: адаптивность воспроизведения.

Несколько лет назад пользователи YouTube заметили введение DASH по тому, что буферизация видео больше не шла до конца ролика, а ограничивалась примерно минутой. Около того же времени другая проблема возникла у скачивающих видео с YouTube. Внезапно обнаружилось, что ролики с качеством 1080p доступны в виде файлов без звука. Сайты-сервисы, которые раньше выдавали ссылки на скачивание видео, отдавали лишь 720p, не выше. Около 1080p стояло «без звука» или «только видео».
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments98

Снобизм постсоветского IT

Reading time3 min
Views32K

Хочу поделиться, на мой взгляд, мифами про развитие в IT. Эти мифы произошли от нашего снобизма или негативного мышления. Статья особенно будет полезна для тех, кто хочет активно развиваться, но сомневается в своих силах. Вкратце обо мне: мне 33 года, занимаюсь IT с 2013, 5 лет назад переехал в США, в этом году устроился в FAANG.

Миф 1. Крутые программисты пишут сложный код

«Ого, он написал свой фреймворк!», «Ого, он использует эту крутую сложную библиотеку!», «Почитал его код, ничего не понял. Он явно лучше программист, чем я, раз написал такое». У нас, как правило, если синьор написал код, то джуну там ловить нечего. А ещё синьоры могут мерятся письками, у кого код сложнее. Ну что ж, это горькая правда, что многие наши программисты сильно развились технически и материально, но счастье так и не обрели. Я сам такой, активно с этим борюсь. И включается детская позиция утверждаться на работе.

По-настоящему хороший синьор занимается в первую очередь продуктом и развитием людей. В хорошем продукте даже джуниор может починить баг. Код должен быть как можно проще и понятнее. Нужны простые и популярные библиотеки. Ну, допустим, пришлось все-таки написать сложный алгоритм - будь добр, подробно опиши, как он работает. Написал регулярное выражение - оставь комментарий, что он делает. На такого синьора сейчас все компании мира молятся. И пофиг, что он не может бинарное дерево со всеми ротациями расписать.

Читать далее
Total votes 84: ↑37 and ↓47-1
Comments150

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

Level of difficultyEasy
Reading time10 min
Views93K

Декабрь 2020, вторая волна Ковида в разгаре. Я ПМ на удаленке в Американской компании. После похорон отца в Тбилиси я находился в прострации, надо было возвращаться в США и как-то менять своё положение, ведь денег, которых я зарабатывал явно не хватало на нормальную жизнь. Сами воспоминания о моём предыдущем поиске вызывали во мне холодный озноб и какой-то внутренний голос тихо шептал «подожди, сейчас пандемия, многие и о таком мечтают, как-нибудь выкрутишься…».

Каждый день я пытался убить в себе ссыкуна, и убеждал что кризис — это всегда новые возможности, но на следующий день, он все равно приползал обратно и скулил знакомые до тошноты фразы.

Я зарегистрировал себе американский номер в Google Voice, чтобы мне начали звонить рекрутеры и начал рассылать резюме. Я разослал около сотни адаптированных резюме и указал в LinkedIn что активно ищу работу. Постепенно на меня начали выходить рекрутеры небольших компаний, но я понимал, что в них условия будут в лучшем случае на 40% лучше текущей и это все равно не решало моих проблем. Хоть и казалось, что на LinkedIn висят тысячи позиций, однако основных работодателей я этим исчерпал. Подавался я в основном на Sr. Project Manager или Engineering Manager позиции.

Осознание пришло, когда я стал читать teamblind.com – лучший ресурс в США по анализу рынка в ИТ и levels.fyi где можно посмотреть реальные зарплаты. Раньше я читал Glassdoor, но информация на нем устарела.

Оказалось, что в финансовой сфере в США, которая мне была интересна - плохие условия и токсичная культура, тоже самое в консалтинге кроме компаний из Big4 или MBB где надо работать долгие часы, но возможно получать 1+ миллион долларов в год дослужившись до партнёра. Самыми интересными оказались компании, которые называют FAANG (Fb, Apple, Amazon, Netflix, Google) иногда в место этого списка используют FAANGMULA справедливо добавляя туда Microsoft, Uber, Lyft и Airbnb – все они технологические, инновационные компании не просто создающие бизнес-продукты, но и технологии, которыми пользуются весь мир. Компании, создающие де-факто стандарты разработки цифровых продуктов, инвестирующие в научные исследования, создающие легендарные условия для своих сотрудников, чем привлекают умнейших инженеров и ученных со всего мира.

Читать далее
Total votes 104: ↑88 and ↓16+117
Comments125

Почему мне кажется, что студентов учат ООП неправильно

Reading time5 min
Views232K
Когда я учился в университете мне довольно тяжело было понять ООП (Объектно-ориентированное программирование), сейчас я понимаю, что просто нас учили ООП на не совсем ясных и правильных аналогиях и вообще, кажется, сами преподаватели не совсем понимали, в чем же суть ООП.

image

Вспомните, классические аналогии ООП, вот есть класс Домашние любимцы с методами «голос» и «есть», от него мы наследуем Кошку и Собаку и все хорошо.

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

Мы уже запутались, но Вовочка спрашивает: «а где в этом зоопарке статические методы, интерфейсы, абстрактные классы и чем отличается объект класса от самого класса?». Объяснить, несомненно, можно, но сложно. Понять, еще сложнее.

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

Теперь подумаем как объяснить ООП лучше?
Читать дальше →
Total votes 68: ↑53 and ↓15+38
Comments474

Как я год не работал в Сбербанке

Reading time12 min
Views455K
Доброго времени суток, хабровчане!

Про эту компанию знают все. Кто-то в ней даже работал или продолжает работать. Я думаю, сложно найти в РФ, да и на территории СНГ, человека который не слышал о холдинге Сбербанка. Именно холдинг, так как очень много компаний которые обслуживают Сбербанк и контролируются им же. Так вот я поработал в двух таких компаниях за один год — это Сбербанк-Технологии (далее СБТ) и Сбербанк.
Читать дальше →
Total votes 471: ↑457 and ↓14+443
Comments603

Параллельная сортировка данных в GPU

Reading time7 min
Views24K


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

GIF

Введение


Если вы изучали теорию вычислительных машин в 80-х или 90-х, есть вероятность, что вы упорно пытались понять, что же некоторые разработчики находят восхитительного в алгоритмах сортировки. То, что поначалу кажется незначительной задачей, оказывается краеугольным камнем Computer Science.

Но что же такое «алгоритм сортировки»? Представьте, что у вас есть список чисел. Алгоритм сортировки — это программа, получающая этот список и изменяющая порядок чисел в нём. Понятие алгоритмов сортировки часто вводится при изучении вычислительной сложности — ещё одной обширной области знания, которую я подробно рассмотрю в будущих статьях. Существует бесконечное количество способов сортировки списка элементов, и каждая стратегия обеспечивает свой собственный уникальный компромисс между затратами и скоростью.
Total votes 54: ↑54 and ↓0+54
Comments20

Мы нанимаем только сеньоров

Reading time6 min
Views51K

We don’t hire junior developers or interns…if you don’t get a puppy, you don’t have to clean up its messes.

~Netflix

В наши дни одна из самых больших проблем для IT специалиста - начать профессиональную карьеру. Многие из нас прошли путь "первого трудоустройства" и не знаю как вы, а мне довелось услышать такую фразу от рекрутера: "вот когда ты будешь сеньор с зарплатой от $1000 тогда и приходи".

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

Читать далее
Total votes 33: ↑24 and ↓9+26
Comments201

Безопасность сайта Умного голосования

Reading time2 min
Views57K

Первая часть вышла более двух месяцев назад.
После второй с сайта убрали Яндекс.Метрику.
Надеюсь, после третьей приведут инфраструктуру в порядок.

Читать далее
Total votes 182: ↑147 and ↓35+159
Comments561
1

Information

Rating
Does not participate
Location
Kempten, Bayern, Германия
Date of birth
Registered
Activity