Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19

Быстрый переход на Middle PHP (Laravel)

11.05.2025, 12:31. Показов 2542. Ответов 33

Студворк — интернет-сервис помощи студентам
Добрый день!

В одну из бессонных ночей после дебага драйвера от партнёра заказчика, который падал с сегфолтом и уходил в hardware reset, возникли крамольные мысли, а не оставить ли это всё и перейти писать backend на php.

Если серьёзно, последние 3 года занимаюсь программированием под embedded linux, преимущественно на С (последнее время часть кода переписываем на С++ или пишем на нём с нуля - почти, используем кодогенерацию на jinja2). Проект знаю хорошо, видимо пропал азарт и интерес. Хочется покорять либо новые идейные, либо новые финансовые горизонты.

После поиска вакансий Linux C Developer на hh.ru и Linkedin осознал, что в России от системного/embedded программиста хотят непомерно много, предлагают - непомерно мало. На европейском рынке ситуация получше, но пока есть сомнения, что:
а) уровень английского будет достаточен для ежедневного общения (возможно удастся это проверить, если дойдёт до собеседования в одной из международных компаний)
б) не окажется так, что в целом взял для себя всё что хотел из навыков и знаний сетей (на текущем проекте пишу ПО для сетевого устройства) и системного программирования (раньше увлекался бэкендом, писал на Django, но занесло сперва в нагрузочное тестирование, потом после известных событий - в системное программирование)

Возникли мысли уйти в более простую область - бэкенд. php - потому, что в целом язык больше про ecommerce, где гораздо более лояльные условия труда в плане удалёнки и гибкого графика (по сравнению с Java, которая в основном в используется в enterprise, с более жёстким контролем за сотрудниками и бюрократией).

На Laravel немного писал, общие темы, вроде устройства IoC контейнера, MVC паттерна (и вообще основных паттернов проектирования), баз данных (ACID, CAP теорема, аномалии, уровни изоляции транзакций, способы реализаций индексов: хэш мапа, b-tree, и т.д.) знаю.

Хотел посоветоваться, какие темы надо на практике освоить (что пройти по Laravel, базам данных, что-то ещё?), чтобы можно было "нарисовать" себе опыт 2 года работы бэкендером на php и с большой вероятностью пройти собеседования?

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

Буду рад любым комментариям.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2025, 12:31
Ответы с готовыми решениями:

Объединить laravel и Форум (Laravel + XenForo)
Здравствуйте! Суть: Есть магазин на Laravel и есть Форум на XenForo Нужно объединить профиль...

Какие задачи должен решать Junior и Middle
Приведите пожалуйста примеры реальных задач джуна и мидла.

Как установить laravel 4 на Windows 7
Здравствуйте! Решил попробовать изучить Laravel4 но дело дальше установки у меня не пошло, уже...

33
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,299
11.05.2025, 12:35
Цитата Сообщение от newOptimden Посмотреть сообщение
Возникли мысли уйти в более простую область - бэкенд
Откуда вывод, что область более простая?

Цитата Сообщение от newOptimden Посмотреть сообщение
php - потому, что в целом язык больше про ecommerce
Опять же, откуда такой вывод?

Вообще, PHP не единственный хороший для бэка. И не самый лучший в целом. И такое ощущение, что у тебя какие-то свои и упрощённые ожидания от "бекэнда".
0
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
11.05.2025, 12:59  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Откуда вывод, что область более простая?
Простая - в значении более "шаблонная". Нет разброса, что здесь системный программист должен уметь в VoIP, там - разбираться в протоколах декодирования видео, в третьей - уметь паять, иметь опыт работы с физическими протоколами (I2C, SPI, etc.), знать устройство Linux Kernel и т.д. Как следствие, больше вакансий, более бесшовный переход между ними, без доучивания чего-то специфического для конкретной вакансии.

