Java_No_Panic
342 subscribers
94 photos
60 links
Самый перспективный, полезный и ламповый канал по Java в русскоязычном телеграме!

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

Сотрудничество:
@Niik_Whaale
Download Telegram
Итоги дня

По нашей вечерней, а вернее сказать ночной традиции предлагаем вам оставить фидбэк за прошедший день, поэтому ставьте реакцию на этот пост в соответствии с тем, насколько мы были полезны вам сегодня и заполняйте гугл форму ниже, если у вас есть жалобы, вопросы или предложения, мы учитываем мнение каждого! Самый активный из вас, оставляющий отзыв каждый день в течение недели по-прежнему имеет возможность в воскресенье получить 25$ в любой криптовалюте на выбор. Спасибо, что вы с нами!
3
Как создать свой метод?

Метод должен быть объявлен внутри класса. Он определяется именем метода, за которым следуют круглые скобки().

Java предоставляет некоторые предопределенные методы, такие как System.out.println(), но вы также можете создавать свои собственные методы для выполнения определенных действий:

public class Main {
static void myMethod() {
// код, который нужно выполнить
}
}

Объяснение примера:

- myMethod() — это имя метода

- static означает, что метод принадлежит классу Main,
а не объекту класса Main. Мы расскажем вам больше об объектах и о том, как получить доступ к методам через
объекты в наших следующих постах.

- void означает, что этот метод не имеет возвращаемого значения.

#learning_java
👍4👏1😢1💩1
Дорогие подписчики, коллеги и просто наша любимая аудитория!

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

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

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

Во-вторых мы хотим быть с вами предельно честными, так что не будем скрывать цифры, о которых обычно не говорят: мы уже потратили на запуск и развитие канала 600€ (39.720₽), которые ушли на рекламу, разработку дизайна и многое другое. И учитывая масштабы наших планов, нам необходимо увеличивать бюджет, ибо у нас есть далеко не всё оборудование, нас всего двое и нам рано или поздно потребуется расширять команду, а также мы тоже хотим расти, учиться и повышать свою компетенцию, чтобы улучшать качество контента и эффективнее помогать вам.

С наилучшими пожеланиями,
команда Java_No_Panic

#appeal
10💩7🔥4👍3🤮1
Всегда ли хорошо использовать встроеные методы?

Вчера мы с вами разбирались в том, зачем нам создавать свои методы. Если ты забыл(а), то посмотри вот этот пост. А мы идем дальше!

Сегодня мы поговорим про использование нативных методов, то-есть тех, что предоставляет нам сам язык программирования. Канал Senior Java Developer поделился с нами интересной мыслью: автор привел пример использования нативной функции Math.pow().

Он выяснил, что выполнение операции Math.pow() менее эффективное чем использование обычного оператора умножения. Мы решили проверить данное утверждения и написали для этого свой тест :)

Вот такие результаты у нас получились:

Результаты нашего метода подсчета степени:

6224 ms: 4.8569351667866E+255

Результаты нативной функции Math.pow():

43350 ms: 4.8569351667866E+255

Как мы можем заметить, автор был совершено прав. Функция Math.pow(), к сожалению, не всегда выполняет вычисления эффективно. Если вам интересны другие нативные методы и вы также как и мы хотите учиться по разным источникам, то мы настоятельно рекомендуем включать в свое обучение прочтения постов в канале Senior Java Developer.

#learning_java
💩45👍10🔥4👎1🎉1🤮1
Связь между клиентами и серверами осуществляется с помощью следующей последовательности запросов и ответов

1. Клиент (браузер) отправляет HTTP-запрос в Интернет

2. Веб-сервер получает запрос

3. Сервер запускает приложение для обработки запроса

4. Сервер возвращает HTTP-ответ (выход) в браузер

5. Клиент (браузер) получает ответ

#learning_java
👍6🔥2
Желаем вам доброй ночи, а нам вашей обратной связи, которую можно дать, оставив реакцию на этот пост в соответствии с тем, насколько мы были полезны вам сегодня, а если у вас есть жалобы, вопросы или предложения, заполняйте гугл форму ниже, так вы помогаете нам стать лучше! И да, до воскресенья осталось совсем немного, а это значит, что тот из вас, кто регулярнее всех заполнял форму в течение недели, стал ещё ближе к своим 25$ в любой криптовалюте на выбор. Спасибо, что вы с нами!
👍5👎1
Зарплаты в IT

Заниматься любимым делом хорошо, а когда за него платят - ещё лучше.
Согласно статистике Хабр, медианная зарплата в IT секторе во втором полугодии 2022 года составляет 150к рублей.

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

В списке самых оплачиваемых языков на текущий момент JavaScript стоит на втором месте, а Java на пятом.

Также предлагаем вам взглянуть на выжимку из большой статьи на Хабр, в которой мы отобрали для вас основные моменты касательно зарплат в первом полугодии 2022:

- Медианная зарплата на IT-рынке в первом полугодии составляла 140к рублей

- Самую большую зарплату платили Авито и Skyeng (250к рублей), Mail․ru Group (231к рублей) и Лаборатории Касперского (215к рублей).

- Архитекторы ПО зарабатывали (и скорее всего сейчас зарабатывают) больше всех остальных - 285к рублей.

- У достаточного количества пользователей портала данные не совпадают со статистическими, причем как в отрицательную, так и в положительную сторону, так что советуем почитать комментарии под статьей.

