Задать вопрос
  • NGINX: как узнать какие файлы (из каких папок) скачивают пользователи?

    Прежде чем удалять /data/2017, мне нужно точно убедиться, что данные берутся именно из /mnt/2017.


    1. Отключите в конфиге nginx использование /data/2017 и станет сразу все понятно, откуда будут браться ваши данные.
    2. Не удаляйте /data/2017, а просто переименуйте например в /data/2017.old, поживите так N дней, проверьте что все работает корректно.
    3. Анализируйте access.log на предмет 404 для файлов которые лежали в /data/2017, а сейчас уже берутся из /mnt/2017
    4. Только убедившись, что все хорошо, удаляйте /data/2017
    Ответ написан
    Комментировать
  • Поможет ли замена Apache на Nginx?

    Insaned
    @Insaned
    Доктор, у меня что-то болит, я думаю это из-за неудобной обуви...
    Если вы будете менять софт потому что вы так чувствуете - вы ничего не добьетесь. В каком режиме вы используете php ? Какая версия всего? Как настроено? Покажите что-ли вывод top и phpinfo.
    Ответ написан
    Комментировать
  • Высокоуровневый язык программирования?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Потому, что "высоко-/низко-уровневый" это просто условная и достаточно относительная классификация языков по одному конкретному качеству - по уровню абстракции, предоставляемой языком его пользователю. А когда всплывает слово "абстракция", обязательно нужно задуматься над тем, что от чего абстрагируется. В данном случае речь идет об абстрагировании конструкций языка от среды выполнения программы, написаной на этом языке. Например, во всех этих ЯВУ есть такие абстракци, как именованная переменная, тип данных, конструкции управления потоком выполнения или вызов функций системы/стандартных библиотек и т.д. Мы просто пишем int а = 3; или while(flag == true)..., а обо всем остальном заботится язык. Для сравнения, в ассемблере (низкий уровень) нам приходится иметь дело с конкретными регистрами, битами, адресами и jump-ами, и никакой среды, которая пришла бы нам на помощь, там тоже нет. В этом смысле уровень абстракции того же С намного выше.

    Классификация эта (как и любая другая) - условная, т.к. если по этому признаку сравнить, например, те же Яву или Шарп с теми же C++ или Паскаль, то можно бы было сказать, что уровень абстракции первых "несколько выше" - между программой на первых языках и "средой" есть еще промежуточный уровень (байткод/IL), а программы на вторых компилируются прямо в инструкции конкретного процессора. Только смысла в таком утверждении уже не так много, и для указания на эти качества языков проще и полезнее классифицировать их как "компилируемые в инструкции виртуальной машины" и "компилируемые в инстрикции процессора".

    И, наконец, сортировка массива - это уже совсем из другой оперы. К языку тут (если вообще!) относится только абстракция "массив". В большинстве языков есть такое понятие, как стандартная библиотека (JDK, stl, те же модули в пыхе и т.д.). Функции вроде сортировки массива, предоставляются не языком, а именно этой библиотекой (как правило, написанной на этом же языке и/или на более низкоуровневых). А, собственно, языком называется очень-очень маленький набор универсальных семантически однозначных конструкций, типа операторов сравнения, циклов или вызовов функций. Фактически, любой современный язык можно "выучить" за день... остаток жизни уйдет на то, чтоб научиться правильно пользоваться им и его библиотеками для написания нужных программ ))
    Ответ написан
    Комментировать
  • Зачем в Linux ограничение на количество открытых файлов?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Лимит на количество открытых файлов есть во всех операционных системах, в Windows в том числе. А нужен он потому, что на каждый открытый файл в специальной области памяти ядра операционной системы создаётся дескриптор. Область эта не безгранична и если её исчерпать, система может высыпаться в корку. Никому не понравится операционка, которую можно завалить просто открывая файлы и не закрывая их.
    Ответ написан
    Комментировать
  • Как извлечь статистику количества неактивных пользователей по интервалам времени?

    Immortal_pony
    @Immortal_pony Куратор тега MySQL
    SELECT 
         SUM(CASE WHEN `last_sign_in_at` <= DATE_SUB(NOW(), INTERVAL 3 DAY) THEN 1 ELSE 0 END) AS '> 3 days',
         SUM(CASE WHEN `last_sign_in_at` <= DATE_SUB(NOW(), INTERVAL 90 MINUTE) AND `last_sign_in_at` >= DATE_SUB(NOW(), INTERVAL 3 DAY) THEN 1 ELSE 0 END) AS '> 90 min',
         SUM(CASE WHEN `last_sign_in_at` <= DATE_SUB(NOW(), INTERVAL 30 MINUTE) AND `last_sign_in_at` >= DATE_SUB(NOW(), INTERVAL 90 MINUTE) THEN 1 ELSE 0 END) AS '> 30 min'
    FROM `table`
    Ответ написан
    1 комментарий
  • Как преобразовать массив в Relation?

    Dem1
    @Dem1 Куратор тега Ruby on Rails
    Ruby on Rails developer
    Нельзя преобразовать array в ActiveRecord::Relation. Т.к Relation это build для SQL запроса.
    Ответ написан
    1 комментарий
  • Заражение вирусами в ОЧЕНЬ большой сети?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    1. Админов расстрелять, по теме
    после модернизации количество работ было таким большим, что одноранговую сеть так и оставили.

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


    2.
    Операционную систему менять нельзя ни в коем случае, так как большинство лабораторных/диагностических программ очень старые, драйвера старые, под новыми системами не хотят дружить.

    Если простоя стоит миллионы долларов, то что мешает заплатить пару миллионов на решение это проблемы?
    Тут расстреливаем менеджеров, ну тех которых не расстреляли в п.1.

    3.
    На большинстве компьютеров антивирусная защита отсутствует как таковая, так как на большинстве рабочих станций стоит Windows 98 & XP

    Древняя ось, без обновлений (на большинстве уверен вообще обновы не ставились со времени установки), без банального антивируса.
    Чего вы ещё хотели то?

    Вирусные эпидемии как в вашей ситуации не лечатся путём "а прогоним отот комп антивирусом", их лечат путём "отрубить нахрень всё и переустанавливаем системы ибо хрен пойми какая сигнатура у этой дряни".

    Вы влетели по полной программе и решение тут только одно - модернизация железа/ПО, грамотный подход к сети.
    Ответ написан
    Комментировать
  • Заражение вирусами в ОЧЕНЬ большой сети?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    Какая бы не была организация, не верю что ВСЕМ компам нужно связываться со ВСЕМИ компами.
    Ставите адекватные маршрутизаторы, разбиваете сеть на VLAN-ы, лечите их отдельно.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Архив без сжатия.
    Ответ написан
    Комментировать
  • Как выполнить полный мониторинг страницы?

    NeiroNx
    @NeiroNx
    Программист
    Для этого используется такой же скрипт как у "Яндекс.Метрика". Скрипт проверяет на уровне браузера ошибки загрузки и отображения и сообщает о них на сервер мониторинга.
    Ответ написан
    Комментировать
  • Зачем нужно установить Sphinx на компьютер, если ты его пишешь в Gemfile (Ruby on Rails)?

    DevMan
    @DevMan
    в геме только адаптер для работы с сфинксом, и, ясен пень, что нужен и сам сфинкс.
    Ответ написан
  • Почему не работает деплой capistrano?

    @mirbook Автор вопроса
    Блин ответ нашел в одном из похожих вопросов:
    копируешь ~/.ssh/id_rsa.pub у себя на локалке и отдаешь его в ~/.ssh/authorized_key о уже на своем vps
    Ответ написан
    Комментировать
  • Экскурс на русском языке: суть, настройка, и использование Docker?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Докер - виртуализация приложения. Приведу пример.

    Вы разрабатываете некое веб-приложение на java, и вам его нужно тестировать под java7, java8 и под tomcat 7, tomcat 8.

    Вы можете купить 4 компьютера, поставить на них 4 варианта, протестировать. Затем все поставить заново для следующего теста. Неудобно, долго, дорого.

    На помощь приходит виртуальная машина - вы можете купить 1 компьютер, на нем завести 4 виртуалки, каждую из них настроить, сохранить образы. После тестирования просто восстанавливаете исходное состояние из образов.
    Гораздо дешевле, чем раньше. Но каждая виртуальная машина требует процессоры, память, кучу места на диске под операционку. А ведь отличается по сути всего 2 компонента.

    На помощь приходит докер. Один комп, одна операционная система. 4 докер контейнера с нужной версией java и томкат. После тестирования контейнер можно удалить и развернуть заранее подготовленный.
    Дешевле и быстрее, чем все вышеперечисленное. Потому что операционка одна, нет лишних расходов на CPU и память. Ужиматься дальше практически некуда.

    Конечно у докера есть свои ограничения по применению, но грубо говоря, у вас внутри одной операционки, могут независимо работать несколько приложений, которые при штатной установке разворачиваются таким образом, что не могли бы работать одновременно. А вот два докер-контейнера, внутри которых эти две версии приложения изолируются и не мешают друг другу за небольшими исключениями (например tcp порт).

    Виртуализация приложений через докер позволяет избежать dll-hell, изоляция дисковой системы и окружения.

    P.S. Пример очень простой и надуманный, так как конкретно java и tomcat можно и без докера просто запустить несколько разных версий на разных портах, но суть вы должны уловить. Докер - виртуализация на уровне файловой системы, самая дешевая виртуализация.
    Ответ написан
  • На чем лучше разработать веб приложение C# программисту?

    @JihadTV
    Странный вопрос. Ответы:
    1) ASP.NET Core
    2) Любой
    3) Любой из мейнстримных
    Ответ написан
    Комментировать
  • Локальная разработка и Docker?

    @micronull
    Я использую для локальной разработки docker. Это значительно удобнее, чем держать полноценное окружение из зоопарка разных версий php и прочих штук.
    Если сайт старый, под какие-нибудь древние версии apache, php и mysql. Не проблема, - смотрю на hub, если нет, то собираю свой.
    При этом спокойно можно переключить на другой проект, более современный. Например с nginx, php7 и postgresql. Предварительно выключив предыдущий контейнер.

    Далее в перспективе можно спокойно кинуть контейнер на сервер и за пару минут развернуть сервис.

    В общем настоятельно рекомендую попробовать docker при локальной разработке.
    Ответ написан
    9 комментариев
  • Обработка текста на Java?

    al_gon
    @al_gon
    Всё завистит от количества работников.
    Если помещаются в память, то попробуйте java-string-similarity иначе поисковый сервер.

    И вообще, все метрики основанны на сравенении 1:1. Тоесть если у вас есть 1К работников, это 1К проверок.
    Для скорости нужен поисковый индекс, он не обязательно должен быть полноценным поисковым движком, но принцыпы Inverted_index должен реализовывать (Example: Inverted_index#Java).
    Так как вы ищете не по словам, а в словах, то нужна более точная единица, чем слово, а именно N-gram.
    Ответ написан
    Комментировать
  • Какие есть нормальные браузеры, кроме известных всем яндекс, хром, фф и опера?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Браузер - не просто программка, это целая платформа, на которой должны адекватно работать html (html5)/CSS и javascript как минимум. Уже запилить только это - уйдет несколько жизней разработчиков.
    Поэтому нормальных браузеров с нуля и существуют единицы.

    Многие - на базе движка от Chromium (Chrome, Яндекс, Опера, Vivaldi - все на нем).

    Отельный движок - у Firefox (gecko), который остался в наследство от Nescape, на нем также работает минимизированный браузер K-Meleon

    Также вы зря пропустили Internet Explorer и Edge - последние версии вполне нормальные браузеры.

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

    Используй git и хости где-нибудь (можно хостить как и проект, так и просто кусок кода) :
    https://github.com/
    https://bitbucket.org/
    https://about.gitlab.com/


    руку на бьешь на работу с гитом.

    Если просто кусок кода, то можно: gist.github.com
    Ответ написан
    Комментировать
  • Машинное обучение - это работа для "ученых" или программистов?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Сейчас есть инструменты для разных категорий пользователей.
    Если ты ученый, для тебя есть возможности по исследованиям и эксперементам.
    Если ты разработчик, есть фреймворки и исследования на базе которых ты можешь заниматься разработками.
    Есть ты домохозяайка, есть полностью готовые решения, где задача только развернуть и приконектить друг к другу готовые части.
    Работа есть для любой категории пользователей -> определяешься с кругом задач, и двигаешься в выбранном направлении.
    Ответ написан
    1 комментарий