Что такое веб-сервер apache и как им пользоваться

Содержание:

Mission Statement

The Apache POI Project’s mission is to create and maintain Java APIs for manipulating various file formats
based upon the Office Open XML standards (OOXML) and Microsoft’s OLE 2 Compound Document format (OLE2).
In short, you can read and write MS Excel files using Java.
In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel
solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate.

OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file formats.
The project provides APIs for the OLE2 Filesystem (POIFS) and
OLE2 Document Properties (HPSF).

Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008.
This includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions
using openxml4j.

For each MS Office application there exists a component module that attempts to provide a common high level Java api to both OLE2 and OOXML
document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF).
Work is progressing for Word documents (WP=HWPF+XWPF) and
PowerPoint presentations (SL=HSLF+XSLF).

The project has some support for Outlook (HSMF). Microsoft opened the specifications
to this format in October 2007. We would welcome contributions.

There are also projects for
Visio (HDGF and XDGF),
TNEF (HMEF),
and Publisher (HPBF).

As a general policy we collaborate as much as possible with other projects to
provide this functionality. Examples include: Cocoon for
which there are serializers for HSSF;
Open Office.org with whom we collaborate in documenting the
XLS format; and Tika /
Lucene,
for which we provide format interpretors. When practical, we donate
components directly to those projects for POI-enabling them.

Why should I use Apache POI?

A major use of the Apache POI api is for Text Extraction applications
such as web spiders, index builders, and content management systems.

So why should you use POIFS, HSSF or XSSF?

You’d use POIFS if you had a document written in OLE 2 Compound Document Format, probably written using
MFC, that you needed to read in Java. Alternatively, you’d use POIFS to write OLE 2 Compound Document Format
if you needed to inter-operate with software running on the Windows platform. We are not just bragging when
we say that POIFS is the most complete and correct implementation of this file format to date!

You’d use HSSF if you needed to read or write an Excel file using Java (XLS). You’d use
XSSF if you need to read or write an OOXML Excel file using Java (XLSX). The combined
SS interface allows you to easily read and write all kinds of Excel files (XLS and XLSX)
using Java. Additionally there is a specialized SXSSF implementation which allows to write
very large Excel (XLSX) files in a memory optimized way.

Components

The Apache POI Project provides several component modules some of which may not be of interest to you.
Use the information on our Components page to determine which
jar files to include in your classpath.

Интеграционный слой с Kafka и микросервисами: опыт построения операционной CRM контакт-центра торговой сети Пятерочка

Из этого поста вы узнаете, зачем добавлять в интеграционный слой бизнес-логику, что случается, когда «не летит» Service mesh, и почему иногда костыли — лучшее решение проблемы.

Привет Хабр, на связи Иван Большаков — архитектор интеграционных решений, эксперт департамента разработки ПО КРОК. Я расскажу, как мы делали интеграционный слой для CRM-системы группы контакт-центров торговой сети Пятерочка.

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

Serving the same content on different IP addresses (such as an internal and external address). ¶

The server machine has two IP addresses (
and ). The machine is sitting between an
internal (intranet) network and an external (internet) network. Outside
of the network, the name resolves to
the external address (), but inside the
network, that same name resolves to the internal address
().

The server can be made to respond to internal and external requests
with the same content, with just one section.

<VirtualHost 192.168.1.1 172.20.30.40>
    DocumentRoot "/www/server1"
    ServerName server.example.com
    ServerAlias server
</VirtualHost>

Now requests from both networks will be served from the same
.

Копирование числовых ячеек из 1С в Excel Промо

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

Установка Apache под Windows

Поэтому нужно скачать архив и разархивировать в любую удобную папку, например, C:\Apache24. 24. В названии папки указан номер версии Apache. В данном случае используется версия 2.4

При публикации информационной базы из командной строки стоит обращать на это внимание, так как с платформой поставляются отдельные библиотеки веб-компонент для версий Apache 2.2 и 2.4

После разархивирования файла архива, откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню «Запустить от имени Администратора» («Run as Administrator»).

В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:

cd C:\Apache24

В директории Apache вводим команду:

httpd.exe -k install

Это установит службу Apache, которой можно будет управлять в окне служб.

На этом установка Apache закончена. Осталось только опубликовать информационную базу и указать файлы сертификата в настройках Apache.

Проверяем доступность страницы с других компьютеров и настраиваем брандмауэр

