Задать вопрос
  • В какой сфере веба сейчас не стыдно применять java-апплеты?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Java-апплеты - тупиковый путь эволюции. Поэтому на них все ругаются, считают яву тормозной и глючной. Применять их практически перестали по десятку причин. Банки их используют только как наследие прошлого, от которого иногда очень трудно уйти, тоже по десятку разных причин.
    Сама же ява развивается, цветет и пахнет. Работает и на серверах в качестве вебприложений, распределенных вычислений, кучи всего, что можно делать на серверах. Также ява активно используется в качестве GUI, как программы для доступа к данных, или просто как клиентские приложения с графикой.
    Ответ написан
    Комментировать
  • Нужен пример работы с GSF для создания MS Structured Storage под Linux. Где найти?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Не уверен, что это именно то, что нужно, но посмотрите на https://poi.apache.org/
    Правда это ява, но как минимум я на ней готовил excel документы и не только.
    Ответ написан
    Комментировать
  • Какие есть технологии и способы захвата видео с камеры через сайт?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В общем случае это работает так:
    1) установить на сервер видеосервер
    2) пишется приложение для браузера например на флеше или c использованием javascript, которое открывает камеру и передает (публикует) поток на видеосервер.
    3) со стороны видеосервера пишется приложение или сам видеосервер настраивается на запись потока от пользователя
    4) видеосервер также может отдавать этот поток на кучу клиентов

    Теперь о технологиях. Есть их пока всего две
    RTMP - технология Adobe, встроена во flash-плагин. Видеосерверов куча, от nginx+rtmp_module и до red5, включая сотню-другую коммерческих. Соответственно клиент браузера будет написан на флеше. Работает не во всех мобильных браузерах :-( Прощай IOS...

    www.webrtc.org - новая модная технология, встроена пока не во все браузеры
    Видеосерверов не очень много, но вот хороший пример открытого сервера - www.kurento.org

    Я бы тянулся к webrtc, но если нужно поддержка "всего на свете", то придется и flash подтягивать и делать транскодинг на сервере.
    Ответ написан
    Комментировать
  • Стоит ли использовать Redis, в скрипте рейтинга?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Конечно: для этой задачи как раз то что нужно.
    Есть две команды для этого INCR и HINCRBY как минимум.
    Вот и статья неплохая - ruseller.com/lessons.php?rub=37&id=2289
    Ну и я ставлю редис к PHP всегда, для держания в нем сессий как минимум (ну не нравится мне куча файлов сессионных, да и чистить их в редисе очень просто - опустил-поднял редис).
    Прописываю в /etc/php5/fpm/php.ini
    session.save_handler = redis
    На всякий случай - https://www.digitalocean.com/community/tutorials/h...
    Ответ написан
    Комментировать
  • Что такое распределенная система?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Самый простой пример - хранение информации. Пусть у нас будет 5 серверов, которые будут хранить файлы. Для того, чтобы распределить нагрузку по этим серверам мы будем каждый файл класть на один из серверов, а сервер выбирать по очень простому алгоритму, будем считать хеш имени видеофайла и делить его на остаток от деления на 5 ( по количеству серверов). Так как предполагается, что хеширование у нас подчиняется нормальному распределению, то файлы на серверах тоже будут распределены равномерно.
    Итого, когда нам нужно узнать, на каком сервере лежит файл, нам достаточно посто посчитать хеш, найти остаток от деления и обратиться к нужному серверу.
    Тоже самое можно сделать не только с хранением, а и с вычислениями. Передавать задачу на один из серверов по какому то признаку, например по текущей загрузке или по наличию свободной памяти или еще ко какому признаку.

    Пример на питоне
    import hashlib
    h = hashlib.md5('my_cool_filename').hexdigest() # получили 16-разрядную строку
    # h =  '13061a556715c93e5543f20b7001c669' - это строка
    hi = int(h,16) # перевели ее в лонг
    # hi = 25287019810011413006158894310673729129L
    index = int(h,16) % 5 # нашли остаток от деления
    # index = 4L


    Еще раз, нужно не делить, а взять остаток от деления, операция %
    Ответ написан
    8 комментариев
  • Как получить звук без Pulse?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Можно попробовать и через pulse.

    To change the sample rate and audio bit depth we need to edit the configuration file for the pulseaudio server /etc/pulse/daemon.conf.

    Please backup the original settings to restore the defaults in case som settings break your audio.
    Look for the following entries:

    ; default-sample-format = s16le
    ; default-sample-rate = 44100
    Both are commented out with ;. This means they are not read as the entries given here are the defaults. Uncoment them and replace them with values that suit you better. Always keep in mind that this may be on cost of system performance or stability when choosing extreme values.

    Possible entries for the sample format are: u8, s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le, float32be, ulaw, alaw

    Possible entries for the sample frequency are anything between 1 and 192000 Hz (choose sensible values!)

    Save this file as ~/.pulse/daemon.conf or in it's original location (you need to be root then). In order for changes to take effect pulseaudio needs to be restarted with pulseaudio -k in a terminal, or by log out and log back in.
    Ответ написан
    1 комментарий
  • Можно ли подключать ноутбук как внешний диск?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно! Если у вас ноутбуки Apple! Но не по usb, а по firewire или thunrerbolt.
    Ответ написан
    Комментировать
  • Как добавить переменные в определенное место, поудобнее?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Хотелось бы добавить к предыдущим ораторам. Попробуйте системы логирования, например slf4j, log4j или logback. Все три совершенно изумительны!
    Ответ написан
    3 комментария
  • Самый лучший ресурс для изучения UNIX, для начинающего?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы посоветовал библиотеку Мошкова - lib.ru/unixhelp
    Там с основ, но достаточно хардкорно.
    А так, ставите любой линукс, например debian или ubuntu и идете в хелп https://help.ubuntu.com/lts/ubuntu-help/index.html или https://www.debian.org/releases/stable/amd64/
    ну и https://www.debian.org/doc/user-manuals
    Ubuntu/Debian близнецы-братья.
    Ответ написан
    Комментировать
  • Exim не отправляет сообщения. Что делать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А в логах чо пишут? Зачем то ты их включил?!
    Ответ написан
  • Учет рабочего времени?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А вот, обзорчик - habrahabr.ru/company/xakep/blog/254119
    Ну и для суровых бородатых программистов есть emacs + org-mode :-)
    Ответ написан
    1 комментарий
  • Vds и iptables - нужно ли? Как поступить в моём случае?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) закрыть все входящие. Если http сервер не стоит, то закрыть и 80
    2) убрать вход root по ssh, сделать пользователя и sudo, пользователю сгенерировать сертификат и сгенерировать длинный пароль. Убрать вход по ssh по паролю для всех.
    Вход удаленно только по сертификату, а рута получать по паролю!
    3) установить fail2ban
    4) желательно установить firewall, который нагенерит правильных правил на syn-flood и прочее. Например firehol. Это же и к пункту 1) относится.
    5) этого достаточно, но можно и поставить сервисы в docker или в lxc.
    Ответ написан
    4 комментария
  • Как соединить несколько загрузочных образов в один?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    на флешку копируете все свои дистрибутивы в качестве образов ISO. Ставите загрузчик, www.syslinux.org , в котором в виде меню прописываете все свои системы.
    Done.
    Лишь бы на флешке место хватило.
    Ответ написан
    Комментировать
  • Как сделать "наложение " газеты в руки человека на фото?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    175f281790db4a2f8f40f0dc3a46aea1.png
    Да очень просто.
    1) Заливаем в первый слой деушку
    2) Заливаем Газетку во второй слой. Газетку располагаем в квадрате клешней, пупка (чуть ниже) и бооольших глаз (чуть выше).
    3) Возвращается на первый слой и обтравливаем клешни девушки, вставляем их в новый слой
    4) делаем показать все слои. с клешнями, газеткой и пупком с бооольшими глазами.

    PS. Делал в pixelmator. В фотошопе должно быть практически также. Плохо обтравил клешни, но это же демо :-)
    Ответ написан
  • Простейший почтовый сервер на Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Самое простое решение - поднять exim4 + dovecot, статей куча. Поднимается за час.
    Что касается MFU, то я не совсем понял, как этот MFU общается с почтой? Он тупо отправляет письмо с отсканированным документом на почтовый аккаунт? Или работает как принтер/сканер в традиционном смысле? Если последнее, то нужно ставить еще подсистему печати CUPS, и уже через нее колдовать с отправкой почты.
    Ответ написан
    7 комментариев
  • Какую выбрать файловую систему для большого тома?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    XFS, очень даже ничего. Можно и EXT4. Разница небольшая. Пользуем и ту и ту. Ну а скорость чтения в основном зависит от скорости массива.

    Вынес: Ну а вообще-то порекомендую все делать в хранилище типа Ceph, у нас как раз оно и развернуто на 5 серверах с объемом 100тб. Интерконнекты по infiband, внешняя 1/10Gb. В Ceph можно лить по типу S3 - скорость будет чумовая, у нас в пике порядка 7-8GB/s (гигабайт в секунду!) на клиента.
    Ответ написан
    9 комментариев
  • Расшифровка зашифрованного раздела, если взломать root?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Раздел пользователя обычно шифруется текущим паролем. Если точнее, то шифруется доступ к хранилищу ключей текущим паролем, а из хранилища достается длинный ключ шифрования. Другими словами, сбросив пароль, расшифровать не получится! При смене пароля пользователя хранилище ключей перешифровывается заново. Но можно подсмотреть уже замонтированный зашифрованный раздел.
    Ответ написан
    6 комментариев
  • Чем отличаются языки программирования PHP, PYTHON, RUBY?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Еще есть java, go - они тоже очень популярны.

    И на том и на том пишутся замечательные вещи!

    Go очень просто использовать - практически как замена C/C++, только более быстр в разработке. Сильно набирает популярность, достаточно низкоуровневый, чтобы на нем писать системные утилиты и большие распределенные системы. У него есть минусы (дебаггер например), но и плюсов очень много (дебаггер редко нужен).

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

    Что касается PHP - изначально язык создавался для простых проектов для WEB, как замена CGI, но вроде бы как вырос, появились объекты... Но, дальше WEB он не развивается.

    Что касается Ruby - хороший язык, большая инфраструктура (фоеймворки/библиотеки), куча всего понаписано, куча коммерческих сайтов и государственных, типа портала госуслуг Москвы, если не ошибаюсь. Немного медлителен интерпретатор, но это не повод за него не браться. На мой личный взгляд - основное неудобство, постоянный поиск нужной версии библиотеки при пересборке проекта.

    Python - отличный язык, очень богатая инфраструктура, куча коммерческих применений. На нем можно делать большие, очень большие, проекты. Очень легок в освоении. Я предпочитаю что-то быстро напрототипировать в питоне, а потом и переписывать не хочется.

    Сам программирую на Python, C, Java, PHP.
    Относительно неплохо разбираюсь в Ruby и Go, на уровне влесть в чужой проект и поправить ошибку.

    Мои фавориты - Java, Python. Присматриваюсь к Go.
    Ответ написан
    10 комментариев
  • Как вернуть ubuntu к заводским настройкам?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов несколько:
    1) Перенастроить все пакеты командой ниже. Но это займет много времени и будут задаваться вопросы, как при установке.
    dpkg-reconfigure -a
    2) Заново поставить систему!
    3) Ставить систему на btrfs например, при этом создать снапшот сразу после установки. При нужде - откатиться на снапшот.
    4) Сделать слепок системы в образ (tar --one-filesystem -czf ) и его накатывать, когда нужно.

    Ну и еще масса вариантов, например с AUFS, LVM, KVM и прочими...
    А если более точно знать, зачем оно нужно, то может и ответ будет совсем иным..
    Ответ написан
    1 комментарий
  • Как можно собирать письма в мускул?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, все просто. Поставить getmail или fetchmail.
    А собирать им хоть в базу, хоть в файлы, хоть в прости-господи elasticsearch (прикольно будет!).
    Ну немного придется повозиться, день-другой.

    У меня так почта с 10 аккаунтов архивируется через getmail, а доступ к архиву по IMAP через dovecot организован.

    А вот и простой пример (размножить на несколько акков) - https://sov1et.wordpress.com/2009/07/08/%D0%BD%D0%...
    Ответ написан
    Комментировать