Встроенные веб-серверы — это мощный инструмент для быстрого и удобного развертывания приложений на локальном компьютере во время разработки. Однако, как и любые другие серверы, они могут потребовать настройки и оптимизации, чтобы обеспечить стабильную и быструю работу. В этой статье мы рассмотрим лучшие практики по оптимизации и настройке встроенных серверов для различных языков программирования и фреймворков, таких как PHP, Python, Node.js, Ruby on Rails и ASP.NET Core.
1. PHP: Встроенный сервер и его настройка
PHP предоставляет встроенный сервер для разработки, который можно запустить с помощью команды:php -S localhost:8000
Лучшие практики настройки:
Выбор правильного окружения:
PHP.ini: Убедитесь, что вы используете корректную конфигурацию PHP. Например, в файле php.ini можно настроить лимиты памяти и время выполнения скриптов:
memory_limit = 256M
max_execution_time = 60
Для локальной разработки можно включить детализированные ошибки:
memory_limit = 256M
max_execution_time = 60
2. Использование Router Script: Встроенный сервер PHP поддерживает маршрутизацию запросов через специальный скрипт. Это полезно для обработки всех запросов через один файл, например, для одностраничных приложений (SPA):php -S localhost:8000 router.php
Пример скрипта router.php:
if (file_exists(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
include __DIR__ . '/index.php'; // Обрабатывать все другие запросы
}
3. Логи и отладка: Используйте встроенные механизмы логирования PHP для анализа ошибок. Включите логирование в конфигурации php.ini:
log_errors = On
error_log = /path/to/logfile.log
2. Python: Оптимизация встроенного сервера
Встроенный сервер Python доступен как для Python 2, так и для Python 3 и может быть запущен командой:
Python 3: python -m http.server 8000
Python 2: python -m SimpleHTTPServer 8000
Лучшие практики настройки:
Ограничение доступа: Встроенный сервер Python предназначен только для локальной разработки, и его не следует использовать в продакшене. Однако, чтобы ограничить доступ к серверу, можно указать IP-адрес: python -m http.server 8000 --bind 127.0.0.1
Использование WSGI для производительности: Встроенный сервер Python полезен для простых задач, но для более серьезных проектов рекомендуется использовать сервер, поддерживающий WSGI (например, Gunicorn или uWSGI). Они предлагают гораздо более высокую производительность и гибкость.
Пример запуска с Gunicorn:gunicorn app:app
3. Node.js: Настройка и оптимизация встроенного сервера
Node.js предоставляет встроенный сервер через такие библиотеки, как http или express. Запустить сервер можно так:http-server -p 8000
Лучшие практики настройки:
Настройка порта и адреса: По умолчанию сервер запускается на всех сетевых интерфейсах, что может быть небезопасно в некоторых случаях. Для ограничения доступа укажите конкретный IP-адрес:http-server -a 127.0.0.1 -p 8000
Использование кластеров для производительности: Node.js работает в однопоточном режиме, что может ограничивать его производительность на многоядерных системах. Для увеличения производительности можно использовать кластеризацию:
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
} else {
http.createServer((req, res) => {
res.writeHead(200);
res.end('Hello, world!');
}).listen(8000);
}
Это распределит запросы между всеми доступными ядрами процессора, увеличив производительность.
Оптимизация через кэширование: Кэширование может значительно ускорить обработку запросов. В express можно использовать middleware для кэширования статики:
Настройка порта и адреса: По умолчанию сервер Django запускается на всех интерфейсах и порту 8000. Для ограничения доступа укажите IP и порт:python manage.py runserver 127.0.0.1:8080
Использование отладочного режима: В режиме разработки важно включить отладочные сообщения. В файле настроек settings.py убедитесь, что включены настройки для отладки:
DEBUG = True
ALLOWED_HOSTS = ['localhost']
Переход на Gunicorn для производительности: Django сервер не подходит для продакшена, поэтому для более высоких нагрузок стоит использовать сервер WSGI, такой как Gunicorn:
Запуск сервера Ruby on Rails осуществляется командой:rails server
Лучшие практики настройки:
Управление логами: Rails генерирует детализированные логи, которые могут быстро заполнить пространство на диске. Для этого нужно оптимизировать уровни логирования в config/environments/development.rb:config.log_level = :info
Использование Puma для многопоточности: Встроенный сервер WEBrick хорош для разработки, но для увеличения производительности лучше использовать сервер Puma, который поддерживает многопоточность:puma -C config/puma.rb
Оптимизация через кэширование: Rails поддерживает кэширование на уровне контроллеров и представлений. Для включения кэширования нужно добавить в конфигурацию:config.action_controller.perform_caching = true
Для запуска сервера ASP.NET Core используется команда:dotnet run
Лучшие практики настройки:
Оптимизация для разработки: В файле launchSettings.json можно настроить порты и режимы запуска для разработки:
"profiles": {
"IIS Express": {
"applicationUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
2. Использование Kestrel для производительности: Встроенный сервер Kestrel предназначен для производительного обслуживания приложений. Настройка Kestrel для оптимизации потоков и буферизации:
.UseKestrel(options =>
{
options.Limits.MaxConcurrentConnections = 100;
options.Limits.MaxRequestBodySize = 10 * 1024;
})
3. Использование nginx или IIS как обратного прокси: Для лучшей производительности в продакшене рекомендуется использовать Kestrel в связке с nginx или IIS в качестве обратного прокси для балансировки нагрузки.
Заключение
Оптимизация встроенных серверов может значительно повысить производительность ваших приложений на этапе разработки, а также помочь в создании более безопасной и стабильной среды. Следование приведённым выше лучшим практикам позволит вам эффективно использовать встроенные серверы, повысить скорость работы и улучшить процесс разработки.
В апреле 2023 года мы запустили необычный для нас проект - ремонтный сервис нового формата. Первого клиента нашли только в начале лета, но уже с первого проекта удалось достичь запланированной прибыли. Расскажу, как мы создали современную компанию для поколения "новых денег", которые не готовы к тому, что прораб будет класть половину стоимости ремонта себе в карман, а сроки растягиваются без ограничений и почему это оказалось прибыльным бизнесом.
Как всё начиналось
Конец 2022 года. Я работал менеджером проектов в крупной IT-компании, мой друг Антон - тимлидом в другой известной технологической компании, а Дима занимал позицию backend-разработчика в третьей. У всех стабильные зарплаты, интересные проекты - жизнь шла своим чередом, пока Антон не решил купить квартиру в новостройке.
После долгих поисков он остановился на 85-метровой квартире в ЖК около метро Саларьево - современный комплекс с подземным паркингом и зелёным двором. Как типичный программист, к поиску ремонтников он подошёл педантично: изучил десятки предложений, провёл собеседования с кандидатами. В итоге выбрал бригаду с Авито с "15-летним опытом работы".
Денис (это я:) - один из создателей сервиса
За время ремонта у Антона мы с Димой часто приезжали к нему - помочь, посоветовать, и просто поржать над очередными косяками строителей. У нас обоих за плечами был серьёзный опыт управления командами, внедрения процессов, автоматизации и контроля качества. И знаете что? Нам казалось, что главное в ремонтном бизнесе - это грамотный менеджмент и организация процессов. И на самом деле, все примерно так и есть.
День когда мы решились
Если честно, мысли о собственной ремонтной компании появились у нас задолго до этого случая. В IT-тусовке часто шутят, что в России есть три верных пути: вебкам, айти и стройка. И мы, насмотревшись на хаос в ремонтной сфере, не раз обсуждали возможность открытия своей “фирмы”.
Мы выделили основные проблемы, которые должны были исправить с помощью своего сервиса
Первое - это постоянно растущие сметы и "задранная стоимость" на работы. Ну вы серьезно? Почему для меня ремонт в квартире должен чем-то отличаться от заказа носков на Вайлдберриз? Почему-то там нет такого, что цена носков может вырасти в 2 раза за время доставки. А тут начальная смета в 1 миллион превратилась почти в 1,7! И каждый раз это "ой, тут стены кривые", "ой, а тут придется докупить", "ой, а это мы не учли".
Второе - это бесконечно растущие сроки. Это еще хуже. Как люди с опытом в менеджменте, мы прекрасно знали, что растущие сроки – это всегда раздолбайство управления и ленивые рабочие. Но тут было чуть посложнее, об этом чуть позже. У Антона обещали сделать за 4 месяца, а в итоге растянули на 8.
Третье - хитрые прорабы. Это вообще отдельная история. Когда прораб говорит "давайте я сам закуплю материалы, у меня скидки", знайте - он накинет сверху процентов 30-40. А еще есть "срочные работы", которые почему-то не были учтены в смете. И конечно, вечная классика - экономия на материалах: заказываешь одно, а привозят что-то попроще, но по той же цене.
Целевая аудитория
А параллельно с этим мы определили нашу целевую аудиторию. Чтобы выделиться на конкурентном рынке, мы решили ориентироваться на молодых IT-специалистов и представителей “современных” профессий, живущих в Москве в возрасте 30-40 лет. Тех, кто покупает квартиру в новостройке и привыкших к хорошему сервису. Кто не готов, что его будут водить за нос и разводить на деньги.
Что с ценой?
При этом очень важно было держать цены НИЖЕ, чем у других компаний, иначе на рынке просто не выжить. В премиум сегмент нужен "пропуск" в виде большого количества работ для определенного типа клиентов, поэтому нам было понятно, что "брать" много - пока что, непозволительно. Но мы нашли способ: автоматизация процессов, прямые поставки материалов, четкое планирование работ и никаких скрытых накруток. Но несбыточной мечтой это покажется только обывателю: на самом деле сервис и правда должен быть таким, вообще любой.
История первого заказа летом 2023 года
А теперь самое интересное - наш первый заказ. Это была отдельная эпопея. Начало лета 2023, звонок от потенциального клиента.
Первый клиент оказался прямо "в яблочко" - тоже айтишник (пришедший из первой контекстной рекламы в яндексе запущенной на 20 тыс.), работал в крупной компании, купил двушку в панельке 80-х годов. Причем достаточно убитую - стены местами с дырками, старый паркет, трубы помнящие еще Горбачева... Но нам, если честно, даже повезло что первый объект был не новостройкой. На старом фонде учиться легче - там хотя бы есть на что посмотреть, в отличие от новостроек, где все "сюрпризы" спрятаны в голых стенах.
Дырка в стене была ДО демонтажа. Клиент купил квартиру с "убитым" ремонтом подешевле, в надежде сэкономить
Как мы мастеров искали
Начали с поиска бригады. Вот тут был первый холодный душ - оказалось, что найти классных специалистов без своей наработанной базы очень сложно. Мастера хорошего уровня либо уже при деле, либо просят космос. А те, кто сразу соглашается - ну, вы понимаете. За две недели провели больше 10 собеседований (назовем их так😊). Причем процесс собеседования мы сразу сделали "как в айти" - тестовые задания, проверка портфолио, разбор технологий работы. Бригадиры были в шоке - некоторые прямо уходили с собеседований, когда мы начинали распрашивать про технологии укладки плитки и показывали фотографии косяков с объектов с форумов.
В итоге нашли бригаду - два брата, которые до этого работали в крупной ремонтной компании, но ушли потому что устали от "серых" схем – по отношению К НИМ ЖЕ. В основном - задержки з/п и прорабы.
В том же санузле, но уже после демонтажных и некоторых черновых работ. Братья очень помогли нам с первым ремонтом, кроме этого, они дали нам контакты проверенных рабочих, которые впоследствии делали ремонт вместе с ними
Купили первый комплект инструмента - это отдельная история на 100 тысяч рублей. Ещё сразу купили свою тепловую пушку - это из необычного. Большинство компаний привлекают "потолочников" на субподряд. Мы захотели сразу начать формировать свой инструментарий для будущих сотрудников. Зато потом эта закупка очень помогла - не зависели от того, что принесет с собой бригада. Позже, когда начали расширяться купили свою штукатурную станцию. Это, на удивление, было самой выгодной покупкой.
Первые сложности
Начали ремонт. И тут поехало... Первый сюрприз - когда начали снимать старую штукатурку, оказалось что стены буквально рассыпались. Плюс под старым линолеумом в коридоре нашли деревянный пол с насыпью под ним.
Тут был первый серьезный разговор с заказчиком. Объяснили ситуацию, показали все фотки, рассказали что сколько будет стоит в соответствии с прайс-листом. Тут очень помогло то, что мы сразу взяли за правило - фотографировать вообще все. Каждый этап, каждый слой, каждую трубу.
С материалами тоже было весело. Первый месяц я лично объездил все крупные строительные магазины в радиусе 30 км. Искал поставщиков, договаривался о скидках. Помню, как чуть не купили партию плитки по "супер-выгодной" цене, а потом выяснилось что это условно "второй сорт" - брак, который продают через "серые" схемы.
Cделали систему закупок: (Первый заказ полностью сделан из материалов, купленных в Петровиче и на маркетплейсах). Бригада присылает список - мы проверяем цены у 3-4 поставщиков и заказываем где дешевле.
Мы сразу внедрили систему ежедневных фото-отчетов и еженедельных созвонов. Плюс сделали чат в телеграме, куда скидывали все чеки, все накладные, все фотки. Такая прозрачность очень помогла - клиент видел, что мы не химичим с ценами и не пытаемся на нем нажиться.
В итоге сделали.
Братья советовали нам недостающих специалистов по ходу ремонта и постепенно, укладываясь в срок мы сдавали клиенту новый и новый этап. Честно, это было не так сложно как казалось в начале, но нужно понимать, что на самом деле, проблем по ходу ремонта и мелких трудностей было ОЧЕНЬ много, просто мы как люди привыкшие, понимали что сейчас это и есть наша работа , за которую нам платит клиент - взять на себя все заботы по ремонту. Но серьезных форс-мажоров не возникало, максимум понервничали, когда внесли предоплату потолочникам, которых нашли по объявлению, после чего они явно начали задерживать сроки, но в итоге, все обошлось. Нам и до этого было ясно, что чем быстрее мы соберем свой , хотя бы, небольшой штат, тем лучше и выгоднее. Но для этого надо быть уверенным в постоянном потоке заказов, что мы на тот момент, не могли себе позволить.
Главное - мы поняли как надо и как не надо. Все закупки только через нас. Все договоренности - только в письменном виде.
По деньгам первый проект получился условно в ноль - не считая наших вложений в инструмент и рекламу. Но мы получили бесценный опыт, наработали связи с поставщиками (если это можно назвать так пафосно) и главное - поняли, что наша модель рабочая, хотя на тот момент не были в этом до конца уверены. Наши сомнения развеяло лето 2023 года.
1/5
Наша первая работа, которую нам помогли закончить "братья", советуя недостающих мастеров на каждый этап работ. Цена работ для заказчика вышла 750 000 рублей. Летом 2023 года, за аналогичный объём работ авитовские бригады просили до миллиона(!)
Сайт и маркетинг или как мы общаемся с клиентами ещё до первого звонка
Кстати, про сайт. Первую версию мы сделали за пару вечеров на Тильде - максимально простую: фотки, цены, контакты. Знаете что? Он у нас до сих пор такой – но с значительно изменённым UI/UX. Я иногда ловлю себя на мысли - вот мы же, можем сделать что-то крутое, с личным кабинетом, онлайн-сметами... Но потом смотрю вордстат, статистику и думаю - а зачем? Клиенты находят нас, звонят, все работает. Иногда лучшее решение - самое простое.
1/2
На главной странице "в лоб" о том кто мы, наши конкурентные преимущества, специализация и примеры работ
1/2
Сразу "ярко" заявляем о действующих скидках. Кроме этого, простым текстом пытаемся общаться с клиентом и убедить его в нашем сервисе, пока что, не общаясь с ним лично - конверсия в лиды увеличилась значительно, но важно, чтобы все предложения были реальны
А вот ворд стат. За последний месяц нас искали 680 раз не считая статистики переходов по прямой ссылке. Доказательство того, что дорогой сайт не нужен. Наш стоит 6 000 рублей в год, а сделан за 20 часов
Примеры лучших работ как маркетинговый инструмент
1/4
Оставляли подобные фото с примерами работ и вотермаркой в отзывах к жилым комплексам. Отличный маркетинговый инструмент - сразу определяем нужную ЦА и бесплатно заявляем о себе. Точно знаем, что минимум один клиент был из отзывов яндекс - поэтому работает
Как мы масштабировались и разбирались в проблемах ремонта
Теперь про то, как мы начали разбираться в проблемах ремонта и потихоньку расти. Знаете, за этот год мы много думали - почему вообще ремонтные компании задерживают сроки и не могут сделать работу по первоначальной цене? И нашли несколько интересных моментов.
Первое - сроки. Тут даже копать глубоко не пришлось - сам рынок сформирован так, что клиенты просто привыкли к задержкам. "А, ну это ремонт, тут всегда так" - классическая фраза. Благо тут нам помог опыт организации процессов из айти. Четкие спринты, ежедневные отчеты, календарный план. Работает как часы, если не филонить.
Второе - вечно растущая цена. Вот это было сложнее. В новостройках еще можно точно посчитать, а во вторичке... Но благодаря наработкам этот вопрос стал гораздо яснее. При правильно организации процессов, непредвиденные работы лучше оплатить из своих средств, чем терять клиента. Только так и делается сервис.
Третье - больная тема - воровство на материалах. Тут мы конкретно закрутили гайки. Завели строгий учет, до последнего мешка штукатурки. Прорабам сразу сказали - любая жалоба от клиента на нечестность - это конец сотрудничества. Знаете что самое смешное? Когда начали работать честно, оказалось что маржа все равно хорошая. Просто многие привыкли что надо обязательно накручивать еще и еще.
Неприятные особенности прозрачного сервиса
Большинство компаний, которые начинают работать честно, быстро сдуваются. Потому что сам потребитель привык к плохому сервису. Приходишь к клиенту, говоришь "мы все сделаем четко по смете и в срок", а он смотрит с недоверием - "да ладно, так не бывает". Сейчас в 2024-м ситуация получше, но рынок все еще очень консервативный.
Продвижение или как мы брали “Новую Москву”
Наш любимый Прокшино в Новой Москве - в 2024 году, это самый перспективный район в котором покупатели - наши потенциальные клиенты
Расти начали потихоньку. Сначала сделали специальные цены для новой Москвы - там как раз много новостроек, где мы хорошо научились работать. Потом пошли заказы по рекомендациям. Когда я говорю “пошли” заказы нужно понимать, что это 1-3 заказа в месяц стабильно, что на самом деле, тогда казалось не мало. С рекламой экспериментировали забавно - оставляли визитки в подъездах (да, просто старые добрые визитки!), ставили рекламные ящики у офисов продаж в дни выдачи ключей.
Был случай, когда на одном ЖК поставили такую стойку, а через неделю риелтор оттуда сам позвонил и предложил взять себе процент, если клиент пойдет к нам.
Сейчас берем 2-5 заказов в месяц, (летом было 5 в месяц, если разделить). Большинство клиентов приходят по рекомендациям. Штат за год работы постепенно собрали свой. Трудоустроено 14 сотрудников. Если их не хватало (как летом), привлекали мастеров с которым уже работали раньше, по договору ГПХ. Просили всех регистрировать самозанятость или ИП – это было тяжело, но зато честно платим налоги по Доходы – расходы.
Как устроен процесс
Знаете, что самое сложное в ремонтном бизнесе? Нет, не поиск клиентов и не работа с материалами. Самое сложное - это выстроить систему, которая будет удовлетворять запросы клиента и при этом позволит компании зарабатывать. Мы долго думали над этим и придумали несколько интересных решений.
Начнем с оплаты. Если посмотреть на московский рынок, там забавная система - вроде бы без предоплаты, но это только за первый, самый дешевый этап. А потом - бац, и клиент должен внести 50% от всей суммы. И попробуй не внеси - бригада уйдет на другой объект. Мы сделали иначе: разбили весь ремонт на этапы (их получилось 12 для капитального ремонта), и берем предоплату только за текущий этап. То есть клиент всегда понимает, за что именно платит, и может контролировать процесс.
С договорами тоже интересно получилось. Сначала делали один стандартный, а потом поняли - люди разные, запросы разные. Сейчас у нас три варианта: просто на работы (для тех, кто сам хочет закупать материалы), на работы плюс материалы (самый популярный), и полный пакет с дизайн-проектом. Кстати, про дизайн - мы не держим штатных дизайнеров, работаем с фрилансерами. Так получается и дешевле для клиента, и качество выше - каждый дизайнер специализируется на своем стиле.
Первый образец договора, который ставили на сайт
Расчёт стоимости
Расчет стоимости работ - отдельная история. Когда начинали, было очень сложно. На рынке нет четких цен - один мастер берет 3 тысячи за квадрат стяжки, другой - тысячу, третий вообще говорит "ну давайте посмотрим по факту". Сначала работали по среднему прайсу, но часто уходили в минус по отдельным этапам - то бригада дороже встанет, то материала больше уйдет. Сейчас, когда появились постоянные сотрудники, стало проще - мы точно знаем их расценки и можем давать фиксированную цену.
Материалы
Выяснилось, что в крупных магазинах часто дешевле в сравнении с рынками стройматериалов, особенно если ловить акции. Плюс появились маркетплейсы - там вообще красота по ценам. И главное - полная прозрачность, клиент сам видит все позиции. Если находим материал дешевле - возвращаем разницу. Был случай, когда на керамограните сэкономили клиенту почти 30 тысяч - просто потому что, нашли ту же плитку в другом магазине по акции.
Как работаем сейчас
Сейчас берем 2-5 заказов в месяц, зависит от сезона и сложности объектов.
Процесс обкатан до мелочей: сначала выезд на замер, потом предварительная смета. Если клиента все устраивает - детальный расчет и договор. Дальше начинается самое интересное - согласование материалов, закупки, работа.
Особенности продвижения и подводные камни
С продвижением интересно получилось. Сначала, как все, полезли на Авито. И знаете что? Не зашло. Там своя специфическая аудитория и конкретно у нас, с Авито “ не пошло”.
Свежий пример страницы с авито в категории "Ремонт квартир". Как клиенты определяются с подрядчиком среди тысяч однотипных объявлений - хороший маркетинговый вопрос, который мы решаем, после чего полноценно "зайдём" на авито
Пробовали контекстную рекламу яндекс - тоже так себе результат. Клики дорогие, конверсия низкая. Зато отлично зашла таргетированная реклама в Instagram* (*запрещен в РФ) и реклама в районных пабликах ВКонтакте. Особенно в группах новостроек в ТГ - там как раз наша целевая аудитория.
Но главный канал - сарафанное радио. Причем работает оно интересно. Всегда знаешь , от кого пришли заказчики и проще выстраивать коммуникацию. Есть клиент - он доволен, рассказал коллегам - и понеслось. За три месяца получили еще два заказа от сотрудников той же компании. Выходит такой “корпоративный ремонт”)))
Были, конечно, и провалы в продвижении. Пытались работать с риелторами - предлагали им комиссию за клиентов. Не пошло - у них свои схемы, свои бригады. Пробовали давать рекламу в лифтах, входных группах - тоже мимо, ни одного обращения, но тут скорее из-за того что эта реклама буквально на день.
ИТОГ
Сейчас мы существуем уже чуть больше года и в целом смотрим на ремонтный рынок не так, как раньше. За это время мы сделали несколько важных заметок для себя:
Оказывается, большинство проблем в ремонте - это не технические сложности, а банальная организация процессов. Когда все четко спланировано и каждый знает что делать - даже самый сложный ремонт идет как по маслу.
Мы поняли, почему многие компании "химичат" с ценами и сроками - просто потому что не умеют нормально считать и планировать. Когда все процессы выстроены правильно, можно работать честно и все равно оставаться в плюсе.
Самое сложное - это не найти клиентов или научиться делать ремонт. Самое сложное - это переломить привычку рынка работать "по-серому". И заказчики, и исполнители настолько привыкли к непрозрачным схемам, что честный подход вызывает удивление.
Мы до сих пор учимся. Каждый объект - это новый опыт и новые вызовы (особенно по части коммуникаций с клиентами). Но главное - мы видим, что наша модель работает и пока что, нам удается держать ценник немного ниже рыночного, за счёт того что до сих пор не имеем в найме маркетологов, IT, отдела продаж и менеджеров по продажам. Стараемся нанимать именно рабочих, все остальное можно отдать на аутсорс.
Уважаемые пикабушники, были рады составить для вас эту статью! С любовью, СК Комната
Встроенные веб-серверы — это удобные инструменты, которые позволяют быстро запустить сервер для разработки без необходимости установки дополнительных серверных приложений, таких как Apache или Nginx. Это особенно полезно для локальной разработки и тестирования веб-приложений.
В этой статье мы рассмотрим, как запустить встроенные веб-серверы для различных языков программирования и фреймворков: PHP, Python, Node.js, Django, Ruby on Rails и ASP.NET Core.
1. PHP: Встроенный сервер
PHP включает в себя встроенный веб-сервер, который доступен начиная с версии PHP 5.4. Этот сервер идеально подходит для локальной разработки, так как позволяет обслуживать ваши PHP-скрипты прямо с командной строки.
Как запустить сервер PHP:
Перейдите в директорию с вашим проектом.
В командной строке выполните команду:
php -S localhost:8000
После этого сервер начнет работу, и вы сможете открыть сайт по адресу http://localhost:8000.
Преимущества:
Простая настройка.
Не требуется установка дополнительных серверов, таких как Apache или Nginx.
2. Python: Встроенный HTTP-сервер
Python предоставляет встроенный HTTP-сервер, который позволяет быстро запустить веб-сервер для обслуживания файлов из любой директории. Эта возможность доступна в Python 2 и Python 3.
Как запустить сервер в Python:
Откройте командную строку и перейдите в директорию с вашими файлами.
В зависимости от версии Python выполните соответствующую команду:
Для Python 3: python -m http.server 8000
Для Python 2:python -m SimpleHTTPServer 8000
После этого сервер будет работать на http://localhost:8000.
Преимущества:
Поддержка различных версий Python.
Идеально для разработки и тестирования статических файлов.
3. Node.js: Встроенный сервер с http-server
Node.js не включает встроенный сервер, но его легко можно создать с помощью пакетов, таких как http-server. Этот пакет позволяет быстро запустить HTTP-сервер для разработки.
Откройте командную строку и перейдите в директорию вашего проекта.
Выполните команду:dotnet run
По умолчанию сервер будет доступен на http://localhost:5000.
Преимущества:
Идеально для разработки приложений на C# и ASP.NET.
Легко интегрируется с Visual Studio и Visual Studio Code.
Заключение
Запуск встроенных веб-серверов — это быстрый и простой способ развернуть сервер для локальной разработки и тестирования. Независимо от языка программирования или фреймворка, вы всегда сможете запустить сервер всего за несколько минут.
Подведем итоги по командам:
PHP: php -S localhost:8000
Python: python -m http.server 8000 (Python 3)
Node.js: http-server -p 8000 или node server.js с Express
Решил в качестве образовательного процесса запилить базовую копию Notion и показать на примере что это и как вообще может быть устроено.
Не судите строго, тут вам не хабр, вот что из этого получилось:
Прям вот с нуля, только с персональной подготовкой (20 лет в деле), до записи видео просто освежил и прозвонил руками тонкие для меня места, чтобы не пороть запись.
Минимальное количество зависимостей, только когда прям надо.
Ruby on Rails из коробки как идет.
Frontendless - никакого JSON и фронтенда*
Realtime - ве живое и шевелится через вебсокеты и прочие турбофреймы
Искренне понравилось, сколько литературы удалось собрать за время обучения в университете, помимо учебно-методического материала. И здорово, что удалось сменить профессию с производственного логиста на fullstack-разработчика Ruby on Rails + Vue.js еще во время учебы. Получился прикольный дипломный проект.
Если вы хотите начать работать в сфере программирования, то вам помогут курсы по Ruby. Это высокоуровневый язык, который широко используется для создания веб-приложений и автоматизации процессов, а также он известен своей простотой и эффективностью. Независимо от уровня подготовки, обучение позволит каждому желающему стать уверенным разработчиком и зарабатывать около 120 000 рублей в месяц.
Вместе с экспертами Kursfinder я рассмотрела около 50 предложений от топовых школ, чтобы выбрать 25 лучших программ, включая бесплатные. Полный список актуальных курсов по Ruby вы найдете в нашем каталоге.
Курсы Ruby подойдут выпускникам IT-специальностей, практикующим специалистам, тем, кто уже программирует и хочет расширить свои знания и навыки, а также новичкам.
В процессе обучения вы познакомитесь с экосистемой, ключевыми возможностями, объектно-ориентированным программированием. В результате вы научитесь использовать и определять функции и анализировать ошибки. Подойдет тем, кто уже имеет опыт в кодинге и хочет освоить новый язык.
Сайт предлагает обучение основам разработки, в том числе изучение самого языка, фреймворка RoR и других технологий. Подходит как новичкам, так и для опытным специалистам. В программу входит более двух десятков видеоуроков, доступ к учебным материалам, интерактивные вебинары, консультации с менторами и возможность получить сертификат по окончании обучения.
Вы научитесь создавать код, который легко читать и понимать, создавать удобные абстракции и скрывать внутреннюю реализацию. Также вы узнаете о концепциях создания сложных типов данных из простых и о парадигме декларативного программирования. Подходит новичкам, которые хотят освоить основы на данном языке.
В обучение входит изучение языка, его экосистемы и принципов программирования. Вы научитесь разрабатывать приложения на RoR, работать с базами данных и серверами. В процессе вы также создадите реальный проект для своего портфолио. Преподаватели — специалисты, которые будут помогать на протяжении всего обучения. Помощь в трудоустройстве оказывают опытные HR-менеджеры.
Стоимость: 970 долларов
Длительность: 5 месяцев
Формат обучения: онлайн, живые занятия с преподавателем в Zoom, домашние занятия
Сертификат: портфолио и диплом на английском языке
Преимущества:
есть рассрочка и скидка;
практикующие IT специалисты с большим опытом;
бесплатная консультация;
помощь с трудоустройством;
много проектов для портфолио;
запись уроков;
подробная обратная связь по домашним заданиям.
Недостатки:
преподаватель не всегда быстро отвечает на вопросы.
Программа предназначена для изучения языка и структурного подхода к компьютерным программам (SICP). В процессе обучения вы поймете идеи составных данных и парадигму декларативного программирования. Также научитесь создавать удобные абстракции, изолировать разные части программы и определять границы между слоями приложения.
Дополнительные ресурсы также помогут вам определиться с выбором.
Ruby on Rails от Thinknetica. Программа подходит начинающим. В процессе обучения вы получите практические навыки и опыт работы с популярными инструментами и технологиями, такими как Git, GitHub, VirtualBox, PostgreSQL, MySQL, SQLite. Также вы научитесь работать с командной строкой Linux.
Learn Ruby от codecadamy. Школа предлагает обучение основам языка и созданию нескольких веб-приложений с использованием фреймворка RoR. В стоимость включен сертификат, практика на удобной платформе и помощь с составлением портфолио. Обучение подходит новичкам, уроки проходят на английском языке.
Автоматизация тестирования на Ruby от Thinknetica. Вы узнаете, зачем, когда и какое тестирование следует автоматизировать, а также познакомитесь с основными фреймворками и библиотеками для автоматизации тестирования. Вы научитесь писать юнит-тесты для программ и библиотек в вариантах minitest и RSpec, а также автоматизировать функциональное тестирование веб-приложений с помощью таких инструментов, как Selenium, CDP, Capybara и других.
Объектно-ориентированный дизайн в Ruby от Thinknetica. На уроках вы изучите принципы объектно-ориентированного программирования (ООП) и их реализацию в языке, а также сравните их с другими кодами программирования.
Сайт предлагает обучение основам языка и фреймворка RoR. В ходе программы рассматриваются актуальные технологии стека, работа с Docker, тестирование, разработка MVP, стартапы и подготовка к собеседованиям в крупные компании на позицию Ruby-разработчика. Подходит разработчикам с опытом работы от одного года, которые желают изучить язык и фреймворк для коммерческого и личного применения при разработке приложений.
Стоимость: известна после уточнения у консультанта
Обучение предназначено для тех, кто хочет освоить основы программирования и создания веб-приложений с использованием фреймворка RoR. В процессе вы получите глубокие знания и навыки для успешной карьеры веб-разработчика. Обучение проходит следующим образом: вы изучаете основы и пишете простые коды, затем переходите к упражнениям для закрепления материала. В конце вы выполняете несколько проектов для своего портфолио.
Стоимость: известна после уточнения у консультанта
Длительность: 4,5 месяца
Формат обучения: онлайн,видеоуроки, вебинары, практические и домашние задания
Сертификат: портфолио
Преимущества:
бесплатная консультация;
ежедневное общение с преподавателями;
помощь с трудоустройством;
таймкоды в видео для удобства;
код программ к урокам, чтобы было удобнее повторять за учителями;
конспект с удобной навигацией, картинками и вставками кода;
проверка и обратная связь по домашним заданиям;
разбор дополнительных тем на вебинарах;
бессрочный доступ к материалам;
поддержка после окончания обучения.
Недостатки:
выполнение практических заданий занимает много времени.
Программа предназначена для тех, кто хочет изучить особенности RoR. В процессе обучения вы познакомитесь с иерархией контроллеров, API, Jbuilder, стримингом, тестированием кода, который выполняет внешние запросы, и другими инструментами и технологиями. Подойдет продвинутым программистам, которые желают расширить свои знания о фреймворке.
Программа состоит из трех вебинаров. После прохождения уроков вы ознакомитесь с принципами устранения проблем и организационными мерами и научитесь решать проблемы с безопасностью. В рамках обучения рассматриваются следующие темы: несанкционированное использование приложения, выполнение действий от имени пользователей и многое другое. Для начала обучения необходим опыт разработки на RoR и навыки работы с командной строкой в Linux.
Курс Ruby on Rails предназначен для изучения основ работы с фреймворком. Вы познакомитесь с роутингом, контроллерами, шаблонизаторами, моделями и связями между ними. В результате научитесь создавать полноценные сайты с CRUD-действиями, писать тесты, работать с базой данных через ActiveRecord и миграции. Подойдет тем, кто уже знаком с основами языка и протокола HTTP, а также работал с базами данных.
Курсы Ruby on Rails — это возможность изучить язык программирования и популярный фреймворк для веб-разработки Rails. Они подходят тем, кто хочет создавать мощные и масштабируемые веб-приложения с использованием готовых решений и библиотек.
Разработчик Ruby on Rails Junior от ITMO. Вы изучите RoR, основы программирования на фреймворке, объектно-ориентированное программирование, типы данных, управление потоком исполнения, встроенные методы и функции. Также вы установите и настроите Ruby и Rails, поймете структуру приложения, модели, контроллеры и представления, работу с маршрутами, MVC-архитектуру.
Ruby on Rails: Tutorial от Learn Enough. Сайт предлагает обучение веб-разработке на профессиональном уровне с использованием языка и фреймворка RoR. После оплаты вы получаете доступ ко всем программам на платформе. Обучение проходит в формате теоретических материалов, тестирований и практических заданий. Вы изучаете основы языка, и пишете программы.
Разработчик на Ruby on Rails от Хекслет. Это онлайн-обучение, которое поможет вам освоить язык, фреймворк Rails, базы данных и другие технологии. Вы научитесь создавать безопасные и производительные программы, работать с HTML, CSS, JavaScript и другими инструментами. Опытные наставники будут помогать вам на протяжении всего обучения.
Бесплатные курсы Ruby
Бесплатное обучение Ruby — это отличная возможность для начинающих программистов познакомиться с этим популярным языком и фреймворком RoR.
Уроки предназначены для новичков в области IT. От студентов требуется минимальный технический бэкграунд, логическое мышление и желание стать специалистом в данной сфере. В процессе вы изучите фреймворк RoR и создадите свое небольшое приложение.
Основные характеристики:
длительность — два месяца;
18 занятий с практикой;
шанс пройти стажировку и трудоустроиться в Крым Диджитал.
Вы изучите основы объектно-ориентированного программирования, синтаксис языка, работу с базами данных, а также особенности использования фреймворка Rails. В конце вы сможете создать свое первое веб-приложение на RoR. Также у вас будет возможность трудоустроиться в международную IT-компанию.
Учебный центр предлагает изучить основы языка, его ключевые возможности и экосистему. Вы познакомитесь с объектно-ориентированным программированием и метапрограммированием. В бесплатной части данной программы доступна теория для введения в базу языка.
В ходе обучения вы изучите основы языка, синтаксис, переменные, условные операторы, строки и классы. Также вы научитесь работать с ошибками и отладкой кода, создавать свои первые программы и применять полученные знания на практике. В конце каждого модуля есть тесты для проверки усвоенного материала.
Программа охватывает основы языка, работу с переменными, условными операторами, циклами, функциями и методами. Также рассматриваются вопросы объектно-ориентированного программирования и работа с файлами и каталогами. Обучение подходит начинающим программистам.
Бесплатные уроки по RoR в Уфе проводятся на базе УГАТУ (Уфимского государственного авиационного технического университета). Цель программ — научить слушателей основам создания качественных веб-приложений на данном языке.
Основные характеристики:
длительность — 12 занятий по два академических часа;
необходимы базовые знания основ объектно-ориентированного программирования, а также HTML/CSS/JavaScript.
В этом плейлисте вы найдете уроки по изучению очень популярного и мощного языка программирования. В ходе обучения вы изучите базовый синтаксис, а также различные сложные операции.
Вы полностью пройдете изучение данного языка, с самого нуля и до разработки своего собственного приложения. Вы будете использовать новый синтаксис и сравнивать его с новым. Обучение рассчитано на новичков и тех, кто хочет улучшить понимание и более глубоко разобраться с языком.
Основные характеристики:
более 40 видеоуроков;
ориентация на практику.
Заключение
Курсы Ruby предоставляют отличную возможность для разработчиков с разным опытом освоить мощные инструменты и технологии, которые востребованы в современном мире веб-разработки. Изучение Ruby и Ruby on Rails не только открывает двери к более продуктивной и быстрой разработке, но и позволяет стать частью большого и активного сообщества профессионалов. Выбирая подходящие курсы Ruby, вы сможете достигнуть своих профессиональных целей и улучшить навыки для успешной карьеры в IT
23 февраля, только 1993 года начал разрабатываться динамический язык программирование - Ruby. Он был задуман Юкихиро Мацумото с целью создания простого в использовании и объектно-ориентированного языка программирования. Основная идея заключалась в создании мощных и понятных программ с упором на понятность и простоту синтаксиса. Язык придерживается принципа "наименьшей неожиданности", предоставляя разработчику несколько способов достижения одного результата.
С момента выпуска первой общедоступной версии в 1995 году Ruby стал популярным в Японии, а после перевода документации на английский язык и появления первых списков рассылки в 1998 году начал распространяться по всему миру. Появление Ruby on Rails в 2004 году стало катализатором для распространения Ruby в мире.
В 2003 году выход Ruby 1.8.0 и в 2007 году новой версии Ruby on Rails 2.0 вывели язык на новый уровень, способствуя его использованию в серьезных коммерческих проектах. Создание новых версий Ruby 1.9.* после отказа от 100%-й совместимости и выход Ruby 1.9.1 в 2009 году привели к серьезным изменениям к лучшему и утвердили Ruby как важный язык программирования.
В 2024 язык до сих живой. Последнее обновление датировано 25 декабря 2023. С поиском работы тоже не возникает сложностей 130 вакансий в Мск в HH (на c++ 1130 вакансий). При учете,что язык совсем непопулярный - 20 место в индексе TIOBE.
Итого, язык живой и до сих пор развивается, хотя ему 29 лет