Что такое default конструктор? 🤓
Ответ:
Если в классе не определен конструктор, Java создает default конструктор без параметров, который инициализирует поля значениями по умолчанию (null, 0, false).
Пример:
class Example {
int x; // По умолчанию 0
}
Example e = new Example(); // Вызывает default конструктор
Если определен любой конструктор, default не создается.
#собеседование
Ответ:
Пример:
class Example {
int x; // По умолчанию 0
}
Example e = new Example(); // Вызывает default конструктор
Если определен любой конструктор, default не создается.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Влади́мир Бори́сович Бете́лин (род. 8 августа 1946, Кинешма Ивановской области) — советский и российский учёный, академик РАН, специалист в области информационных технологий; разработал инструментальные системы программного обеспечения и прикладные графические системы (САПР).
Михаил Владимирович Донской (8 августа 1948 — 13 января 2009, Москва) — российский программист, один из авторов первой советской шахматной программы «Каисса»
1973 — Первый микропроцессор в космосе (Pioneer Venus)
Начало использования микропроцессоров в космической технике.
1974 — DIY-компьютер Mark‑8
Публикация схемы одного из первых домашних ПК в Radio-Electronics. Этап на пути к персональным вычислениям.
1989 — Анонс Tandy PC
Компания Tandy Corporation начала продажи ПК под своим брендом, способствуя доступности компьютеров для массового пользователя.
1995 — IPO Netscape Communications
Одно из ключевых событий эры доткомов: популяризация браузеров и Интернета.
1999 — Представлен процессор AMD Athlon
Процессор стал прорывом в конкурентной гонке с Intel на рынке производительных CPU.
2004 — 1 миллион треков в iTunes Store
Apple достигла рубежа в 1 млн песен. Веха в развитии цифровой музыки и легальных медиаплатформ.
#Biography #Birth_Date #Events #8Августа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Интеграции, публикации в Gradle
Публикация артефактов
Gradle поддерживает публикацию артефактов (JAR, WAR, и т.д.) в репозитории с помощью плагина maven-publish.
maven-publish, publishing {}
Плагин maven-publish:
Позволяет публиковать артефакты в Maven-совместимые репозитории.
Пример (build.gradle):
Kotlin DSL:
Команда публикации:
Нюансы:
Храните учетные данные в ~/.gradle/gradle.properties:
Используйте HTTPS для безопасной публикации.
Подпись: GPG и signing
Плагин signing:
Добавляет подпись артефактов с помощью GPG для проверки их целостности.
Пример:
Настройка GPG:
Установите GPG и сгенерируйте ключ:
Настройте ~/.gradle/gradle.properties:
Нюансы:
Публикуйте публичный ключ в keyserver (например, gpg --send-keys 12345678).
Для Maven Central подпись обязательна.
Интеграция с Maven Central, Artifactory, Nexus
Maven Central:
Используйте плагин io.github.gradle-nexus.publish-plugin для упрощения публикации:
Команда:
Artifactory:
Настройте репозиторий:
Nexus:
Аналогично Artifactory, укажите URL и учетные данные.
#Java #middle #Gradle #Task #integration
Публикация артефактов
Gradle поддерживает публикацию артефактов (JAR, WAR, и т.д.) в репозитории с помощью плагина maven-publish.
maven-publish, publishing {}
Плагин maven-publish:
Позволяет публиковать артефакты в Maven-совместимые репозитории.
Пример (build.gradle):
plugins {
id 'java'
id 'maven-publish'
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
groupId = 'com.example'
artifactId = 'my-library'
version = '1.0.0'
}
}
repositories {
maven {
url 'https://nexus.example.com/repository/maven-releases'
credentials {
username = project.findProperty('nexusUsername')
password = project.findProperty('nexusPassword')
}
}
}
}
Kotlin DSL:
plugins {
java
`maven-publish`
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = "com.example"
artifactId = "my-library"
version = "1.0.0"
}
}
repositories {
maven {
url = uri("https://nexus.example.com/repository/maven-releases")
credentials {
username = project.findProperty("nexusUsername") as String?
password = project.findProperty("nexusPassword") as String?
}
}
}
}
Команда публикации:
./gradlew publish
В памяти: Публикация загружает метаданные артефактов (POM-файлы, JAR) и зависимости в память, добавляя 50-100 МБ overhead. Сетевые операции для загрузки в репозиторий увеличивают время выполнения.
Нюансы:
Храните учетные данные в ~/.gradle/gradle.properties:
nexusUsername=myuser
nexusPassword=mypassword
Используйте HTTPS для безопасной публикации.
Подпись: GPG и signing
Плагин signing:
Добавляет подпись артефактов с помощью GPG для проверки их целостности.
Пример:
plugins {
id 'java'
id 'maven-publish'
id 'signing'
}
signing {
sign publishing.publications.mavenJava
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
Настройка GPG:
Установите GPG и сгенерируйте ключ:
gpg --gen-key
Настройте ~/.gradle/gradle.properties:
signing.keyId=12345678
signing.password=yourpassword
signing.secretKeyRingFile=/path/to/.gnupg/secring.gpg
В памяти: Подпись добавляет операции шифрования, увеличивая потребление памяти (10-50 МБ) и время выполнения задачи.
Нюансы:
Публикуйте публичный ключ в keyserver (например, gpg --send-keys 12345678).
Для Maven Central подпись обязательна.
Интеграция с Maven Central, Artifactory, Nexus
Maven Central:
Используйте плагин io.github.gradle-nexus.publish-plugin для упрощения публикации:
plugins {
id 'io.github.gradle-nexus.publish-plugin' version '1.3.0'
}
nexusPublishing {
repositories {
sonatype {
nexusUrl = uri('https://s01.oss.sonatype.org/service/local/')
snapshotRepositoryUrl = uri('https://s01.oss.sonatype.org/content/repositories/snapshots/')
username = project.findProperty('sonatypeUsername')
password = project.findProperty('sonatypePassword')
}
}
}
Команда:
./gradlew publishToSonatype closeAndReleaseRepository.
Artifactory:
Настройте репозиторий:
publishing {
repositories {
maven {
url 'https://artifactory.example.com/artifactory/libs-release'
credentials {
username = project.findProperty('artifactoryUsername')
password = project.findProperty('artifactoryPassword')
}
}
}
}
Nexus:
Аналогично Artifactory, укажите URL и учетные данные.
В памяти: Публикация в удаленные репозитории загружает метаданные и артефакты в память, а также выполняет сетевые операции, увеличивая overhead (50-200 МБ).
#Java #middle #Gradle #Task #integration
👍2
CI/CD
Gradle легко интегрируется с CI/CD системами, такими как Jenkins, GitLab CI и GitHub Actions, обеспечивая автоматизацию сборки, тестирования и публикации.
Gradle в Jenkins
Настройка:
Установите Gradle Plugin в Jenkins.
Создайте задачу с Gradle Wrapper:
Настройте gradle.properties для CI:
GitLab CI
Пример
GitHub Actions
Пример
Нюансы:
Используйте --no-daemon в CI для экономии памяти.
Включите Build Cache для ускорения:
Публикуйте Build Scans для анализа CI-сборок.
Gradle Daemon и производительность
Gradle Daemon — это фоновый процесс, который сохраняет JVM между сборками для ускорения.
Включение:
По умолчанию включен.
Отключение:
Производительность:
Ускоряет повторные сборки, избегая инициализации JVM.
Поддерживает --parallel для параллельного выполнения задач.
Нюансы:
Используйте --no-daemon в CI/CD, чтобы избежать утечек памяти.
Остановите Daemon:
Настройте память в gradle.properties:
Build Scan: анализ, оптимизация, диагностика
Build Scans — это веб-отчеты, предоставляющие детальную информацию о сборке.
Настройка:
Генерация:
Использование:
Анализ времени выполнения задач.
Выявление узких мест (медленные задачи, конфликты зависимостей).
Диагностика ошибок через логи и зависимости.
Нюансы:
Полезен для оптимизации CI/CD и крупных проектов.
Храните ссылки на Build Scans для командной работы.
#Java #middle #Gradle #Task #integration
Gradle легко интегрируется с CI/CD системами, такими как Jenkins, GitLab CI и GitHub Actions, обеспечивая автоматизацию сборки, тестирования и публикации.
Gradle в Jenkins
Настройка:
Установите Gradle Plugin в Jenkins.
Создайте задачу с Gradle Wrapper:
./gradlew clean build --no-daemon
Настройте gradle.properties для CI:
org.gradle.jvmargs=-Xmx2048m
org.gradle.caching=true
В памяти: Используйте --no-daemon в CI, чтобы избежать постоянного процесса Gradle Daemon, экономя память (200-300 МБ).
GitLab CI
Пример
.gitlab-ci.yml:
stages:
- build
build:
stage: build
image: gradle:8.1-jdk11
script:
- ./gradlew clean build --no-daemon
cache:
paths:
- ~/.gradle/caches/
- ~/.gradle/wrapper/
В памяти: Кэширование ~/.gradle/caches между сборками снижает сетевые запросы, но требует дискового пространства.
GitHub Actions
Пример
.github/workflows/build.yml:
name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gradle/gradle-build-action@v2
with:
gradle-version: 8.1
- run: ./gradlew clean build --no-daemon
В памяти: GitHub Actions кэширует зависимости через gradle-build-action, минимизируя overhead.
Нюансы:
Используйте --no-daemon в CI для экономии памяти.
Включите Build Cache для ускорения:
buildCache {
local { enabled = true }
}
Публикуйте Build Scans для анализа CI-сборок.
Gradle Daemon и производительность
Gradle Daemon — это фоновый процесс, который сохраняет JVM между сборками для ускорения.
Включение:
По умолчанию включен.
Отключение:
./gradlew build --no-daemon.
Производительность:
Ускоряет повторные сборки, избегая инициализации JVM.
Поддерживает --parallel для параллельного выполнения задач.
В памяти: Daemon потребляет 200-300 МБ памяти в простое. Для крупных проектов может достигать 1-2 ГБ при активной сборке.
Нюансы:
Используйте --no-daemon в CI/CD, чтобы избежать утечек памяти.
Остановите Daemon:
./gradlew --stop.
Настройте память в gradle.properties:
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
Build Scan: анализ, оптимизация, диагностика
Build Scans — это веб-отчеты, предоставляющие детальную информацию о сборке.
Настройка:
plugins {
id 'com.gradle.build-scan' version '3.17.4'
}
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
Генерация:
./gradlew build --scan
Использование:
Анализ времени выполнения задач.
Выявление узких мест (медленные задачи, конфликты зависимостей).
Диагностика ошибок через логи и зависимости.
В памяти: Build Scan загружает метаданные сборки (граф задач, зависимости, время выполнения) в память, добавляя 50-100 МБ overhead. Данные отправляются на сервер Gradle Enterprise, требуя сетевых операций.
Нюансы:
Полезен для оптимизации CI/CD и крупных проектов.
Храните ссылки на Build Scans для командной работы.
#Java #middle #Gradle #Task #integration
👍4
Вы бы пошли работать Junior за 25000 рублей?
Anonymous Poll
33%
Конечно! А как еще получить опыт? 🤓
10%
Да! На 1 год, для строчки в резюме. 😉
8%
Наверно нет. Хотя не уверен. 🤷♀️
27%
Не, скорее всего не пойду, на такие деньги не проживешь 👎
21%
Категорически нет! У джуна зарплата должна быть не меньше 100к 😈
Что выведет код?
#Tasks
public class Task080825 {
public static void main(String[] args) {
String s1 = "Java";
String s2 = "Java";
String s3 = new String("Java").intern();
String s4 = new String("Java");
System.out.println(
(s1 == s2) + " " +
(s1 == s3) + " " +
(s1.equals(s4)) + " " +
(s3 == s4)
);
}
}
#Tasks
👍1
Варианты ответа:
Anonymous Quiz
15%
true true true true
4%
false true true true
26%
true false true false
56%
true true true false
👍2
Что такое marker interface? 🤓
Ответ:
Маркерный интерфейс — это интерфейс без методов, используемый для пометки классов (например, Serializable, Cloneable). JVM или библиотеки используют его для специальной обработки.
Пример:
interface MyMarker {}
class MyClass implements MyMarker {}
Проверяется через instanceof для определения типа поведения.
#собеседование
Ответ:
Пример:
interface MyMarker {}
class MyClass implements MyMarker {}
Проверяется через instanceof для определения типа поведения.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вы бы порекомендовали этот канал своим друзьям - программистам?
Anonymous Poll
31%
Да и делаю это регулярно! 😎
46%
Да, но нет друзей-программистов 😭
0%
Не знаю... Таких каналов мильон 🤷♀️
0%
Нет, зачем портить у них репутацию 👎
23%
Админ молодец, я молодец, все молодцы 😂
👍3
Генна́дий Анато́льевич Звенигоро́дский (9 августа 1952 — 8 октября 1984) — советский математик и педагог, один из основателей школьной информатики в СССР, разработчик учебных языков и систем программирования для школ.
Ма́рвин Ли Ми́нский (англ. Marvin Lee Minsky; 9 августа 1927 — 24 января 2016) — американский учёный, пионер искусственного интеллекта, сооснователь Лаборатории ИИ MIT и лауреат премии Тьюринга.
Анатолий Иванович Китов (9 августа 1920, Самара — 14 октября 2005, Москва) — советский учёный, один из основателей кибернетики и информатики в СССР, разработчик первых ЭВМ.
1995 — IPO Netscape Communications
9 августа 1995 года компания Netscape вышла на NASDAQ, открыв эпоху «доткомов» и революционизировав рынок веб-браузеров. Акции выросли с $14 до $71 в день выхода, что сделало IPO одним из крупнейших в истории рынка.
1991 — Первый email из космоса
Во время миссии шаттла Atlantis (STS-43) астронавты отправили первое электронное письмо из космоса, набрав сообщение через Mac Portable.
1910 — Патент на первый электрический стиральный автомат
9 августа 1910 года Олва Дж. Фишер получил патент на Thor — первую в истории полностью электрическую стиральную машину, заложив фундамент для будущих бытовых автоматов.
Computer Olympiad 1989
9-15 августа 1989 года в Лондоне прошла первая Computer Olympiad — международное соревнование программ-игр.
#Biography #Birth_Date #Events #9Августа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
С 02.08 по 08.08
Предыдущий пост(с 26.07 по 01.08)
Воскресный мотивационный пост:
Сломай свой хаос 😵💫
Выбранная голосованием тема:
Обзор JSON Web Tokens (JWT) в Java
Запись встреч/видео:
Простые юнит тесты через TDD в Spring
Обучающие статьи:
Модульность и многомодульные проекты в Gradle
Конфигурация, профили, параметры и свойства в Gradle: Управление сборкой
Интеграции, публикации в Gradle
if / else в Java
Switch/case в Java
Полезные статьи и видео:
Генерация случайных чисел
Посмеяться
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
#memory
Предыдущий пост(с 26.07 по 01.08)
Воскресный мотивационный пост:
Сломай свой хаос 😵💫
Выбранная голосованием тема:
Обзор JSON Web Tokens (JWT) в Java
Запись встреч/видео:
Простые юнит тесты через TDD в Spring
Обучающие статьи:
Модульность и многомодульные проекты в Gradle
Конфигурация, профили, параметры и свойства в Gradle: Управление сборкой
Интеграции, публикации в Gradle
if / else в Java
Switch/case в Java
Полезные статьи и видео:
Генерация случайных чисел
Посмеяться
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
#memory
👍4
Введение в Nginx
Nginx (произносится как "engine x") — это высокопроизводительное программное обеспечение с открытым исходным кодом, выполняющее функции веб-сервера, обратного прокси-сервера, балансировщика нагрузки, TCP/UDP-прокси и почтового прокси-сервера. Созданное Игорем Сысоевым в 2004 году, оно распространяется под лицензией BSD из 2 пунктов. Nginx завоевал популярность благодаря своей скорости, стабильности и низкому потреблению ресурсов, что делает его выбором для многих высоконагруженных сайтов, таких как Netflix, Dropbox, Яндекс и ВКонтакте.
Согласно данным W3Techs (по состоянию на апрель 2025 года), Nginx занимает первое место среди веб-серверов, обслуживая 33,8% всех веб-сайтов, опережая Apache (26,4%) и Cloudflare Server (23,4%). Это подчеркивает его широкое признание и надежность.
Как работает Nginx?
Nginx использует асинхронную событийно-ориентированную архитектуру, которая позволяет обрабатывать тысячи одновременных соединений с минимальным использованием ресурсов.
Основные аспекты его работы включают:
Один основной процесс и несколько рабочих процессов: Основной процесс управляет конфигурацией и координирует работу, а рабочие процессы обрабатывают запросы пользователей. Это снижает накладные расходы по сравнению с многопоточной моделью, используемой, например, в Apache.
Механизмы событий: Nginx поддерживает такие технологии, как kqueue (FreeBSD), epoll (Linux) и другие, для эффективной обработки сетевых соединений.
Оптимизация передачи данных: Использование технологий, таких как sendfile и асинхронный ввод/вывод (AIO), минимизирует копирование данных и ускоряет доставку контента.
Низкое потребление памяти: Например, для 10 000 неактивных HTTP keep-alive соединений требуется всего около 2,5 МБ памяти.
Запросы пользователей разбиваются на небольшие сетевые соединения, которые обрабатываются асинхронно. После обработки они собираются в единый ответ и отправляются клиенту. Одно соединение может обрабатывать до 1024 запросов, что значительно повышает производительность.
Для чего нужен Nginx?
Nginx универсален и применяется в различных сценариях:
Веб-сервер
Обслуживает статический контент (HTML, CSS, изображения, JavaScript) с высокой скоростью.
Обратный прокси
Перенаправляет запросы к другим серверам, скрывая их от клиента.
Балансировка нагрузки
Распределяет входящий трафик между несколькими серверами для повышения отказоустойчивости.
Кеширование
Сохраняет часто запрашиваемый контент для ускорения доставки.
Почтовый прокси
Поддерживает протоколы IMAP, POP3, SMTP с возможностью аутентификации через HTTP.
Безопасность
Поддерживает SSL/TLS, ограничение доступа по IP и защиту от DDoS-атак.
Nginx особенно эффективен для высоконагруженных веб-приложений, где требуется быстрая доставка контента и стабильность при большом количестве запросов.
Почему выбрать Nginx?
Nginx выделяется среди других веб-серверов, таких как Apache, по нескольким причинам:
Высокая производительность: Асинхронная архитектура позволяет обрабатывать больше запросов с меньшими ресурсами.
Эффективность для статического контента: Nginx быстрее Apache в доставке статических файлов, таких как изображения и CSS.
Модульная архитектура: Легко расширяется с помощью модулей для добавления новых функций.
Низкое потребление ресурсов: Минимизирует использование памяти и процессора, что идеально для серверов с ограниченными ресурсами.
Широкое применение: Используется крупными компаниями, такими как Netflix, Dropbox и WordPress.com, что подтверждает его надежность.
Nginx также может работать в связке с Apache: Nginx обрабатывает статический контент, а Apache — динамический, что оптимизирует производительность сайта.
#Java #middle #on_request #nginx
Nginx (произносится как "engine x") — это высокопроизводительное программное обеспечение с открытым исходным кодом, выполняющее функции веб-сервера, обратного прокси-сервера, балансировщика нагрузки, TCP/UDP-прокси и почтового прокси-сервера. Созданное Игорем Сысоевым в 2004 году, оно распространяется под лицензией BSD из 2 пунктов. Nginx завоевал популярность благодаря своей скорости, стабильности и низкому потреблению ресурсов, что делает его выбором для многих высоконагруженных сайтов, таких как Netflix, Dropbox, Яндекс и ВКонтакте.
Согласно данным W3Techs (по состоянию на апрель 2025 года), Nginx занимает первое место среди веб-серверов, обслуживая 33,8% всех веб-сайтов, опережая Apache (26,4%) и Cloudflare Server (23,4%). Это подчеркивает его широкое признание и надежность.
Как работает Nginx?
Nginx использует асинхронную событийно-ориентированную архитектуру, которая позволяет обрабатывать тысячи одновременных соединений с минимальным использованием ресурсов.
Основные аспекты его работы включают:
Один основной процесс и несколько рабочих процессов: Основной процесс управляет конфигурацией и координирует работу, а рабочие процессы обрабатывают запросы пользователей. Это снижает накладные расходы по сравнению с многопоточной моделью, используемой, например, в Apache.
Механизмы событий: Nginx поддерживает такие технологии, как kqueue (FreeBSD), epoll (Linux) и другие, для эффективной обработки сетевых соединений.
Оптимизация передачи данных: Использование технологий, таких как sendfile и асинхронный ввод/вывод (AIO), минимизирует копирование данных и ускоряет доставку контента.
Низкое потребление памяти: Например, для 10 000 неактивных HTTP keep-alive соединений требуется всего около 2,5 МБ памяти.
Запросы пользователей разбиваются на небольшие сетевые соединения, которые обрабатываются асинхронно. После обработки они собираются в единый ответ и отправляются клиенту. Одно соединение может обрабатывать до 1024 запросов, что значительно повышает производительность.
Для чего нужен Nginx?
Nginx универсален и применяется в различных сценариях:
Веб-сервер
Обслуживает статический контент (HTML, CSS, изображения, JavaScript) с высокой скоростью.
Обратный прокси
Перенаправляет запросы к другим серверам, скрывая их от клиента.
Балансировка нагрузки
Распределяет входящий трафик между несколькими серверами для повышения отказоустойчивости.
Кеширование
Сохраняет часто запрашиваемый контент для ускорения доставки.
Почтовый прокси
Поддерживает протоколы IMAP, POP3, SMTP с возможностью аутентификации через HTTP.
Безопасность
Поддерживает SSL/TLS, ограничение доступа по IP и защиту от DDoS-атак.
Nginx особенно эффективен для высоконагруженных веб-приложений, где требуется быстрая доставка контента и стабильность при большом количестве запросов.
Почему выбрать Nginx?
Nginx выделяется среди других веб-серверов, таких как Apache, по нескольким причинам:
Высокая производительность: Асинхронная архитектура позволяет обрабатывать больше запросов с меньшими ресурсами.
Эффективность для статического контента: Nginx быстрее Apache в доставке статических файлов, таких как изображения и CSS.
Модульная архитектура: Легко расширяется с помощью модулей для добавления новых функций.
Низкое потребление ресурсов: Минимизирует использование памяти и процессора, что идеально для серверов с ограниченными ресурсами.
Широкое применение: Используется крупными компаниями, такими как Netflix, Dropbox и WordPress.com, что подтверждает его надежность.
Nginx также может работать в связке с Apache: Nginx обрабатывает статический контент, а Apache — динамический, что оптимизирует производительность сайта.
#Java #middle #on_request #nginx
👍6🔥3
Простая установка Nginx на Ubuntu
Установка Nginx на Ubuntu проста и занимает всего несколько минут.
Обновите списки пакетов:
Установите Nginx:
Запустите Nginx:
Включите автозапуск Nginx:
Проверьте статус Nginx:
Для настройки брандмауэра (если используется ufw) разрешите HTTP-трафик:
Демонстрация работы Nginx
После выполнения вышеуказанных шагов откройте веб-браузер и введите IP-адрес вашего сервера (например, http://your_server_ip). Вы увидите стандартную страницу приветствия Nginx.
Эта страница подтверждает, что Nginx установлен и функционирует корректно. Если страница не отображается, проверьте статус сервера и настройки брандмауэра.
#Java #middle #on_request #nginx
Установка Nginx на Ubuntu проста и занимает всего несколько минут.
Обновите списки пакетов:
sudo apt update
Эта команда обновляет индекс пакетов для системы управления пакетами apt.
Установите Nginx:
sudo apt install nginx
Подтвердите установку, нажав Y и Enter, когда система запросит разрешение.
Запустите Nginx:
sudo systemctl start nginx
Эта команда запускает веб-сервер.
Включите автозапуск Nginx:
sudo systemctl enable nginx
Это гарантирует, что Nginx будет запускаться автоматически при перезагрузке системы.
Проверьте статус Nginx:
sudo systemctl status nginx
Если в выводе указано active (running), сервер работает корректно.
Для настройки брандмауэра (если используется ufw) разрешите HTTP-трафик:
sudo ufw allow 'Nginx HTTP'
sudo ufw status
Демонстрация работы Nginx
После выполнения вышеуказанных шагов откройте веб-браузер и введите IP-адрес вашего сервера (например, http://your_server_ip). Вы увидите стандартную страницу приветствия Nginx.
Эта страница подтверждает, что Nginx установлен и функционирует корректно. Если страница не отображается, проверьте статус сервера и настройки брандмауэра.
#Java #middle #on_request #nginx
👍5🔥1
Вы бы стали заниматься у ментора без гарантий трудоустройства?
Anonymous Poll
48%
Да, я хочу изучить Java, остальное потом! 🙂
16%
Да, я уверен в своей самостоятельности ✌️
16%
Не знаю, сейчас на рынке тряска, тут хоть какие-то гарантии 🤷♀️
19%
Нет! Java можно изучить и самостоятельно, весь смысл в гарантиях! 😠
👍1
Есть предложение встретиться завтра в 16:00 по МСК на лайвкодинг!
Будем изучать дальнейшее тестирование в Spring - Как тестировать API.
Будем изучать дальнейшее тестирование в Spring - Как тестировать API.
Anonymous Poll
36%
О! Я приду! 👌
18%
Я хотел(а) б, но не могу)((( 🤷♀️
43%
Я посмотрю в записи! ❤️
4%
Нет, мне это не интересно 👎
👍5
Всем привет! 👋
Приглашаю всех желающих сегодня собраться в Яндекс.Телемост в 16:00 по МСК!
В этот раз мы продолжим рассматривать тестирование в Spring.
Приходите, это хороший шанс позадавать вопросы🧑💻
Как всегда жду всех! 🫡
Приглашаю всех желающих сегодня собраться в Яндекс.Телемост в 16:00 по МСК!
В этот раз мы продолжим рассматривать тестирование в Spring.
Приходите, это хороший шанс позадавать вопросы
Как всегда жду всех! 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1