Задать вопрос
  • Какую файловую систему лучше использовать для Windows и Linux?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Вариантов целых 1: NTFS, поскольку под ext*,btrfs и другие нормальных драйверов под Win нет, а вот ntfs-3g вполне ничего.
    FAT не рассматривается по причине отсталости.
    Ответ написан
    2 комментария
  • Как хранить данные в базе веб сервиса?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Одна таблица с клиентами всех пользователей

    единственный нормальный вариант.

    Отдельная таблица с клиентами для каждого пользователя, имя User1_clients

    Отдельная база данных для каждого пользователя

    200-500-1000 клиентов? как это вообще обслуживать?

    На Хабре читал про вариант с виртуализацией, когда для каждого пользователя создается виртуальная машина со своей версией веб-приложения и БД

    Аналогично. Бесконечные серверные ресурсы? Как обслуживать?
    Ответ написан
    3 комментария
  • Как развить навык проектирования приложения или как стать Senior?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Исключительно опыт.

    Если писать проекты, и писать все более и более сложные проекты, а потом их еще и поддерживать, то постепенно вы будете приходить к пониманию, что изначально можно было сделать так, чтобы впоследствии было проще.

    Со временем, вы можете и сами прийти к world best practice, но нужно помнить, что в каждом проекте могут быть свои уникальные нюансы, и world best practice тоже нужно оценивать критически.

    Что делать?
    Участвовать в сложных проектах, интересоваться историей этого проекта - как пришли к тому или другому решению.
    Можно и нужно почитывать книги, но понимать, что не все решения легко интегрируются, особенно в середине.
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    devspec
    @devspec
    Помогло? Отметь решением
    Вам помогут только время и большое количество реализованных проектов. Всё приходит с опытом.
    Я, например, каждые полгода делаю ревью собственного кода за предыдущие полгода и ужасаюсь - как я мог так писать? А ведь полгода назад я мнил себя профессионалом... и так каждые полгода ))
    Ответ написан
    2 комментария
  • Как в OpenVPN пускать через впн только выбранные сайты?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    route add " + domain_ip + " via " + remote_ip + " dev " + interface
    Ответ написан
    6 комментариев
  • В чём разница между new и Object.create()?

    petermzg
    @petermzg
    Самый лучший программист
    Так тут же написано.

    создаёт новый объект с указанными объектом прототипа и свойствами.
    Ответ написан
    Комментировать
  • Как нормально исключить из области обработки изображения некоторый массив Point (c#)?

    petermzg
    @petermzg
    Самый лучший программист
    Хотите скорости, то забудьте про GetPixel
    Используйте Bitmap.LockBits
    Ответ написан
    1 комментарий
  • Кому и где можно продать стартап?

    opium
    @opium
    Просто люблю качественно работать
    блин коммет сервер это даже не смешно в 2017 году, реально было как то актуально лет 10 назад , сейчас количество юзеров стремится к нулю, а стартапы с падающей аудиторией стоят примерно ничего.
    Ответ написан
    2 комментария
  • Верстка сайтов на XML (в топку HTML), кастомные теги и индексация поисковиками, как обстоят дела?

    @codecity
    Лет 10 назад встречались сайты на чистом XML для данных и XSLT для преобразования этих данных в HTML. Причем преобразование работало средствами браузера IE без JS (там была такая функция).

    Многим эта идея нравилась -- разделение на данные и их представление.

    Возможно идея и хорошая, но эволюция так сказать выбрала другой путь -- движение в сторону упрощения. Сейчас, как я вижу, от XML-я вообще отказались, его заменил более простой формат представления -- JSON. Вместо XSLT применяются либо HTML-шаблоны как в Angular, либо JSX.
    Ответ написан
  • Как начать брать крупные заказы на фрилансе?

    mzcoding
    @mzcoding
    Web-Разработка
    Мне в свое время помогло устройство в компанию, работа в команде. Вам тоже необходимо поработать в команде, желательно опытной. Узнать и применить на практике BDD, SOLID , начать использовать гит, трекер задач и т.д. Желательно чтобы компания писала SOA проекты или проекты с микросервисной архитектурой. Найдите такую, пойдите туда сперва хотя-бы за еду) Через пол года -год у Вас не будет таких вопросов на тостере :)
    Ответ написан
    1 комментарий
  • Есть ли способы спарсить facebook?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Да, такое есть: набираете за копейки кучку школоло, даете им задачу, платите и получаете результат.
    Ответ написан
    1 комментарий
  • Как динамически подключать библиотеки?

    @Ariox41
    Посмотрите в сторону boost::DLL

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

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

    Пример из документации, на всякий случай:
    // my_plugin_api.hpp
    #include <string>
    
    class my_plugin_api {
    public:
       virtual std::string name() const = 0;
       virtual float calculate(float x, float y) = 0;
    
       virtual ~my_plugin_api() {}
    };

    Реализация плагина:
    // my_plugin_sum.cpp
    #include <boost/config.hpp> // for BOOST_SYMBOL_EXPORT
    #include "../tutorial_common/my_plugin_api.hpp"
    
    namespace my_namespace {
    
    class my_plugin_sum : public my_plugin_api {
    public:
        my_plugin_sum() {
            std::cout << "Constructing my_plugin_sum" << std::endl;
        }
    
        std::string name() const {
            return "sum";
        }
    
        float calculate(float x, float y) {
            return x + y;
        }
    
        ~my_plugin_sum() {
            std::cout << "Destructing my_plugin_sum ;o)" << std::endl;
        }
    };
    
    // Exporting `my_namespace::plugin` variable with alias name `plugin`
    // (Has the same effect as `BOOST_DLL_ALIAS(my_namespace::plugin, plugin)`)
    extern "C" BOOST_SYMBOL_EXPORT my_plugin_sum plugin;
    my_plugin_sum plugin;
    
    } // namespace my_namespace

    Собственно, загрузка библиотеки:
    #include <boost/dll/import.hpp> // for import_alias
    #include <iostream>
    #include "../tutorial_common/my_plugin_api.hpp"
    
    namespace dll = boost::dll;
    
    int main(int argc, char* argv[]) {
    
        boost::filesystem::path lib_path(argv[1]);          // argv[1] contains path to directory with our plugin library
        boost::shared_ptr<my_plugin_api> plugin;            // variable to hold a pointer to plugin variable
        std::cout << "Loading the plugin" << std::endl;
    
        plugin = dll::import<my_plugin_api>(          // type of imported symbol is located between `<` and `>`
            lib_path / "my_plugin_sum",                     // path to the library and library name
            "plugin",                                       // name of the symbol to import
            dll::load_mode::append_decorations              // makes `libmy_plugin_sum.so` or `my_plugin_sum.dll` from `my_plugin_sum`
        );
    
        std::cout << "plugin->calculate(1.5, 1.5) call:  " << plugin->calculate(1.5, 1.5) << std::endl;
    }

    Вывод:
    Loading the plugin
    Constructing my_plugin_sum
    plugin->calculate(1.5, 1.5) call:  3
    Destructing my_plugin_sum ;o)
    Ответ написан
    Комментировать
  • C# - Как присвоить переменной определенному месту в предложении?

    DanielDemidko
    @DanielDemidko
    Программист
    Следующая инструкция разобьёт считанную строку на массив слов, в независимости от количества пробелов между ними и присвоит его переменной wordsArray. Вы также можете указать любые свои символы для разбивки.
    String[] wordsArray = 
    Console
         // Считываем строку
        .ReadLine()
         // Разбиваем её
        .Split(
         //Массив разделительных символов, вызов .ToArray необходим
                 " ".ToArray(),
        // Указание пропускать повторы разделительных символов
                 StringSplitOptions.RemoveEmptyEntries )
    Ответ написан
    1 комментарий
  • При подключении RDP, VPN соединение отключается. Как это исправить?

    @res2001
    Developer, ex-admin
    VPN подключается локальным администратором?
    Если да, то скорее всего при подключении нового пользователя предыдущего просто выкидывает и соответственно все что было запущено локальным админом завершается, в т.ч. и VPN соединение рвется.
    Для решения проблемы нужно VPN подключение перевести в какой-то автономный режим, чтоб не нужно было держать залогиненного пользователя для его работы.

    Еще как вариант - видимо у вас не сервере не лицензированы службы RDS, а в таком режиме Win Server позволяет одновременно работать максимум 2 пользователям, если не ошибаюсь. Возможно у вас висят отключенные сеансы двух админов, при очередном логине один из сеансов убивается с соответствующими последствиями.
    В этом случае нужно контролировать подключенных пользователей, если сеанс не нужен то производить "выход", а не отключение. Настроить для всех пользователей, кроме того под которым подключается VPN автоматический выход при неактивности.
    Либо лицензировать службы терминалов на большее количество пользователей.
    Ответ написан
    Комментировать
  • При подключении RDP, VPN соединение отключается. Как это исправить?

    Jump
    @Jump
    Системный администратор со стажем.
    Два варианта решения проблемы-
    • Делаем подключение к VPN на роутере или на сервере но как службу, а не как процесс пользователя.
    • Делаем из сервера - сервер терминалов.


    Наиболее адекватный и универсальный - первый вариант.
    Ответ написан
    Комментировать
  • Как создать OS с помощью C++ и Python?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Если ты не троллишь, то начни с изучения ассемблера, архитектуры ПК(Таненбаума например прочитай), затем изучай, как устроены операционные системы(опять же Таненбаум). Я почти уверен, что после этого тебе расхочется делать ОС, но опыт будет полезный и скилл C++ или любого другого языка поднимется.
    Ответ написан
    3 комментария
  • Как лучше возвращать успешные запросы и ошибки в REST API?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Как это нет стандарта? Есть. В случае успеха возвращаете код 200 в заголовке и в теле данные в том формате, которого ожидает клиент. В случае ошибки код ошибки и текст сообщения ошибки.
    Ответ написан
  • Какой опыт Git нужен веб-разработчику для работы в команде в компании?

    Желательно понимать, что делают и зачем нужны следующие команды:
    git status
    git checkout
    git reset
    git fetch
    git pull
    git push
    git diff
    git add
    git commit
    git stash
    Ответ написан
    7 комментариев
  • Как работает этот код?

    @MiiNiPaa
    Может ли n быть больше нуля, если перед этим мы делаем count = 0?
    static unsigned long count = 0;
    Объявляет и инициализирует переменную. Переменная инициализируется только раз за время своей жизни. В случае статической переменной — перед первым запуском функции.
    То есть, начальное значение n — 0, после этого обратно в ноль она больше не сбрасывается.
    зачем здесь mutex
    Подумайте, что случится. если два потока наткнутся на инкремент одновременно юез синхронизации. Особенно при существовании кэша, присутствии оптимизаций, консолидирующих запись в память и тому подобного. На самом деле тут лучше использовать атомик, ну да ладно.
    Ответ написан
    Комментировать
  • Почему существует 2 версии PHP (Non Thread Safe и Thread Safe)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Здесь ответ на ваш вопрос.

    Для тех, кто не знает английский.

    Версию сервера нужно выбирать в зависимости от того, как вы интегрируете PHP c веб-сервером.
    Например, когда вы используете mod_php, у вас модуль и PHP всегда загружены в память и каждый запрос обрабатывается в отдельном потоке. Из-за этого mod_php работает быстрее, чем CGI. В данном случае нужно использовать потоко-безопасную реализацию (thread-safe) поскольку каждый поток имеет доступ к памяти другого потока.

    Когда вы работаете с IIS, у вас PHP запускается ввиде отдельного процесса через CGI и в таком случае потоко-безопасность не имеет смысла, поскольку у вас 1 процесс и фактически 1 поток созданный этим же процессом. Операционная система изолирует память процессов по умолчанию.

    В случае модели с FastCGI, потокобезопасность также не имеет смысла, поскольку тотже PHP-FPM держит несколько отдельных процессов PHP в памяти, но не потоков.
    Ответ написан
    Комментировать