Александр Календарев @akalend
Ламер с 20 летнем стажем
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Software Architect, Database Architect
Lead
From 325,000 ₽
PostgreSQL
Golang
C++
Python
Database
Designing application architecture
Creating project architecture
Database design
Object-oriented design
Code Optimization
я бы поставил вопрос так: А на каких задачах использование асинхронных задач применимо?
Это сложные расчетные или вычислительные задачи, такие как расчет оптимального пути при большом количестве данных, или генерация 1 000 000 лотерейных билетов. Реализация данных задач занимает больше, чем ожидаемый ответ от WEB сервера: 120 сек.
Алгоритмов реализации подобных задач может быть несколько, один из них — это запуск через AJAX асинхронного процесса, который в файл сбрасывает состояние расчета (прогресс), как правило в статический файл в ввиде JSON. Клиентский скрипт, опять же через AJAX, опрашивает состояние расчета (отображая в прогрессбаре), и при окончании расчета осуществляет редирект на страницу результата.
вот как-то так я и использовал
тогда не было libevent
обмен между тредами был реализован на неблокируемых сокетах.
сейчас для асинхронного обмена использую gearman.org/
Кодить надо так, чтоб их по просту не должно возникать: ни замечаний, ни предупреждений.
>set_exception_handler —… Я бы её вообще не переопределял, а то придется в логи о случившимся исключении самому писать.
Переопределение обработки exception необходимо для его собственной обработки, в частности и кастомной записи в лог.
главное не спешить в выборе,
как впрочем и в каждом любом другом деле.
Будущее есть всегда — и оно зависит от тебя в частности.
самый оптимистичный вывод! и я рад за Вас и хочу пожелать удачи.
отрицательный результат — тоже результат.
С нашим государством каши не сваришь — я это понял еще 10 лет назад…
В настоящее время я имею на руках Материнский Сертификат, который не могу обналичить, хотя строю дом.
так что это не первая и не последняя бутафорская программа.
очень помогает во многих случаях
strlen() — функция не нужна — это по сути второй не нужный цикл.
используем один цикл while и проверяем:
а) на вхождение нулевого символа
б) на диапазон 30-39 Символы 0-9
Уверен, что скорость будет раза в два быстрее чем по Алгоритм 1
я задавал похожие вопросы — но уже касательно проектам:
Ваш самый удачный проект
Ваш самый трудный проект
Ваш самый неудачный проект
Ваш самый интересный проект
Какой проект Вам захотелось бы реализовать.
из ответов на это уже виден кругозор и целеустремленность программиста.
из текущих средств это позволяет пока Handler socket или иные in-memory БД но уже без привычного INSERT/SELECT
Скоро все будем изучать UnQL
а с какого боку здесь упомянут shared memory если обмен данными между БД и клиентом идет через сокет.
про это уже писалось