Задать вопрос
  • Что есть Объект в java?

    @zelan
    Кратко обо мне не получится.
    Есть класс Paths, в нем есть статический метод, который возвращает новый объект Path. Ссылки на объект Paths у нас в этом случае нет, так как мы не создавали его экземпляр. Через конструкцию Paths.get("C:\test.txt"); мы обращаемся к статическому методу, который доступен без создания экземпляров объектов.
    Почитай про статические методы и вообще про ключевое слово static.

    Вот примерный код этого метода.
    public static Path get(String path){
      //создаем ссылку на объект Path
      Path pathObj = new Path();
      //проводим манипуляции по настройке и инициализации
      pathObj.setPath(path);
      //тут может быть куча проверок
      //куча других процедур
    
      //а после всех подготовок и проверок возвращаем ссылку на ранее созданный объект
      return pathObj;
    }
    Ответ написан
    1 комментарий
  • Есть ли java библиотека (графическая библиотека)?

    @mvsavkin
    Swing, JavaFX
    Ответ написан
    Комментировать
  • Заблокировать доступ с помощью iptables страны, xtables не работает, что делать?

    Frankenstine
    @Frankenstine
    Сисадмин
    Consult the make.log in the build directory
    /var/lib/dkms/xtables-addons/2.3/build/ for more information.

    Вам было сказано, где почитать каких dev-пакетов у вас не хватает для сборки ядерного модуля, но вы решили не смотреть туда :)
    Ответ написан
    2 комментария
  • Cron каждые 245 минут?

    Ответ написан
    Комментировать
  • Iptables redirect eth0 to eth1, как проверить работоспособность?

    @Baton34
    Надо превратить комп с дебианом в роутер:
    sysctl net.ipv4.ip_forward=1 # Разрешаем шлюзу передавать транзитный трафик
    iptables -F FORWARD # На всякий случай очистим цепочку FORWARD
    # Разрешаем проходить пакетам по уже установленным соединениям
    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    # Разрешаем исходящие соединения из локальной сети к интернет-хостам
    iptables -A FORWARD -m conntrack --ctstate NEW -i eth1 -j ACCEPT
    iptables -P FORWARD DROP # Весь остальной транзитный трафик — запрещаем.
    iptables -t nat -F POSTROUTING # На всякий случай очистим цепочку POSTROUTING таблицы nat
    # Маскарадим весь трафик, идущий через eth0
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    Почитай учебник по iptables

    #вот тут есть вопрос: я запрещаю все локальные исходящие пакеты с eth0, но с eth1->eth0 - будет считаться ?
    iptables -A OUTPUT -o etho -j DROP
    Этим правилом отрубишь выход в инет с самого дебиан-роутера, т.к. пакет сначала проходит output а потом уже postrouting. Вот схема наглядная: Netfilter-tables.jpg
    Ответ написан
    5 комментариев
  • Какой дистрибутив Debian устанавливать: AMD64 или x86?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    ставьте 32-х разрядную систему, она вместе с приложениями где-то на ~20% будет меньше кушать оперативки, что уменьшит взаимодействие со свопом который в свою очередь замедляет систему.
    а профита от 64бит вы не получите, ну разве что в специфических приложениях, для комфортной работы с которыми вам всё равно понадобится комп помощнее.

    п.с.
    о 64-разрядной стоит задумываться когда ОЗУ 4+ гига
    Ответ написан
    3 комментария
  • Почему в php и java получаются разные md5?

    @bizon2000
    Java-программист
    Вот здесь: utf8_string.getBytes() не задана явно кодировка UTF-8, поэтому используется дефолтная кодировка платформы. Если нужно, чтобы PHP-скрипт выдавал такую же сумму, как java, задайте в нем соответствующую вашей платформе кодировку, в вашем случае это "ISO-8859-1"
    Ответ написан
    2 комментария
  • Нужен ли такой процессор программисту???

    Программист в состоянии сам решить, какой процессор ему нужен.
    Ответ написан
    Комментировать
  • Считается ли хорошим подходом создавать исключения в Java?

    @aol-nnov
    иди дальше!
    throw new BoxNotFoundException
    throw BoxAlreadyScannedException

    :)
    Ответ написан
    4 комментария
  • Для каких задач Java лучше подходит, чем С++?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Правда ли, что зная С++ можно быстро перейти на любой ооп язык?


    Относительно быстро, да. В принципе C++ должен дать вам неплохой фундамент.

    Читал, что С++ имеет больше в сравнении с java рычагов управления памятью.


    В Java код выполняется через JVM, со сборщиками мусора и т.д. То есть получить там seg fault или утечку памяти банально сложнее. Это налагает определенный оверхэд, хотя JIT компиляторы генерируют неплохой и довольно эффективный код, так что если брать среднего девелопера на C++ и среднего девелопера на Java - у последнего просто расход на память будет сильно больше, но в целом же в большинстве случаев особой разницы в производительности вы не увидите. Да и не сильно это важно с учетом скорости разработки (что важнее обычно).
    Ответ написан
    2 комментария
  • Какие есть специализации у Java программиста?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Ну, в общем их не так много:
    * Веб. Java EE, сервлеты, портлеты, JSF, JSP, Spring, hibernate, вот это всё...
    * Десктопная. Консольные и оконные приложения, Swing, JavaFX, что там ещё модно?
    * Мобильная (Android, про JavaME не вспоминаем). Моя любимая. Читать здесь.

    Вроде ничего не забыл, но может кто дополнит. Ах да, вот - внутри сим-карты есть JVM, там тоже Java код выполняется, и кто-то его пишет :)
    Ответ написан
  • Теряется ли информация папки home ubuntu при переустановке?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Судя по вопросу, я бы на вашем месте скопировал куда нибудь данные и переустонавливал систему когда ваши данные будут подальше это этого компа :)
    Ответ написан
    Комментировать
  • Скажите что это так нагружает мой сервер?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    mysql...
    Ответ написан
    Комментировать
  • Объясните что не так сделал?

    @antonsr98
    Системный Администратор
    поставьте build-essential и g++
    Ответ написан
    4 комментария
  • Какого рода можно предоставлять услуги клиентам?

    @crazyhat
    Web разработчик
    Скоро вопросы пойдут, типа: нас 3-ое; 2 верстальщика и программист. Помогите найти клиентов.
    Ответ написан
    2 комментария
  • Почему не работает @Autowired?

    @aol-nnov
    @Autowired
    private UserService service;


    ведь вся прелесть DI в том, что ты не указываешь, с какой конкретной имплементацией связывать..

    И там же явно сказано в конце этой нескончаемой портянки:
    Can not set com.springapp.mvc.DAO.UserDaoImpl field com.springapp.mvc.Service.UserServiceImpl.userDaoImpl to com.sun.proxy.$Proxy37
    Ответ написан
    6 комментариев
  • Слова, глаголы и выражения на ангийском для IT сферы?

    @Alexey_Kutepov
    Разработчик программного обеспечения
    На случай важных переговоров:
    F*ck! – Чёрт подери!
    F*ck it! – К чёрту! Не надо! Забей! Не обращай внимания!
    F*ck it! – Проклятье! (Выражение испуга или удивления)
    F*ck [something] – К чёрту [нечто]! F*ck this place!
    F*ck it all! – К чёрту всё! Или вот так: F*ck them all! – Пошли они все!
    F*ck the world! – Провались всё!
    I don’t give a f*ck! – Мне плевать!
    Who gives a f*ck? – А кого это волнует?
    F*ck you! – Пошёл ты!
    F*ck me! – Вот это да!
    F*ck away! – Проваливай!
    What the f*ck! – Какого чёрта!
    f*ck about – распутничать, выпендриваться
    f*ck somebody about – игнорировать кого-либо
    f*ck around – заниматься ерундой, распыляться, раздолбайничать.
    f*ck somebody around - дурачить кого-либо или плохо обходиться
    f*ck off – отстать, свалить. F*ck off!
    f*ck off – лентяйничать или лентяй
    f*ck somebody off – раздражать или утомлять кого-либо
    f*ck over – поступать нечестно
    f*ck somebody over – обманывать, использовать человека
    f*cked out – уставший, старый, негодный
    f*ck up – потерпеть неудачу, провалить, испортить…
    f*ck up somebody (f*ck somebody up) – навредить или огорчить кого-либо.
    be f*cked up – быть испорченным, обеспокоенным или обдолбанным.
    f*ck somebody down – подвести, подставить. You f*cked me down!
    f*ck somebody’s mind – полоскать кому-то мозг
    get f*cked – быть обманутым. I got f*cked by that asshole
    f*ck somebody – не только «заняться любовью», но и «обмануть».
    f*ck with somebody – дразнить, раздражать, вмешиваться
    motherf*cker – сукин сын
    Ответ написан
    2 комментария
  • Стоит ли использовать RSA?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    И да и нет одновременно.

    (обновлено, ибо внезапно прочитал и половину не понял - видимо писал на "потоке")
    RSA стоит использовать лишь для шифрования других ключей - ключей симметричных алгоритмов шифрования. AES, ГОСТ 28147-89, 3DES и другие. Почему? Во-первых, симметричные алгоритмы более устойчивы к взлому при большом известном закрытом тексте, тогда как ассиметричное шифрование потенциально имеет изъяны. В том смысле, что (почти) любое ассиметричное шифрование использует задачу NP-класса (точнее - NP-полную задачу): факторизация числа (RSA), декодирование полных (общих) линейных кодов (McEliece), вычисление дискретного логарифма на элептической кривой (ГОСТ Р 34.10-2012), или в конечном поле (Elgamal). Другое дело, что любая эта задача потенциально - решаемая. В случае с симметричным шифрованием действительно стоит лишь надеяться на чудо (в ГОСТе разрешено выбирать любые s-блоки, так что криптоаналитику ничего не остаётся, как молиться пролетариату в надежде на терморектальный криптоанализ). В случае же с ассиметричным шифром в дело вступают две вещи - высокая сложность реализации действительно стойкого алгоритма (ассиметричные шифры очень сложны и полны нюансов, не учитывая которые можно запросто порушить систему), низкая скорость работы (в силу того, что приходиться использовать очень абстрактные математические функции, сложно реализуемые аппаратно и таящие в себе множество низкоуровневых операций) при требовании к очень длинным ключам заставляют использовать небольшие ключи для того, чтобы не ждать вечность.

    Однако. Здесь имеется странный парадокс. Если данные очень важные и на их защиту можно убить несколько миллионов енотов, то надо использовать только ассиметричный шифр. Потому что, он потенциально даёт большую стойкость. Парадокс здесь в том, что если классы P и NP неравны, то мы получаем едва ли не идеальную и приемлемую по стоимости защиту, так как есть возможность сложной организационной защиты.
    (здесь было многое отправлено в топку)

    Окай, посмотрим на стандартную схему с Алисой, Бобом и Евой:
    Алиса -> c = E(m, Eb) -> -------- -> D(c, Db) -> Боб (
                                     |
                                     |
                                     v
                         Ева <- c, E, D, d

    здесь m - текст, который надо передать (сообщение)
    c - шифротекст
    E - функция шифрования (получения из сообщения шифротекста)
    D - функция дешифрования, иначе - обратная функция шифрования (получения из шифротекста - сообщения)
    Eb, Db - секретный и открытый ключи Боба (в литературе используется различное обозначение, здесь так)
    Собственно, Ева знает всё о функциях шифрования и дешифрования, имеет доступ к шифротексту и будем считать, что она получает и открытый ключ.

    Теперь, что нам это даёт? А это нам даёт возможность наплодить большое количество ключей и шифровать каждое сообщение отдельным ключём. Потенциально, но если есть $$$, то можно скупить половину серверов страны, если не планеты и радоваться жизни. Хотя ровно так же можно поступить и с симметричным шифрованием, и называется это одноразовым блокнотом, используют и различные режимы шифрования и всё равно выходит профитнее. Где же профит здесь?
    Во-первых, если нужно передавать по каналу, а не хранить, то можно генерировать ключи налету и после расшифровки их уничтожать. По сути, получиться что для того, чтобы получить сообщение длины l бобу потребуется передать и ключей в общей сумме длины l. Много? Да. Профитно? Очень - ибо мы реализуем
    ассиметричный одноразовый блокнот (упс), который, однако, нет никакого смысла использовать нет - слишком дорого. Да и не всегда возможно - порой обратный канал чрезвычайно узкий.
    Во-вторых, есть способ организовать защиту, основанную на иерархии пользователей. То есть майор Алиса написала отчёт, который ей надо отправить подполковнику Бобу. При этом читать этот отчёт должны иметь право все, кто равен или выше подполковника.
    В-третьих, как писалось выше, сложность взлома достаточно велика. И не только потому, что P != NP. Даже P довольно большое получается, поэтому и используют асимметричный шифр для передачи ключей симметричных ключей. Но и взлом получается очень не простым из-за тяжёлых математических абстракций. Обычно. Да, RSA можно "взломать" перебрав все возможные делители, но это долго из-за астрономического размера ключа. А способы обхода или упрощения опираются на такой зубодробительный матан, что попытка как-то это реализовать заставит использовать сами по себе очень тяжёлые операции. Так это при работе с банальными числами (и это показывает, насколько плохо развита теория чисел), а что если уйти на эллиптическую кривую - аналитическая геометрия развита может чуть лучше, но абстракции намного тяжелее для компьютеров. И даже использование графических карт не помогает, ведь есть ещё и макэлис. Я к тому, что O(2^32) для симметричного шифра и O(2^32) для асимметричного шифра не очень таки равны. Так же не равны, как не равны день и месяц.

    Но самое главное. Сегодня всё что угодно можно взломать. А то, что нельзя взломать - бесполезно (ибо либо уничтожено полностью, либо предоставляет такие же непосильные сложности для расшифровки и получателю). Во-первых, атака может быть не на сами шифры, а на организационные методы (которые, можно улучшить применением асимметричного шифра). Во-вторых, некоторые шифры таки имеют изъяны, просто возможно о них знают ограниченный круг лиц; привет масонам. И, наконец, криптоаналитик может быть просто ну очень удачлив.

    Поэтому шифрование надо использовать соразмерно цене риска. Чем выше риск - тем сильнее шифрование, но самое главное - сложнее и дисциплинированнее организационные меры. Согласитесь - бесполезно иметь централизованное хранилище сертификатов с одним сервером в бункере за 200 км под землей и круглосуточной охраной из армии маленькой страны, всего лишь одним портом торчащим во внешний мир с каналом около 200 бит в секунду и постоянным наблюдением за организационными методами (авторизация, доступ и подобной)... Имея пароль на суперюзер - qwerty, и держа на винчестере архив с котиками.
    Ответ написан
    Комментировать