• Какие есть document stores базы данных с низким потреблением памяти?

    @raiboon
    Postgresql, используйте там где нужно поля json или jsonb
    Ответ написан
    Комментировать
  • Есть ли проблемы при индексации готовых шаблонов сайтов?

    Нет проблем
    Ответ написан
    Комментировать
  • Как развивать сайт?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Смотрим статистику - в среднем 20 посетителей в день
    Не очень понимаю о каких показателях Вы говорите.
    Если бы там было хотя бы тысяча уников в сутки - я бы понял, а так ценность существующего стремится к нулю
    Ответ написан
  • Подскажи на счет Git?

    v_decadence
    @v_decadence
    Во-первых, файл themes/classic/views/layouts/main.css не попадает под шаблон themes/classic/css/*. Git и предупреждает, что незакомиченные изменения в нём будут утеряны.
    Во-вторых, у Вас, наверно, игнорируемые файлы уже под управлением Git, поэтому он их и отслеживает.
    Нужно git rm --cached path/to/file.css
    Ответ написан
    5 комментариев
  • Какой стек приложений под высоконагруженный сервис выбрать?

    @hsc
    full stack python back-end developer
    Для сбора статистики очень логично использовать append only databases, производительность которых на запись часто играет решающую роль в выборе. Скорее всего вы, как и многие другие, не будете выдавать отчеты на лету, а будете генерировать их по запросу некоторое время, и на опережение генерировать несколько самых основных/популярных и для вас время выборки будет не самым важным критерием.

    Дисковое пространство сегодня стоит относительно не много, и overhead даже в 20% для проекта с такими нагрузками является допустимым. Тут все зависит от формата сообщений, которые вы хотите принимать и от того, как вы решите их хранить.

    В качестве БД можно смотреть на RiakLevelDB в качестве бекенда) или еще один интересный append only key-value storage по типу тарантула: sophia.
    Но на самом деле, решающим фактором тут является не столько сама БД, сколько то, как в нее попадает информация и на каких нодах она должна быть доступна. Как по мне, даже вариант с обычными файлами ОС и fsync() тоже отбрасывать не стоит.

    По поводу веб.сервера: без балансировки, скорее всего, не удасться обработать такое кол-во запросов, хотя это очень сильно зависит от сущности самих запросов. Интересно что Вы тестировали, что nginx показал вам такие цифры на одной ноде, скорее всего отдачу одной (пары) страниц, каждая из которых попала в файловый cache ОС из-за частого обращения и, соответственно, отдавалась с памяти. Вот вам и намек: чтение и запись в память происходят с приблизительно одинаковой скоростью, а nginx позволяет обрабатывать запросы c помощью Lua. А тут уже много вариантов: redis pub/sub, pipes, shared memory и т.д., может вы даже захотите написать модуль для nginx на С.

    Скорее всего вы будете принимать json самых разных вариаций, и тут возможны 2 варианта: или писать сообщения сразу на диск и потом пост-обработка, или парсить данные и потом писать результаты. Тут посоветовать не могу, вам должно быть виднее что на данном этапе логичнее. Но имейте ввиду, что каждая операция на этапе обработки запроса от клиента уменьшает ваш rps.

    Еще важный момент здесь учитывать, что 12krps с одного хоста != 12krps с 12k хостов. Каждый из коннектов nginx будет должен мультриплексировать на что тоже будет расходоваться время.
    Ответ написан
  • Какой стек приложений под высоконагруженный сервис выбрать?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Поюзайте Erlang.

    www.ostinelli.net/a-comparison-between-misultin-mo...

    Если что нужно могу и помочь.
    Ваша основная проблема будет это создание на основе лога событий аггрегатов в различных разрезах.
    Ответ написан
    2 комментария
  • Кто знает утилиту для загрузки файлов на Яндекс Диск?

    swipeshot
    @swipeshot
    Учусь на ошибках.
    Есть же что-то похожее от ЯД.6b28db451ab24c1fbb1ed10819b3cccb.png

    +Есть возможность, если вы вставляете флешку, например, то данные закачиваются с нее на ЯДиск.

    Чем вам это не нравится?
    Ответ написан
    Комментировать
  • Почему подавляющее большинство проектов до сих пор делают на CMS, а не на фреймворках?

    @Inav
    Потому что на cms разработка дешевле,
    потому что никто не хочет писать админку для сайта, особенно если ее разработка сопоставима по трудозатратам с публичной частью,
    потому что заказчик хочет стандартные механизмы управления контентом, а не то что ему придумает разработчик,
    потому что заказчик хочет иметь возможность уйти к другому разработчику с наименьшими издержками,
    потому что порог вхождения для cms ниже => разработчиков больше,
    потому что возможности фреймворков для большинства сайтов не нужны, а для кастомизации cms знающему человеку костыли нужны не на много чаще, чем для фреймворка;
    и потому что подавляющее большинство сайтов это не хайлоад с десятками серверов, который беспрестанно пилит команда программистов.
    Ответ написан
    Комментировать
  • Почему подавляющее большинство проектов до сих пор делают на CMS, а не на фреймворках?

    DevMan
    @DevMan
    Кто-то не понимает, кому-то лень учиться, кто-то не осиливает, кому-то уютно на cms, которую он знает вдоль и поперек (или думает, что знает).
    Ответ написан
    Комментировать
  • Что почитать про нормализацию БД?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В принципе учебник для этого не нужен, нормализация - минимизация избыточности данных, имеет 5 форм. Первые три формы нацелены на связанность данных, две последних на улучшение структуры. Очень хорошо описано здесь - citforum.ru/database/dblearn/index.shtml (главы 6 и 7)
    Кратко здесь - support.microsoft.com/kb/283878/ru

    И да, не всегда нужно гнаться за минимизацией, иногда приходится дублировать данные для более быстрого поиска, мир не идеален.

    А вот и видео неплохое - www.youtube.com/watch?v=1GWx5CZdSCg
    Ответ написан
    Комментировать
  • Куда перейти с php?Python или Ruby?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    C++
    Ответ написан
    Комментировать
  • Как оптимизировать sql запрос?

    Melkij
    @Melkij
    PostgreSQL DBA
    explain где?
    Какие индексы есть?

    LEFT JOIN tbl_2 ... where ... tbl_2.param_1 =
    tlb_2.param_1 не может быть NULL по условию запроса, следовательно выполнение LEFT JOIN - ошибка. Вам нужен INNER JOIN
    Ответ написан
    Комментировать
  • Разработка ios приложения. Есть идея, есть дизайн. Что дальше?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    начать писать код, не?
    Ответ написан
    Комментировать
  • Где публиковать статью, на Хабре или на Geektimes?

    voidnugget
    @voidnugget
    Программист-прагматик
    Если поместится на 2 страницы - не стоит вообще публиковать ... туторов и так полно.
    Ответ написан
    Комментировать
  • Когда будет включен webdav на Cloud@Mail.Ru?

    @komarik
    Я так понял, что ничего уже не будет?
    Ответ написан
    2 комментария
  • MySQL 5.6 - быстрый SELECT из огромной таблицы?

    opium
    @opium
    Просто люблю качественно работать
    С индексом по этому полю должно моментально проходить
    Ответ написан
    Комментировать
  • А в чем минусы node.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В том же в чем его и плюсы.

    Асинхронность... ее там нет. Там есть event loop что позволяет писать крайне эффективные программы в плане работы с I/O (что для web очень неплохо) и не париться о таких вещях как потокобезопасность, блокировки и т.д. А если еще и несколько инстансов приложения запусть - по одному на ядро скажем, то утилизация вычислительных мощностей выйдет неплохой. Но распаралелить что-то в рамках одного процесса воркера мы уже не можем. Мы не можем посчитать что-то, проанализировать, заняться обработкой жирной картинки прямо при обработке запроса потому что наш процесс воркер так же обрабатываете еще пару десятков запросов, и пока мы будем удовлетворять нужды одного простаивать будут все. Нода хороша когда у нас все состоит из элементарных операций которые не занимают много времени, все жирное надо выносить из основного процесса и разруливать очередями и т.д. Эта проблема имеет массу решений на самом деле, но все уже усложняется и нода теряет свою красоту. Лучше взять Java/c#/Python для этого (и не надо тут вспоминать про шутки с многопоточностью в CPython).

    callback-hell. Собственно наличие event loop диктует так же правила о том, как должна писаться программа. Кучи колбэков, невозможность дебажить нормально и получить четкий стэктрейс из ошибки. Да, есть промисы которые решают первую проблему, да есть либы вроде zone.js которые решают вторую и частично первую проблему... но все это не тривиальное дело.

    Собственно... разработка больших и сложных проектов на ноде возможна... но требует от разработчика хорошие знания и понимание того, как работает его платформа. А это увеличивает стоимость разработки в то время как можно взять более эффективные в этом плане инструменты.
    Ответ написан
    10 комментариев
  • Как определить свой уровень программирования?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Эти уровни - абстракция, причем зависящая от компании. Пройдите несколько собеседований и спросите, что думает о вас интервьюер.

    Юниор чаще всего - это программист с в основном теоретическими знаниями, либо наоборот только практическими знаниями. Он умеет решать более-менее стандартные задачи. Юниора обязательно надо учить. При получении нового задания он "создает" свое решение.

    Мидл - знания уже подкреплены опытом, может (в отличии от юниора) предсказывать последствия тех, или иных решений. Может решать задачи по проектированию модуля, или его части. Получив новое задание - может скомпоновать из уже существующих решений свое и реализовать его.

    Синьйор - понимает не только то зачем использовать ту, или иную технологию, а еще и как она работает, например почему при HL форин ключи сожрут io hdd. Может спроектировать и вести средний по размерам проект. Получив новое задание он уже знает как его решить кучей способов, выбор заключается только в правильности интеграции решения.

    -----------------

    Многое зависит от интервьюера.
    У меня был случай, собеседование на php senior developer: поговорили про HL оптимизации, архитектурные предложения для решения неких задач, способы оптимизации и т.д., а потом:
    - перейдем к практике: что произойдет в таком коде:
    $a = 5 + '5abc' + 'abc5';
    - произойдет следующее: я посмотрю blame скрипта и поговорю с автором этой строчки, что бы узнать, что такого хренового в жизни может произойти, что бы он позволил себе это написать.
    - ну, тут вопрос на приведение типов
    - 10, но вы в своей практике с подобным сталкивались?
    - нет
    - вот и я не сталкивался...
    Ответ написан
    1 комментарий