• Есть ли сайт с документацией по java на русском?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть www.javable.com
    Куча статей и документации, плюс бесплатный учебник (нужна резистрация).
    Даже форум есть, то неживой... я по привычке туда раз в месяц захожу, но новых вопросов больше нет.
    Сам сайт увы, уже не развивается, заглох примерно 3 года назад :-(
    Раньше там кипела жизнь, статьи каждую неделю, здоровенное сообщество и прочее, ностальгия одним словом...
    Заходите, черпайте и впитывайте.
    Ответ написан
    Комментировать
  • Выбор DFS, какую начать смотреть?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ceph + rbd + nfs + pacemaker. 4 ноды на ceph (118тб), две на rbd + nfs server + pacemaker, там же виртуалки kvm напрямую через librbd. Клиентами 15 серверов по nfs с сотней пользователей. Все ходит по инфинибанд qdr. Довольны, cephfs пока не планируем...
    И да, не раздавайте rbd + nfs server с OSD-нод, оно виснет! Виртуалки c librbd и kvm на osd-нодах живут нормально, но мы от греха их убрали, да и памяти там на пределе (1 гиг на терабайт рекомендуется)
    Да, до этого glusterfs пробовали, странное оно очень... А еще раньше жило gpfs покупное от интеллегентных бизнесмашин, но стоимость обновления на новую версию превысило все рамки разумного...
    Ответ написан
    Комментировать
  • Есть ли будущее у программиста микроконтроллеров?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Конечно есть! Куча вакансий на эмбеддер-девелоперов, начиная от совсем простых пиков и заканчивая sparc/mips/arm. А если будете знать что-то из мира RTOS типа VxWorks, QNX и компанию - работу найдете всегда.
    Куча железа делается, на которое портируется как существующее ПО/ОС, так и пишется много нового, от чайников/кофеварок до автомотива/аэро.
    Только у нас в бизнесцентре компаний 5 лично знаю, свои разработки и ПО.
    И это не считая ВПК (и около), который тоже лично знаю где и что.
    Зарплаты везде разные (и очень высокие и средние и низкие) и всё зависит как от квалификации, так и от фирмы.
    Ответ написан
    Комментировать
  • Есть ли готовое решение для развертывания гостевых машин на KVM?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Странно, так вроде бы всё даже по умолчанию так настроено, в убунте как минимум, только галочку при установке поставить.
    Ответ написан
  • Объясните какие технологии были применены на сайте Apple Mac Pro?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    У, самому понравилось, в принципе через гугл находится за 5 минут. Но уж коли нашел, то вот - jsfiddle.net/ynKnS/7
    Набор изображений, которые подгружаются по событию + css transform.
    Вот подробное описание https://ihatetomatoes.net/one-page-scroll-with-ani...
    А вот как можно разбить видео на эти самые изображения - https://boagworld.com/reviews/website-animation/

    PS. А вот и подробный разбор самой странички https://ihatetomatoes.net/apple-mac-pro-page-decon...
    PPS. Строка в гугле https://www.google.com/webhp?sourceid=chrome-insta...
    Ответ написан
    Комментировать
  • Как выбрать конфигурацию для системы видеонаблюдения?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов как всегда несколько:
    1) Отдельный NAS/SAN типа Netapp с кучей полок с подключением по smb/nfs/iscsi (простое внедрение, расширяемо, дорого, вендорозависимо)
    2) Каждый сервер со своим локальным хранилищем на дисках - сервер с 16x4Тб дисков в массиве RAID10 (очень простое внедрение, нерасширяемо, неотказоустойчиво, дешево, неоптимальный расход дисков)
    3) Строить самому хранилище на основе CEPH например (расширяемо, отказоустойчиво, вендоронезависимо, свободно)

    Вот по третьему варианту (CEPH) есть два варианта:
    1) Отдельное хранилище, к которому клиентами подключаются сервера, аналог первого варианта.
    Каждый сервер хранилища будет иметь: 16х4Тб дисков SATA, 64Гб RAM, два порта 10Гб и/или 40Гб infiniband (по стоимости одно и тоже), процессор любой ксеон.
    2) Совмещенное хранилище, каждый сервер хранилища дополнительно запускает виртуалку(ки) с trassir. Конфигурацию каждого сервера увеличиваем на более производительный процессор на 8 ядер и добавляем памяти для трассира.
    Типа: 2x Xeon 2680v2, 96Gb RAM, 16х 4Tb SATA.
    В этом случае виртуалки могут мигрировать туда-сюда с сервера на сервер абсолютно безболезненно, прикручиваете дополнительно pacemaker и будет полный HA с аптаймом пять девяток!

    У нас CEPH держит сейчас 118 терабайт, полет нормальный. Клиенты и виртуалки (KVM) и NFS/SMB.
    Ответ написан
  • Удаленое управление компьютером. Что почитать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А если сервер настоящий, то наверняка имеет BMC с ip-kvm на борту, ну а так ssh или vnc.
    Ответ написан
    Комментировать
  • Собственное облачное хранилище на linux-сервере?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А ещё ceph не забудьте.
    Ответ написан
    Комментировать
  • Как выйти в режим программирования вне ос без помощи дополнительных программ(ассемблер), используя лишь машинные инструкции?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    С точки зрения железа, процессор при подаче напряжения считывает первую инструкцию из адреса, выставленного на адресной шине. Эта инструкция и есть битовое представление ассемблерной инструкции. Первый адрес на шине обычно выставляется для обращения во flash/rom, далее уже сама программа, зашитая туда, инициализирует сам процессор, память, регистры и периферию, эта программа называется БИОС.Так работают все биосы. Раньше в биос прошивался интерпретатор языка бейсик, теперь его туда не встраивают.
    Ассемблер кодирует символьное представление инструкций в битовое, на входе текстовый файл, на выходе бинарный. Для записи инструкций непосредственно в память есть специальный механизм, реализуется аппаратно и называется JTAG, через него можно с другого компьютера писать бинарно непосредственно в память целевого компьютера.
    Для тренировки в ассемблере( а без него НИКУДА, так как это символьное представление самих инструкций) рекомендую или простые отладочные комплекты типа arduino/stm32 или простую виртуальную машину, где можно подгружать свой биос из файла.
    Ответ написан
    Комментировать
  • Как/чем аггрегировать большие объемы данных (а в реалтайме?)?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А что значит "реалтайм агрегация"? Мы же не можем в реальном времени агрегировать по непонятным условиям... Если хоть какие-то параметры имеются, то можно использовать хранилища key/value типа redis или mongo. А если нужны отчеты в виде графиков, то настоятельно рекомендую посмотреть в сторону graphite. Ну и как минимум можно агрегацию кластеризовать методом map/reduce.
    Ответ написан
    Комментировать
  • Как спроектировать сеть?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ха, всё достаточно просто. Единственное - я не вижу в наборе юного администратора простенького коммутатора. Но не беда, бежим в магазин за dlink des-1016 ( 16 портов за ~3000 рублей) или des 1008 (8 портов за ~1500 рублей), они как раз поддерживают vlan, а это нам хорошо.

    Теперь делаем так:
    1) internet -> ADSL -> (eth0) Linux (eth1) -> switch
    2) switch (VLAN 1) - > клиенты офиса
    3) switch (VLAN 2) - > гости

    На линуксе:
    - поднимаем cамбу и две сетевые шары
    - два виртуальных интерфейса под два вилана на eth1
    - DCHP + BIND (или dnsmasq как простая замена)
    - делаем маскарад на eth0

    На коммутаторе делаем два вилана, на порты одного подключаем офис, на порты второго - гостей.

    Миссион комплете.

    PS. Можно конечно и без виланов обойтись, а авторизовать в сети по запросу через разрешение iptables по web-страничке, но дешевле купить коммутатор.
    Ну а так, вот готовы captive portal для авторизации - www.andybev.com/index.php/Using_iptables_and_PHP_t...
    Ответ написан
    Комментировать
  • Широковещательный шторм. Как победить?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Подозреваю, что видеосервер вещает мультикастом, а вы протокол igmp на коммутаторах не настроили, в частности опции igmp-snooping. В результате мультикаст от сервера получают абсолютно все (от принтера до ip-телефона), а не те, кто подписан на рассылку. Заменой сетевых карт тут не помочь, только настройкой коммутаторов!!! ( это я как разработчик видеотрансляций мультикастов говорю)
    Ответ написан
    Комментировать
  • Как грамотно сохранять множество в питоне при выходе из программы?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Самый простой путь - pickle. Единственный недостаток, плохая совместимость между версиями питона, это когда сохранились в одной версии, а восстанавливаем в другой.

    import pickle
    
    a=[]
    fp = open("afile.bin")
    pickle.dump(a,fp) #сохранить
    a=pickle.load(fp) #восстановить
    Ответ написан
    Комментировать
  • Как сделать дублирование вывода в файл?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ух ты! Новый вызов однако. Не знал... Вот и описание с примером man7.org/linux/man-pages/man2/tee.2.html
    Мы в своё время извращались с копированием вручную в 2.4.xx ядрах :-)
    Ответ написан
  • Как быстро делать backup?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Положить файлы базы данных на файловую систему со снапшотами, например btrfs или на lvm+ext3/4. Далее останавливаем базу, создаем снапшот, поднимаем базу, на всё около 5 секунд. После этого монтируем снапшот и спокойно бекапим сами файлы хоть 10 часов, по окончании процесса, удаляем снапшот. И, собственно, все равно, какой у вас тип таблиц.
    Вот нашел аналогичное - habrahabr.ru/post/63394
    Ответ написан
    Комментировать
  • На виртуальной машине подмонтировать 500 одинаковых файловых систем или раскопировать?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А мы ceph + rbd используем на kvm + libvirt. Один раз сделал снапшот девайса с установленной системой, а уже от него уже остальные диски растут на каждую виртуалку.
    Тут и нагрузка самим сефом регулируется и нет единой точки отказа и лишних данных не плодим и бекапы в виде снапшотов имеем и откат можно сделать мгновенный и миграция прозрачная.
    Рекомендую!
    Ответ написан
    Комментировать
  • Что необходимо знать для написания чата на С++?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Забудьте про сокеты, используйте нормальные очереди сообщений типа zeromq zeromq.org или rabbitmq www.rabbitmq.com
    Это и проще и убережет от лишних велосипедов и ошибок.
    Только скачать библиотеку для работы на c++
    Ответ написан
  • Как настроить интеграцию c email (выгрузка и загрузка данных) на Java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, первое, нужен простой почтовик типа exim/postfix.
    1) На приход писем:
    В почтовике делаем алиас на pipe, который запускает программу и передает ей полный текст сообщения. Алиас естественно принадлежит ящику-получателю.
    В экзиме это делается так
    www.exim.org/exim-html-current/doc/html/spec_html/...
    Программа считывает письмо или со стандартного ввода/вывода или берет из файла, здесь как настроишь. Программа может быть написана и на яве, которая коннектится к приложению и пушит туда почту!

    2) На отправку писем из приложения - используем jakarta.commons.email, просто удобно и доступно - commons.apache.org/proper/commons-email/userguide.html

    PS. И да, в почтовике можно сделать редирект на пайп хоть по части адреса mycoollist-XXXXX, хоть по телу письма или заголовка "[thread-d-XXXXXXX]", как почтовик настроите, так и будет.
    Ответ написан
  • Как организовать несколько VPS на одном реальном сервере?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    KVM - набор виртуалок будет - https://wiki.debian.org/KVM
    Docker - набор контейнеров будет - https://wiki.debian.org/Docker
    LXC - набор контейнеров для мазохистов - https://wiki.debian.org/LXC
    Ах, ну да, еще XEN - набор виртуалок будет - https://wiki.debian.org/Xen
    Ну как-то так...
    Ответ написан
    2 комментария
  • Как обратиться к памяти pci устройства при написании драйвера под Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Тут важно знать, как на PCI эта плата видна. Есть ли DMA, или только регистры PCI?
    Объяснять достаточно долго, лучше прочитать, а если что непонятно, задавать более конкретные вопросы.
    Общее:
    - найти устройство pci_get_device()
    - установить регистры PCI, включить устройство
    - установить обработчик прерывания
    - отмапировать DMA и регистры
    - далее, работаем обычно через обработку прерывания, реализацию IOCTL или через дескриптор устройства. (по поводу реализации своих ioctl, лучше сначала посмотреть ен подходит ли чего из существующего)

    Документация по работе с PCI из драйвера - https://www.kernel.org/doc/Documentation/PCI/pci.txt
    Очень хорошее объяснение работы PCI - www.tldp.org/LDP/tlk/dd/pci.html
    Да и вообще обязательно прочитать эту книгу полностью - www.tldp.org/LDP/tlk

    Разрабатывать быстро драйверы можно начать с Померанца (но там нет PCI, а только примеры реализации драйверов) www.tldp.org/LDP/lkmpg/2.6/html/index.html

    В любом случае в помощь lspci, документация в самом ядре и конечно же исходники драйверов и то, что рекомендовал.

    PS. И да, это не так сложно, как у меня написано! Простой PCI-драйвер строк в 100-150!!!!
    Ответ написан
    Комментировать