• Запуск программы в Linux x64?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Есть ли подобные статьи для 64-бит архитектуры?

    Зачем? В этой статье почти нет процессорной специфики -- там описаны потроха С-рантайма, библиотеки С и динамического линковщика. Любая программа на С для любой архитектуры при запуске проходит через те же стадии.
    Ответ написан
    4 комментария
  • Как узнать производительность с/без Memcached на shared хостинге?

    kotomyava
    @kotomyava
    Системный администратор
    А у вас действительно есть memcached на обычном хостинге?

    Сколько выделено вам памяти в нём? Какой у вас при этом типичный размер кеша?
    • Если выделено существенно меньше, то пользы от быстрого, но постоянно перестраиваемого кеша будет мало.
    • Если он выделен не отдельно вам, не связывайтесь вовсе.
    • Если это близкие значения, или хотя бы не отличающиеся на порядки, то имеет какой-то смысл переходить к настройке и тестированию.


    В простейшем случае, можно потестировать ab (apachebench).
    Ответ написан
    Комментировать
  • Несёт ли программист отвественность за противозаконное применение своего кода?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Смотря какие данные карт. Если номер карты целиком и CVV2/CVC2 код с датой действия карты и владельцем, а у заказчика нет банковской лицензии- а её быстрее всего нет, так как вряд ли бы они оставили ваш email, поскольку там жесткие требования к ПО, - то это повод немедленно писать заявление в полицию. Иначе если у владельца карты обнаружится пропажа, то выйдут и на вас. А там попробуй докажи - может вы там специально свой емейл оставили...
    Если данные карт неполные - заблинденный номер карты и отсутствует CVV2/CVC2 код - то просто отпишите заказчику чтобы удалил ваш емейл из кода от греха подальше...
    Ответ написан
    Комментировать
  • Какие проблемы прямой вставки кода виджета в код стороннего сайта?

    @izheme Автор вопроса
    Познаю мир
    Еще раз благодарю всех принявшим участие в дискуссии. Наконец-то смог найти немного времени и написать небольшой обобщающий материал, может кому-то пригодится.

    Итак, ситуация. Вам необходимо сделать возможность вставки своих виджетов в код сторонних сайтов. Для реализации этого сторонний сайт вставляет в свой код ваш JS-код. Далее ваш JS код вставляет виджет. Виджет можно вставить либо прямо в код страницы (далее прямая вставка в DOM) либо создать Iframe. Рассмотрим потенциальные проблемы обоих подходов.

    JS конфликты
    Прямая вставка в DOM
    Здесь не должно быть конфликтов, когда используется “пространство имен”. Но при использовании сторонних библиотек, некоторые из них могут обращаться напрямую к window и это невозможно контролировать. Я столкнулся с проблемой когда vuetify обращается к window.$vue из своего кода и просто падает.

    Iframe
    Полная инкапсуляция, конфликты исключены

    CSS конфликты
    Прямая вставка в DOM
    Потенциально очень серьёзные конфликты. Код внешнего сайта влияет на виджет, код виджета влияет на внешний сайт. Ваш виджет ломает внешний сайт, внешний сайт ломает ваш виджет.

    Iframe
    Полная инкапсуляция, конфликты исключены

    Cookies (описанное ниже так же относится и к localStorage)
    Если необходимо отправлять ваши кукисы из виджета

    Прямая вставка в DOM
    Мы не можем отправлять кукисы третьей-стороны из JS. Если использовать для отправки кукиса заголовки с сервера во время загрузки статики или скрытый iframe, то браузер будет опознавать их как кукисы третьей стороны. По современным оценкам кукисы третьей стороны отключены у 25-50% пользователей. И тренд такой, что это число будет только расти.

    Iframe
    Мы можем устанавливать свои кукисы, как кукисы первой стороны. Возможно, для некоторых браузеров, потребуется выполнить POST запрос для одобрения установки кукисов.

    Безопасность
    Прямая вставка в DOM
    Если ваш виджет должен общаться с вашим сервером, то прямая вставка - это полный провал в безопасности. Для возможности выполнения запросов вам необходимо будет включить CORS (отключить same-origin policy). Это приведет к тому, что уязвимость, позволяющая исполнять код на внешнем сайте, позволит злоумышленнику отправлять запросы на ваш сервер от чужого имени, при стечении обстоятельств.

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

    Iframe
    Продолжаем использовать same-origin policy. Данные виджета изолированы.

    Заключение: единственный адекватный вариант - вставка через iframe.

    P.S. Тимлида я обыграл. Но меня поражает: как люди с такими познаниями становятся тимлидами с зп >700к (это не Россия, но все равно дофига)?!
    Ответ написан
    Комментировать
  • Потянет ли Intel HD 620 виртуалки линукса с GUI?

    Если вы не планируете на этих виртуалках обрабатывать видео или играть, то проблем быть не должно.
    Ответ написан
    Комментировать
  • Потянет ли Intel HD 620 виртуалки линукса с GUI?

    erniesto77
    @erniesto77
    oop, rb, py, php, js
    да
    Ответ написан
    Комментировать
  • Какую нейросеть выбрать для определения машин на парковке?

    ZinBu
    @ZinBu
    Продам гараж (в лс)
    Похожая задача очень подробно рассматривается.
    https://tproger.ru/translations/parking-searching/
    Ответ написан
    Комментировать
  • Как освободить RAM на web-сервере uwsgi?

    @Lepilov Автор вопроса
    Возможно будет интересно кому то, чем закончилась борьба с памятью.
    Так как утечка наблюдалась при работе на локальной машине под родным фласковским сервером, настройки uwsgi отброшены. При вызове напрямую из консоли питоновского файла detect.py все работало четко, значит функция обработки не причем. Поэтому решил послушаться советов и запустить detect.py отдельным потоком используя Redis Queue (RQ).
    Заменил в def index()
    count = detect(images=img)
    return redirect(url_for("result", count=count))

    на
    job = q.enqueue(detect, img)
                while job.result is None:
                    pass
                else:
                    count = job.result
                    return redirect(url_for("result", count=count))


    И завертелось, никакой утечки. Для меня остается загадкой куда девалась память, но результатом я вполне удовлетворен. Плюс немного новых знаний по Redis, RQ, Supervisor поднял для себя)
    Ответ написан
    2 комментария
  • Возможно ли разрабатывать в .NET Core без Docker?

    DanielDemidko
    @DanielDemidko
    Программист
    Глупости! Докер не нужен для сборки проекта, всё прекрасно работает без него.
    Ставите студию, создаете проект, нажимаете кнопочку собрать, на выходе получается готовая сборка которую можно запустить из консоли безо всяких докеров, всё просто)
    Запускать так: dotnet YourBuild.dll
    Ответ написан
    Комментировать
  • Возможно ли разрабатывать в .NET Core без Docker?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    Не обязательно.
    Есть сборка проекта - выходными файлами которого является скомпилированная библиотека, ресурсы и т.д.,
    А есть сборка контейнера, которая создает docker образ и туда помещает результат от сборки проекта.
    Это в простом варианте, на пальцах так сказать.

    Но я бы рекомендовал поставить win10 и научиться с ним работать. Он не такой сложный как кажется, но он дает много преимуществ когда разрабывается микросервисная архитектура.
    Ответ написан
    4 комментария
  • Какое есть ПО для поручений сотрудникам и отслеживанию задач?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Если народу не больше 10 челов - Jira. Реально крутая система, есть все что надо и сверх того. Но - лицензия на 10 челов стоит копейки, а вот на 50 (следующий шаг) - уже как элерон от крыла самолета, а на 100 - уже как само крыло :) Лицензия покупается на год.
    Если денег нет или народу больше - redmine, mantis, bugzilla, тысячи их...
    Ответ написан
    Комментировать
  • Как снизить нагрузку на БД или какую БД использовать?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Миллионы записей - это совершенно обычный и, я бы сказал, крайне небольшой кейс для MySQL.

    Самое быстрое: отпрофилировать запросы (например, performance_schema=1 и подключить sys-таблицы, они наполнятся данными по прошествии времени), найти неоптимизированные индексами и добавить недостающие индексы на этих таблицах.
    Ответ написан
    8 комментариев
  • Как снизить нагрузку на БД или какую БД использовать?

    Maksclub
    @Maksclub
    maksfedorov.ru
    В порядке действий:
    • анализ, что работает медленно (не "заказчик говорит медленно", а например "запрос для товаров, при выборке по акциям и покупателям" работает 2 секунды)
    • оптимизация кода, работающего с запросами (снижение числа запросов или более точные выборки) -- самая популярная проблема,

      - снижал на этом только этапе в 1000-1500 раз,
      - видел по 1500 запросов на страницу,
      - видел 1 запрос, но на всю таблицу и потом по коду с этими данными гигантская работа, когда можно было сделать 2 ооочень шустрых запроса в БД с конечными данными :)
      - запросы в цикле, очень много раз видел (гуглить проблема N+1)


    • оптимизация медленных запросов

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

    • индексы (сильно оптимизируют и бывают достаточны для решений многих бед со скоростью на большой выборке)
    • кеш на стороне БД
    • кеш на стороне приложения
    • денормализация некоторых данных, например предагрегация (например меню сайта и нужно для каждого вывести число твоаров, каждый пункт связан с категорией, категорий много, чтобы каждый раз по 100 категорий на подсчет товаров для каждой не делать -- делать это сильно реже и хранить в некой агрегирующей табличке)

    С техниками типа шардинга/репликации никогда не работал
    Ответ написан
    1 комментарий
  • Как правильно организовать хранение локальных баз в центральной?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Поскольку не понятно, что вы хотите, то можно создать на сервере копию локальной базы с отдельным именем. Или слейте одинаковые таблицы в одну, добавив поле-признак локальной базы.
    Ответ написан
    Комментировать
  • Как вынести число n из под квадратного корня, не используя математические функции?

    dom1n1k
    @dom1n1k
    Я не знаю, куда вы смотрели в интернете, потому что это гуглится в одно касание.
    Хотя бы википедия: https://en.wikipedia.org/wiki/Methods_of_computing...
    Ответ написан
    Комментировать
  • Каким наиболее простым способом можно заменить запуск внешней команды в cmd на GUI программу с Drag & Drop?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    в cmd можно перетягивать файлы.

    Берете и пишете следующее

    myscript.bat
    echo "I want to execute %1 file"
    pause


    И перетягиваете на него нужный файл.
    Адаптируйте под себя
    Ответ написан
    2 комментария
  • Какую бд использовать для оффлайн словаря?

    coderisimo
    @coderisimo
    SQLite одно из стандартных решений (с ней FMDB).
    Довольно простое ))
    Ответ написан
    3 комментария
  • Как освободить RAM на web-сервере uwsgi?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега uWSGI
    Седой и строгий
    Без кода ничего конкретного сказать нельзя. Может быть утечка памяти в вашем коде, может утечка в коде библиотечном, а может просто раздувание пулов. Самое простое - переложить операцию обработки изображения на отдельный процесс.
    Ответ написан
    2 комментария
  • Какую БД выбрать для обработки 300 млн строк?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    nosql в основном для строк в виде "ключ" - "значение", а не четырех значений. Поэтому nosql я бы сразу отложил.

    А так - любая подойдет - у вас нет сложной структуры с кучей связей или логики в самой базе.
    То есть требуемый функционал достаточно простой, а значит производительность будет больше зависеть от железа, чем от базы - и mysql и mariadb и pgsql будут примерно одинаково работать. Ну разве что поиграться с типом базы и индексами.
    Ответ написан
    Комментировать