Java Developer
الذهاب إلى القناة على Telegram
7 899
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
لا توجد بيانات30 أيام
أرشيف المشاركات
7 899
Контракт equals и hashCode
1. Если объекты равны, то их хэшкоды тоже должны быть равны
2. Если хэшкоды равны, то объекты не обязательно равны
7 899
Ответ — false. В классе Name не переопределен метод hashCode. Соответственно не соблюдён контракт для equals и hashCode, который необходим для нормальной работы HashSet.
Про hashCode и equals подробно на примерах написано тут: https://habr.com/post/168195/
7 899
Сегодня буду выкладывать задания из тестирования на OCA. OCA - Oracle Certified Associate.
7 899
Олег Мохов @olegmokhov (руководитель службы разработки интерфейсов Яндекса) писал в своём канале о частой ошибке в компаниях – назначении техлида руководителем. Он называет её «убийство разработчика».
Многие считают это логичным продолжением карьеры: разработчик –> старший разработчик –> техлид -> руководитель. Техлид не занимается руководством командой. Многие техлиды не хотят руководить, им нравится писать код и они эффективны именно в этом, но будут не эффективны как руководители или могут вообще уволиться через полгода, после «долгожданного повышения».
7 899
Технический лидер
Есть множество терминов, которые обозначают технического руководителя разработчиков: Team Lead, Tech Lead, Lead Developer. Люди на этих должностях в зависимости от компании выполняют разные обязанности. Технический лидер всё это обобщает.
Технический лидер – это старший товарищ на проекте с большим опытом разработки. Часто он лучше всех знает проект и дольше всех на нём работают.
Чем техлид занимается:
- ведет техническую часть проекта
- принимает технические решения
- ответственен за качество кода, но не за продукт
- ревьюит код
- менторит джунов
- управляет кодом, который пишут участники проекта
Чем не занимается:
- не вмешивается в процесс создания продукта
- не занимается руководством командой
- не отвечает за сам продукт
7 899
Code Conventions
Code convetions или соглашения по написанию кода нужны для его читаемости. Любую строчку кода можно написать по-разному. Code conventions приводят проект к единому стилю, который известен каждому программисту. Не должно получиться так, что человек переходя с одного проекта на другой страдал, привыкая к новому стилю написания.
Для каждого языка программирования разработчики используют свои соглашения. На большинстве Java-проекта часто принимают за основу Google Java Style Guide https://google.github.io/styleguide/javaguide.html
IntelliJ IDEA умеет сама поправлять код по Code Style. Для этого используйте комбинацию
CTRL+ALT+L
#CleanCode7 899
5 принципов хорошего программиста
Два года назад прочитал крутую статью "как повысить продуктивность" [https://habr.com/post/299/]. Я переформулировал её в "5 принципов хорошего программиста", которым стараюсь постоянно следовать. Вот эти принципы:
1. Использовать поиск. Не ищите глазами нужный файл, текст, строку. Пользуйтесь функциями поиска везде, где это возможно.
2. Автоматизировать. Если какое-то действие повторяете больше 10 раз, его стоит автоматизировать.
3. Учить скриптовые языки. Python, Perl, Bash - эти парни облегчают жизнь программистам, если умеешь ими пользоваться.
4. Освоить IDE. IDE или среда разработки - оружие разработчика. А чтобы владеть ею мастерски, изучайте горячие клавиши.
5. Саморазвиваться. Выделять каждый день время на изучение новых технологий. Когда я не развиваюсь, то чувствую, что деградирую.
Хороший программист пишет код за минимальное время, отлично знает свою IDE, развивается и автоматизирует то, что приходится часто повторять.
7 899
Ситуация. Вы ходили по собеседованиям и получили три оффера. У каждой компании свой плюс: тимлид, зарплата, технологии. Что повлияет на ваш выбор?
anonymous poll
Крутые технологии – 223
👍👍👍👍👍👍👍 44%
Опытный тимлид – 171
👍👍👍👍👍 34%
Высокая зарплата – 113
👍👍👍👍 22%
👥 507 people voted so far.
7 899
Пример посложнее:
{
"orderID": 123,
"shopperName": "Ваня Ибрагимов",
"shopperEmail": "hipster@gmail.com",
"contents": [
{
"productID": 34,
"productName": "Boroda",
"quantity": 1
},
{
"productID": 56,
"productName": "Giroskuter",
"quantity": 2
}
],
"orderCompleted": true,
"comment": null
}7 899
Что такое JSON
Полное название JavaScript Object Notation. Джейсон нужен для представления объекта в виде строки. Такое представление часто используют разработчики для передачи данных с фронта на сервер и в обратную сторону.
Структура Джейсона - это набор пар ключ: значение. Простой пример:
{ "firstName": "Иван" }.
Значениями могут быть:
— Объект { ... }
— Массив [ ... ]
— Строка в двойных кавычках
— Число
— Логическое значение true/false
— null7 899
Подробный ответ в статье, которую сам недавно заюзал https://vladmihalcea.com/the-best-way-to-map-a-many-to-many-association-with-extra-columns-when-using-jpa-and-hibernate/
7 899
Есть таблица Post и таблица Tag. Как создать связь many-to-many с дополнительными колонками с помощью JPA/Hibernate?
7 899
В марте был в Мюнхене и познакомился там с java разработчиком. Он переехал с семьёй в Германию из Украины два года назад.
Сейчас готовлю для канала интервью с Сашей (так его зовут). Он расскажет, как получил оффер в Мюнхене, как обустроился, сколько получают и сколько тратят разработчики в самом дорогом городе Германии.
Если хотите задать Саше вопрос, пишите мне в личку @zybkin
