• Как быстро развернуть сервер php, mysql, phpmyadmin, apache, nginx?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Еще один вариант, webmin.
    Ответ написан
    Комментировать
  • Какие эксэпшены использовать?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Если класс не делает ничего критически важного в программе то можно и нужно обрабатывать все исключения внутри этого класса. Если же класс выполняет какие то критические действия то вероятнее всего обрабатывать исклюения внутри класса может быть очень опасно и лучше их ловить уровнем выше.
    Не критичный пример: класс рисует картинку на экран, если пара пикселей будет каким либо образом при обработке null и ты перехватишь это исключение заменив ошибочный пиксель белым то ничего криминального не случится. А вот если ты будешь ловить исключение уровнем выше то будет много лишнего гемороя и кода.
    Критичный пример: класс работает с базой данных в который хранятся данные о людях, происходит ошибка, скажем, с доступом к бд, ты поймал исключения внутри самого класса и вместо того чтобы вернуть, например, "Иванова А.П.", у тебя случилось исключение и ты вместо того чтобы выкинуть исключение вверх прикидываешься шлангом и возвращаешь что таких нет. Код где то дальше видя что все нормально и "Иванова А.П." нет в базе спокойно создает там нового(соединение с бд могло восстановиться к этому моменту) вместо того чтобы обновить запись. Т.е. в такой ситуации обрабатывать исключения внутри класса просто неправильно в большинстве случаев т.к. железо бетонно его надо обрабатывать выше и в случае ошибки обращения к бд отвалиться и пробовать все снова.
    Ответ написан
    Комментировать
  • Как перенаправление HTTP/HTTPS траффика с эмулятора андроид на прокси сервер??

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    На реальном девайсе пользуюсь ProxyDroid чтобы пихать весь трафик на прокси, работает идеально даже с ntlm авторизацией.
    У эмулятора есть своя поддержка прокси
    -http-proxy http://<server>:<port>
    Ответ написан
  • Есть ли простейшая библиотека на Java для БД?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Самое простое это ormlite. Полностью избавляет от необходимости ручками писать запросы и работает с кучей разных бд.
    Ответ написан
    Комментировать
  • Есть GUI для редактирвония вордовских док файлов которое можно встроить в Java web приложение?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Это было бы слишком хорошо. Или писать самому или пробовать подключать onlyoffice или гуглодоки. Но в любом случае легкого варианта не будет и наверное проще написать свой вариант интерфейса с минимумом необходимого функционала взяв за основу docx4j.
    Ответ написан
    Комментировать
  • Есть ли апи едитор для вордовских доков который можно встроить в веб приложение?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Пользовался в дикой молодости www.docx4java.org/trac/docx4j
    Даже остался институтский проект который какраз делает то что вы сейчас делаете https://github.com/Jamakasi/ServletDocumentWorker
    За код не пинать, был студентом и только изучал jav'у.
    Ответ написан
  • Как заставить адаптер брать данные из ArrayList в обратном порядке?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Отнаследоваться от ArrayList и переопределить метод get? Или добавить новый метод getReverse ? Не совсем уловил проблему Вашу, сложность в том что нельзя менять ArrayList или адаптер?
    Ответ написан
    Комментировать
  • Программирование для Android на С/С++?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Android NDK очень плохо документирован. Надо брать в расчет что процессоры разные (armeabi armeabi-v7a x86) и есть небольшие расхождения (небольшая информация тут). Так же необходимо учесть что нормально писать и компилить NDK лучше на линуксах. Так же стоит учитывать что NDK богатством функционала тоже разнится от версии к версии, так же это зависит и от конкретного девайса(производители очень любят залезть в ядро и стандартные либы и переиначивать их). Без JAV'ы совсем не получится, хотя бы минимально она будет. С GUI тоже все печально, нужна java или NativeActivity который опять же труба через JNI.
    В общем литературы по NDK катастрофически мало, сюрпризов очень много, без java кода максимум можно сделать что то консольное, что в чем то даже удобно.
    Мельком глянул сейчас, вроде бы появились фреймворки с нативными UI для NDK, к примеру juce.com.
    Ответ написан
  • Как ввести в домен сервер Centos 7?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    В центос и дебиане ввод в домен это попаболь. Лучше всего дела у suse с доменами.
    Ответ написан
    8 комментариев
  • Как реализовать обратную совместимость пользовательских данных в программе?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Если формат данных только дополняется то решение элементарное. Скажем у вас в проекте есть 2 класса реализующих чтение и сохранение данных. С каждой версией у вас просто появляются новые данные и старые точно не меняются. Добавляете(если не сделали уже) в каждом файле номер версии. В программе с каждым нововведением просто делаете еще пару классов чтения\записи под новую версию. Потом просто при открытие файла смотреть версию и использовать нужный класс для чтения.

    Другой вариант более тупой, поправить класс чтения\записи так чтобы он игнорировал неизвестные ему данные. Т.е. если вы откроете в старой версии программы файл от более новой версии то он просто проигнорирует неизвестные ему данные.

    На практике видел реализацию очень интересную. Там было очень хитро устроено чтение. Правда проект на яве был.
    Был класс чтения\записи файла, псевдокод:
    class CReader{
    public CReader(URL file);
    void readData(){
       someStructs;
    }
    void writeData(){
       someStructs;
    }
    ... другие методы
    }

    То была первая версия программы, потом выходит новая версия в которой появились некие новые данные и структуры но старые не изменялись. Псевдокод:
    class CReader1 extends CReader{
    @Override
    void readData(){
       super(); //Выполнить родительский метод
       someNewStructs;
    }
    @Override
    void writeData(){
       super(); //Выполнить родительский метод
       someNewStructs;
    }
    }

    Т.е. принцип такой что в конечном счете все новые данные которые вводятся с новой версией программы всегда пишутся в конце файла. Файл прекрасно открывается в старых версиях программы и без каких либо ошибок, просто если проект хотят сохранить в старой версии и присутствуют данные которых не было в старых версиях то выводится предупреждение при сохранении файла о частичной потере информации. Решение до глупости простое и в тоже время гениальное.
    Ответ написан
    Комментировать
  • Одинаковые куски кода в разных классах допустимо или нубство?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Сильно рекомендую почитать "Паттерны проектирования" (O'relly Эрик и Элизабет Фриман), очень много подобных вопросов исчезнет сразу и писать будет намного проще.
    Для Вашей ситуации предусмотрены абстрактные классы. К примеру:
    public abstract class MyClass{
    //Ваши общие методы реализованны тут
    // Подсчет тока по каждому двигателю
        private float getCurrent(int engine){
            float phasesA = calculatePhaseForEngine(0, MassCurrentsPhases, engine);
            float phasesB = calculatePhaseForEngine(1, MassCurrentsPhases, engine);
            float phasesC = calculatePhaseForEngine(2, MassCurrentsPhases, engine);
    
            return (phasesA + phasesB + phasesC) / 3;
        }
        // Подсчетываем ток по выбраному двигателю
        private static float calculatePhaseForEngine(int i, float[] MassCurrentsPhases, int currentEng) {
            return MassCurrentsPhases[3 * currentEng + i];
        }
    public abstract void doSomething(); //Такие методы наследники будут обязаны реализовать
    }

    Дальше наследуетесь от абстрактного класса и реализуете методы которые отличаются логикой. Кода становится меньше, читается и понимается лучше и накосячить уже сложнее т.к. общие методы гарантировано у всех одинаковые.
    Ответ написан
    Комментировать
  • Передача callback'a методу в качестве параметра, нормальная практика или костыль?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    А что конкретно вы хотите получить или сделать callback'ом? Передать ссылку на некий объект и выполнить некую логику или же просто вернуть обратно ответ с учетом переданных данных?
    Или передать некий волшебный метод которым воспользуется тот кто его принял?
    Ответ написан
    Комментировать
  • Как оформить дополнительный интернет-канал в linux?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Столкнулся со схожими проблемами, долго бился с wrt , потом колдовал собственными костылями. В конечном счете плюнул и купил микротиковский роутер. Убил сразу кучу зайцев. Во первых внутри роутеров микротика можно поднимать виртуалки с wrt прошивками, во вторых роутер работает просто как часы, в третьих запитал по poe от роутера 2 ip телефона и wifi в другой комнате. Сам роутер посадил на ибп и теперь проблем с доступностью вообще не бывает, все в своих vlan'ах, скорость даже с кучей торрентов не падает, все легко настраивается и вообще был первый опыт общения с оборудованием микротика и сказать что я доволен это ничего не сказать, хотя так же работал с цисками и кучей разных дешевых комутаторов\свичей и роутеров.
    В общем почитай по этой теме я сильно уверен что RouterOS или маршрутизаторы\роутеры микротиковские больше всего под задачи доступности подойдут.
    Ответ написан
    2 комментария
  • Можно ли использовать ноутбук в качестве второго монитора?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Не тревиальное решение задачи.
    1)Купить внешнюю карту захвата(многие прикидываются монитором).
    2)Подключить карту к ноутбуку
    3)HDMI подцепить комп к карте
    4)Запустить трансляцию картинки
    Ответ написан
    Комментировать
  • Какой антивирус лучше по цене\тормоза?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Предполагается, что пользователь не тупой и проблем с передергиванием не имеет.

    1) Настроить адекватно фаирвол на роутере или компе. (заблочит возможную левую активность левых программ)
    2) Прописать стронние днс сервера типа яндекс днс на роутере или компе. (Поблочит львиную долю опасных сайтов)
    3) В браузере поставить блокировщик рекламы, к примеру адблок.
    4) На компе ставим AnVir Task Manager. (видно подозрительные процессы, вероятный уровень их риска и самое главное он полностью контролирует автозагрузку и спрашивает разрешить новой проге туда записаться или нет)
    5) Любой бесплатный антивирус по вкусу, авира, аваст и т.д. Но этот пункт вообще необязателен если предыдущие 4 пункта выполнены и у человека есть хотябы минимальная способности читать и немного осознавать что происходит на экране. Кстати как дополнительная мера по защите компа это создание отдельного гостевого пользователя в системе без админских прав но это подходит в большинстве случаев тем кто тупо сидит в интернете.

    Итого, никакой лишней нагрузки на железо компа нет, безопасность довольно сильно выросла.
    Ответ написан
    1 комментарий
  • Что конкретно делает Касперский, чтобы защитить кражу личных данных?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) защита от кражи личных данных
    2) защита интернет-платежей

    Сильно сомневаюсь в том что там что то ультра крутое реализовано у них. Вероятно сетевой фильтр тупо проверяет сертификат сайта платежного. Но эту же саму функцию прекрасно выполняют все браузеры предупреждая о левом сертификате или его ненадежности.
    В общем обычный маркетинг.
    Ответ написан
    Комментировать
  • Как разобраться с памятью в java?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    2.Есть ли способы более экономично с памятью работать?

    - Как и советовали отказаться от явы.
    - Накинуть еще оперативки
    - Оптимизировать код(не говнокодить)
    - Кластеры?
    - Вынести часть логики в native
    - Вынести данные в бд?
    - Переписать более оптимизированно используемую либу?
    Ответ написан
    Комментировать
  • Телефон+планшет+ноутбук в работе ИТ?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Не совсем понятна ваша цель. Подскажу как обычный смартфон на ведре может помочь сис. админу или смежным профессиям.
    Реально чем пользовался и иногда пользуюсь до сих пор:
    1) DriveDroid ,смарт прикидывается сд\двд приводом, монтируются любые iso\img образы. Идеальная замена почившему Zalman ve200se. Так же очень годно собрать свой образ с нужным софтом для лайв сд.
    2) Раздача инета по WiFI и\или через виртуальную сетевую карту. Есть штатно в андроиде.
    3) Terminal Emulator for Android + Hacker's Keyboard эта связочка просто полезна во многих ситуациях.
    4) Spirit Level, тоже часто использую, строительный уровень. После калибровки с реальным уровнем полностью заменяет реальный.
    5) Wifi Analyser незаменим для любых работ с WiFi.
    6) ElectroDroidудобная штука как памятка о электронных компонентах и распиновках разъемов.
    Есть еще пара утилит но они слишком специфичны. Про клиенты telnet\ssh вообще молчу.
    Ответ написан
    Комментировать
  • Какие возможности у CryNetwork (тот что идет с CryEngine 5)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    А что Вы хотите узнать от движка которому 3 дня от роду?)
    Ответ написан