Введение в apache
Содержание:
- Serving the same content on different IP addresses (such as an internal and external address). ¶
- Upgrading
- Installing Apache for Windows
- Web Site Content ¶
- Apache2
- Функциональные возможности
- Migrating a name-based vhost to an IP-based vhost ¶
- Установка Apache под Windows
- Using _default_ vhosts ¶
- Тактико-технические характеристики[править]
- Настройка web-сервера
- Обогащение данных — что это и почему без него никак
- Шаг 5 — Настройка виртуальных хостов (рекомендуется)
- Примечания[править]
- Overview for the impatient
- Web Site Content
- История
- История Apache
- Копирование числовых ячеек из 1С в Excel Промо
- Advanced SSI techniques
- Configuring the source tree
- Apache Cassandra 4.0: бенчмарки
- Программируемые NER (Named Entity Recognition) компоненты
- Apache Ozone: следующее поколение хранилища для платформы больших данных
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
.
Upgrading
The first step in upgrading is to read the release announcement
and the file in the source distribution to
find any changes that may affect your site. When changing between
major releases (for example, from 2.0 to 2.2 or from 2.2 to 2.4),
there will likely be major differences in the compile-time and
run-time configuration that will require manual adjustments. All
modules will also need to be upgraded to accommodate changes in the
module API.
Upgrading from one minor version to the next (for example, from
2.2.55 to 2.2.57) is easier. The
process will not overwrite any of your existing documents, log
files, or configuration files. In addition, the developers make
every effort to avoid incompatible changes in the
options, run-time configuration, or the
module API between minor versions. In most cases you should be able to
use an identical command line, an identical
configuration file, and all of your modules should continue to
work.
To upgrade across minor versions, start by finding the file
in the directory of
your installed server or at the root of the source tree for your
old install. This will contain the exact
command line that you used to
configure the source tree. Then to upgrade from one version to
the next, you need only copy the file to
the source tree of the new version, edit it to make any desired
changes, and then run:
You should always test any new version in your
environment before putting it into production. For example, you
can install and run the new version along side the old one by
using a different and a
different port (by adjusting the directive) to test for any
incompatibilities before doing the final upgrade.
You can pass additional arguments to ,
which will be appended to your original
options:
Installing Apache for Windows
You need Microsoft Installer 2.0 or above for the installation
to work. For Windows NT 4.0 and 2000 refer to Microsoft’s article
KB 292539.
Windows XP and later do not require this update. The Windows 98/ME
installer engine appears to no longer be available from Microsoft,
and these instructions no longer detail such prerequisites.
Note that you cannot install two versions of Apache 2.2 on the
same computer with the binary installer. You can, however, install
a version of the 1.3 series and a version of the
2.2 series on the same computer without problems. If you need to
have two different 2.2 versions on the same computer, you have to
compile and install Apache from the
source.
Run the Apache file you downloaded above. The
installation will ask you for these things:
-
Network Domain. Enter the DNS domain in which
your server is or will be registered in. For example, if your
server’s full DNS name is , you would
type here. -
Server Name. Your server’s full DNS name.
From the example above, you would type
here. -
For whom to install Apache Select if you’d
like your new Apache to listen at port 80 for incoming traffic.
It will run as a service (that is, Apache will run even if no one
is logged in on the server at the moment) Select if
you’d like to install Apache for your personal experimenting or
if you already have another WWW server running on port 80. -
The installation type. Select
for everything except the source code and libraries for module
development. With you can specify what to
install. A full install will require about 13 megabytes of free
disk space. This does not include the size of your web
site(s). -
Where to install. The default path is
under which a directory called
will be created by default.
During the installation, Apache will configure the files in the
subdirectory to reflect the chosen installation
directory. However, if any of the configuration files in this
directory already exist, they will not be overwritten. Instead, the
new copy of the corresponding file will be left with the extension
. So, for example, if
already exists, it will be renamed as .
After the installation you should manually check to see what new
settings are in the file, and if necessary,
update your existing configuration file.
Also, if you already have a file called ,
it will not be overwritten (and no
will be installed either). This means it should be safe to install
Apache over an existing installation, although you would have to
stop the existing running server before doing the installation, and
then start the new one after the installation is finished.
Web Site Content ¶
Web site content can take many different forms, but may be broadly
divided into static and dynamic content.
Static content is things like HTML files, image files, CSS files,
and other files that reside in the filesystem. The directive specifies where in your
filesystem you should place these files. This directive is either set
globally, or per virtual host. Look in your configuration file(s) to
determine how this is set for your server.
Typically, a document called will be served
when a directory is requested without a file name being specified. For
example, if is set to
and a request is made for
, the file
will be served to the
client.
Dynamic content is anything that is generated at request
time, and may change from one request to another. There are numerous
ways that dynamic content may be generated. Various handlers are available to generate content. CGI programs may be written to generate
content for your site.
Apache2
Для поддержки файла .htaccess, который используется многими сайтами, необходимо установить и настроить веб-сервер Apache.
Настройка
Заходим в настройки портов:
И редактируем следующее:
мы настроили прослушивание на порту 8080, так как на 80 уже работает NGINX. Также мы закомментировали прослушивание по 443, так как и он будет слушаться NGINX.
Запрещаем mpm_event:
по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль не поддерживает php 7 и выше.
Разрешаем модуль мультипроцессовой обработки :
Разрешаем модуль :
Разрешаем модуль :
Разрешаем модуль :
Разрешаем автозапуск и запускаем службу:
в разделе Server API мы должны увидеть Apache.
Функциональные возможности
Интеграция с другим ПО и языками программирования
Существует множество модулей, добавляющих к Apache поддержку различных языков программирования и систем разработки.
К ним относятся:
- PHP (mod_php).
- Python (mod python, mod wsgi).
- Ruby (apache-ruby).
- Perl (mod perl).
- ASP (apache-asp).
- Tcl (rivet)
Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, Lua, sh, Java.
Безопасность
Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:
- Ограничение доступа к определённым каталогам или файлам.
- Механизм авторизации пользователей для доступа к каталогу на основе HTTP-аутентификации (mod_auth_basic) и digest-аутентификации (mod_auth_digest).
- Ограничение доступа к определённым каталогам или всему серверу, основанное на IP-адресах пользователей.
- Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.
- Существуют модули, реализующие авторизацию через СУБД или PAM.
В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.
Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.
Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.
Интернационализация
Начиная с версии 2.0 появилась возможность определения сервером локали пользователя. Сообщения об ошибках и событиях, посылаемые браузеру, теперь представлены на нескольких языках и используют SSI-технологию.
Также, можно реализовать средствами сервера отображение различных страниц для пользователей с различными локалями. Apache поддерживает множество кодировок, в том числе Unicode, что позволяет использовать страницы, созданные в любых кодировках и на любых языках.
Обработка событий
Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forbidden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.
Server Side Includes
В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.
Migrating a name-based vhost to an IP-based vhost ¶
The name-based vhost with the hostname
(from our example, setup 2) should get its own IP
address. To avoid problems with name servers or proxies who cached the
old IP address for the name-based vhost we want to provide both
variants during a migration phase.
The solution is easy, because we can simply add the new IP address
() to the
directive.
Listen 80 ServerName www.example.com DocumentRoot "/www/example1" <VirtualHost 172.20.30.40 172.20.30.50> DocumentRoot "/www/example2" ServerName www.example.org # ... </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot "/www/example3" ServerName www.example.net ServerAlias *.example.net # ... </VirtualHost>
Установка 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.
Using _default_ vhosts ¶
vhosts
for all ports
Catching every request to any unspecified IP address and
port, i.e., an address/port combination that is not used for
any other virtual host.
<VirtualHost _default_:*> DocumentRoot "/www/default" </VirtualHost>
Using such a default vhost with a wildcard port effectively prevents
any request going to the main server.
A default vhost never serves a request that was sent to an
address/port that is used for name-based vhosts. If the request
contained an unknown or no header it is always
served from the primary name-based vhost (the vhost for that
address/port appearing first in the configuration file).
You can use or
to rewrite any
request to a single information page (or script).
vhosts
for different ports
Same as setup 1, but the server listens on several ports and we want
to use a second vhost for port 80.
<VirtualHost _default_:80> DocumentRoot "/www/default80" # ... </VirtualHost> <VirtualHost _default_:*> DocumentRoot "/www/default" # ... </VirtualHost>
The default vhost for port 80 (which must appear before any
default vhost with a wildcard port) catches all requests that were sent
to an unspecified IP address. The main server is never used to serve a
request.
vhosts
for one port
We want to have a default vhost for port 80, but no other default
vhosts.
<VirtualHost _default_:80> DocumentRoot "/www/default" ... </VirtualHost>
A request to an unspecified address on port 80 is served from the
default vhost. Any other request to an unspecified address and port is
served from the main server.
Тактико-технические характеристики[править]
ТТХ семейства AH-64 | |||
AH-64A | AH-64D | AH-64D Longbow | |
---|---|---|---|
Технические характеристики | |||
Экипаж | 2 | ||
Длина с вращающимися винтами, м | 17,76 | ||
Диаметр несущего винта, м | 14,63 | ||
Диаметр рулевого винта, м | 2,79 | ||
Высота, м | 3,84 | 4,66 | 4,95 |
Площадь, ометаемая несущим винтом, м² | 168,11 | ||
База шасси, м | 10,59 | ||
Колея шасси, м | 2,03 | ||
Масса пустого, кг | 4 660 | 5 165 | 5 352 |
Масса нормальная взлётная, кг | 6 650 | 6 552 | 7 530 |
Масса максимальная взлётная, кг | 8 000 | 9 525 | 10 432 |
Масса топлива, кг | 1 108 + 2 712 в ПТБ | ||
Объём топлива, л | 1 421 + 4 × 871 в ПТБ | ||
Двигатель | 2 × ТВД General Electric | ||
T700-GE-701 | T700-GE-701C | ||
Мощность, л.с. (кВт) | 2 × 1 695 (1 270) | 2 × 1 890 (1 409) | |
Лётные характеристики | |||
Максимально допустимая скорость, км/ч | 365 | ||
Максимальная скорость, км/ч | 300 | 293 | 265 |
Практическая дальность, км | 690 | 482 | 407 |
Перегоночная дальность, км | 2 020 | 1 899 | |
Продолжительность полёта | 3,57 ч | 2 ч 44 м / 8 ч | |
Практический потолок, м | 6 100 | 6 400 | 5 915 |
Статический потолок, м | 4 085 / 3 100 | 4 570 / 3 505 | 4 170 / 2 890 |
Максимальная скороподъёмность, м/с | 12,27 | ||
Вертикальная скороподъёмность, м/с | 12,7 | 7,5 | |
Нагрузка на диск, кг/м² | 48,6 | 62,1 | |
Максимальная эксплуатационная перегрузка | +3,5/−1,0 g | +3,5/−0,5 g | |
Вооружение | |||
Пушка | 30 мм M230 Chain Gun (625 выстр./мин) | ||
Боекомплект | до 1 200 патр. | ||
Ракеты «воздух-поверхность» | 4 × 4 × AGM-114 | ||
НАР | 4 × 19 × 70 мм Hydra |
- До втулки несущего винта
- До датчика воздушных параметров
- До вершины РЛС AN/APG-78 «Лонгбоу»
- Лётные характеристики даны для данных значений массы.
- В перегоночном варианте, с полным запасом топлива
- Без внешних подвесок
- Без ПТБ
- Без ПТБ / с ПТБ
- С использованием / без использования эффекта земли при нормальной взлётной массе
Характеристики AH-64D в типовых миссиях (без РЛС AN/APG-78) | ||||||||
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
Тип | противотанковая | воздушное прикрытие | эскорт | |||||
Взлётная масса, кг | 6 552 | 7 158 | 7 728 | 6 874 | 7 813 | 6 932 | 7 867 | |
Масса топлива, кг | 727 | 1 029 | 902 | 1 063 | 745 | 1 086 | 741 | 1 077 |
Крейсерская скорость, км/ч | 285 | 280 | 272 | 274 | 283 | 278 | 287 | 283 |
Высота полёта, м | 1 220 | 610 | 1 220 | 610 | 1 220 | 610 | ||
Вертикальная скороподъёмность, м/мин | 448 | 137 | 301 | 293 | 262 | 238 | ||
Продолжительность полёта | 1 ч 50 мин | 2 ч 40 мин | 1 ч 47 мин | 2 ч 30 мин | 1 ч 50 мин | 2 ч 30 мин | 1 ч 50 мин | 2 ч 30 мин |
Боекомплект | 4 × AGM-114; 320 патр. | 4 × AGM-114; 1200 патр. | 6 × AGM-114; 540 патр. | 16 × AGM-114; 1200 патр. | 4 × AGM-114; 1200 патр. | 4 × AGM-114; 19 × НАР; 1200 патр. | 19 × НАР; 1200 патр. | 38 × НАР; 1200 патр. |
Настройка web-сервера
Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле должны быть указаны параметры:
В каталоге должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:
После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
Обогащение данных — что это и почему без него никак
Обогащение данных — это процесс дополнения сырых данных той информацией, которая в исходном виде в них отсутствует, но необходима для качественного анализа. Оно требуется, чтобы конечные потребители данных получали качественную информацию.В этой статье рассмотрим, что такое обогащение данных в контексте их автоматизированной обработки и какие технические средства мы для этого используем. Главный результат — если объединять данные, применяя предложенную нами схему обогащения, то в дальнейшем аналитикам не потребуется каждый раз делать JOIN-запрос, что сэкономит как ценное время людей, так и машинные ресурсы.
Шаг 5 — Настройка виртуальных хостов (рекомендуется)
При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. О том, как настроить доменное имя с помощью DigitalOcean, можно узнать из нашей сетевой документации.
Создайте следующую директорию для your_domain:
Затем назначьте владение директорией с помощью переменной среды :
Разрешения корневых директорий веб-сервера должны быть правильными, если вы не изменяли значение umask, которое устанавливает разрешения файла по умолчанию. Чтобы убедиться, что разрешения корректны, позволить владельцу читать, писать и запускать файлы, а группам и другим пользователям разрешить только читать и запускать файлы, вы можете ввести следующую команду:
Затем создайте в качестве примера страницу , используя или свой любимый редактор:
Добавьте в страницу следующий образец кода HTML:
/var/www/your_domain/index.html
Сохраните файл и закройте его после завершения.
Для обслуживания этого контента Apache необходимо создать файл виртуального хоста с правильными директивами. Вместо изменения файла конфигурации по умолчанию, расположенного в , мы создадим новый файл в :
Введите следующий блок конфигурации, который похож на заданный по умолчанию, но обновлен с учетом новой директории и доменного имени:
/etc/apache2/sites-available/your_domain.conf
Обратите внимание, что мы изменили на новую директорию, а — на адрес электронной почты, доступный администратору сайта your_domain. Также мы добавили две директивы: директиву , которая устанавливает базовый домен и должна соответствовать определению виртуального хоста, и директиву , которая задает дополнительные имена, которые должны давать совпадение, как если бы они были базовыми именами
Сохраните файл и закройте его после завершения.
Активируем файл с помощью инструмента :
Отключите сайт по умолчанию, определеный в :
Затем проверим ошибки конфигурации:
Вы должны получить следующий результат:
Перезапустие Apache для внесения изменений:
Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес , после чего должны увидеть примерно следующее:
Примечания[править]
- ↑ Jane’s All The World’s Aircraft 2004-2005 / Paul Jackson. — Jane’s Information Group, 2004. — P. 594-597. — 860 p. — ISBN 0-7106-2614-2.
- World Air Forces 2015, p.8
- Журнал Мировая авиация выпуск №20
- ↑
- “Apache Helicopter Was Considered Effective in Combat, but Reliability Problems Persist” General Accounting Office, April 1992
- Battle Became Rout. Ellensburg Daily Record, February 28, 1991, p. 9.
- Apache Operation a lesson in defeat The Washington Times, April 22, 2003. Rowan Scarborough
- In the Company of Soldiers. Paw Prints. Рик Аткинсон. 2008. стр.147-153
- AH-64 Apache Units of Operations Enduring Freedom and Iraqi Freedom. Osprey Publishing. Джонатан Берштейн. 2005. стр.51
- Пономарев А. Н. и др. Боевой вертолёт огневой поддержки наземных войск AH-64A «Апач» (США). — М.: Военное издательство, 1986. — 39 p.
- The Military Balance 2010. p.-169
- The Military Balance 2010. p.-137
- The Military Balance 2010. p.-250
- The Military Balance 2010. p.-256
- The Military Balance 2010. p.-260
- The Military Balance 2010. p.-150
- The Military Balance 2010. p.-276
- The Military Balance 2010. p.-270
- The Military Balance 2010. p.-426
- The International Institute For Strategic Studies IISS. The Military Balance 2010. — Nuffield Press, 2010. — С. 33. — 492 с. — ISBN 9781857435573.
- The Military Balance 2010. p.-408
Overview for the impatient
- Installing on Fedora/CentOS/Red Hat Enterprise Linux
-
sudo yum install httpd sudo systemctl enable httpd sudo systemctl start httpd
Newer releases of these distros use
rather than . See the
Fedora project’s documentation for platform-specific notes. - Installing on Ubuntu/Debian
-
sudo apt install apache2 sudo service apache2 start
See Ubuntu’s documentation for platform-specific notes.
- Installing from source
-
Download the latest release from NN must be replaced with the current version
number, and PREFIX must be replaced with the
filesystem path under which the server should be installed. If
PREFIX is not specified, it defaults to
.Each section of the compilation and installation process is
described in more detail below, beginning with the requirements
for compiling and installing Apache httpd.
Web Site Content
Web site content can take many different forms, but may be broadly
divided into static and dynamic content.
Static content is things like HTML files, image files, CSS files,
and other files that reside in the filesystem. The directive specifies where in your
filesystem you should place these files. This directive is either set
globally, or per virtual host. Look in your configuration file(s) to
determine how this is set for your server.
Typically, a document called will be served
when a directory is requested without a file name being specified. For
example, if is set to
and a request is made for
, the file
will be served to the
client.
Dynamic content is anything that is generated at request
time, and may change from one request to another. There are numerous
ways that dynamic content may be generated. Various handlers are available to generate content. CGI programs may be written to generate
content for your site.
История
Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (с англ. — «заплаточка»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х, сервер был переписан заново и теперь не содержит кода NCSA. На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности. На текущий момент последняя версия ветки 2.4 — 2.4.23 (4 июля )
, для первой версии это 1.3.42.
Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.
С апреля и до настоящего времени является самым популярным HTTP-сервером в Интернете. Статистика Netcraft показывает следующие данные об использовании Apache:
- в августе 2007 года он работал на 51 % всех веб-серверов
- в мае 2009 года — на 46 %
- в январе 2011 года — на 59 %, т.е. более чем на 160 млн сайтов
- в январе 2016 года — на 33,56 %, т.е. более чем на 304 млн сайтов.
Apache имеет долю рынка в России до 17,45 %. Это самый популярный веб-сервер после NGINX с долей рынка 64,89 %.
История Apache
В марте 1989 года Тим Бернерс Ли, английский ученый, работающий в CERN (Швейцария), предложил новый способ управления огромным количеством информации в проектах CERN. В то время никто не знал, что такое Apache. Первичная разработка сети документов с гиперссылками, как их назвал Тед Нельсон в 1965 году, привела к созданию WWW — первого программного обеспечения, которое вышло в ноябре 1990 года под названием World Wide Web, с веб-браузером, графическим интерфейсом и редактором WYSIWYG. Два года спустя в списке WWW-серверов было всего около тридцати записей, среди которых был HTTPs NCSA.
Настоящая история «Апач» начинается в марте 1995 года с выпуском Apache 0.2 на основе сервера NCSA HTTPD 1.3. Многим пользователям интересно знать, что такое Apache сегодня и что программа представляла из себя в первые месяцы своего существования. Это был всего лишь набор правок, применяемых к серверу NCSA. Далее Роберт Тау выпустил Shambhala 0.1 с API для модулей, которые оказались очень успешными.
Крупнейшими вехами проекта было полное соответствие стандарту HTTP 1.1, включенному в апреле 1997 года в версию 1.2. В эту версию уже была включена платформа Windows NT, которая стартовала в июле 1997 года. Объединение файлов конфигурации было реализовано в выпуске 1.3.3.
Apache Group отвечает за эволюцию веб-сервера и конкретные решения по разработке. Эту группу следует отличать от разработчиков ядра — Core group. Добровольный характер большинства разработчиков делает маловероятным то, что все они одновременно активны в «Апач», поэтому ядро отвечает за постоянную работоспособность. В общем, решения, которые должны принимать разработчики, принадлежат ядру и ограничиваются голосованием за включение кода. С другой стороны, они обычно имеют право на запись в репозиторий CVS, поэтому служат воротами для кода, обеспечивая его правильность и качество.
Копирование числовых ячеек из 1С в Excel Промо
Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.
Advanced SSI techniques
In addition to spitting out content, Apache SSI gives you
the option of setting variables, and using those variables in
comparisons and conditionals.
Setting variables
Using the directive, you can set variables
for later use. We’ll need this later in the discussion, so
we’ll talk about it here. The syntax of this is as follows:
In addition to merely setting values literally like that, you
can use any other variable, including environment variables or the variables
discussed above (like , for example) to
give values to your variables. You will specify that something is
a variable, rather than a literal string, by using the dollar sign
($) before the name of the variable.
To put a literal dollar sign into the value of your
variable, you need to escape the dollar sign with a
backslash.
Finally, if you want to put a variable in the midst of a
longer string, and there’s a chance that the name of the
variable will run up against some other characters, and thus be
confused with those characters, you can place the name of the
variable in braces, to remove this confusion. (It’s hard to
come up with a really good example of this, but hopefully
you’ll get the point.)
Conditional expressions
Now that we have variables, and are able to set and compare
their values, we can use them to express conditionals. This
lets SSI be a tiny programming language of sorts.
provides an ,
, ,
structure for building conditional statements. This allows you
to effectively generate multiple logical pages out of one
actual page.
The structure of this conditional construct is:
A test_condition can be any sort of logical
comparison — either comparing values to one another, or testing
the «truth» of a particular value. (A given string is true if
it is nonempty.) For a full list of the comparison operators
available to you, see the
documentation.
For example, if you wish to customize the text on your web page
based on the time of day, you could use the following recipe, placed
in the HTML page:
Any other variable (either ones that you define, or normal
environment variables) can be used in conditional statements.
See Expressions in Apache HTTP Server for
more information on the expression evaluation engine.
Configuring the source tree
The next step is to configure the Apache source tree for your
particular platform and personal requirements. This is done using
the script included in
the root directory of the distribution. (Developers downloading
an unreleased version of the Apache source tree will need to have
and installed and will
need to run before proceeding with the next
steps. This is not necessary for official releases.)
To configure the source tree using all the default options,
simply type . To change the default
options, accepts a variety of variables
and command line options.
The most important option is the location
where Apache is to be installed later, because Apache has to be
configured for this location to work correctly. More fine-tuned
control of the location of files is possible with additional .
Also at this point, you can specify which you
want included in Apache by enabling and disabling modules. Apache comes with a wide range of modules
included by default. They will be compiled as
shared objects (DSOs) which can be loaded
or unloaded at runtime.
You can also choose to compile modules statically by using the option
.
Additional modules are enabled using the
option, where
module is the name of the module with the
string removed and with any underscore converted
to a dash. Similarly, you can disable modules with the
option. Be careful when
using these options, since cannot warn you
if the module you specify does not exist; it will simply ignore the
option.
In addition, it is sometimes necessary to provide the
script with extra information about the
location of your compiler, libraries, or header files. This is
done by passing either environment variables or command line
options to . For more information, see the
manual page. Or invoke
using the option.
For a short impression of what possibilities you have, here
is a typical example which compiles Apache for the installation
tree with a particular compiler and flags
plus the two additional modules and
:
When is run it will take several minutes to
test for the availability of features on your system and build
Makefiles which will later be used to compile the server.
Apache Cassandra 4.0: бенчмарки
Перевод
Apache Cassandra 4.0 приближается к бете (прим. переводчика: на текущий момент уже доступна бета 4, выпущенная в конце декабря 2020), и это первая версия, которая будет поддерживать JDK 11 и более поздних версий. Пользователей Apache Cassandra, очевидно, волнует задержка, так что мы возлагаем большие надежды на ZGC — новый сборщик мусора с низкой задержкой, представленный в JDK 11.
В JDK 14 он был выпущен уже в GA-версии, и нам было очень интересно оценить, насколько он подходит для кластеров Apache Cassandra. Мы хотели сравнить производительность Apache Cassandra 3.11.6 и 4.0 и проверить, подходит ли Shenandoah, сборщик мусора от Red Hat, для продакшена. Спойлер: Cassandra 4.0 значительно лучше по производительности сама по себе, а с новыми сборщиками мусора (ZGC и особенно Shenandoah) будет совсем хорошо.
Программируемые NER (Named Entity Recognition) компоненты
В данной заметке мы продолжим говорить о NER компонентах и попытаемся определить условия, в которых нам начинает недоставать функционала стандартных компонентов и стоит задуматься о программировании своих собственных.
В подавляющем большинстве случаев для поиска пользовательских сущностей достаточно найти и настроить какой-либо уже существующий компонент, сконфигурировать или обучить его модель. Лишь иногда, в достаточно специфичных ситуациях, возможностей существующих решений оказывается недостаточным, и нам приходится начинать программировать. Но выделение ресурсов, кодирование, тесты, поддержка — все это стоит затевать лишь когда без всего этого просто не обойтись.
Apache Ozone: следующее поколение хранилища для платформы больших данных
Перевод
Apache Ozone: следующее поколение хранилища для платформы больших данных
Распределенная файловая система Apache Hadoop (HDFS) де-факто является файловой системой для больших данных. Верная своим корням big data, HDFS работает лучше всего, когда большинство файлов имеют большой размер — от десятков до сотен мегабайт. Ozone — это распределенное хранилище, которое может управлять как малыми, так и большими файлами. Ozone разрабатывается и внедряется командой инженеров и архитекторов, имеющих значительный опыт управления большими кластерами Apache Hadoop. Это дало нам представление о том, что HDFS делает хорошо, и о некоторых вещах, которые можно делать по-другому.