Базы данных - они везде базы данных, архитектурные подходы - везде одинаковы (ничего нового не придумали). Сложность вижу в основном в профилировании и оптимизации запросов к БД, но мне кажется условные ООО "Рога и копыта" не занимаются такими вещами, а докупают ещё один сервер и балансируют нагрузку.
Да, возможно есть сложные интересные темы вроде кэширования, работы с брокерами сообщений и т.д. Но всё равно кажется, что это легче, чем втыкать в код драйвера msleep на 10 секунд и молиться, что этих дополнительных 10 секунд network controller-у хватит, чтобы очухаться (пока к нему не полетели ioctl запросы) и не уйти снова в ресет.
Проще, потому что область кажется более документированной, более предсказуемой.

Цитата Сообщение от Usaga Посмотреть сообщение
Опять же, откуда такой вывод?
Анализ вакансий на hh. Встречал вакансии либо по документообороту (очень мало), либо, чаще, всякие онлайн-магазины, CRM и т.д.

Цитата Сообщение от Usaga Посмотреть сообщение
И такое ощущение, что у тебя какие-то свои и упрощённые ожидания от "бекэнда"
Может есть такое. Печалит несоразмерность того, что надо знать в linux/embedded и зарплаты за это, и лучшее соотношение этих параметров в бэкенде.
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,299
11.05.2025, 13:41
Цитата Сообщение от newOptimden Посмотреть сообщение
Простая - в значении более "шаблонная". Нет разброса
Это ошибочное мнение, не знаю на чём основанное. Я это говорю как человек проработавший на бэке почти десять лет. Паять не надо, протоколы SPI знать не требуют. Но технологий и сложностей тут не меньше.

Цитата Сообщение от newOptimden Посмотреть сообщение
Но всё равно кажется
Это ключевой момент.

Цитата Сообщение от newOptimden Посмотреть сообщение
Проще, потому что область кажется более документированной, более предсказуемой.
Кажется... Есть "кажется", а есть реальность. На бэке тоже есть свои аналоги VOIP и SPI.

Я всё это к чему - твои ожидания явно занижены относительно сложности этой области деятельности. Обычное дело, когда смотришь на что-то, с чем не работал. Ты не делай выводов, глядя на формочки на HTML. За ними сложные системы могут стоять.
0
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
11.05.2025, 15:54  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Я всё это к чему - твои ожидания явно занижены относительно сложности этой области деятельности. Обычное дело, когда смотришь на что-то, с чем не работал. Ты не делай выводов, глядя на формочки на HTML. За ними сложные системы могут стоять.
Можете привести пример сложных задач на бэке? Это не для того, чтобы поспорить или получить информацию для контраргумента. Правда интересно, какие примеры сложностей могут быть на бэкенде?

Из того, что я как нагрузочный тестировщик видел - в микросервисе была ошибка в алгоритме на графах на каких-то магических "чёрных стрелках", которую разработчик дебажил онлайн с падениями нагрузочных тестов. А мы потом до вечера сидели каждую по-быстрому подправленную им версию тестировали. Через неделю разработчик уволился в никуда, поехал в родные места здоровье восстанавливать.

Были проблемы с перформансом на стороне БД, но там дело было в уставшем жёстком диске на сервере, где кластер Oracle DB был развёрнут.

Но это всё мир кровавого энтерпрайза, Java/Kotlin, микросервисов и кучи смежных сервисов.
В мире php есть подобного масштаба проекты (не редкие случаи), а скорее пусть небольшой, но всё же пул таких проектов?

К слову - вопрос про "сложности" на бэке - это как раз и вопрос о том, какие компетенции нужны, чтобы сразу запрыгнуть на Middle php. Или не получится срезать углы?
0
 Аватар для Noname2331
57 / 51 / 10
Регистрация: 22.12.2024
Сообщений: 286
11.05.2025, 18:05
Цитата Сообщение от newOptimden Посмотреть сообщение
Можете привести пример сложных задач на бэке?
Пример: перед вами старое легайси, на стоительстве которого полегло уже 3 поколения программистов и менеджеров, любая задача по модификации логики ядра - это сложно. Это пол беды. Вторая половина беды - вы не понимаете, что от вас хотят, сверху не могут четко сформулировать задачу, задачи поступают в формате длинного эссе, где описан какой-то плохой опыт взаимодействия с программой, но нет пояснений, а что ожидалось и как оно должно работать.

