iOS: устал от дефолтной клавиатуры
Нет ряда цифр; неудобно вводить спец-символы; три апострофа подряд — вообще молчу; не нужна кнопка голосового ввода; вместо Backspace нажимается «ю».
Сорри, что тут спрашиваю, просто я в форуме маководов зобанен ((
Нет ряда цифр; неудобно вводить спец-символы; три апострофа подряд — вообще молчу; не нужна кнопка голосового ввода; вместо Backspace нажимается «ю».
Сорри, что тут спрашиваю, просто я в форуме маководов зобанен ((
Мя тут немного почитал, немного посмотрел и немного поговнокодил, и что-то не складывается каменный цветок. Выглядит оно это ваше TDD как учебная методика, форсирующая приобретение навыков создания тестируемого дизайна и на своём примере показывающая, насколько больно поддерживать хрупкие тесты, но не как реальный способ разрабатывать сложный функционал.
В целом, вопросные тезисы и тезисные вопросы таковы:
TLDR: «под капотом» TDD очень сильно напоминает наивное «не надо ничего планировать, щас что-нибудь в процессе выдумаю», прикрытое сверху идеологией тестирования и горстью баззвордов. При попытке использовать его на не-совсем-тривиальном-проекте, который уже нельзя полностью держать в памяти, количество забытых нереализованных фунций и количество неожиданно всплывающей работы по рефакторингу и реимплементации превышают все мыслимые пределы. Это выглядит полезным для обучения, но не для реальной разработки.
Change my mind, как говорится, если есть желание. Мя ещё не зафиксировал какого-то конечного мнения о сабже, но первые впечатления смешанные.
Всем привет.
Проблема вроде бы и простая, но не могу придумать нормальное решение.
Есть одна клиент-серверная программа. Есть несколько типов («B», «C», «D»), унаследованных от интерфейса («A»). Объектами этих типов перекидываются между собой всякие классы типа БД-воркера, TCP-сервера, менеджера устройств, etc. Чтобы не загромождать последние кучей сигналов-слотов на каждый тип, в сигналах-слотах передаются смарт-поинтеры на объект типа A, после чего в слоте проверяется, что там за тип вызовом метода а-ля get_type(), указатель приводится к действительному типу и соответствующе обрабатывается. В итоге код загромождается этими switch'ами, что ведёт к понятным проблемам, если понадобится добавить ещё один тип — придётся бегать и править все эти портянки.
Вроде как, можно применить другой способ — перегрузку сигналов/слотов, но тогда для каждого перегруженного сигнала/слота, как я понимаю, надо будет прописывать свой connect, что тоже смотрится не очень. UPD: может нафигачить глобально доступный макрос, который будет вставлять эту кучу коннектов на каждый существующий тип? Тогда достаточно будет модифицировать макрос при введении ещё одного типа.
Хочется, чтобы при добавлении нового типа-наследника «A», места для допиливания были строго локализованы и легко определяемы.
Наверняка есть какое-то решение, до которого я не могу допетрить, может кто подсказать? Или дать ссылку на проэхт, где можно подсмотреть, как делать по красоте?
Привет. Ребят подскажите пожалуйста какой-нить брокер с гарантированной доставкой POST запросов.
Пример такой: Прилетает на nginx/haproxy(балансер) -> кладётся в очередь -> из очереди пушиться (причём нужна именно гарантированная доставка) в nginx -> php.app.
AMPQ не подходит т,к нет возможности вносить изменения в webhook сторонних разработчиков, а хочется как-то сбалансировать траф + при падении бека оставить в живых очередь.
Буду безмерно благодарен за подсказки.
Так как не все ЛОРовцы внимательно следят за событиями и пропустив разрозненные факты не могут увидеть их взаимные связи то я для того чтобы они их увидели буду сюда постить ссылки на посты указывающие на те или иные возможности вендорлока в Linux.
Допустим, есть микросервис1(мк1) и микросервис2(мк2), есть сервер сообщений rabbitmq(mq). Мк1 предоставляет апи, которое пишет в бд мк1 данные. После записи мк1 один должен отправить сообщение мк2. И тут вопросы:
Предполагаю, что мк1 должен при не отвечающем mq записать сообщение куда-то в базу, а потом какой-то воркер должен чекнуть то, что mq поднялся и отправить сообщение и удалить его из списка локальных сообщений. Но просто вот по этой логике(если mq лежит, то записываем сообщение локально, если не лежит - тогда отправляем) делать нельзя. Потому как тут появится такое событие:
В итоге мы получаем, что сообщение2 отправлено быстрей, чем сообщение1. Это не правильно
А как вообще правильно выстраивать систему отправки сообщений, чтобы это всё правильно работало?
В каждом мессенджере используется какой-то свой алгоритм, но почему-бы не сделать несколько, чтоб безопасность возросла? По принципу луковицы, в несколько слоев разными алгоритмами, збс же будет?
Здравствуйте.
Само собой, все придется познавать методом экспериментов, НО...
1. Есть база данных. Таблица простая, но огромная, состоящая из двух полей, ID (int), TEXT (text) с максимальным размером в несколько килобайт. Записей может быть 10-20 миллионов, т.е. не мало.
2. Есть задача поиска по содержимому этого текстового поля.
Как думаете, что сработает быстрее: родной мускульный SELECT FROM where TEXT like '%что ищем%', или быстрее будет PHP-шным скриптом читать все 10 миллионов записей последовательно, на ходу парся какой-нибудь PHP-шной функцией навроде substr_count ?