• Усиление сигнала WI-FI, возможные способы?

    Ommonick
    @Ommonick
    qa+dev (scala, golang, ts/js, api, grpc)
    Вы бы озвучили исходные данные:
    Ноутбук\телефон\планшет
    или
    Стационарный комп
    или
    Сетевые устройства, маршрутизаторы

    Для pci устройств можно использовать специальные антенны

    Для ноутбуков\планшетов\телефонов разве только поменять положение в пространстве, настроить каналы и мощность сигнала на источнике

    А что касается сетевых устройств, есть такие штуки - направленные wifi мосты, дистанция доходит до десятка километров, узконаправленные устройства, но действуют в паре, просто нацелиться на бесплатный сабвэй не получится
    https://habrahabr.ru/post/206282/
    https://habrahabr.ru/post/146911/

    ed02cea01f9000f87b9c49e4125fb185.jpg
    Ответ написан
    4 комментария
  • Как вывести видео с веб-камеры (RTSP) на сайт?

    A_M
    @A_M
    Основная специализация - системы видеонаблюдения
    Не самый большой эксперт, но думаю лучше вынести nginx-rtmp-module + ffmpeg на отдельную железяку. Так нам не потребуется пересобирать nginx на основном сервере и нагрузка на перекодирование видео и объем видеотрафика не будет напрягать основной сервак.
    А вообще, если требуется вывести камеру на сайт с минимальными усилиями, есть ivideon.
    Ответ написан
    1 комментарий
  • Как сделать "наложение " газеты в руки человека на фото?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    > Фото должно быть оригинальным, без сжатия или другой обработки в графических редакторах, сделанным на цифровой фотоаппарат.

    Берешь девушку, даешь ей газету, фоткаешь на фотоаппарат и получаешь то, что требуется.

    Если попытаешься делать монтаж, не забудь, что сам файл с картинкой в результате должен иметь теги, соответствующие какому-нить фотоаппарату, иначе даже без анализа пикселей будет видно, что подделка. И большая вероятность, что именно проверкой тегов могут и ограничиться.
    Ответ написан
    4 комментария
  • Выбор key-value хранилища?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Redis, с включением Persistence redis.io/topics/persistence

    В MongoDB вы можете использовать https://docs.mongodb.org/manual/reference/configur... для старого хранилища.
    Для WiredTiger по умолчанию идет компрессор snappy. Но вы можете использовать zlib или bzip
    source.wiredtiger.com/2.4.1/compression.html Правда нагрузка на CPU вырастет. Будьте осторожны.
    Кроме этого я могу сказать, что у вас неправильный подход к бекапам для MongoDB. Использовать режим полного бекапа не очень удобно. Правильно использовать отложенную репликацию.
    Могу сказать, что у меня текущая база содержит примерно 100 GB данных (на диске 253G, Mongo 2.6). Все отлично реплицируется (у меня replica set из 2х машин) и бэкапится (delayed). Это требует отдельный сервер, но он может быть не таким мощным как основной или иметь другой диск, например обычный HDD.
    10 GB это очень маленький объем данных. Пересмотрите свою архитектуру.
    Ответ написан
    3 комментария
  • Системное программирование, с чего начать?

    Olej
    @Olej
    инженер, программист, преподаватель
    Знаю c#, немного с++.

    Забудьте это.
    В том, что вы называете "системное программирование" ни с тем, ни с другим - делать нечего.

    P.S. по началу буду использовать Windows, но в будущем(далеком) думаю пересесть на Archlinux.

    И это забудьте.
    Только Linux (ну, если очень хочется - FreeBSD, OpenSolaris, QNX, ...)
    Возня с Windows вам ничего не даст ни в смысле опыта, ни в смысле знаний.

    P.P.S. Думаю, что перед освоением ассемблера нужно больше узнать обо всем.

    А вот ассемблер вам понадобится в последнюю очередь, если вообще понадобится...
    P.S. Кстати, позвольте полюбопытствовать, какой именно ассемблер вы собрались осваивать: ARM? MIPS? AMD64? ...
    Ответ написан
    9 комментариев
  • Что необходимо знать чтобы понять что здесь (на картинке)?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Там же все написано. Модульный электроэнцефалограф (ЭЭГ). На верхней картинке - изолированный модуль микроконтроллера с аналогоцифровым преобразователем. На нижней картинке - 2х-канальный усилительный модуль ЭЭГ.
    Для того, чтобы это узнать, достаточно знания английского языка.

    Если почитать даташиты на используемые микросхемы (подписанные прямоугольники с большим, чем два, количеством контактов) или просто из опыта рисования/чтения схем понятно, что на первой картинке слева - микроконтроллер со своей обвязкой, справа сверху - блок питания, справа снизу - интерфейс RS-232.

    На второй картинке (читаем подписи) - два канала обработки измеряемых сигналов, которые состоят из (слева-направо): защита от статики с ограничением тока, усилитель с постоянным коэффициентом усиления 12.2, усилитель с переменным коэффициентом усиления с G=6...100, фильтр Бесселя 3го порядка с частотой Fc=59Гц (подозреваю, что он тут нужен, чтобы срезать сетевые наводки).

    Снизу на второй картинке еще один канал....калибровочный.

    Проще всего при чтении схемы идти от задачи, выделить крупные блоки, а затем все более детализироваться до необходимого уровня.
    Ответ написан
    3 комментария
  • Как выдернуть адрес сайта (linux) из html?

    @abcd0x00
    В два прохода: сначала готовим ссылки, потом выделяем.
    Для текста выше, записанного в file.html
    [guest@localhost tmp]$ cat "file.html" | sed 's/"http/\n&/g' | sed -n 's/^"\(http[^"]*\)".*/\1/p'
    http://tasteofcountry.com
    https://s3.amazonaws.com/tsm-images/logos/footer/204-light.png?id=78
    http://tasteofcountry.com/shocking-country-music-splits/
    http://tasteofcountry.com/reba-mcentire-narvel-blackstock-relationship-timeline/
    http://screencrush.com/official-batman-vs-superman-plot-synopsis/?footer
    http://wac.450f.edgecastcdn.net/80450F/screencrush.com/files/2015/07/batman-vs-superman-300.jpg?w=180&h=120&zc=1&s=0&a=t&q=89
    http://popcrush.com/stars-who-were-born-rich/?footer
    http://wac.450f.edgecastcdn.net/80450F/popcrush.com/files/2015/04/born-rich-300.jpg?w=180&h=120&zc=1&s=0&a=t&q=89
    http://diffuser.fm/offensive-band-names/?footer
    http://wac.450f.edgecastcdn.net/80450F/diffuser.fm/files/2015/03/offensive-band-names.jpg?w=180&h=120&zc=1&s=0&a=t&q=89
    http://comicsalliance.com/comic-book-movie-behind-the-scenes-pictures/?footer
    http://wac.450f.edgecastcdn.net/80450F/comicsalliance.com/files/2015/05/behind-the-scenes-300.jpg?w=180&h=120&zc=1&s=0&a=t&q=89
    http://tasteofcountry.com/you-think-you-know-country-taylor-swift/?footer
    http://wac.450f.edgecastcdn.net/80450F/tasteofcountry.com/files/2014/08/taylor-swift-sexy.jpg?w=180&h=120&zc=1&s=0&a=t&q=89
    [guest@localhost tmp]$
    Ответ написан
    Комментировать
  • Какую выбрать CMS для корпоративного сайта?

    @LiguidCool
    Собственно для начала определитель что вам нужно от сайта. Вполне вероятно вам может хватить какой-нибудь Joomla! Или MODX.
    Ответ написан
    3 комментария
  • Так как же все-таки правильно прикреплять домены и поддомены к хостингу, какой самый правильный способ?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    Оба варианта правильные.

    По поводу непоняток во втором варианте. Ну так вы же сами указали, что * - т.е. все поддомены ссылаются на ваш сайт. А дальше все происходит так, как вы настроите:
    для апача:
    <VirtualHost a.b.c.d:80>
    ServerName site.ru
    ServerAlias www.site.ru *.site.ru
    ...
    </VirtualHost>

    В этом варианте вы указали, что основное имя сайта - site.ru, но кроме него принимать запросы на www.site.ru и *.site.ru. Честно говоря www.site.ru в ServerAlias является излишним.
    Т.е. любой поддомен вплоть до kfjjvkfjvbkjbvkjbvkjvbkejbv.site.ru приведет на ваш виртхост.
    Если же в ServerAlias не указан *.site.ru - то произойдет следующее. Запрос придет на сервер, но подходящего виртхоста нет. Тогда апач отдаст этот запрос на обработку либо первому виртхосту в конфиге, либо так называемому default. Если админы хостинга не настроили default виртхост - значит отработает какой нить сайт с этого сервера.
    Отсюда вывод - если уж вы указываете * IN A a.b.c.d в конфиге зоны - будьте добры корректно настроить виртхост - либо прописать *.site.ru в алиасе, либо создавайте для каждого нужного вам поддомена свой виртхост. Но это все равно не освободит вас от необходимости указать *.site.ru в алиасе какого нить своего виртхоста.
    Не хотите такого поведения - прописывайте в настройках днс ровно те записи, которые вам нужны. Ну и виртхосты под них делайте.

    Разница между прописыванием NS серверов и A записей - это просто место, где вы будете рулить доменом. Если вы перенесли NS сервера вашего домена на сервера хостинга - то необходимые записи в днс надо создавать в панели управления хостингом. Если же только A записи - то управление доменом остается у регистратора, а управление хостингом - у хостера.
    Ответ написан
    2 комментария
  • Как правильно использовать глобальные переменные и какие аналогиченые методы global есть в Питоне?

    angru
    @angru
    Глобальные переменные действительно - зло, Можно решить классами, но если до классов еще не дошли, то можно обьявить в функции start словарь:

    world = {
      'player': {
        'items': [],
        'is_dead': False,
      },
      # other game info
    }


    и передавать его в каждую игровую функцию:

    behind(world)
    road(world)
    ...


    еще несколько советов:

    1. не стоит в каждой функции обьявлять бесконечный цикл, пусть лучше он будет на самом верхнем уровне в функции start, тоже самое и про пользовательский ввод(raw_input) - лучше чтобы он был только одном месте.
    2. не надо в road/behind/barn/... вызывать функцию start - это неявная рекурсия да еще и вместе с бесконечными циклами, пусть лучше они выполняют конкретное действие, изменяют игровое состояние(world) и все, остальное забота функции start.
    3. Если добавляете один элемент в список, то лучше делать items.append("топор"), а не items.extend(["топор"])
    Ответ написан
    7 комментариев
  • Как правильней: учить то что популярней или то что хочешь?

    bavaria
    @bavaria
    Студент, Python, Ruby
    Хороших пайтонщиков отрывают с руками :)
    Ответ написан
    2 комментария
  • Какое расстояние для витой пары приемлемое?

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

    Учитывая расстояние, киньте оптику - избавитесь от боязни грозы.
    Ответ написан
    2 комментария
  • Каталог товаров с фильтрами по характеристикам товара - выбор БД?

    jumper423
    @jumper423
    web-developer
    ElasticSearch. То что надо для тебя.
    - Полнотекстовый поиск
    - GEO
    - Высокая скорость работы
    - Фасеты (для фильтров понадобятся)
    ....
    Ответ написан
    6 комментариев
  • Как реализовалась графика?

    2ord
    @2ord
    Отвечу в меру своего понимания о выводе графики на экран.
    В основе работы с графикой лежит работа с растром (матрицей) на низком уровне. Векторная графика реализуется на программном уровне, выше растрового, в виде библиотек. Та же OpenVG, допустим, которая реализует векторную графику в виде инструкций на OpenGL.

    В ДОС'е в текстовом режиме (80х25, 80х43) всё выводилось растровыми шрифтами, которые покрывали диапазон 256 знаков таблицы ASCII.
    KOI8-R содержит знаки псевдографики среди прочих. Этой псевдографикой пользовались для рисования таблиц, оформления окон и прочих вещей типа эффекта "тени" от окна.
    Каждый знак - это битовый набор пикселей: горит - не горит. В ДОС'е шрифты были, помню, фиксированных размеров 8x8, 8x16 и загружались в память при загрузке ОС.
    Как выводить знак на экран: накладывать маску AND в определённой позиции знака.
    Как что-либо выводить на экран: работать через прерывания в ДОС'е или с помощью драйверов видео. Поскольку ОС и драйвера (на сей день), как правило, пишутся на Сях, то API также сишный.

    Update
    Шрифты в современных ОС часто выводятся при помощи библиотек растеризаторов шрифтов наподобие FreeType. Они по заданному шрифту и тексту выводят маску текста в буфер. А этот буфер уже программно накладывают на фон/текстуру.
    Ответ написан
  • Возможно ли программировать сокеты на языке СИ в windows с использованием *nix библиотек?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Картинку с троллейбусом сами найдете?

    API сокетов Беркли под Win и Nix почти идентичен.

    А так, можно cygwin поставить. Там самый настоящий api сокетов из linux.
    Ответ написан
    1 комментарий
  • Выделенный сервер на hertzner.de - аукционный или новый?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    При покупке новых серверов вы платите ещё setup fee.
    При покупке с аукциона - у вас есть 30 дней на тестирование сервера на проблемы (особенно харды) с полным возвратом стоимости. Брал порядка 10, проблем не случалось.
    Ответ написан
    Комментировать
  • Архитектура децентрализованного (рапределенного) приложения?

    Melkij
    @Melkij
    PostgreSQL DBA
    О CAP теореме слышали?
    Вы хотите иметь доступность и устойчивость к разделению, следовательно, вы должны отказаться от консистентности. См. AP-системы.
    Нормальный ли подход - зависит от задачи, нужно рассматривать конкретную ситуацию и конкретный бизнес. Если ограничения целостности позволяют, то да, нормальный. План слияния и решения конфликтов только заранее описать.
    Ответ написан
    1 комментарий
  • Что необходимо для создания собственного ip-tv вещания?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Если мы рассматриваем именно IPTV, то нужно:

    0) подать заявку на регистрацию оператора связи в Роскомнадзор и заняться получением лицензии
    1) понять, какие каналы вы будете вещать.
    2) договориться (за денежку) с существующими поставщиками контента - контент-агрегаторами.
    3) понять, какие пакеты вещания вы будете нарезать и сколько их будет.
    4) построить в доме сеть на основе управляемых коммутаторов (любых, можно дешевых длинках).
    5) если будет много пакетов, то купить приставки со специальной прошивкой и middleware, можно "облачной".
    6) поставить центральный узел, состоящий из компьютера или дешевого маршрутизатора/L3-коммутатора, на который придет контент.
    7) запустить с него вещание во вновь построенную сеть.

    P.S. Я от этого всего слегка далек, поэтому буду очень рад любой помощи и информации.


    Обратитесь к интегратору, пусть предоставит вам коммерческое предложение. Ну или сами заплатите денег специалистам. Если ничего не знаете и не умеете, вряд ли что-то получится, это не сайт на коленке слабать.

    Опция раз: контент-агрегаторы, поставщики приставок и middleware обычно продают лицензии по количеству подключенных планируемых подключаемых пользователей. И число это очень часто кратно 1000, хотя бывает и 500.

    Опция два: если в доме уже есть какой-либо оператор связи, можете попробовать договориться с ним и использовать его построенную инфраструктуру.

    Я бы не стал связываться с таким объемом, проще предлагать ставить жильцам спутниковые тарелки. Если бы сделать технический охват хотя бы тысячи две жильцов, тогда еще может-быть что-то можно выгадать.
    Ответ написан
    4 комментария
  • Как настроить IPTABLE с первого раза?

    Вот все советуют использовать iptables , а я посоветую посмотреть на FERM , в дебиан есть такой пакет.
    По сути - это удобная надстройка над iptables с некоторыми фичами , например если вы укажете неправильные настройки и потеряеете связь с сервером - ferm их откатит ( ключ --interactive )

    Документации по ferm полно, например: habrahabr.ru/post/127184
    Ответ написан
    Комментировать