Задачи и тесты по программированию | proghub
Как правильно в данном случае передать массив в описанную ниже функцию? proghub.ru/q/63b3f1 #tests #c
Правильный ответ:
Объяснение:
Ни один из вариантов не является правильным
Объяснение:
Массив представляет собой указатель на первую переменную массива в памяти.
Задачи и тесты по программированию | proghub
Real-time рейтинг Начали пилить на proghub.ru рейтинг юзеров. Сделали вариант на mysql, после прохождения теста, обновляем табличку добавляя или обновляя места пользователей. Вроде неплохой вариант, запустили на деве, при 15к фейковых юзеров уже начал лагать…
Почти доделали рейтинг, ещё недельку тестим и запускаем в общий доступ.
А пока вопрос:
Участвовали ли бы вы соревнованиях на основе наших тестов за некий призовой фонд?
Вопрос для компаний:
Хотели ли бы вы провести подобное соревнование для популяризации себя/своего продукта?
А пока вопрос:
Участвовали ли бы вы соревнованиях на основе наших тестов за некий призовой фонд?
Вопрос для компаний:
Хотели ли бы вы провести подобное соревнование для популяризации себя/своего продукта?
Приснился сегодня страшный сон что прогхаб упал! Проснулся, проверил, все работает, а java все ещё самый популярный раздел.
Забавный проект с попыткой монетизировать опенсорс. Идея такая: вы пишите код который доступен только тем кто будет за него платить.
Сайт: https://xscode.com/
Как вам идея?
#git
Сайт: https://xscode.com/
Как вам идея?
#git
Задачи и тесты по программированию | proghub
Докер В прошлом посте с мыслями разработчика мы заговорили про docker. Что это такое можно прочитать тут и тут. А я ниже расcкажу про наш опыт. Почему мы выбрали докер? До запуска proghub.ru я пользовался им для локальной разработки около 2х лет и это было…
👆Вот тут мы опытом докера делились, зацените если не видели.
Ищем программиста-фотошопера!
Разыскивается человек обладающий минимальными умениями фотошопа и знаниями в программировании и в мире ИТ в целом (достаточно минимальных знаний).
Что нужно делать?
Создавать короткие интересные заметки и полезные лайфхаки для различных фреймворков и языков, кратко обьяснять их принцип работы.
За более детальной пишите нам на [email protected]
Разыскивается человек обладающий минимальными умениями фотошопа и знаниями в программировании и в мире ИТ в целом (достаточно минимальных знаний).
Что нужно делать?
Создавать короткие интересные заметки и полезные лайфхаки для различных фреймворков и языков, кратко обьяснять их принцип работы.
За более детальной пишите нам на [email protected]
Что будет выведено при выполнении кода:
Anonymous Poll
4%
s
77%
Произойдет ошибка компиляции
4%
x
11%
my string
5%
i
Крутая утилита для уменьшения размеров docker-образа без изменения кода, называется docker-slim. Оптимизирует и добавляет защиту для ваших контейнеров, понимая их смысл c помощью различных аналитических средств.
Github: https://github.com/docker-slim/docker-slim
Сайт: https://dockersl.im
#devops #docker
Github: https://github.com/docker-slim/docker-slim
Сайт: https://dockersl.im
#devops #docker
Легковесная утилита для нагрузочного тестирования путем отправки большого кол-ва http-запросов. Неплохая альтернатива ApacheBench (ab). Написана на go, из особых фич - поддержка http2.
Github: https://github.com/rakyll/hey
#utils
Github: https://github.com/rakyll/hey
#utils
Третий пост с визуализацией алгоритмов с нашего теста по алгоритмам
На этот раз визуализация пузырьковой сортировки
На этот раз визуализация пузырьковой сортировки
Очереди сообщений
Очереди получают, удерживают и доставляют сообщения. Если операция выполняется слишком медленно, вы можете использовать очередь сообщений со следующим рабочим процессом:
Если какая-либо операция выполняется слишком долго, можно использовать очередь сообщений по такой схеме:
1. Приложение публикует задание в очереди, а затем уведомляет пользователя о статусе обработки.
2. Воркер забирает задание из очереди, обрабатывает его, а затем сообщает, что задание завершено.
Пользователь не ждет отклика страницы, а задание обрабатывается в фоновом режиме. Например у нас на proghub.ru есть задачи отправки всех писем, задача добавления в рейтинг результатов прохождения пользователя. В качестве брокера сообщений мы используем redis. А вообще самые попелярные варианты работы с очередями это:
1. redis - максимально простой вариант
2. rabbitMQ - самый популярный вариант, умеет очень много из коробки, работает на основе протокола AMQP
3. amazon SQS - если у вас проект в амазон, то этот вариант для вас
#devops #backend
Очереди получают, удерживают и доставляют сообщения. Если операция выполняется слишком медленно, вы можете использовать очередь сообщений со следующим рабочим процессом:
Если какая-либо операция выполняется слишком долго, можно использовать очередь сообщений по такой схеме:
1. Приложение публикует задание в очереди, а затем уведомляет пользователя о статусе обработки.
2. Воркер забирает задание из очереди, обрабатывает его, а затем сообщает, что задание завершено.
Пользователь не ждет отклика страницы, а задание обрабатывается в фоновом режиме. Например у нас на proghub.ru есть задачи отправки всех писем, задача добавления в рейтинг результатов прохождения пользователя. В качестве брокера сообщений мы используем redis. А вообще самые попелярные варианты работы с очередями это:
1. redis - максимально простой вариант
2. rabbitMQ - самый популярный вариант, умеет очень много из коробки, работает на основе протокола AMQP
3. amazon SQS - если у вас проект в амазон, то этот вариант для вас
#devops #backend
Rabbitmq
RabbitMQ: One broker to queue them all | RabbitMQ
Как работает PHP
Мы на апи proghub.ru используем PHP, думаю многие из наших подписчиков так-же пишут на нем. Для вас публикуем короткий пост о том как обрабатывается входящий запрос.
Сервер принимает запрос, компилирует его в байт-код, который в свою очередь поступает на исполнение виртуальной машине. Виртуальная машина, исполняя байт-код, может вызывать и другие PHP-файлы, которые опять перекомпилируются в байт-код и опять исполняются.
По завершению выполнения запроса вся информация, которая к нему относится, включая байт-код, удаляется из памяти. То есть каждый PHP-скрипт должен быть скомпилирован на каждом запросе заново. Разумеется, JIT-компиляцию в такую схему встроить просто невозможно, потому что компилятор должен быть очень быстрым.
Но скорее всего никто не использует PHP в голом виде, все его используют с OPcache. Если соберем 100 👍 то опубликуем следующую часть.
#backend #php #api
Мы на апи proghub.ru используем PHP, думаю многие из наших подписчиков так-же пишут на нем. Для вас публикуем короткий пост о том как обрабатывается входящий запрос.
Сервер принимает запрос, компилирует его в байт-код, который в свою очередь поступает на исполнение виртуальной машине. Виртуальная машина, исполняя байт-код, может вызывать и другие PHP-файлы, которые опять перекомпилируются в байт-код и опять исполняются.
По завершению выполнения запроса вся информация, которая к нему относится, включая байт-код, удаляется из памяти. То есть каждый PHP-скрипт должен быть скомпилирован на каждом запросе заново. Разумеется, JIT-компиляцию в такую схему встроить просто невозможно, потому что компилятор должен быть очень быстрым.
Но скорее всего никто не использует PHP в голом виде, все его используют с OPcache. Если соберем 100 👍 то опубликуем следующую часть.
#backend #php #api
SQL: Как выбрать все записи из таблицы "Persons", для которых значение колонки "FirstName" начинается с "a"?
Anonymous Poll
7%
SELECT * FROM Persons WHERE FirstName = 'a'
10%
SELECT * FROM Persons WHERE FirstName LIKE '%a'
13%
SELECT * FROM Persons WHERE FirstName STARTSWITH 'a'
66%
SELECT * FROM Persons WHERE FirstName LIKE 'a%'
4%
SELECT * FROM Persons WHERE FirstName = '%a%'
Как работает PHP 2: OPcache
Продолжаем тему о работе движка php и сегодня поговорим про OPcache.
Главная задача OPcache — избавиться от перекомпиляции скриптов на каждом запросе. Он встраивается в специально предназначенную для него точку, перехватывает все запросы на компиляцию и кэширует скомпилированный байт-код в shared memory.
При этом экономится не только время компиляции, но и память, потому что раньше память под байт-код выделялся в адресном пространстве каждого процесса, а теперь он существует в единственном экземпляре.
#backend #php #api
Продолжаем тему о работе движка php и сегодня поговорим про OPcache.
Главная задача OPcache — избавиться от перекомпиляции скриптов на каждом запросе. Он встраивается в специально предназначенную для него точку, перехватывает все запросы на компиляцию и кэширует скомпилированный байт-код в shared memory.
При этом экономится не только время компиляции, но и память, потому что раньше память под байт-код выделялся в адресном пространстве каждого процесса, а теперь он существует в единственном экземпляре.
#backend #php #api