• Call/create Scala class from Java in SpringBoot Project?

    web_dev
    @web_dev Автор вопроса
    Евгений В начале хочу поблагодарить за хороший и развернутй ответ.

    Scala + Spark это конечно хорошо, но насколько мне известно (слушал доклад Евгения Борисова на прошлогоднем JPoint) нет никаких проблем работать со Spark из Java.
    - я тоже этот доклад слушал, но я думаю Вы согласитесь, что в Java реализация не на 100% такая же как и Scala. Для Spark Scala - основной язык, остальные они стараются поддерживать на надлежащем уровне. Ну и второй пункт, та часть - для рассчетов будет делаться другим человеком и он хочет подучить именно Scala и в Java не очень.

    И еще одно не стыкуется в голове, а именно "небольшое web приложение" и использование Scala и Spark для расчетов. Это я к тому, что может не стоит так переусложнять задачу на старте?
    - вот именно, нужно стартануть, чтоб каждый хоть чуток занимался своим, а в процессе можно и поменять что-то... Главное продумать минимум. ))

    Соберите требования, подумайте над архитектурой. Можно окунуться в "прекрасный" мир микросервисов, тогда часть вычислительная может быть и на Scala, и на Python, и на JavaScript.
    - Требования собраны, как я и описывал проблему, - человек хочет скала, а я не могу весь веб проект сходу и другие библиотеки и скалу. Обдумывание архитектуры в процессе. Часть обдумана, вотт, интересуюсь здесь, чтоб получше понять. С этим "прекрасным" миром знаком, но если уж делать все по "фэншую", то для коммуникации нужно будет дополнительно JMS и так д, не продолжаю список, так как понимаю сколько там работы.. Если для двух человек загрузнуть на некоторое время с этим, то функционала не дождемся )))
    И да, Писал, что человек хочет Scala, проект носит немного и обученческий характер. Сейчас подбирается не язык под проблематику, а желание поизучать то что хочется и возможно с полезностью..
    Ответ написан
    Комментировать
  • AWS бесплатный аккаунт - "подводные камни"?

    web_dev
    @web_dev Автор вопроса
    Спасибо за ответ!
    Снимают, вроде, 1 доллар ежемесячно.
    - хммм, а на сайте о этом ничего не написано..


    Можете завести виртуальную карту на Qiwi.
    Делается за 10 секунд.
    - подскажите, что мне это даст? Может глупый вопрос, но никогда этим сервисом не пользовался. Так нужно будет туда деньги переводить или? У меня просто имеется реальная карта.

    Можете выставить лимиты, чтобы при превышении определенного порога сервер просто блокировался, а деньги не списывались.
    - Вы говорите о сервере, а я говорю о различных сервисах, там их десятки..
    Ответ написан
    Комментировать
  • Jenkins job for auto-versioning with maven-release-plugin?

    web_dev
    @web_dev Автор вопроса
    99% решение.
    то что делает плагин, запустить в нормальный билд процесс с -B - non interactive release
    -Dresume=false -B release:prepare release:perform
    Потом настроить cron job чтоб смотрел к примеру каждую минуту на изминения
    потом в расширенных настройках исключить пользователя с помощью которого запускается работа, - иначе получим рекурсию. Будет каждую минуту билдится.
    Ответ написан
    Комментировать
  • Nginx - после обновления до 1.6.2 не работает редирект на localhost?

    web_dev
    @web_dev Автор вопроса
    Вот конфиг который работал на 1.2.1
    user www-data;
    worker_processes 4;
    pid /var/run/nginx.pid;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    
    http{
    
        server{
    
            location / {
                    root   /usr/share/nginx/www/;
                    index  index.html index.htm;
            }
    
    	location dev/ {
    		root   /usr/share/nginx/www/dev;
    		index  index.html;
    	}
    
             location /wc {
                 proxy_pass http://localhost:8888/wс;
                 proxy_redirect off;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
    
    	location /log {
                 proxy_pass http://localhost:28080/log;
                 proxy_redirect off;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
    
    
         }
    
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    
    
    
    
    
    
    
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    	gzip_disable "msie6";
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# nginx-naxsi config
    	##
    	# Uncomment it if you installed nginx-naxsi
    	##
    
    	#include /etc/nginx/naxsi_core.rules;
    
    	##
    	# nginx-passenger config
    	##
    	# Uncomment it if you installed nginx-passenger
    	##
    	
    	#passenger_root /usr;
    	#passenger_ruby /usr/bin/ruby;
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #	# See sample authentication script at:
    #	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #	# auth_http localhost/auth.php;
    #	# pop3_capabilities "TOP" "USER";
    #	# imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #	server {
    #		listen     localhost:110;
    #		protocol   pop3;
    #		proxy      on;
    #	}
    # 
    #	server {
    #		listen     localhost:143;
    #		protocol   imap;
    #		proxy      on;
    #	}
    #}


    Вот который появился новый. Практически ничем не отличается, я просто вставил свой server

    user www-data;
    worker_processes 4;
    pid /run/nginx.pid;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    
    http{
    
        server{
    
            location / {
                    root   /var/www/;
                    index  index.html index.htm;
            }
    
            location dev/ {
                    root    /var/www/dev;
                    index  index.html;
            }
    
             location /wc {
                 proxy_pass http://localhost:8888/wc;
                 proxy_redirect off;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
    
            location /log {
                 proxy_pass http://localhost:28080/log;
                 proxy_redirect off;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
    
    
         }
    
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# SSL Settings
    	##
    
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    	ssl_prefer_server_ciphers on;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    	gzip_disable "msie6";
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #	# See sample authentication script at:
    #	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #	# auth_http localhost/auth.php;
    #	# pop3_capabilities "TOP" "USER";
    #	# imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #	server {
    #		listen     localhost:110;
    #		protocol   pop3;
    #		proxy      on;
    #	}
    # 
    #	server {
    #		listen     localhost:143;
    #		protocol   imap;
    #		proxy      on;
    #	}
    #}


    default -> /etc/nginx/sites-available/default

    ##
    # You should look at the following URL's in order to grasp a solid understanding
    # of Nginx configuration files in order to fully unleash the power of Nginx.
    # http://wiki.nginx.org/Pitfalls
    # http://wiki.nginx.org/QuickStart
    # http://wiki.nginx.org/Configuration
    #
    # Generally, you will want to move this file somewhere, and start with a clean
    # file but keep this around for reference. Or just disable in sites-enabled.
    #
    # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
    ##
    
    # Default server configuration
    #
    server {
    	listen 80 default_server;
    	listen [::]:80 default_server;
    
    	# SSL configuration
    	#
    	# listen 443 ssl default_server;
    	# listen [::]:443 ssl default_server;
    	#
    	# Self signed certs generated by the ssl-cert package
    	# Don't use them in a production server!
    	#
    	# include snippets/snakeoil.conf;
    
    	root /var/www/html;
    
    	# Add index.php to the list if you are using PHP
    	index index.html index.htm index.nginx-debian.html;
    
    	server_name _;
    
    	location / {
    		# First attempt to serve request as file, then
    		# as directory, then fall back to displaying a 404.
    		try_files $uri $uri/ =404;
    	}
    
    	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    	#
    	#location ~ \.php$ {
    	#	include snippets/fastcgi-php.conf;
    	#
    	#	# With php5-cgi alone:
    	#	fastcgi_pass 127.0.0.1:9000;
    	#	# With php5-fpm:
    	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
    	#}
    
    	# deny access to .htaccess files, if Apache's document root
    	# concurs with nginx's one
    	#
    	#location ~ /\.ht {
    	#	deny all;
    	#}
    }
    
    
    # Virtual Host configuration for example.com
    #
    # You can move that to a different file under sites-available/ and symlink that
    # to sites-enabled/ to enable it.
    #
    #server {
    #	listen 80;
    #	listen [::]:80;
    #
    #	server_name example.com;
    #
    #	root /var/www/example.com;
    #	index index.html;
    #
    #	location / {
    #		try_files $uri $uri/ =404;
    #	}
    #}
    Ответ написан
  • Java - WatchService - проверка не занят ли файл другим процессом?

    web_dev
    @web_dev Автор вопроса
    private void createWatchService(Folder folder) {
    		try {
    			Path dir = Paths.get(folder.getValue());
    			WatchService watcher = FileSystems.getDefault().newWatchService();
    			LogsFolderWatcher fileWatcher = new LogsFolderWatcher(watcher, folder, simpMessagingTemplate);
    			Thread thread = new Thread(fileWatcher, LogsViewerConstants.WATCHER_PREFIX + folder);
    			thread.start();
    			logger.info("Added watcher for " + folder + " folder");
    			dir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    
    -------------------------
    
    /**
     * @author JDev
     *
     */
    public class LogsFolderWatcher implements Runnable {
    
    	private static final Logger logger = LoggerFactory.getLogger(StompDisconnectEvent.class);
    
    	private WatchService watcher;
    	private Folder folderToWatch;
    	private SimpMessagingTemplate simpMessagingTemplate;
    
    	public LogsFolderWatcher(WatchService watcher, Folder folderToWatch, SimpMessagingTemplate simpMessagingTemplate) {
    		this.watcher = watcher;
    		this.folderToWatch = folderToWatch;
    		this.simpMessagingTemplate = simpMessagingTemplate;
    	}
    
    	/**
    	 * In order to implement a file watcher, we loop forever ensuring requesting
    	 * to take the next item from the file watchers queue.
    	 */
    	@SuppressWarnings("rawtypes")
    	@Override
    	public void run() {
    		try {
    			// get the first event before looping
    			WatchKey key = watcher.take();
    			while (!Thread.currentThread().isInterrupted()) {
    				// we have a polled event, now we traverse it and
    				// receive all the states from it
    				for (WatchEvent event : key.pollEvents()) {
    					Path dir = (Path) key.watchable();
    					Path fullPath = dir.resolve((Path) event.context());
    
    					logger.info("Received WatchEvent: '" + event.kind() + "' - for file: " + event.context().toString());
    
    					Log changedLog = LogsViewerCommonFunctions.createLog(fullPath.toFile(), WatchState.valueOf(event.kind().name()));
    					simpMessagingTemplate.convertAndSend("/log/" + folderToWatch, changedLog);
    				}
    				key.reset();
    				key = watcher.take();
    			}
    		} catch (InterruptedException e) {
    			logger.info("Stopping " + Thread.currentThread().getName() + " thread");
    		}
    	}
    }


    Хмммм, и как я только что сам заметил - ловлю я ошибку не в том месте, там где я ее ловлю уже слишком поздно она туда не доходит... Как вы думаете если я ее буду ловить в run() - может что-то измениться?

    public static Log createLog(File file, WatchState watchState) {
    
    		Path path = Paths.get(file.getPath());
    		BasicFileAttributes basicFileAttributes = null;
    		Log log = null;
    		try {
    			basicFileAttributes = Files.getFileAttributeView(path, BasicFileAttributeView.class).readAttributes();
    
    			log = new Log();
    			log.setFileName(file.getName());
    			log.setCreatedOn(new Date(basicFileAttributes.creationTime().toMillis()));
    			log.setModyfiedOn(new Date(basicFileAttributes.lastModifiedTime().toMillis()));
    			log.setSize(basicFileAttributes.size());
    			log.setWatchState(watchState);
    			log.setContent(new String(Files.readAllBytes(path)));
    			logger.info("Created Log for file log: " + log.getFileName());
    
    		} catch (Exception exception) {
    			if (exception instanceof IOException) {
    				logger.info("Cannot read a file " + log.getFileName() + " content or file attributes!");
    			} else if (exception instanceof AccessDeniedException) {
    				logger.info("The file " + log.getFileName() + " used by another process.");
    			}
    			exception.printStackTrace();
    		}
    
    		return log;
    	}
    Ответ написан
    Комментировать
  • Some http server and tomcat integration?

    web_dev
    @web_dev Автор вопроса
    Припустим я настроил это редирект и если я с фронтенда отправляю форму по такому адресу - (POST) www.mydomen.com/create, то nginx перенаправит этот запрос на tomcat сервер? К примеру он будет на www.localhost:9000/, то при POST-запросе вызовется www.localhost:9000/create?
    Вот этого я не очень понимаю...
    Спасибо.
    Ответ написан
    Комментировать
  • Java: new browser -> new session?

    web_dev
    @web_dev Автор вопроса
    Скорей всего виноваты глаза которые спать хотят.

    @GET
      @Path("/auth")
      @Produces(MediaType.APPLICATION_JSON)
      @Consumes(MediaType.APPLICATION_JSON)
      public Response authorisation()
      {
    
        if (kasSessionId == null) {
          log.info("KAS_SESSION_ID_FOR_Authenticate: {}", kasSessionId); //null
          getAuthenticate();
          log.info("KAS_SESSION_ID_AFTER_Authenticate: {}", kasSessionId); //session_id
          request.getSession().setAttribute("KAS_SESSION_ID", kasSessionId);
        }
        else {
          log.info("KAS_SESSION_ID: {}", kasSessionId);
        }
    
        return Response.ok().build();
      }


    Я записываю переменную в аттрибут, а потом ее проверяю постоянно. Спасибо - вопрос уже решил.
    Ответ написан
    Комментировать
  • Как спроектировать небольшую БД и "правильно" сохранять дни недели?

    web_dev
    @web_dev Автор вопроса
    @Rsa97 Все-таки вы меня чуток не правильно поняли. Вот, я сделал небольшую. зарисовку, так уже должно быть понятно 100%. )) Спасибо за подсказки.
    361cdb17f7e242c98af7c9d1f36f6e13.png
    Ответ написан
  • Eclipse “Kepler” на SSD работает медленно и грузится очень долго!?

    web_dev
    @web_dev Автор вопроса
    Кхммм, думаю, что мой вопрос можно считать решенным, так как я все-таки добился требуемого результата, не знаю, что именно помогло, но после проделанных твиков отсюда www.thg.ru/storage/ssd_tweaks/index.html, а может и все вместе дало нужный результат.

    Почему-то мне кажется, что очень сильно на скорость загрузки повлияло отключение индексации.
    Ну и как результат и первый и последующие старты eclipse в пределах 20-25 секунд, еще 25 секунд на подгрузку всего и инициализация рабочей среды.

    Хах, Photoshop стартует быстрее MS Word — 3 секунды. )))
    Ответ написан
    Комментировать
  • Eclipse “Kepler” на SSD работает медленно и грузится очень долго!?

    web_dev
    @web_dev Автор вопроса
    Закрадывается подозрение что сама проблема в версии. Возможно стоит попробовать предыдущую версию, но прежде чем тратить несколько часов на настройку перенастройку всего, хотелось бы разобраться в данном вопросе.
    Ответ написан
    Комментировать
  • View border и изменяемый view color?

    web_dev
    @web_dev Автор вопроса
    ))) Наконец, сам не допер, хотя все логично, в shape нужно поставить прозрачный фон.
    Ответ написан
    Комментировать
  • Обработка нажатий клавиш в custom view?

    web_dev
    @web_dev
    1. Сейчас делаю проект, клавиатура вызывается на ура.
    	private void showKeyboard() {
    
    		InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    		imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
    	}
    
    или
    
    	private void showKeyboard(EditText editText) {
    		InputMethodManager imm = (InputMethodManager) AddPeriodActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
    		imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
    	}
    
    
    Ответ написан
  • Сильно устают глаза от Dell 2311U(IPS)?!

    web_dev
    @web_dev Автор вопроса
    Вы знаете, огромное вам всем спасибо!!!
    Вроде все просто и очевидно, но вот сам почему-то не подумал…
    2 года сидел на заводских настройках, и мучился. Сейчас уменьшил чуток яркость, сменил гамму на более теплую. ИИИИ, буквально на протяжении 10 минут ощутил, что глазам ЛЕГЧЕ! И это после целого рабочего дня за комп…
    Прям нереально как-то
    Ответ написан
  • Сильно устают глаза от Dell 2311U(IPS)?!

    web_dev
    @web_dev Автор вопроса
    Ну а мнение на счет матрицы? Все таки отдавать предпочтение IPS? Или это тоже можно отнести к персональному восприятию?
    Ответ написан
  • Оценить объем работы(времени): авторизация с помощью различных служб(сайтов) или не слишком сложный firefox plugin?

    web_dev
    @web_dev Автор вопроса
    xmoonlight — попробую.
    Нет, на основании этого фреймворка строится сеть по интересам где нет центрального сервера. Но идентифицировать то как-то пользователя нужно. Обмен информацией осуществляет сам фреймворк.
    Но мне вот не очень понятно, зачем вы меня такое спрашиваете, я просто попросил на вскидку оценить сложность… )))
    Пасиб.
    Ответ написан
    Комментировать
  • Оффлайн карта Праги?

    web_dev
    @web_dev Автор вопроса
    оу, не знал, что нужно делать на андроид устройстве? Или на комп?
    Ответ написан
  • Не стартует загрузка с флешки на Lenovo E320?

    web_dev
    @web_dev Автор вопроса
    Мою проблемку решила софтина под названием «rufus». Предыдушая как-то криво создавала загрузочную флешку. Вечер убил из-за корявой софтины. Вопрос решен.
    Ответ написан
    Комментировать
  • Не стартует загрузка с флешки на Lenovo E320?

    web_dev
    @web_dev Автор вопроса
    Вот здесь офф сайт с 99 страницы все настройки BIOS и настройка для установки другой системы.
    Ответ написан
    Комментировать
  • Не стартует загрузка с флешки на Lenovo E320?

    web_dev
    @web_dev Автор вопроса
    Вот такое меню,
    bios boot screen
    только вместо «Rapid» Diagnostics и Quick
    Ответ написан
    Комментировать
  • Не стартует загрузка с флешки на Lenovo E320?

    web_dev
    @web_dev Автор вопроса
    Да у меня тоже есть что-то похожее, я уже все комбинации наверное перепробовал… Но именно такого пункта как Вы пишиете нет. (

    UEFI/Legacy Boot: Both, UEFI Only, Legacy Only
    Если выбран Both, то получаю еще одну строчку где можно сконфигурировать: UEFI First или Legacy First
    Ответ написан
    Комментировать