#salary
🤯3👍1
Спасибо, что отлично провели с нами этот день. Надеемся, что вы научились чему-то новому.
Как вы себя чувствуете в нашем канале?
Anonymous Poll
46%
Отлично
39%
Положительно
12%
Так-себе
3%
Плохо
👍4
Как можно создать объект в Java?

В Java объект создается из класса. Мы уже создали класс с именем Main, так что теперь мы можем использовать его для создания объектов.

Чтобы создать объект Main, укажите имя класса, за которым следует имя объекта, и используйте ключевое слово new:

public class Main {
String className = "Main";

public static void main(String[] args) {
Main myObj = new Main();

System.out.println(
myObj.className);
}
}

#learning_java
🔥7
Что такое конструкторы Java?

Конструктор
в Java — это специальный метод, который используется для инициализации объектов.

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

public class Main {
String className;

public Main(String className) {
this.className = className;
}

public static void main(String[] args) {

Main myObj = new Main("Main");
System.out.println(myObj.className);
}
}

#learning_java
🔥5👍3
Итоги конкурса!

Команда Java_No_Panic рада сообщить о завершении конкурса фидбэков, просим победителей написать нам в личные сообщения (контакты в описании канала) и передает искренние поздравления!

1-е место: Kate (Ekaterina Sidorova) - 12.5$
2-е место: Alek (Алек Филатов) - 10$
3-е место: Random user - 2.5$

P. S. Рандомайзер выйдет на работу в понедельник, так что приз за третье место будет выдан завтра :)

#feedback_contest
👍4🔥3
Что такое модификатор в Java?

Вы уже хорошо знакомы с ключевым словом public, которое встречается почти во всех наших примерах:

public class Main

Ключевое слово public является модификатором доступа.

Оно используется рядом с классами, атрибутами, методами и конструкторами.

Главная цель модификатора - это установка доступа для элемента.

Разделим модификаторы на две группы:

🔴 Модификаторы доступа — контролируют уровень доступа

🔴 Модификаторы без доступа — не контролируют уровень доступа, но предоставляют другие функции.

В следующем посте мы расскажем вам как их правильно использовать :)

#learning_java
4👍2
Какой модификатор доступа следует использовать?

Для классов вы можете использовать как public, так и default:

🔴 public — класс доступен любому другому классу.

🔴 default — класс доступен только классам в том же пакете.

Для атрибутов, методов и конструкторов вы можете использовать одно из следующих:

🔴 public — Код доступен для всех классов.

🔴 private — Код доступен только внутри объявленого класса.

🔴 default — Код доступен только в том же пакете.

🔴 protected — Код доступен в том же пакете и подклассах.

#learning_java
🔥5👏2
А вот и отзыв от победительницы конкурса ежедневных фидбэков Kate, за который ей отдельное спасибо.

#feedback
6
Какой модификатор доступа NON-ACCCESS следует использовать?

Для классов
вы можете использовать либо final, либо abstract:

🔴 final - Класс не может быть унаследован другими классами.

🔴 abstract - Класс нельзя использовать для создания объектов (чтобы получить доступ к абстрактному классу, он должен быть унаследован от другого класса.

Для атрибутов и методов вы можете использовать одно из следующих:

🔴 final - Атрибуты и методы нельзя переопределить/изменить.

🔴 static - Атрибуты и методы принадлежат классу, а не объекту.

🔴 abstract - Может использоваться только в абстрактном классе и только в методах. Метод не имеет тела, например, abstract void run();. Тело предоставляется подклассом (наследуется от).

🔴 transient - Атрибуты и методы пропускаются при сериализации содержащего их объекта.

🔴 synchronized - синхронизированные методы могут быть доступны только одному потоку(thread) за раз

🔴 volatile - Значение атрибута не кэшируется локально в потоке(thread) и всегда считывается из основной памяти.

#learning_java
👍5🔥1🌭1
Что такое сериализация в Java?

#для_новичков
#для_мидл_разработчиков

Сериализация в Java — это процесс преобразования объекта кода Java в поток байтов для передачи объектного кода с одной виртуальной машины Java на другую и воссоздания его с использованием процесса десериализации.

#learning_java
🔥9
Зачем нам нужна сериализация в Java?

#для_новичков
#для_мидл_разработчиков

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

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

Сериализация используется для достижения следующих целей:

🔴 Коммуникация: Сериализация включает в себя процедуру сериализации и передачи объекта. Это позволяет нескольким компьютерным системам проектировать, совместно использовать и выполнять объекты одновременно.

🔴 Глубокое копирование: процесс клонирования упрощается благодаря сериализации. Точная копия объекта получается путем сериализации объекта в массив байтов, а затем его десериализации.

🔴 Кросс-синхронизация JVM: основное преимущество сериализации заключается в том, что она работает с разными JVM, которые могут работать на разных архитектурах или операционных системах.

#learning_java
👍5🐳2
Как мы сериализуем объект?

#для_новичков
#для_мидл_разработчиков

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

Объект Java является сериализуемым тогда и только тогда, когда его класс или любой из его родительских классов реализует либо интерфейс java.io.Serializable, либо его субинтерфейс, java.io.Externalizable.

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

Пример подключения сериализации в класса Employee

 class Employee implements Serializable {
private static final long serialVersionUID = 1L;
int id;
String name;
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
}

#learning_java
🔥5👍1
Один из правдивых фактов о нашей профессии

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

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

#soft_skills
🔥6👍1