JavaRush /Java блог /Random UA /Кава-брейк #42. Що робити, якщо ви чогось не знаєте. 5 на...

Кава-брейк #42. Що робити, якщо ви чогось не знаєте. 5 найкращих Java-бібліотек для максимальної продуктивності

Стаття з групи Random UA

Що робити, якщо ви чогось не знаєте

Джерело: Dev.to Якщо ви розробник, рано чи пізно, напевно, виникала ситуація, коли ви не знали спосіб вирішення проблеми. Це досить неприємний момент будь-якому етапі кар'єри. Адже завдання вам все одно доведеться виконати, незважаючи на те, що ви чогось не знаєте. У цій статті я поділюся особистим досвідом і розповім, що допоможе у розв'язанні такої проблеми.Кава-брейк #42.  Що робити, якщо ви чогось не знаєте.  5 найкращих Java-бібліотек для максимальної продуктивності - 1

Задавайте питання

Коли я був новачком, я боявся ставити запитання, до останнього намагаючись вирішити все самостійно. Я витрачав величезну кількість часу на вирішення проблеми і мовчав, поки мені, зрештою, не доводилося поговорити з начальством чи клієнтами. Я розумів, чому чинив саме так. Я уникав ставити запитання, бо мені не хотілося виглядати безглуздим в очах інших. Мені здавалося, що всі інші, крім мене, швидко вникали в суть і розуміли, про що йдеться. Тільки завдяки колегам я нарешті почав відставляти убік свою гордість і питати про те, чого не розумію.

Google і YouTube - ваші найкращі друзі

Колись я дивився відео про те, як Google відповідав на абсурдні чи кумедні запитання. Незважаючи на те, що відповіді на них теж були дуже смішними, я зрозумів, що Google безперечно може допомогти при виникненні будь-яких питань. Тому якщо ви зайшли в глухий кут, не забувайте шукати відповідь через цей пошуковик. Також у вирішенні проблем мені дуже допомагає YouTube. Особливо у випадках, коли потрібно глибше розуміння предмета. Тоді я завжди шукаю тематичні відео.

Зайва пара очей не завадить

Не дозволяйте гніву та розчаруванню поглинути вас, якщо ви не можете вирішити проблему. Наочним прикладом подібної ситуації можуть стати випадки, коли потрібно підтримувати застарілу кодову базу, де через відсутність документації доводиться займатися зворотною розробкою. Звісно, ​​це забирає багато сил. Вам доведеться потрапити в кодову базу, зрозуміти стиль попередніх розробників. У таких випадках дуже бажано, щоб ще хтось, крім вас, переглянув код. Інша людина може звернути увагу на речі, які ви пропустабо чи не зрозуміли. Таким чином, можна прискорити вирішення проблеми.

Не лайте себе, якщо на чомусь застрягли

На це я хочу звернути особливу увагу. Не треба сердитись на себе, якщо ви десь застрягли. Так, коли не можеш вирішити завдання, це не надто приємно. Може загостритися синдром самозванця, можна відчути себе марним і втратити впевненість у тому, що ви добрий розробник. Я впевнений, що якщо людині в роботі ніколи не доводилося на чомусь застрягати, це лише тому, що вона діє у своїй зоні комфорту, не виходячи за межі звичних дій. Щоб бути готовим до непередбачених ситуацій, спілкуйтеся з людьми, які можуть підштовхнути вас до підвищення професійних стандартів. Не засмучуйтесь, якщо зустрілися з чимось, чого не були готові. Такі випадки допомагають виявити прогалини у знаннях та, відповідно, заповнити їх.

Робіть перерви

Це може здаватися не надто продуктивним, але коли ви працюєте над чимось більшим і складнішим, короткі перерви дуже допомагають зняти напругу. Прогуляйтеся хвабон 15, поговоріть з кимось, зробіть фізичні вправи або навіть подрімайте. Відпочинок допомагає освіжити розум, і, крім того, весь цей час мозок все одно працює, і десь на підсвідомому рівні вирішує поставлене завдання. В результаті до вас може прийти момент осяяння, коли ви просто п'єте каву.

Висновок

Перше, що потрібно зробити при вирішенні завдання, — скласти список того, що ви знаєте, і того, що не знаєте. Після цього слід поставити уточнюючі питання людині, яка поставила перед вами це завдання. Можливо, на цьому етапі щось проясниться, і ви зможете видалити частину питань із категорії «не знаю». Відповіді на інші запитання слід пошукати самостійно в Google або YouTube. Виділіть собі на пошуки якийсь час. Якщо подолати проблему самостійно не вдалося — не соромтеся звернутися за допомогою до колег.

5 найкращих Java-бібліотек для максимальної продуктивності

Джерело: Medium Ймовірно, ви коли-небудь писали код на Java і думали: "Має бути спосіб краще ...". Допомогти у вирішенні подібних проблем можуть бібліотеки Java. Пропоную вашій увазі п'ять найкращих, на мій погляд, бібліотек, використання яких підвищить вашу продуктивність та ефективність роботи.Кава-брейк #42.  Що робити, якщо ви чогось не знаєте.  5 найкращих Java-бібліотек для максимальної продуктивності - 2

1. Ломбок

Project Lombok — це бібліотека Java, яка використовує інструкції для скорочення шаблонного коду. Ви можете використовувати анотації, такі як @ Getter, для автоматичної генерації методів getField() . Ось кілька підтримуваних анотацій:
  • @Getter та @Setter, які генерують гетери та сеттери;
  • @EqualsAndHashCode автоматично генерує методи Equals та HashCode , які відповідають контрактам Equals та HashCode ;
  • @ToString генерує метод toString() , який відповідає формату ClassName (fieldName = value, fieldName2 = value…) ;
  • @Builder автоматично реалізує шаблон будівельника для спрощення створення POJO;
  • @Data - це скорочення для @Getter, @Setter, @EqualsAndHashCode, @ToString і @RequiredArgsConstructor!
Існує ще багато підтримуваних і легко настроюваних анотацій. Робота з ними позбавить вас написання шаблонного коду.

2. Guava

Guava - це бібліотека Java, створена та підтримувана Google. Вона містить безліч утиліт, що широко використовуються в роботі з кодом. Ось лише деякі з функцій Guava:
  • розширення Collections, наприклад Multimap<k, v="">, де Map підтримує кілька значень для даного ключа, що еквівалентно Map <k, collection="" <v="">> з більш чистим API;</k, ></k,>
  • пакет Graphs, який включає низку утиліт для моделювання даних графічного типу;
  • Конкурентні утиліти, такі як MoreExecutors, Atomics і ListenableFuture.
У бібліотеці Guava можна знайти дуже багато. Підтримка Google робить її дуже популярною, тому ви можете бути впевнені, що їх API ретельно протестовані та підтримуються. Якщо вам необхідно вирішити будь-яку спільну проблему з Java, за допомогою Guava ви, напевно, знайдете рішення!

3. Hibernate

Hibernate - це бібліотека об'єктно-реляційного зіставлення, яка дозволяє взаємодіяти з базою даних, не думаючи про переклад між таблицями SQL та POJO. На сайті Hibernate наводиться така інформація про бібліотеку: “З Hibernate можна створювати довгоживучі класи відповідно до природних об'єктно-орієнтованих принципів, включаючи успадкування, поліморфізм, асоціацію, композицію та Java Collections. Hibernate не вимагає наявності інтерфейсів або базових класів для довготривалих класів і дозволяє будь-якому класу чи структурі даних бути постійними”. Використовуйте Hibernate, щоб підвищити рівень постійного зберігання даних та позбутися тисяч рядків коду бази даних.

4. Feign

OpenFeign – це бібліотека від Netflix, яка дозволяє легко створювати RESTful HTTP-клієнти на Java. Щоб створити клієнт Feign, ви просто описуєте інтерфейс з деталями запиту та відповіді. Найкраще це проілюструвати на прикладі:
@FeignClient(url = "https://github.com")
interface GitHubClient {
    @RequestLine("GET /users/{username}/repos?sort=full_name")
    List<repository> repos(@Param("username") String owner);

    @RequestLine("GET /repos/{owner}/{repo}/contributors")
    List<contributor> contributors(@Param("owner") String owner, @Param("repo") String repo);

    @RequestLine("POST /repos/{owner}/{repo}/issues")
    void createIssue(Issue issue, @Param("owner") String owner, @Param("repo") String repo);
}
</contributor></repository>
Згаданий інтерфейс GitHubClient буде виконувати запити GET і POST, описані в методах. За замовчуванням цей клієнт буде використовувати формат JSON для всіх запитів. Для клієнта Feign існує безліч налаштувань:
  • кодери та декодери для вибору способу серіалізації та десеріалізації POJO по мережі;
  • Retryers для вказівки правил та логіки повторних спроб;
  • RequestInterceptors для інших завдань попереднього запиту, таких як отримання файлів cookie або авторизація.
Використовуючи Feign, ви зможете позбавитися необхідності вручну писати HTTP-клієнти! Примітка: якщо ви використовуєте Spring, вам слід використовувати Spring Cloud OpenFeign , чия інтеграція зі Spring краще, ніж OpenFeign самого по собі.

5. Spring Boot

І остання, але не менш важлива бібліотека – це Spring Boot . Spring Boot полегшує процес створення готових до роботи Java-додатків. Вона дозволяє:
  • створювати автономні програми Spring;
  • безпосередньо вбудовувати Tomcat, Jetty або Undertow (без розгортання файлів WAR);
  • забезпечити «стартові» залежності для спрощення конфігурації складання;
  • автоматично конфігурувати Spring та сторонні бібліотеки;
  • надає готові до роботи функції, такі як метрики, перевірка працездатності та зовнішня конфігурація.
Щоб використовувати Spring Boot, потрібно витратити чимало часу на навчання, але я запевняю, що воно того варте. Spring Boot скоротив час розробки всіх моїх проектів і продовжує приносити користь завдяки своїй стабільності, розширюваності та зручності читання.

Висновок

Незважаючи на те, що Java багато хто вважає "старою" мовою, в якій відсутні деякі можливості новіших ЯП, у нього є унікальна підтримка у вигляді великої кількості бібліотек і величезної спільноти розробників. Тому ви відчуватимете значно менше проблем у своїй роботі. Використовуючи бібліотеки Java, ви зможете підвищити свою продуктивність. Не вигадуйте велосипед заново - зосередьтеся на основній компетенції!
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