• Совместное использование C++ и Golang: возможно ли, насколько удобно, применяли ли вы в проектах?

    akalend
    @akalend
    программирую
    да, это возможно, архитектура golang была создана специально так, чтоб можно без проблем вызывать с++ и из С++

    zacg.github.io/blog/2013/06/06/calling-c-plus-plus...
    https://github.com/sayden/go-c-bindings-examples
    Ответ написан
    Комментировать
  • Как создать многосерверную архитектуру node js?

    akalend
    @akalend
    программирую
    Мой опыт подсказывает, что как раз все Приложения может жить на одном сервере, даже можно запустить несколько экземпляров одного и того же приложения для увеличения скорости скачивания информации, а вот результаты для сохранения в должны быть в разные базы.

    Если рассмотреть Приложение, то оно представляет цикл:
    - формирование URL ( как правило быстро )
    - HTTP запрос ( оч. медленно )
    - парсинг (быстро)
    - сохр в БД ( медленно )
    т.е большей частьи времени приложение будет ожидать выполнения HTTP запроса и сохр в БД.
    так что можно запустить столько приложений, сколько памяти хватит.

    Судя по объемам (алибаба), одного сервака для БД явно не хватит, а чтоб БД работала быстро ей надо много свободной оперативки.

    Если исп БД MySQL, то там есть ARCHIVE Engine, которая настроена на быструю вставку. Есть ограничения, но всегда можно настроить репликацию на InnoDb или куда нужно.
    Ответ написан
    1 комментарий
  • Как ускорить выполнение SQL запроса?

    akalend
    @akalend
    программирую
    представляете, что в SELECT .., ( SELECT count() ... ) , ...
    на каждую строчку во внешнем селекции происходит выполнение подзапроса (внутреннего селекта). А у Вас их два или даже три, естественно будет тормозить.

    Вариантов оптимизации море, нужно экспериментировать:
    1) разбивка на более простые запросы, сборка результата на клиенте
    2) написание хранимой процедуры (для MySQL это не очень хорошая затея) из простых запросов и созданием временных таблиц
    Ответ написан
    Комментировать
  • Вопросы по быстродействию + Какую базу лучше всего использовать?

    akalend
    @akalend
    программирую
    мы используем Кассандру для хранения статистики
    ее достоинства - хорошо масштабируема, отказоустойчива
    проста в использовании именно в целях статистики
    быстра на запись, что очень важно для разных партнерских и мизерных программ
    недостатки - жрет много места (больше чем прогнозировали)
    нагрузка на сеть более 1,5М в сутки

    если у вас нагрузка в разы меньше, то достаточно и РСУБД (мускул, посгрес), но если соизмерима, то рано или поздно вы упретесь в проблему масштабирования
    Ответ написан
    Комментировать
  • Безопасно ли открывать порт mysql в мир?

    akalend
    @akalend
    программирую
    я всегда пробрасываю пот через ssh, очень удобно и ни каких заморочек на сервере
    Ответ написан
    Комментировать
  • Какие полезные книги по следующим направлениям вы знаете?

    akalend
    @akalend
    программирую
    1. Алгоритмы: тут достаточно forcoder.ru/algorithm/algoritmy-i-struktury-dannyh...

    книг много, но все они повторяются

    2. Криптография. не плохая книга
    progbook.ru/kriptografiya/1148-scherbakov-prikladn...

    2) читай документацию по OpenSSL

    3. Mongodb, ни каких книг если ты с ней уже работал, все они отстают от жизни
    но могу посоветовать: greendail.ru/book/592 для начинающих
    www.amazon.com/MongoDB-Applied-Design-Patterns-Cop... не плохая книга
    www.goodreads.com/book/show/10412675-scaling-mongodb хорошая книга при работе с большими объемами
    Ответ написан
    5 комментариев
  • Phpcassa library - почему возникает каждый раз ошибка - с подробностями?

    akalend
    @akalend
    программирую
    используй нативный протокол и CQL https://code.google.com/a/apache-extras.org/p/cass... или любой другой с www.planetcassandra.org/client-drivers-tools/#PHP и не мучайся

    вообще в Кассандре случаются баги, когда таблица создавалась по трифту а используется нативно, то же при вставке данных, те данные вставляются по трифту в таблицу созданную из CQL или наоборот . Можно увидеть не все созданные поля и тп. Трифт считается устаревшим протоколом и его РЕКОМЕНДУЮТ НЕ ИСПОЛЬЗОВАТЬ

    т.е. надо использовать либо только трифт либо только натив иначе будут сплошные грабли да камни. А так как под трифт нет инструментов, то и использовать его не стоит
    Ответ написан
    Комментировать
  • Как приступить к изучению баз данных на C++ в Ubuntu?

    akalend
    @akalend
    программирую
    Изучать специально какое либо АПИ на С++ для БД не нужно. Нужно иметь общее понятие про то, что такое сервер БД. Уметь составлять SQL запросы. Разбираться в оптимизации структур данных и тюнинге запросов. В моей практике приходилось иметь дело с разными БД (MSSql MySQL, PgSQL, VoltDb, Informix) и разными языками (С++, РНР, Python, Java ). При достаточной практике работы, любое АПИ к БД осваивается за два часа. По этому, моя рекомендация - выбираешь любую из популярных БД (MySQL,PgSQL) и начинаешь тренироваться в запросах. Выбор между MySQL и PgSQL - это религиозный спор. На начальном этапе - это абсолютно без разницы. Освоив одну БД, всегда можно быстро переключиться на другую и уже дальше осваивать её особенности.
    Ответ написан
    Комментировать
  • Как правильно спроектировать черный список?

    akalend
    @akalend
    программирую
    отношение Покупатель - Продавец является многие ко многим. Соответственно, для реализации отношения многие ко многим нужна будет отдельная таблица. Но таблицы черный список продавца и покупателя можно совместить:
    BlackList :
    -- Customer_id int (Заказчик, Покупатель)
    -- Seller_id int (Продавец)
    -- type bool ( b'0 - занес покупатель, b'1 - занес продавец),
    -- timestamp int (время занесения)
    Ответ написан
    Комментировать
  • Как создать портфолио web разработчика?

    akalend
    @akalend
    программирую
    главное, определись, чем тебе больше нравиться заниматься
    ну и двигайся в эту сторону.
    деньги - это не самое главное в жизни, как утверждали выше
    кому-то нравиться WEB разработка в целом, кому-то только разработка серверной или наоборот клиентской части. Кто-то специализируется на анимации и флеш... Кому-то нравится iOs или Android. А кто-то балдеет от написания всяких серверных приложений.

    повторяться не буду что нужно знать WEB разработчику
    Ответ написан
    Комментировать
  • Что использовать nginx, php-fpm или с++ для разработки web server ориентированного приложения?

    akalend
    @akalend
    программирую
    по поводу деплоймента на РНР:
    1) распространять приложение в виде упаковонного файла phar
    2) сделать служебную WEB страницу, которая будет выполнять удаленную установку приложения:
    - создавать директорию version_num
    - записывать в неё твоё приложение my_proga.phar
    - переключать линку с version_num_old на version_num

    как вариант еще можно поднять виртуальный хост test.webapp, переключение хостов можно делать симлинками.
    3) твои действия из дома/офиса:
    - устанавливаем в служебном интерфейсе новый номер версии
    - закачиваем новый файл my_proga.phar
    - нажимает кнопку инсталл, для первого запуска
    - проверить как поднялось на тестовом хосте
    - нажать кнопку деплой для переключится линка на основной хост
    - и смотрим как все прекрасно на основном хосте
    Ответ написан
    Комментировать
  • Вывод средств со счета Paypal на расчетный счет компании (ООО)

    akalend
    @akalend
    программирую
    Могу ошибаться, но вы сами должны предоставить налоговой выписки по банковским счетам и платить налоги
    Ответ написан
  • Какой кэш посоветуете использовать для PHP-FPM?

    akalend
    @akalend
    программирую
    сколько кешеров, столько и мнений :)

    APC — он стабильнее XCache.
    Когда мы перешли на 5.3, а APC под 5.3 еще не было, то поставили XCache и столкнулись с утечками памяти. Память под процессы php-fpm росла как на дрожах. Возможно это уже устранили, но неприятное ощущение осталось.
    Ответ написан
    Комментировать
  • Что быстрее поиск по одному параметру или по нескольким?

    akalend
    @akalend
    программирую
    сделать составной индекс, притом сперва должны находится имена полей, значение которых возвращают наибольший объем данных.
    Ответ написан
    Комментировать
  • Что и где почитать про алгоритмы определения интереса(ов) пользователей?

    akalend
    @akalend
    программирую
    я занимаюсь похожей задачей, с тем отличием, что анализ предпочтений идет для службы знакомств. Прикладная сторона — вычислять спамера, предложения разных услуг… т.е. чьи цели НЕ познакомиться.

    У каждого пользователя есть некоторые показатели (у нас их более 50). Собирается информация на каждом шаге пользоввателя нахождения на сайте. Далее мы данные прокручиваем через статистику, и выявляем кластеры пользователей. Аномальные пользователи «неадексаты», те, чье расстояние на n-мерном пространстве более, чем две медианы кластера.

    Кластеры
    ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7
    www.statsoft.ru/home/textbook/modules/stcluan.html
    www.nickart.spb.ru/analysis/cluster.php
    Ответ написан
  • Redis-server с TCMALLOC, плюсы, минусы, опыт использования?

    akalend
    @akalend
    программирую
    хотелось бы знать результаты или топикстартер отказался от этой затеи?
    Ответ написан
    Комментировать
  • Адекватная система развития в онлайн гонках?

    akalend
    @akalend
    программирую
    Я был участником проекта «Война танков». Война танков очень похожа на гонки. Меняем танки на машины и гонки на заезды и все в шоколаде.
    Стратегия игры такова, что в ангарах были танки. Ты можешь их покупать и продавать и прокачивать. (в твоем случае тюнинг запчастей… )

    Сколько ангаров ты построишь, столько танков и будешь иметь. (в твоем случае, покупка дополнительного гаража )

    Бои были двух (и даже трех) категорий:
    — с Ботами, набираешь рейтинг
    — Бои с др участниками в своей рейтинговой категории.
    — с друзьями, блин это жестоко — убивать друзей…

    В твоем случае лучше сделать
    — зачетные заезды ( с ботом), набираем рейтинг…
    — заезды по категориям, выставляешь любую машину определенного класса, например ограниченную объемом двигателя
    — заезды по категориям, например новички, любители, бывалые, спортивный разряд -3...1, кмс и мастер
    — авторалли, гонки на выживание, по категориям или среди определенной группы, например призеров ралли или мастеров.

    ну и желательно продумать поощрительную систему оценок

    У нас система оценок:
    — боевой рейтинг, зависит от победы с живыми участниками
    — уровень, зависит от побед с ботами (кол-во убитых танков разной сложности )
    — звание, получаем из боевого рейтинга
    — медали, за определенно проведенные компании, например при победе при численном перевесе…

    Ограничения: определенные юниты доступны только при определенном рейтинге.

    В общем у тебя тоже есть варианты:
    — медали, за победы в определенных соревнованиях…
    — звания: заслуженный мастер спорта…
    Ответ написан
  • Почтовая рассылка?

    akalend
    @akalend
    программирую
    я рассылал до миллиона писем в день (рассылку) [давно это было могу что-то напутать]
    1) мы использовали свой почтовый сервер, IP которого должен совпадать с зарегистрированным IP доменной почты (MX)
    2) исходящее имя robot@mysite.ru должно иметь зарегистрированный ящик robot :)
    3) для рассылки использовали класс PHPMailer, который коннектился к нашему почтовику (скрипт рассылки и почтовик были на разных серверах)
    4) при рассылки использовались стандартные заголовки OUTLOOK
    5) рассылка шла по одному письму в один адрес (без копий и скрытых копий)
    6) после отправления 100 писем делалась некоторая задержка (точно не помню, кажется на 1-2 сек)
    7) отправляли порциями по 100 тыс писем в очереди
    8) формат письма plain/text

    мог забыть какие-то детали

    да, рассылка шла долго по несколько часов (кажется более трех), но более 85% писем доходили до подписчиков
    Ответ написан
    Комментировать
  • Фрилансеры-старожилы free-lance.ru

    akalend
    @akalend
    программирую
    все ушли на фронт Фрилансим
    Ответ написан
    1 комментарий