Снова пробуем открыть знакомую нам страницу http://192.168.0.189 (у вас цифры другие) но уже с любого другого компьютера в локальной сети.  

Если вместо знакомой страницы вы увидели «Не удается получить доступ к сайту» или аналогичное сообщение — выполним настроку брандмауэра. Для этого возвращаемся на тот компьютер, где установлен Apache, заходим в «Панель управления» — «Система и безопасность» — «Брандмауэр Windows» и в левой части экрана щелкаем на «Дополнительные параметры

Кликаем на раздел «Правила для входящих подключений», затем в правой части окна «Создать правило»

Выбираем «Для порта» — Далее, Протокол TCP, Опреленные локальные порты: 80, Далее 

Устанавливаем «Разрешить подключение» — Далее, 

Ставим все три галочки

Указываем произвольное имя, например «Веб сервер 80 порт для 1С». Готово.

Снова идем на другие компьютеры и убеждаемся, что теперь по IP адресу http://192.168.0.189 броузер показывает знакомую нам страницу It Works

Выпуск самоподписанного сертификата Windows

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

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

На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на «I accept the agreement») и нажать кнопку «Next».

Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку «Next».

На следующем шаге ничего менять не нужно и можно просто нажать «Next».

Дистрибутив готов к установке. Нужно нажимать кнопку «Install» и дождаться завершения установки.

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

Дистрибутив OpenSSL установлен и теперь можно переходить к генерации сертификата.

Для этого необходимо запустить интерпретатор командной строки от имени Администратора.

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

Директория bin для OpenSSL была указана на втором шаге установщика.

Если пришлось добавить директорию bin в переменные окружения, то необходимо перезапустить командную строку от имени администратора. В противном случае, если ввод перешел в режим конфигурирования OpenSSL, нужно нажать сочетание клавиш Ctrl + C.

Далее нужно перейти в директорию Apache и создать папку, в которой будут располагаться файлы сертификатов.

После создания нужно перейти в созданную директорию.

После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout <SERVER>.key -out <SERVER>.crt

Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).

Архитектура

Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

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