Чтобы не сдохнуть в первый месяц, нужно много опыта, сильные и хард и софт скилы.
0
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
11.05.2025, 18:09  [ТС]
Цитата Сообщение от Noname2331 Посмотреть сообщение
Пример: перед вами старое легайси, на стоительстве которого полегло уже 3 поколения программистов и менеджеров. Это пол беды. Вторая половина беды - вы не понимаете, что от вас хотят, сверху не могут четко сформулировать задачу, задачи поступают в формате длинного эссе, где описан какой-то плохой опыт взаимодействия с программой, но нет пояснений, а что ожидалось и как оно должно работать.
Т.е. просто в компании менеджер - не технический специалист, либо человек с маленьким бэкграундом в программировании и работе над проектом. Либо у компании нет денег нанять выделенного системного/бизнес аналитика, и разработчик превращается в жнеца, швеца, на дуде игреца.
Из таких компаний бежать надо, или это норма для php мира?

Я скорее про какие-то технические сложности спрашивал. В духе - неправильно настроили топики Kafka, а Kafka одна на несколько окружений, и кто-то у кого-то с другого тестового или dev стенда сообщения ворует (не придуманная история, у нас функциональные тестировщики воровали сообщения из топика ).
0
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,893
11.05.2025, 18:10
newOptimden, а совмещать нет возможности? Притерлись бы и сами ответили на все свои вопросы.
1
 Аватар для Noname2331
57 / 51 / 10
Регистрация: 22.12.2024
Сообщений: 286
11.05.2025, 18:12
Цитата Сообщение от newOptimden Посмотреть сообщение
Т.е. просто в компании менеджер - не технический специалист, либо человек с маленьким бэкграундом в программировании и работе над проектом. Либо у компании нет денег нанять выделенного системного/бизнес аналитика, и разработчик превращается в жнеца, швеца, на дуде игреца.
Из таких компаний бежать надо, или это норма для php мира?
Бывают и хорошие менеджеры, 50 на 50. Но хорошие (как вы и советуете) бегут из таких компаний и в итоге все равно приходит совсем уж далекий от разработки чел и все становится плохо. Программисту сложнее сбежать из-за чувства ответсвенности за оставленные после него биты.
0
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,893
11.05.2025, 18:13
Цитата Сообщение от newOptimden Посмотреть сообщение
Из таких компаний бежать надо, или это норма для php мира?
Можно сказать, что да. Даже середнячки обычно по-страшному экономят.
0
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
11.05.2025, 18:16  [ТС]
Цитата Сообщение от estic Посмотреть сообщение
а совмещать нет возможности
Нашёл стажировку "за идею" и бесценный опыт. Проект вроде как боевой (онлайн-магазин заказа еды). Но со мной в команде на бэкенде два стажёра без коммерческого опыта.
По 30 тредов на ревью, не пользовались Xdebug-ом, настраивали laravel в docker, не добавили расширение для opcache и т.д.
Зато нагрузка от силы час в день или на выходные что-то вынести можно. Но сомневаюсь, что это торная тропка до Middle, почему вопрос здесь и задал.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
11.05.2025, 20:30
Цитата Сообщение от newOptimden Посмотреть сообщение
(ACID, CAP теорема, аномалии, уровни изоляции транзакций, способы реализаций индексов: хэш мапа, b-tree, и т.д.) знаю
С вашими знаниями вы на мидла без проблем залетите, да и на senior не вижу причин не попробовать.

Цитата Сообщение от newOptimden Посмотреть сообщение
какие компетенции нужны, чтобы сразу запрыгнуть на Middle php
Гляньте на ютубе реальные собесы на middle/senior вакансии (только не мок-собесы, там чаще всего мусор) - так поймёте, где у вас пробелы.

Цитата Сообщение от newOptimden Посмотреть сообщение
Из таких компаний бежать надо, или это норма для php мира?
В мире PHP много хороших компаний без вышеописанной жести.

