JavaStart
919 subscribers
896 photos
27 videos
604 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7💯3🤓3
SQL, базы данных. Часть 19.

Сортировка результатов.

В SQL часто кроме фильтрации данных, также часто требуется отсортировать их по одному из столбцов.

В первом уроке мы написали SQL-запрос для получения данных о совершеннолетних пользователях (Картинка 1). Посмотрим на него еще раз:

SELECT last_name, first_name, birthday, age FROM users WHERE age >= 18;

Обратите внимание, что сейчас данные никак не упорядочены. Ни по фамилии, ни по имени, ни по дате рождения. Но давайте добавим после конструкции WHERE: ORDER BY last_name:

SELECT last_name, first_name, birthday, age
FROM users WHERE age >= 18 ORDER BY last_name;

Получим результат как на Картинке 2. После выполнение данного SQL запроса мы получим таблицу отсортированную по столбцу last_name (фамилия). Так как last_name хранит строки, то сортировка происходит в алфавитном порядке.

Разумеется, сортировать можно не только по текстовым полям. Например, можно написать ORDER BY birthday:

SELECT last_name, first_name, birthday, age
FROM users
WHERE age >= 18
ORDER BY birthday;

И получить данные упорядоченные по дате рождения в хронологическом порядке как на Картинке 3.

А если в конструкции ORDER BY после имени столбца написать DESC, то данные будут отсортированы в обратном порядке — свежие даты выше. Смотрим на Картинку 4.

SELECT last_name, first_name, birthday, age
FROM users
WHERE age >= 18
ORDER BY birthday DESC;

Про ключевое слово DESC часто спрашивают на собеседовании на позицию Junior разработчика или Trainee. Могут даже спросить и мидла. Данное ключевое слово очень часто применяется в повседневной практики на коммерческом проекте!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻3🔥2
Сколько примитивных типов данных существует в Java?
Anonymous Quiz
32%
6
18%
7
43%
8
2%
9
6%
Посмотреть ответ
3👍3🤓2
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2😁2💯2👨‍💻1
Чем отличаются Junior, Middle и Senior разработчики?

Позиции джуниора, мидла и синьора не имеют ничего общего с возрастом и опытом — джуниор может быть старше синьора, а мидл может заниматься программированием дольше него. Синьора от джуниора и мидла отличает нечто большее, чем навыки кодинга!

Знания

Очевидно, что синьор знает гораздо больше, чем джуниор и мидл. Это и знание шаблонов проектирования, архитектуры, автоматизации тестирования, производительности, безопасности и других аспектов.

Работа с кодом

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

В данном контексте не будем говорить о мидлах — понятно, что они находятся где-то между джунами и синьорами, хоть и ближе ко вторым, чем к первым. Как правило, разработчики среднего уровня уже хотя бы раз прошли весь цикл создания программы, совершили множество самых простых ошибок и извлекли уроки из них.

Как вычислить джуниора?

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

А что насчет синьора?

Глядя на код продвинутого разработчика, можно подумать: и это все? Где остальная часть? Синьор пишет простой, понятный и, возможно, даже тупой код. И это одно из самых главных достоинств программиста.
Синьор думает о коде не так, как джуниор: созданные опытным специалистом программы удобно обслуживать и масштабировать.

Помимо навыков написания кода, об уровне разработчика говорят еще несколько факторов.

Джуны обычно выполняют самые простые задачи. Например, они не занимаются его архитектурой. Мидлы тоже не разрабатывают законченные решения, а просто выполняют отдельные шаги. От джуниоров они отличаются тем, что могут выполнять рутинные задачи без особого контроля. Синьоры же могут разработать приложение самостоятельно!

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

Джуниоры неопытны, и им необходим толчок в нужном направлении от мидла или синьора.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4🤓1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤓3👨‍💻2👍1
Какая из следующих коллекций в Java гарантирует порядок вставки элементов?
Anonymous Quiz
12%
HashSet
19%
TreeSet
46%
LinkedHashSet
20%
PriorityQueue
3%
Посмотреть ответ
4👍4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁2👍1🤓1
Junior, Middle, Senior. Переход на следующий уровень.

От джуниора к мидлу:

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

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

От мидла к синьору:

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

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

Если вы хотите быть синьором, то будьте готовы выполнять задачи, которые не может выполнить никто другой. Вам также придется помогать менее опытным разработчикам. Вы — их спасательный круг в трудных случаях.

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👨‍💻2
Что происходит, если метод equals() не переопределён, а сравниваются два разных объекта одного класса?
Anonymous Quiz
36%
Сравниваются их хэшкоды
14%
Возвращается false
37%
Используется оператор ==
8%
Происходит ошибка компиляции
5%
Посмотреть ответ
5🔥3👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯4👍1
Кто такой Project manager в IT ?

Менеджер IT-проектов (Project Manager, PM) - это специалист, в обязанности которого входит беспрерывное управление проектом. В IT-команде он выполняет административно-управленческие функции: соблюдение сроков, решение текущих проблем, коммуникация.

Это управленческая должность, связанная с контролем и всесторонней поддержкой. PM имеют профильное образование, которое так или иначе связанно с менеджментом. Однако в эту сферу можно зайти через другую дверь, ведь PM нередко становятся разработчики, тестировщики, верстальщики (HTML-coder) – люди, которые знают специфику IT изнутри.

Менеджер IT-проектов, получив техническое задание, выбирает специалистов, обозначает сроки, выдает ТЗ, контролирует их выполнение. Также Project Manager устраняет всевозможные препятствия, может добиться увеличения или урезания бюджета – решает ряд важных текущих стратегических задач. Он может осуществлять руководство командой, которая занимается созданием программного обеспечения, сайтов, мобильных приложений, браузерных расширений – любых IT-продуктов.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁61👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8👍31🤓1
Паттерны проектирования в Java. Часть 1.

Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят – знакомы ли вы с паттернами проектирования?

Также попросят рассказать о самом распространенном паттерне Singleton. Давайте разбираться.

Паттерны проектирования (шаблоны проектирования) – это готовые к использованию решения часто возникающих в программировании задач. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее. Паттерн проектирования, подходящий под задачу, реализуется в каждом конкретном случае самим разработчиком.

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

Давайте я перечислю некоторые типы паттернов с кратким описанием, чтобы вы понимали, что их на самом деле очень много. А потом поговорим про каждый подробнее и в частности про Singleton паттерн.

И так, типы паттернов бывают:

– Порождающие.
Порождающие паттерны предоставляют механизмы инициализации, позволяя создавать объекты удобным способом.

– Структурные.
Структурные паттерны определяют отношения между классами и объектами, позволяя им работать совместно.

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

В следующих постах поговорим о представителях каждого типа паттернов проектирования.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥2