Библиотека Java разработчика
الذهاب إلى القناة على Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
إظهار المزيد9 988
المشتركون
+124 ساعات
-157 أيام
-5730 أيام
أرشيف المشاركات
Подборка каналов для программистов 🎯
Системное администрирование 📌
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование, фронтенд, мобильная р-ка, книги 📌
https://t.me/game_devv GameDev: разработка игр
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/developer_mobila Мобильная разработка
https://t.me/BookPython Библиотека Python разработчика
https://t.me/programmist_of Книги по программированию
https://t.me/BookJava Библиотека Java разработчика
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Учим английский 📌
https://t.me/UchuEnglish Английский с нуля
Книги по математике 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют 📈
Вакансии для программистов 📌
https://t.me/progjob Вакансии для программистов
Что означает URL encoding? Как это осуществить в Java?
URL Encoding — процесс преобразования данных в форму CGI (Common Gateway Interface), не содержащую пробелов и нестандартных символов, которые заменяются в процессе кодирования на специальные escape-символы. В Java для кодирования строки используется метод java.net.URLEncoder.encode(String str, String unicode). Обратная операция декодирования возможна через использование метода java.net.URLDecoder.decode(String str, String unicode).
Hello мир! преобразовывается в Hello%20%D0%BC%D0%B8%D1%80!.
Расскажите об интерфейсе SingleThreadModel.
Интерфейс SingleThreadModel является маркерным - в нем не объявлен ни один метод, однако, если сервлет реализует этот интерфейс, то метод service() этого сервлета гарантированно не будет одновременно выполняться в двух потоках. Контейнер сервлетов либо синхронизирует обращения к единственному экземпляру, либо обеспечивает поддержку пула экземпляров и перенаправление запроса свободному сервлету. Другими словами, контейнер гарантирует отсутствие конфликтов при одновременном обращении к переменным или методам экземпляра сервлета. Однако существуют также и другие разделяемые ресурсы, которые даже при использовании этого интерфейса, остаются всё так же доступны обработчикам запросов в других потоках. Т.о. пользы от использования этого интерфейса немного и в спецификации Servlet 2.4 он был объявлен deprecated.
👨🏻💻 Какова роль архитектора ПО в проектах? 20 декабря в 20:00 пройдет встреча с преподавателем OTUS Станиславом Щетинниковым, директором разработки с 6-летним опытом создания архитектуры систем.
Станислав представит программу онлайн-курса «Microservice Architecture» от OTUS и познакомит с фишками курса, форматом обучения. В конце вебинара у вас будет возможность занять место в группе по спец.цене.
👉🏻 Регистрируйтесь на мероприятие и готовьте свои вопросы эксперту https://otus.pw/pDRq/
Поисковик новостей (RSS), написанный на Java + SQLite
Вы скорее всего подумаете: "Зачем десктопная программа, если можно, как минимум, загуглить?". А затем, что моя программа автоматически "гуглит" за тебя! Причём не только по одному ключевому слову, а по нескольким, которые вы, само собой, можете редактировать. А результат поиска будет направлен на указанную почту, исключая ранее направленные результаты.
https://habr.com/ru/post/595749/
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?
Так сделать не получится, т.к. при попытке одновременного вызова getWriter() и getOutputStream() будет выброшено исключение java.lang.IllegalStateException с сообщением, что уже был вызван другой метод.
🔥Айтишник, пора зарабатывать больше, чем DevOps!
— Готовы ли вы к обучению на продвинутом онлайн-курсе «SRE практики и инструменты» от OTUS? Пройдите тест и узнайте сейчас!
👉🏻ПРОЙТИ ТЕСТ НА ЗНАНИЕ SRE: https://otus.pw/WGjH/
📌Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатные вебинары:
— «Три слова на три буквы: SLA, SLO, SLI»: https://otus.pw/qIrt/
— «Demo Day курса (знакомство с преподавателем, ответы на вопросы по SRE)»: https://otus.pw/H8zX/
Строковые объекты в Java
https://www.developer.com/java/string-objects-java/
В чем разница между PrintWriter и ServletOutputStream?
PrintWriter — класс для работы с символьным потоком, экземпляр которого можно получить через метод ServletResponse getWriter();
ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
Чашечка Java — Telegram-канал c материалами по Java со всего интернета. А значит и на русском языке, и на английском.
Обновления в версиях языка, инструменты, структуры данных, сложные конструкции языка, связанные с Java технологии и фреймворки – обо всём этом читайте в канале: @a_cup_of_java
В чем разница между методами GET и POST?
GET передает данные серверу используя URL, тогда как POST передает данные, используя тело HTTP запроса. Длина URL ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать через GET. POST может отправлять гораздо большие объемы данных. Лимит устанавливается web-server и составляет обычно около 2 Mb.
Передача данных методом POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя, в отличии от URL, который виден почти всегда. Иногда это преимущество превращается в недостаток - вы не сможете послать данные за кого-то другого.
GETметод является неизменяемым, тогда как POST — изменяемый.
В Яндексе идет набор на стажировку в направлении DevOps (проект по поддержке Yandex Database)
Продолжительность: 3-6 месяцев в зависимости от формы занятости (20-40 часов в неделю)
Формат: очно, Москва
Откликнуться и подробнее ознакомиться с вакансией можно по ссылке
Требуемые навыки: #backend, #junior, #Python, #Go, #Java, #C++, #SQL, #Linux, #bash.
💪Усильте свои навыки разработки на Java!
🖥Подключайтесь 16 декабря в 20:00 к открытому уроку «Пример реактивного приложения на Java Spring Boot». Вебинар проведет Сергей Петрелевич, java-разработчик с 15-летним опытом работы.
📚Вместе с Сергеем мы разработаем систему получения курса валюты, разберемся с тем, что такое реfктивное программирование и переведем один из микросервисов на реактивные рельсы.
Еще больше ценных знаний вас ждет на онлайн-курсе «Java Developer. Professional» для программистов с опытом.
📌Пройдите вступительный тест, чтобы зарегистрироваться на занятие: https://otus.pw/Wcct/
Какие есть методы отправки данных с клиента на сервер?
GET - используется для запроса содержимого указанного ресурса, изображения или гипертекстового документа. Вместе с запросом могут передаваться дополнительные параметры как часть URI, значения могут выбираться из полей формы или передаваться непосредственно через URL. При этом запросы кэшируются и имеют ограничения на размер. Этот метод является основным методом взаимодействия браузера клиента и веб-сервера.
POST - используется для передачи пользовательских данных в содержимом HTTP-запроса на сервер. Пользовательские данные упакованы в тело запроса согласно полю заголовка Content-Type и/или включены в URI запроса. При использовании метода POST под URI подразумевается ресурс, который будет обрабатывать запрос.
Какой метод HTTP не является неизменяемым?
HTTP метод называется неизменяемым, если он на один и тот же запрос всегда возвращает одинаковый результат. HTTP методы GET, PUT, DELETE, HEAD и OPTIONS являются неизменяемыми, поэтому необходимо реализовывать приложение так, чтобы эти методы возвращали одинаковый результат постоянно. К изменяемым методам относится метод POST, который и используется для реализации чего-либо, что изменяется при каждом запросе.
К примеру, для доступа к статической HTML странице используется метод GET, т.к. он всегда возвращает одинаковый результат. При необходимости сохранять какую-либо информацию, например в базе данных, нужно использовать POST метод.
Стоит ли волноваться о многопоточной безопасности работая с сервлетами?
Методы init() и destroy() вызываются один раз за жизненный цикл сервлета — поэтому по поводу них беспокоиться не стоит.
Методы doGet(), doPost(), service() вызываются на каждый запрос клиента и т.к. сервлеты используют многопоточность, то здесь задумываться о потокобезопасной работе обязательно. При этом правила использования многопоточности остаются теми же: локальные переменные этих методов будут созданы отдельно для каждого потока, а при использовании глобальных разделяемых ресурсов необходимо использовать синхронизацию или другие приёмы многопоточного программирования.
Какие возможности имеет Groovy для написания DSL?
🔥 В рамках онлайн-курса «Groovy Developer» от OTUS пройдет вебинар «Groovy DSL. Создание инструментов для разработки» 14 декабря в 20:00. Урок проведет Руслан Михалев, Groovy-разработчик с 6-летним.
✅ На demo-занятии мы разберемся, какие функции имеет Groovy для написания DSL (предметно-ориентированного языка).
✅ Посмотрим, как с их помощью создавать удобные библиотеки для разработки, декларативные конфигурации в виде кода, а также инструменты, которые позволяют описывать сценарии без навыков программирования.
✅Это такие функции, как Chains, Script Engine, Operator Overloading, Categories, Closures, AST-трансформации и другие.
Если вы опытный разработчик на Java или на другом языке и работали с БД, не упустите возможность протестировать обучение в OTUS!
Пройдите вступительный тест, чтобы мы записали вас на урок 👉 https://otus.pw/OBFU/
Возможности Java — от Java 8 до Java 17
С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.
Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегодняшнего дня. Мы постараемся быть как можно более краткими по каждой функции. Намерение состоит в том, чтобы иметь ссылку на все новые фичи языка Java версий 8 - 17 включительно.
Rus https://habr.com/ru/post/593243/
Eng https://reflectoring.io/java-release-notes/
Какие основные методы присутствуют в классе HttpServlet?
doGet() - для обработки HTTP запросов GET;
doPost() - для обработки HTTP запросов POST;
doPut() - для обработки HTTP запросов PUT;
doDelete() - для обработки HTTP запросов DELETE;
doHead() - для обработки HTTP запросов HEAD;
doOptions() - для обработки HTTP запросов OPTIONS;
doTrace() - для обработки HTTP запросов TRACE.
Хочешь стать Java-разработчиком, но пока не имеешь опыта работы? Приглашаем пройти отбор и стать одним из 20 слушателей Java-школы 🖥 Лучшие ученики получат оффер от Газпромбанка.
Курс поможет разобраться в теории и даст необходимые навыки практической разработки веб-приложений на Java. А выпускники смогут претендовать на позицию Java Junior Developer в Газпромбанке.
Как все устроено?
🔷 Старт обучения в январе
🔷 Занятия в Zoom 3 раза в неделю
🔷 Курс длится 2 месяца
Подать заявку можно по ссылке > https://vk.cc/c8LgV0