Цитата Сообщение от newOptimden Посмотреть сообщение
какие темы надо на практике освоить (что пройти по Laravel, базам данных, что-то ещё?)
По Laravel - можно поглубже глянуть очереди, тесты (как и сам phpunit).
По остальному - по git могут поспрашивать, различия между Kafka и RabbitMQ, если не пользовались сваггером - базово глянуть, что это и зачем нужно. Про REST могут базово что-то спросить.

По самому PHP - иногда спрашивают про внутреннее устройство массивов, copy on write, позднее статическое связывание, строгую типизацию declare(strict_types=1), PSR (что это такое в целом, что включает в себя).

Короче смотрите собесы на ютубе, тут список большой, каждый спрашивает что-то своё.
1
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
11.05.2025, 20:37  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
По Laravel - можно поглубже глянуть очереди, тесты (как и сам phpunit).
По остальному - по git могут поспрашивать, различия между Kafka и RabbitMQ, если не пользовались сваггером - базово глянуть, что это и зачем нужно. Про REST могут базово что-то спросить.
По самому PHP - иногда спрашивают про внутреннее устройство массивов, copy on write, позднее статическое связывание, строгую типизацию declare(strict_types=1), PSR (что это такое в целом, что включает в себя).
Короче смотрите собесы на ютубе, тут список большой, каждый спрашивает что-то своё.
Понял, спасибо за практический совет.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
11.05.2025, 22:50
Цитата Сообщение от newOptimden Посмотреть сообщение
какие темы надо на практике освоить
Добавлю - если на Laravel не так много писали, есть смысл пройтись по документации, изучить в целом, какой функционал есть, что для чего нужно. На что я бы делал упор:
- база: роутинг, сервис-провайдеры, мидлвары, сервис контейнер, request и response объекты
- валидация, особенно FormRequest
- Events and Listeners
- Queues
- Artisan Console (создание собственных команд, передача в них параметров)
- Database: QueryBuilder, Pagination, Migrations, Seeding
- Eloquent ORM: Relationships, Factories, API Resources
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,299
12.05.2025, 03:34
Цитата Сообщение от newOptimden Посмотреть сообщение
Можете привести пример сложных задач на бэке? Это не для того, чтобы поспорить или получить информацию для контраргумента. Правда интересно, какие примеры сложностей могут быть на бэкенде?
Всё что требует большого количества бизнес-логики. С чем я работал:
* сбор данных с половины системы, валидирование по сотням правил, расчёт статистики по ним, выгрузка во внешние системы
* импорт данных из десятков внешних систем
* оркестарция долгих транзакций, как финансовых так и не очень
* создание разного рода заявок, с предзаполнением данных по хитрой логике

Называть конкретные процессы нет смысла, оно ничего тебе не скажет. Скажу только, что на написание подобных штук уходило по несколько человеко-месяцев (это я к тому, какой объём кода за этим стоит). При этом на UI всё могло оформляться в виде одной кнопочки, после нажатия которой появлось сообщение "ок""не очень ок". Это я к тому, что в веб-разработке часто любят сложность фичи оценивать по развесистости UI.

На хабре, до того как он скатился до уровня помойки, не редко можно было найти статьи от разных крупных контор, где они описывали как решали на беке всякие, со стороны крайне тривиальные, вещи. Как Авито лайки (лайки, Карл!) реализовывали с приседаниями и плясками, как VK CDN для mini apps реализовывали на Ceph и такой-то матери.. Много интересного было...

Поэтому бек это не всегда простой тупой запросик к базе или сервису)
0
Эксперт PHP
 Аватар для liris
4414 / 1053 / 156
Регистрация: 16.01.2023
Сообщений: 2,608
12.05.2025, 10:56
Цитата Сообщение от newOptimden Посмотреть сообщение
Можете привести пример сложных задач на бэке?
Из сложных задач обычно все то же самое, что и в других языках - когда что-то кодируется, считается, вычисляется, обрабатывается. Там и за память побороться приходится, и за время выполнения. На мой взгляд, довольно сложно будет даваться переход к модели "born to die". Если в классическом программировании мы привыкли, что процесс может висеть часами/днями/годами, то у PHP обычно скрипт живет 30 секунд (минуту/две/пять), и потом сдыхает. И чтобы сохранять состояние между выполнениями - обычно приходится огород городить. И зачастую сильно сложно дается победа над race conditions.

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

