Задать вопрос
  • Как хранить табличные данные для Python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если не хочется связываться с базой, то храните в json например, в виде dict, где ключом будет штрихкод. Относительно легко редактировать в любом редакторе, просто загружать и сохранять.
    Ну и если товаров будет много, то лучше базу данных. Для вашей задачи прекрасно подойдет redis.io HSET, где ключом будет штрихкод, а значением тот же json :-)
    Ответ написан
    Комментировать
  • Почему модуль socket в python обрезает данные при приеме независимо от параметра в функции recv?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Просто вы неправильно эти данные принимаете. Если посмотреть описание функции recv, то она возвращает реально принятые данные, которые могут быть порезаны. В вашем случае нужно в цикле принимать данные, пока не будет достигнута нужная длина. А еще лучше, сделать заголовок, в котором будет храниться длина пакета, сначала принимаете заголовок, потом в цикле принимаете данные на нужную длину. Tcp гарантирует, что данные не перемешаются и будут приходить последовательно, но протокол не гарантирует, что данные будут приходить ровно теми же самыми кусками, которыми они были отправлены.
    Ответ написан
    Комментировать
  • Zabbix + elasticsearch?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы посоветовал отказаться и от того и от другого.
    А поставить influxdb (база для метрик) + kapacitor (триггеры) + grafana (графики).
    Мы так кластер мониторим.
    Если уж и нужен эластик, то для анализа логов. Ставьте тогда ES + logstash + kibana.
    Так тоже мониторим, но в другом месте и для других целей.
    Ответ написан
  • Как лучше создать поиск для сайта используя MySql + ElasticSearch?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Кладете все данные в ES, и агрегациями делаете и фильтры и ищете. А уж если так хочется и MYSQL, то в нем можно например пользователей хранить, только не пойму, нафига оно нужно, если есть ES.
    distinctplace.com/2014/07/29/build-zappos-like-pro...
    Ответ написан
    3 комментария
  • Как добавить сетевой интерфейс в centos?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    ip link
    или устаревший
    ifconfig -a
    ifconfig без параметров не показывает все существующие интерфейсы. Да и рекомендуется им не пользоваться белее.
    А может быть и драйвер не прогрузился.
    Ответ написан
    5 комментариев
  • Если ли альтернатива Redis на Java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    akka.io ? Если достаточно только pub/sub, и не только.
    Ответ написан
    Комментировать
  • Какой самый удобный архиватор/шифровщик под MacOS?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Так и пользуйтесь, виртуальным диском https://support.apple.com/en-us/HT201599
    Ответ написан
  • Как получить строковое представление объекта?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Модуль pprint, не?
    Ответ написан
    Комментировать
  • Как сделать систему безопасности виртуальных машин?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Хорошо, а если я под виртуалкой буду запускать net/freebsd, windows, dos, os/2 прости господи? Увы и ах, контролировать виртуалку можно только косвенными путями, если у нас нет полного представления что гость назапускал:
    - по файловой системе и/или дисковому обмену, да и то, если гость не использует криптографию на диске;
    - сетевому трафику, и опять же, если гость его не шифрует, или там tor не запускает.
    - конечно же можно с помощью vd-x и vd-t смотреть содержимое регистров и памяти, отлавливать всякое I/O.
    Но это же все начинает напоминать игру в ревресинжиниринг кода с получением ключей доступа к какому нибудь платному приложению. Вроде бы приложение и запущено у нас в системе, только ключей требует для совего запуска. Вроде бы как и наш компухтер, а не мы хозяева-то приложения. И дебагеры вроде как можем запускать и менять регистры всякие, только хрен там...
    Что-то не нравится мне такая тема диплома...
    PS. Я вот тут намедни запускал Windows NT4.0 SP3 в виртуалке. Запустилось, грустное это занятие, скажу я вам... Драйверов нет, проброс старых PCI-плат - ужас. Новые не работают, драйверов нет, да и ПО их не поддерживает. Сама NT еще та девочка с косичками из фильмов Хичкока...
    Ответ написан
    Комментировать
  • Статистика для сайта, Кеш?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Redis вам в помощь! https://redislabs.com/ebook/redis-in-action/part-2...
    Еще хочу посоветовать посмотреть в сторону influxdb, в качестве хранения ваших коунтеров, отображать можно через grafana.
    Ответ написан
    Комментировать
  • REST или Json-RPC для большого проекта?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    REST предпочтительнее, на мой взгляд, так как меньше жрет ресурсов, легче отлаживать, проще использовать. Ну а данные конечно же гоняйте в json.
    Ответ написан
  • Чем отличается JDBC от ORM?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    JDBC- интерфейс для sql-запросов. Работаете с голыми sql-запросами и оперируете таблицами, строками, колонками и значениями. Если результаты запроса нужно положить с объекты, то сами их туда распихиваете.
    ORM - интерфейс для мапинга классов на таблицы, строки, колонки и значения базы данных. Работаете с java-объектами, sql-запросы за вас формирует ORM. Другими словами, не задумываетесь (почти), каксоставить sql-запрос, вытащить из него данные и раскидать значения по своим классам.
    Предпочтительнее конечно работать с ORM, так как все за вас будет оптимизировано и закешировано. Конечно, нужно будет знать, не только как работает ваша база данных, но и как работает ваш ORM.
    Ответ написан
    Комментировать
  • Linux какой выбрать для слабого ПК?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    6 комментариев
  • Как привязать домен к сайту, запущенному на выделенном сервере при помощи uWSGI?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Фронтэндос ставите nginx
    https://www.digitalocean.com/community/tutorials/h...
    Ответ написан
    Комментировать
  • Как этот код отрабатывает?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    У вас каждый класс, который мапится на базу данны, настедуется от db.Model.
    SQLAlchemy просто выбирает все наследуемые классы, находит все атрибуты этих классов и создает sql.
    В каждом классе есть магический список наследников -MyClass.__subclasses__(), Так эта "магия" и работает. - stackoverflow.com/questions/3862310/how-can-i-find...
    Ответ написан
    1 комментарий
  • Как построить меню в java/jsp?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как построить меню уже разобрались, как вижу. Если не разобрались, советую следующий подход, выбираете все записи всех меню сразу одним запросом, программно парсите их и создаете дерево меню в hashtable или xml.dom (я не шучу!, здесь xpath рулит).
    Далее, объект меню сохраняете в servlet context или application context.
    И больше в базу данных не лезете, до тех пор, пока меню не поменяется. Если меню изменилось, то перегенерируете его еще раз. Даже если меню у вас будет из 65000 пунктов, что навряд ли, то это много памяти не займет в любом случае.
    Ответ написан
  • Какое ПО посоветуете?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Простите за ненавязчивую рекламу. Этот класс ПО характеризуется емким словом Digital Signage. Есть куча готовых приставок и терминалов, где изобретать уже ничего не нужно. Можно выводить и видео и картинки и очередь через web-браузер и еще кучу всего. Если интересно, пишите, почта в профиле. Проконсультируем, продадим, реализуем под ключ, допишем, если что необходимо.
    Ну и в гугле/яндексе по запросу ищется куча ПО (и оборудования) по digital signage.
    Что касается конференций, вам нужно будет ставить видеосервер, например nginx с модулем rtmp, в него публикуете видеопоток, а браузеры или плееры на местах его показывают. Естественно, есть всяко разные нюансы.
    PS. Ах, да, если есть машины с виндой, то можно просто поставить ПО. Можно и под линуксом, и на андроиде, вариантов масса.
    Ответ написан
    Комментировать
  • Какую документную бд выбрать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Смотря что с чем кушать. Можно и elasticsearch в качестве nosql хранилища использовать, как я делаю. Мы же, я надеюсь, подбираем не просто абстрактного коня в вакуме, а нечто, что поможет решить нам задачу.
    Вот с описания задачи в вопросе я бы и начал.
    Как пример:
    - нужно много искать по разным критериям, типа товаров в магазине, желательно с языковым поиском, документы небольшие и не ветвистые - elasticsearch
    - нужно искать непонятно что в развесистых документах, языковой и полнотекстовый поиск не сильно нужен, но нужно вычислять поля в зависимости от поиска - mongodb, как пример база расписаний поездов и их движения по направлениям.
    -нужно искать связанную информацию типа связей между людьми, типа семи рукопожатий - node4j например.
    Ну и так далее, для каждой затычки есть хитрый штопор.
    Ответ написан
    Комментировать
  • Аутентификация в Flask python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если используете flask-login (flask-security кажется это делает автоматом), то есть настройка session.permanent = True
    Ее нужно использовать в app.before_request
    Ну и в юсера можете добавить признак, запоминать ли его на сайте.
    У меня так:
    @app.before_request
    def make_session_permanent():
            g.user = current_user
            if g.user.store_me:
                   session.permanent = True
    Ответ написан
    Комментировать
  • Цикл while медленнее for in?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Пустые циклы обычно не гоняют. Так что без разницы. А если нужны пустые циклы и скорость, то лучше взять Java/C/C++/C#. И делать на них молотилки.
    Ответ написан
    3 комментария