Задать вопрос
  • Как зайти на сайт через ipv6 при условии, что он его поддерживает?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    1) проверить, что на клиентской стороне это v6 работает ipv6.google.com
    2) есть куча калькуляторов ip непример ipcalc
    3)обычно выдают подсеть как минимум 64. А проверить диапазон см п 2
    4 ) если нет п 1, то настроить какой нтбудь туннель типа toredo
    Ответ написан
    2 комментария
  • Как на C++ дергать логи из syslog?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Проблема с логами, что они не специфицированы, от слова - совсем. Формат файлов логов разный в зависимости от системы логирования, syslog делает одно, rsyslog делает второе, апач- третье, и т.д. причем еще есть ротация этих логов, которая запускается по крону (обычно).
    Так что боюсь, парсер логов придется писать самому, либо поискать готовую библиотеку на c/c++. На ум библиотек не приходит, но есть программы-собиратели логов типа logstash, которые могут преобразовывать логи к какому-то единому знаменателю и кидать например в базу данных. Так вот из базы данных логи легче всего выдернуть, тем более на C.
    Ответ написан
    3 комментария
  • Почему синтаксическая ошибка?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Скобочки посчитайте в строке с курсором и выше!
    Ответ написан
    Комментировать
  • MacBook Air 2010 для новичка mac?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Нет, полноценно работать не сможете! Либо ставить совсем старую OSX, но будут проблемы с сертификатами. Либо не брать. Да и дорого за такую машинку - в два раза цену скинуть и годится.

    Этот мак используется как печатная машинка, если только систему не урезали по самое "не могу". Но нужно ли себе портить впечатление?
    Ответ написан
    1 комментарий
  • Как реализовать OAuth2 сервер на своем веб-сервере?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть несколько библиотек, начиная от apache shiro и заканчивая scribejava. Можно огласить и весь список - https://oauth.net/code/java/
    А уж как прикрутить конкретную либу к вашему приложению - не скажу, код глядеть нужно. Но рекомендую scribejava или Apache Shiro. последняя посложнее, так как работает через Pac4j
    Ответ написан
    Комментировать
  • Что является сервером приложений?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Не знаю, почему все ругаются на диаграмму. Вполне традиционная. Просто сервера приложений обычно предоставляют кучу "коннекторов", одним из них может являться и http.

    В вашем случае tomcat + spring являются и web-сервером и сервером приложений. Или если сказать по другому. Tomcat - контейнер для web-приложений, а spring - приложение для web. Томсат - web-сервер, Spring - web-приложение. В один Tomcat можно упихнуть десятка три-четыре web-приложений на Spring.
    Ответ написан
    6 комментариев
  • Каковы минимальные требования к "железу" для приложения Tomcat/Pure Servlets/MySQL?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Кот Том отжирает около 20-60 мегов памяти. Мускул - примерно также. (но конечно же есть варианты). Вместо tomcat можно взять Jetty - ест гораздо меньше - мега 2 в минимуме. В принципе, если не делать мемориликов и утечек памяти, то любой хостинг начального уровня на 1 CPU и 512Mb - за глаза, даже с кешированием, гусарами и куртизанками.
    А все остальное: производительность, rps и все остальное - зависит только от вашего приложения, кеширования, архитектуры, работы с базой и данными. Как пример linux.org.ru , сайт с гигантской аудиторией. Вот что они о себе пишут - https://www.linux.org.ru/about (см. Софт и Сервер).
    Ответ написан
    Комментировать
  • Как запретить доступ к только к главной странице сайта в файле host?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Через файл hosts - ниак.
    Ответ написан
    Комментировать
  • Каким оборудованием объединить клиентов в одну сеть по VPN, протокол L2TP (без IPSec)?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    На мой взгляд, намучившись в свое время со всякими VPN, лучшего решения, чем openVPN не найти! Работает и на винде, и на OSX, и на куче роутеров, с фирменными и кастомными прошивками. Сервер со стареньким процессором типа Core i3 держит 100 клиентов спокойно + плюс три виртуалки (телефонию, базу и web-камеры), но это под линукс.

    В микротике и ubiq есть клиент/сервер openvpn точно, ну и во всех линуксовых. Есть и в андроиде :-)

    PS. В данный момент наблюдаю порядка 40-45 клиентов, но они у нас не постоянные, то потухнут, то погаснут.
    Ответ написан
  • Как в Gson добавить кастомный маппер для типа?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Обычно так. Не работает? Тогда по конкретнее бы...
    Gson parser = new Gson(); // create json parser
    Type type = new TypeToken<Map<String, MyData[]>>(){}.getType(); // create custom type
    Map<String, MyData[]> data = parser.fromJson(json, type); // parse data to
    Ответ написан
    Комментировать
  • Как из rtmp получить аудио mp3?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    С помощью исключительно java не знаю. Но есть обертка для gstreamer - https://github.com/gstreamer-java/gst1-java-core. Вот из него-то и можно получить любую дорожку практически из любых контейнеров. Правда, как там дела с поддержкой rtmp (он ведь проприетарный), давно не проверял.
    Плагин есть, но в "ненадежных" - https://gstreamer.freedesktop.org/documentation/rt...

    С gstreamer-java сам работаю... так что пишите, если что...
    Если что - примеры здесь - https://github.com/gstreamer-java/gst1-java-examples
    Ответ написан
    4 комментария
  • Программа виртуализации для MAC?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    1) Есть VmWare Fusion - это как раз VmWare для мака, сам на такой сижу.
    2) VirtualBox тоже есть официальный для мака, причем бесплатный, иногда пользую по работе, но очень редко.
    3) Есть еще Parallels Desktop - перешел с него на пункт 1), так как стали его продавать по подписке, в результате первый дешевле.
    Во всех трех можно установить и линукс, и винду, и даже OSX.
    Ответ написан
    Комментировать
  • Что использовать для оповещений о новых сообщениях по email?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Мне кажется здесь нужна колоночная база данных типа clickhouse, tarantool, hbase или подобных. В ней делаются две таблицы с подписками пользователя и с топиками подписок пользователей. И нужна какая-то шина сообщений типа kafka. Все изменения сыпятся в кафку, из нее подхватываются и по выборке подписчиков из строки топика заносятся в строки соответствующих пользователей. При заходе пользователь считывает свою запись с установленными нотификациями, которые затем и показываются.
    Ответ написан
    Комментировать
  • FTP-клиент под macOS для правки текстовых файлов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вроде бы как atom поддерживает remote-ftp - https://atom.io/packages/remote-ftp
    Eclipse точно поддерживает - плагин Remote System Explorer End-User Runtime
    Idea поддерживает тоже.
    И есть еще такая штука, как jEdit - плагин здесь plugins.jedit.org/plugindoc/FTP

    В вашем случае наверное Atom самое то.
    Но есть еще Emacs (мой фаворит) и Vim, не забывайте!
    Ответ написан
    Комментировать
  • Как правильно задать структуру класса для json объекта?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вот, с помощью Gson все парсится хорошо.

    PS. вместо lombook.Data просто создайте геттеры/сеттеры у внутреннего класса. Мне так удобнее.

    package com.mycompany;
    
    import java.lang.reflect.Type;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    
    public class ReTest {
    	
    	@lombok.Data
    	public static class MyData {
    		private String name;
    		private String lastName;
    	}
    	
    	public static void main(String[] args) {
    		
    		String  json = "{\n" + 
    				"   \"12:30\": [\n" + 
    				"     {\n" + 
    				"         name: \"someName\",\n" + 
    				"         lastName: \"someLastName\"\n" + 
    				"      },\n" + 
    				"      {\n" + 
    				"         name: \"someName2\",\n" + 
    				"         lastName: \"someLastName2\"\n" + 
    				"      }\n" + 
    				"   ],\n" + 
    				"   \"13:15\": [\n" + 
    				"       {\n" + 
    				"         name: \"someName3\",\n" + 
    				"         lastName: \"someLastName3\"\n" + 
    				"      },\n" + 
    				"      {\n" + 
    				"         name: \"someName4\",\n" + 
    				"         lastName: \"someLastName4\"\n" + 
    				"      }\n" + 
    				"   ]\n" + 
    				"}";
    		
    		Gson parser = new Gson(); // create json parser
    		Type type = new TypeToken<Map<String, MyData[]>>(){}.getType(); // create custom type
    		Map<String, MyData[]> data = parser.fromJson(json, type); // parse data to 
     		
    		for( Entry<String, MyData[]> d: data.entrySet()) {
    			System.out.printf("%s\n", d.getKey());
    
    			for(MyData e: d.getValue()) {
    				System.out.printf("       %s\n", e);
    			}
    			System.out.println();
    		}
    	}
    }

    И вывод.
    12:30
           ReTest.MyData(name=someName, lastName=someLastName)
           ReTest.MyData(name=someName2, lastName=someLastName2)
    
    13:15
           ReTest.MyData(name=someName3, lastName=someLastName3)
           ReTest.MyData(name=someName4, lastName=someLastName4)
    Ответ написан
    1 комментарий
  • Как программно отправить файл?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вам нужны клиентские http библиотеки. И есть их у нас, okhttp или httpclient hc.apache.org. И даже встроенный в java httpclient api. Я предпочитаю первые два, нл их есть много еще разных всяких.
    Ответ написан
    Комментировать
  • Зачем нужны анонимные классы в java и как к ним обратиться?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Это у вас не анонимный класс, а внутренний класс. Обращаться к нему можно из любого места внешнего класса, ну и из самого себя.
    А анонимный класс, как следует из названия, имени не имеет. И создается например из интерфейса, реализуя его методы на месте.

    Внутренние классы могут быть закрытыми (private/protected) по умолчанию и видны будут только из внешнего класса, либо быть публичными (public static) и быть доступны всему приложению. Обычно используются, чтобы не раздувать структуру файлов-классов и для внутреннего применения в качестве временных хранилищ и оберток.

    Анонимный же класс создается на месте использования и служит для применения в конкретном месте приложения. В примере ниже мы в переменную threadзаписываем инcтанс нового класса, наследуемого от Thread с перегруженным методом run

    class MyThread  
    { 
        public static void main(String[] args) 
        { 
             // Создаем расширение стандартного класса Thread с переопределением метода run()
             Thread thread = new Thread()
            { 
                public void run() 
                { 
                    System.out.println("Child Thread"); 
                } 
            }; 
            thread.start(); 
            System.out.println("Main Thread"); 
        } 
    }
    Ответ написан
    Комментировать
  • Маркировка x86 это номенклатура а не физическая величина?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    X86 это система команд 32-х оазрядных процессоров Интел. X64 система команд, изначально придуманная компанией AMD, и потом лицензированная Интел. В результате мы можем встретить и описание amd64. Но все это относится только к процессорам интел и amd, в привычном нам понимании. Есть и spark64, и mips64 и даже arm64 и ppc64, которые никакого отношения к ним не имеют.
    Ответ написан
    Комментировать
  • Разряд и бит это одно и тоже?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, одно и тоже. Просто одно слово интернациональное - бит, второе нет. С другой стороны, разряд определяет положение бита в физическом регистре. Словосочетание «бит в 7-м разряде» может означать, в зависимости от архитектуры (интел или моторола) совсем разные числа.
    Ответ написан
    Комментировать
  • 64 битный процессор работает только с 64 битами и не меньше?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Технически, процессор в 64 бита исполняет только 64-разрядные команды. Но в некоторых процессорах есть блок трансляции команд из 32 бит в 64, который можно включить программно. Так вот, операционная система по заголовку файла определяет исполняемый тип программы, и если файл в 32 битной адресации, взводит разрешает использовать блок трансляции для данной программы.
    Конечно же все гораздо сложнее, и для исполнения 32 программ нужны и библиотеки в формате 32 бит, и нужно знать как работает транслятор памяти, и блоки защиты адресов, и планировщик процессов и куча всего прочего, типа выборки адресов из памяти. Но собственно, это к делу не относится.
    Ответ написан