Цитата Сообщение от newOptimden Посмотреть сообщение
Из таких компаний бежать надо, или это норма для php мира?
Для небольших компаний - фактически норма. Чисто бэкендеров туда обычно и не надо, надо фулстеков (который и верстать умеет, и фронтенд сделает, и бэкенд, и базу, и сервак настроит, и из клиента ТЗ выдоит). Для энтерпрайза скорее исключение, чем правило.

В целом, совет стандартный - набросать пет-проект на коленке, освежить знания по желаемому стеку и идти на собесы. Там понимание быстро придет, чего не хватает и куда двигаться (и надо ли оно вообще).
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,299
12.05.2025, 11:23
Цитата Сообщение от liris Посмотреть сообщение
Если в классическом программировании мы привыкли, что процесс может висеть часами/днями/годами, то у PHP обычно скрипт живет 30 секунд (минуту/две/пять), и потом сдыхает. И чтобы сохранять состояние между выполнениями - обычно приходится огород городить. И зачастую сильно сложно дается победа над race conditions.
Получается, что PHP для фоновых задач подходит чуть менее, чем никак?
0
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
12.05.2025, 11:29  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Называть конкретные процессы нет смысла, оно ничего тебе не скажет. Скажу только, что на написание подобных штук уходило по несколько человеко-месяцев (это я к тому, какой объём кода за этим стоит). При этом на UI всё могло оформляться в виде одной кнопочки, после нажатия которой появлось сообщение "ок""не очень ок". Это я к тому, что в веб-разработке часто любят сложность фичи оценивать по развесистости UI.
На хабре, до того как он скатился до уровня помойки, не редко можно было найти статьи от разных крупных контор, где они описывали как решали на беке всякие, со стороны крайне тривиальные, вещи. Как Авито лайки (лайки, Карл!) реализовывали с приседаниями и плясками, как VK CDN для mini apps реализовывали на Ceph и такой-то матери.. Много интересного было...
Понял. Ничто ничего не легче, получается.

Добавлено через 1 минуту
Цитата Сообщение от liris Посмотреть сообщение
И зачастую сильно сложно дается победа над race conditions.
Вот здесь стало интересно, где race conditions происходят? На стороне хранилищ (SQL/NoSQL)? php вроде стандартными средствами не умеет в многопоточность, т.е. это не race conditions на критической секции, как понимаю.
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,299
12.05.2025, 11:29
newOptimden, как выше сказали, от конторы и проекта зависит. Я работаю над B2B решением (энтерпрайз). У нас навалом бизнес-логики на беке. Да и на фронте тоже.

Где-то может быть по-проще. А где-то и сложнее.
1
0 / 0 / 0
Регистрация: 01.12.2024
Сообщений: 19
12.05.2025, 11:32  [ТС]
Цитата Сообщение от liris Посмотреть сообщение
надо фулстеков (который и верстать умеет, и фронтенд сделает, и бэкенд, и базу, и сервак настроит, и из клиента ТЗ выдоит)
Да, вот в такие конторы бы и не хотел. Писал месяца три фронт на Angular + TS, хотя устраивался бэкендером на python)
Больше с этим Лафкрафтовым детищем от мира программирования (JS) работать не хочется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2025, 11:32
Помогаю со студенческими работами здесь

Не могу запустить Laravel
Здрасти. Ситуация следующая, поставил себе Larael 4, все по документации. Теперь при попытке зайти...

Подскажите литературу по Laravel
Собственно обзавелся целью изучить Laravel 4, но столкнулся с отсутствием литературы и уроков на...

Обращение к моделям из представлений в Laravel
Является ли хорошей идеей обращаться к моделям из представлений/шаблонов. Пару раз уже такое видел....

Кто работает с Laravel? Не тормозит?
Кто работает с Laravel ? Не тормозит?

Laravel на Андроид
Здравствуйте, столкнулся вот с такой задачкой: есть проект на laravel, обновление библиотек...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru