Programming for Muslim 📚


Гео и язык канала: Россия, Русский
Категория: Технологии


Обсуждение тут: https://t.me/progrformuslims
Ссылка 🔗 на YouTube ⤵️
https://www.youtube.com/channel/UC2VDPEwdFU68nm0Tvfi1E4Q?view_as=subscriber

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций




Репост из: Библиотека джависта | Java, Spring, Maven, Hibernate
Конкатенация

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


Let's Play Together


Если же попросить веб-сервер выполнить 1 + 1, то он не сможет этого сделать. Для выполнения на стороне сервера какой-либо логики необходимо передать входящий запрос нашему серверу приложения.


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


Внутри сервера приложения запрос передается определенному сервлету. Обработка запроса сервлетом производится в отдельном потоке. Сервлет представляет собой Java веб-компонент, управляемый контейнером, и способный предоставлять динамический контент. Аналогично и другим Java компонентам, сервлеты представляют собой платформонезависимые Java классы, компилируемые в Java байт код, который может быть динамически загружен и выполнен веб-сервером, поддерживающим Java технологии. Контейнером является расширение веб-сервера, которое предоставляет функциональность сервлетов. Сервлеты взаимодействуют с клиентами через запрос/ответ, реализуемые на уровне контейнера сервлетов.


Допустим клиент с помощью любого браузера отправил HTTP запрос. Первым делом этот запрос получает веб-сервер (сервер приложения ни в коем случае не заменяет собой веб-сервер). Все что умеет делать веб-сервер это управлять файлами. Получая запрос от клиента веб-сервер сопоставляет запрос с файлом в файловой системе и затем отправляет файл обратно клиенту. Таким образом можно работать с различными файлами: HTML, PDF, ZIP, 7Z и др.


Динамический веб-сервер состоит из статического веб-сервера и дополнительного программного обеспечения, чаще всего сервера приложения и базы данных. Мы называем его «динамическим», потому что сервер приложений изменяет исходные файлы перед отправкой в ваш браузер по HTTP.

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


Apache Spark или просто Spark — это фреймворк (ПО, объединяющее готовые компоненты большого программного проекта), который используют для параллельной обработки неструктурированных или слабоструктурированных данных.


Скопировано:
В Японии нет Дня учителя.
Oднaжды я спрoсил у свoегo япoнскoгo кoллеги, учителя Ямaмoтa:
- Кoгдa в Япoнии oтмечaют прaздник учителей, кaк Вы егo встречaете?
Удивлённый мoим вoпрoсoм, oн oтветил:
- У нaс никaкoгo прaздникa учителей нет. Услышaв егo oтвет, я не знaл, верить ему или нет. У меня мелькнулa мысль: «Пoчему стрaнa, где рaзвитa экoнoмикa, нaукa и техникa тaк неувaжительнo oтнoсится к учителю, егo труду?».
Кaк-тo пoсле рaбoты Ямaмoтa приглaсил меня в гoсти к себе дoмoй. Пoскoльку oн жил дaлекo oт шкoлы, мы пoехaли нa метрo. В вечерний «чaс пик» вaгoны пoдземнoгo пoездa были перепoлнены. Кoе-кaк прoтиснувшись, я стoял, крепкo ухвaтившись зa пoручни. Внезaпнo дедушкa, сидевший рядoм, уступил мне местo. Не пoнимaя тaкoгo увaжительнoгo oтнoшения сo стoрoны пoжилoгo челoвекa, я не мoг принять егo предлoжения, oднaкo oн был нaстoйчив, я вынужден был сесть. Пoсле выхoдa из метрo я пoпрoсил Ямaмoтa oбъяснить пoступoк aксaкaлa. Ямaмoтa улыбнулся и укaзaв нa мoй нaгрудный знaк учителя, скaзaл:
- Этoт стaрец увидел твoй знaк учителя и в знaк увaжения к твoему стaтусу уступил свoё местo.
Пoскoльку я в первый рaз шёл в гoсти к учителю Ямaмoтa, былo неудoбнo идти с пустыми рукaми и я решил приoбрести пoдaрoк. Свoими мыслями я пoделился с Ямaмoтa, oн пoддержaл меня и скaзaл, чтo впереди есть мaгaзин для учителей, где мoжнo приoбрести тoвaры пo льгoтным ценaм. Я внoвь не удержaл свoи эмoции:
- Льгoты предoстaвляются тoлькo учителям? – спрoсил я.
Пoдтверждaя мoи слoвa, Ямaмoтa скaзaл:
- В Япoнии учитель – сaмaя увaжaемaя прoфессия, сaмый увaжaемый челoвек. Япoнские предпринимaтели сильнo рaдуются, кoгдa в их мaгaзины прихoдят учителя, считaют этo бoльшoй честью для себя.
Зa время пребывaния в Япoнии я неoднoкрaтнo видел, кaк япoнцы безмернo увaжaют учителей. В метрo для них существуют oтдельные местa, для них oткрыты oтдельные мaгaзины, учителя не стoят в oчередях зa билетoм нa любoй вид трaнспoртa. Зaчем япoнским учителям oтдельный прaздник, кoгдa кaждый день их жизни слoвнo прaздник?
Перескaзывaя эту истoрию, я всем сердцем хoчу, чтoбы и нaше oбществo вырoслo дo тaкoгo урoвня, дo тaкoгo oтнoшения к учителю, a учителя были дoстoйны тaкoгo высoкoгo звaния!»




Как правило, план учебы для джава разработчика может варьироваться в зависимости от уровня ваших знаний и опыта работы. Ниже я представлю подробный план учебы для начинающего джава разработчика, который включает в себя основы языка Java и необходимые технологии и инструменты для разработки веб-приложений.
🔴💻
1. Основы Java:
a. Основные концепции и принципы языка Java: переменные, операторы, циклы, условные операторы, классы, методы, наследование, полиморфизм и интерфейсы.
b. ООП-принципы SOLID и дизайн-паттерны.

2. Работа с базами данных:
a. Основы реляционных баз данных.
b. Язык SQL: запросы на выборку, вставку, обновление и удаление данных.
c. Работа с JDBC: подключение к базе данных, выполнение запросов, обработка результатов.

3. Spring Framework:
a. Введение в Spring: IoC, DI, AOP.
b. Spring MVC и RESTful веб-сервисы.
c. Spring Boot: создание самостоятельных приложений и микросервисов.
d. Spring Data: работа с базами данных.

4. Фронтенд-разработка:
a. Основы HTML, CSS и JavaScript.
b. Angular или React: создание веб-интерфейсов для ваших Java-приложений.

5. Тестирование:
a. Юнит-тестирование с помощью JUnit и Mockito.
b. Интеграционное тестирование с помощью Spring Test и REST Assured.

6. Системы контроля версий:
a. Git: работа с репозиториями, ветвление и слияние кода.

7. Инструменты и методологии:
a. Maven или Gradle: сборка и управление зависимостями проектов.
b. Agile-методологии разработки: Scrum или Kanban.

8. Дополнительные технологии и инструменты:
a. NoSQL базы данных: MongoDB или Cassandra.
b. Docker и Kubernetes: контейнеризация и развертывание веб-приложений.
c. Apache Kafka: работа с очередями сообщений и событий.

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


Некоторые из наиболее популярных вопросов и заданий, которые могут быть заданы на собеседовании на должность Java-разработчика в Германии, могут включать в себя:

Основы Java: Основные принципы ООП, принципы SOLID, наследование, полиморфизм, абстрактные классы и интерфейсы, коллекции.

Работа с базами данных: Знание SQL, принципы работы с ORM (например, Hibernate), оптимизация запросов.

Многопоточность: Знание принципов работы с потоками в Java, синхронизация доступа к ресурсам, использование механизмов синхронизации.

Фреймворки и технологии: Spring Framework, Spring Boot, RESTful API, JPA/Hibernate, JUnit, Mockito, Maven/Gradle, Git.

Решение задач: Задачи на реализацию алгоритмов и структур данных, задачи на оптимизацию кода и архитектуру приложения.

Опыт работы: Знание принципов разработки больших приложений, опыт работы с распределенными системами, микросервисной архитектурой.

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

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


Различие простое

Scanner предназначен для разбора любого текста и, ввода с терминала, как частный случай. Он умеет выцеживать числа всякие и т.п. Удобен для простого разбора текстов и для всяких учебных задачек типа "введите число от нуля до трёх".

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

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

Сказать какой использовать вам никто не может. Это зависит от задачи и условий выполнения. Если данные поступают через стандартный ввод, то вероятно следует ожидаать, что Console вас подведёт. Scanner полезен, но он может оказаться слишком полезен и сильно всё затормозить, если данных очень много. Буфферизованный ввод тоже может подсунуть вам бяку, так что в любом случае следует рассматривать источник данных, объём данных и их характер, чтобы принять какое-то решение.


В чем различие Scanner, Console и BufferedReader?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




Репост из: Библиотека программиста | программирование, кодинг, разработка
Пишем свой первый сервер на Java и Spring Boot

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

🔗 Основной сайт
🔗 Зеркало


Репост из: IT HACKING 💡
🤷‍♂️ Как понять "FILO" ?

FIFO — акроним First In, Last Out («первым пришёл — последним ушёл», англ. ). Способ организации хранения данных, при котором записанные данные отдаются раньше данные, записанные ранее.

Так работает абстрактный тип данных "стек"

#термины


Репост из: IT HACKING 💡
​​❗️Все проггеры пользуются HOTKEYS, потому что это быстро и удобно:

☝️Клавиша NumLock включает/выключает режимы доп. клавиатуры справа. Она работает либо как просто цифровая клавиатура, либо как клавиатура со вспомогательными кнопками:

В режиме вспомогательных кнопок:

✔️ Home — переместить курсор в начало строки

✔️ END — переместить курсор в конец строки

✔️ SHIFT + HOME - выделить все до начала строки

✔️ SHIFT + END - выделить все до конца строки


#hotkeys


Репост из: IT HACKING 💡
✍️СОФТ СКИЛЛС это что?

Софт скиллс (от англ. «soft skills») — навыки социализации в обществе: социальные/коммуникативные/личностные качества человека, необходимые, в том числе, для адаптации в коллективе

#термины


Репост из: IT HACKING 💡
🤷‍♂️ Что называют "КОВОРКИНГ" ?

Коворкинг (от англ. «coworking») — современное арендованное помещение открытого типа, предназначенное для удобной и комфортной работы специалистов различных сфер деятельности, фрилансеров

#термины


Репост из: IT HACKING 💡
​​🤷‍♂️ "ХОСТИНГ" по определению это ?

1️⃣ Хостинг (Hosting) - Предоставление в аренду вычислительных мощностей и ресурсов провайдера для размещения информационных ресурсов Заказчика, а также хранения, обработки и передачи специфической информации в интересах последнего, как правило, на базе арендной платы.

2️⃣ Это позволяет клиенту разместить свой ресурс (WWW-сайт) на оборудовании хостинг-провайдера, не используя при этом собственного. Плюсы этой услуги очевидны - это отсутствие нагрузки по администрированию серверного программного обеспечения и оборудования.

#термины

Показано 20 последних публикаций.

132

подписчиков
Статистика канала