Ядро Apache полностью написано на языке программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).
  • Конфигурация уровня каталога (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

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

Мультипроцессорные модели (MPM)

Для веб-сервера Apache существует множество моделей симметричной мультипроцессорности. Вот основные из них:

Название Разработчик Поддерживаемые OS Описание Назначение Статус
Apache Software Foundation Linux, FreeBSD Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов. Среднезагруженные веб-серверы. Стабильный.
Apache Software Foundation Linux, FreeBSD MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads. Большая безопасность и стабильность за счёт изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. Стабильный.
Apache Software Foundation Linux Гибридная модель, с фиксированным количеством процессов. Высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. В разработке, нестабильный.
Apache Software Foundation Novell NetWare Мультипоточная модель, оптимизированная для работы в среде NetWare. Серверы Novell NetWare Стабильный.
Apache Software Foundation Microsoft Windows Мультипоточная модель, созданная для операционной системы Microsoft Windows. Серверы под управлением Windows Server. Стабильный.
Steinar H. Gunderson Linux, FreeBSD MPM, основанная на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Хостинговые серверы, серверы, критичные к изоляции пользователей и учёту ресурсов. Стабильный.
Sean Gabriel Heacock Linux, FreeBSD Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки. Обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. Стабильная версия от 4 октября 2007 года, экспериментальная — от 10 сентября 2009 года.

Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

  • Поддержка языков программирования.
  • Добавление функций.
  • Исправление ошибок или модификация основных функций.
  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Архитектура

Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

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

Ядро Apache полностью написано на языке программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).
  • Конфигурация уровня каталога (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

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

Мультипроцессорные модели (MPM)

Для веб-сервера Apache существует множество моделей симметричной мультипроцессорности. Вот основные из них:

Название Разработчик Поддерживаемые OS Описание Назначение Статус
Apache Software Foundation Linux, FreeBSD Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов. Среднезагруженные веб-серверы. Стабильный.
Apache Software Foundation Linux, FreeBSD MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads. Большая безопасность и стабильность за счёт изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. Стабильный.
Apache Software Foundation Linux Гибридная модель, с фиксированным количеством процессов. Высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. В разработке, нестабильный.
Apache Software Foundation Novell NetWare Мультипоточная модель, оптимизированная для работы в среде NetWare. Серверы Novell NetWare Стабильный.
Apache Software Foundation Microsoft Windows Мультипоточная модель, созданная для операционной системы Microsoft Windows. Серверы под управлением Windows Server. Стабильный.
Steinar H. Gunderson Linux, FreeBSD MPM, основанная на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Хостинговые серверы, серверы, критичные к изоляции пользователей и учёту ресурсов. Стабильный.
Sean Gabriel Heacock Linux, FreeBSD Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки. Обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. Стабильная версия от 4 октября 2007 года, экспериментальная — от 10 сентября 2009 года.

Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

  • Поддержка языков программирования.
  • Добавление функций.
  • Исправление ошибок или модификация основных функций.
  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Архитектура

Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

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

Ядро Apache полностью написано на языке программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).
  • Конфигурация уровня каталога (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

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

Мультипроцессорные модели (MPM)

Для веб-сервера Apache существует множество моделей симметричной мультипроцессорности. Вот основные из них:

Название Разработчик Поддерживаемые OS Описание Назначение Статус
Apache Software Foundation Linux, FreeBSD Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов. Среднезагруженные веб-серверы. Стабильный.
Apache Software Foundation Linux, FreeBSD MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads. Большая безопасность и стабильность за счёт изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. Стабильный.
Apache Software Foundation Linux Гибридная модель, с фиксированным количеством процессов. Высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. В разработке, нестабильный.
Apache Software Foundation Novell NetWare Мультипоточная модель, оптимизированная для работы в среде NetWare. Серверы Novell NetWare Стабильный.
Apache Software Foundation Microsoft Windows Мультипоточная модель, созданная для операционной системы Microsoft Windows. Серверы под управлением Windows Server. Стабильный.
Steinar H. Gunderson Linux, FreeBSD MPM, основанная на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Хостинговые серверы, серверы, критичные к изоляции пользователей и учёту ресурсов. Стабильный.
Sean Gabriel Heacock Linux, FreeBSD Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки. Обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. Стабильная версия от 4 октября 2007 года, экспериментальная — от 10 сентября 2009 года.

Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

  • Поддержка языков программирования.
  • Добавление функций.
  • Исправление ошибок или модификация основных функций.
  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Минимальные требования и преимущества

Apache получил широкое признание в сети, с 1996 года он является наиболее часто используемым HTTP-сервером. Достигнул своей максимальной доли рынка в 2005 году, когда сервер использовался на 70 % сайтов во всем мире. В последние годы его доля на рынке сократилась. Примечательно то, что для Apache такой спад не свидетельствует о непопулярности и деградации технологии.

Минимальные требования для эксплуатации:

  1. Процессор – Pentium.
  2. Оперативная память — 64 Мб.
  3. ОС-Microsoft Windows, GNU/Linux.
  4. Размер установки- 50 Мб.

Преимущества:

  1. Модульная конструкция.
  2. Открытый исходный код.
  3. Мультиплатформенная конструкция.
  4. Растяжимость.
  5. Популярность — легко получить помощь и поддержку.

Apache Ozone: следующее поколение хранилища для платформы больших данных

Перевод

Apache Ozone: следующее поколение хранилища для платформы больших данных

Распределенная файловая система Apache Hadoop (HDFS) де-факто является файловой системой для больших данных. Верная своим корням big data, HDFS работает лучше всего, когда большинство файлов имеют большой размер — от десятков до сотен мегабайт. Ozone — это распределенное хранилище, которое может управлять как малыми, так и большими файлами. Ozone разрабатывается и внедряется командой инженеров и архитекторов, имеющих значительный опыт управления большими кластерами Apache Hadoop. Это дало нам представление о том, что HDFS делает хорошо, и о некоторых вещах, которые можно делать по-другому.

Hostnames and DNS

In order to connect to a server, the client will first have to resolve
the servername to an IP address — the location on the Internet where the
server resides. Thus, in order for your web server to be reachable, it
is necessary that the servername be in DNS.

If you don’t know how to do this, you’ll need to contact your network
administrator, or Internet service provider, to perform this step for
you.

More than one hostname may point to the same IP address, and more
than one IP address can be attached to the same physical server. Thus, you
can run more than one web site on the same physical server, using a
feature called virtual hosts.

If you are testing a server that is not Internet-accessible, you
can put host names in your hosts file in order to do local resolution.
For example, you might want to put a record in your hosts file to map a
request for to your local system, for
testing purposes. This entry would look like:

A hosts file will probably be located at or
.

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector