LINUX.ORG.RU

Сообщения rusich

 

Dell Latitude E7270: поделитесь опытом использования

Собственно САБЖ, поделитесь кто владеет, как он вам, нашли ли минусы?
Делл позиционирует его как serious business лэптоп, из магния, петли как в старом thinkpad, последний проц от интел, возможность расширения памяти до 32Гб... вообщем чисто внешне он мне нравиться, потому решил его рассмотреть как покупку.
буду рад всем ответам

 , ,

rusich ()

Thinkpad X200s стоит ли брать в 2017?

Привет, подумываю купить живучую, недорогую машинку для того чтобы ковырять линукс в свое удовольствие и лайтово кодить
Как вы думаете, стоит ее брать? Рабочая машина есть, это будет как замена на всякий пожарный, чтобы совсем без ничего не остаться в случае чего. Возможно брать в поездки
Заранее всем спасибо за помощь!

 , , ,

rusich ()

Decision tree - как лучше делать?

Всем привет, подскажите может кто сталкивался.
Кто как делал такие вот вещи ?
Начали делать через паттерн стратегию, потом переделали на стэйт.
Есть еще такая штука как jBPM. Есть ли опыт ее использования?
Заранее спасибо за ответы.

 , , , ,

rusich ()

npm, bower, gulp - взять compile dependency из github

Привет парни,
Есть репа на github, у этой репы в списке dependency есть еще одна репа с github. Все репы private
Нужно в процессе сборки app из первой репы забирать и компилять вторую.
Мне видится примерно такой процесс

  • clone 1ю репу
  • npm install 1ю репу
    • bower скачивает и ложит отдельную папку репу 2
    • bower запускает для нее npm install
    • bower запускает для нее билд
    • bower переносит результаты билда в нужную папку, и очищает артефакты
  • билдим 1ю репу(результаты билда 2й уже есть)
  • складируем артефакты куда нужно

Подскажите есть ли какие-то устоявшиеся подходы как это делать и если можно приведите рабочий пример. Буду рад услышать о подводных камнях если они есть
Заранее спасибо

 , , , ,

rusich ()

Помогите разобраться с gradle

Привет, экспериментирую с gradle

task hello {
    doLast {
        println 'Hello World!'
    }
}

task count {
    println "one"
    doLast{
        4.times {print "$it "}
    }
    println "two"
    doFirst{
        2.times {println "$it - 1 "}
    }
    3.times {println( "$it -3")}
}

task intro(dependsOn: hello){
    doLast{
        println("I'm Gradle!")
    }
}

вызываю

gradle intro
получаю
one
two
0 -3
1 -3
2 -3
:hello
Hello World!
:intro
I'm Gradle!

BUILD SUCCESSFUL

не могу понять почему я получаю такой вывод. ожидаю получить вот такой

:hello
Hello World!
:intro
I'm Gradle!

BUILD SUCCESSFUL

 , , , ,

rusich ()

Посоветуйте gradle plugin для npm

Чтобы мог

npm install
npm run-script <command>

 , , ,

rusich ()

Docker: опыт посторения инфраструктуры с нуля

Парни, нужен ваш опыт в построении инфраструктуры на docker c нуля.
Чем лучше пользоваться, чем не пользоваться. Имеет ли смысл использовать docker cloud/hub или стоит поднимать локальный хаб на амазоне. Есть ли вменяемая замена docker cloud для такой же простой и прозрачной процедуры деплоймента и хранения пропертей stack который он предоставляет.
очень нужны ваши советы, парни. заранее спасибо

 , , , ,

rusich ()

Микросервисы, общий проект, артефакторий

Переписываем прилагу на микросервисы.
Нужно запилить общий проект со всякими служебными вещами типа своих кастомных аннотаций и т.п., который бы включался в каждый микросервис на этапе сборки.
Проблема в том что каждый микросервис - это отдельный репозиторий и проект нужно подключать как записимость во время копмиляции.
Я думаю попробовать запилить какой-нить свой maven репозиторий с версиями проекта в виде jar либы.
Подскажите у кого какие мысли есть как бы это получше сделать? Есть ли подводные камни?

Интересно услышать кто как решал подобные проблемы.
Заранее спасибо

 , , , ,

rusich ()

Flyway vs Liquibase

Начинаем переписывать проект на микросервисы. Планируем поддерживать только одну схему данных.

Посоветуйте что лучше использовать для поддержки миграций на java.
База MySql. Выбор пал на Liquibase/Flyway.
Что выбрать не знаю. Не работал ни с одной из этих тулзов.

 , , , ,

rusich ()

Как правильно выполнить скрипт?

Запускаю большой скрипт с кучей разных установок, загрузок и т.п.
Нужно установить вот этот модуль для апача в avto режиме.
Проблема в том что он не хочет ставиться т.к. видимо в инпут скрипта

pecl install -n solr

идет не

printf «yes\n»

а что-то другое
Есть ли возможность ранать эти две комманды в отдельном потоке или еще как, чтобы они отрабатывали как задумано?

printf "yes\n" | pecl install -n solr
Заранее спасибо за помощь!

 , ,

rusich ()

Не работает скрипт. Почему? Непонятно

Есть виртуалка, и vagrant который ее мэнеджит.
При

vagrant up
создается чистая виртуалка и на ней начинают ранаться скрипты. Ниже кусок скрипта по настройке ZendFramework. Не могу понять почему отваливатеся
zf --setup storage-directory
с ошибкой
==> default: /tmp/vagrant-shell: line 84: zf: command not found
А руками все работает. Нид хелп :(
FILE=.zf.ini
if [ -f "$FILE" ];
then
   rm $FILE
fi
touch $FILE
echo "alias zf=\"export ZF_CONFIG_FILE=/vagrant_data/$FILE; /vagrant_data/zf1-release-1.12.0/bin/zf.sh\"" >> ~/.bashrc
echo "alias zf=\"export ZF_CONFIG_FILE=/vagrant_data/$FILE; /vagrant_data/zf1-release-1.12.0/bin/zf.sh\"" >> /home/vagrant/.bashrc
source ~/.bashrc
zf --setup storage-directory

 , , ,

rusich ()

Помогите отладить скрипт на BASH

#!/usr/bin/env bash

#here we try to download dumps for today if it possible, otherwise for yesterday
for s3linkDetail in $(date +'%Y.%m.%d')-06.00.01.sql.tar.gz $(date +'%Y.%m.%d')-06.00.02.sql.tar.gz $(date -d "yesterday 13:00" '+%Y.%m.%d')-06.00.01.sql.tar.gz $(date -d "yesterday 13:00" '+%Y.%m.%d')-06.00.02.sql.tar.gz
do
	wget -O /tmp/dump.tar.gz https://s3.amazonaws.com/$s3linkDetail
	r = $?
	echo $r
	if [$r -ne 0]
		then echo "https://s3.amazonaws.com/$s3linkDetail is not valid"
		else break
	fi
done

идея в том чтобы в цикле проверять какая линка доступна для скачивания и останавливать цикл после начала закачки. пока нифига не работает. на баше практически ничего не делал раньше. нужен хелп. заранее спасибо

Resolving s3.amazonaws.com (s3.amazonaws.com)... 54.231.17.200
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.17.200|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2016-06-17 09:35:44 ERROR 403: Forbidden.

test.sh: 7: test.sh: r: not found

test.sh: 9: [: missing ]

 , ,

rusich ()

Управление конфигами + Ansible

Нужнен совет от девопсов.
Есть проект в вакууме с конфигами
С помощью чего лучше организовать управление конфигами для проекта в гите чтобы это было модульно, просто и понятно?
Конфиги деляться на dev, test, prod.
Есть список серверов на которые нужно уметь ставить какую либо из конфигураций выше. Например:

ansible deploy my_server conf=dev
Это команда берет проперти из гита и устанавливает проект на my_server в соответсвии с dev конфигурацией.

 , , , ,

rusich ()

Почему нельзя ничего ставить в shared folder on VirtualBox?

Привет, есть у меня vagrant и provision scripts которые конфигурят проект лежащий в shared folder.
Проблема вот в чем. Есть у нас волшебный sass, который gulp компилит в css. Для того чтобы gulp мог что-то скомпилить его нужно поставить внутрь проекта. А проект в shared folder. Он туда не ставиться и отваливается с ошибкой. На саму виртуалку gulp ставиться без проблем - но копировать постоянно туда-сюда css во время девелопмента просто чтобы скомпилить sass - это грусть.
Mount опции для shared folder:

    config.vm.synced_folder "../", "/vagrant_data", id: "vagrant-root",
      owner: "vagrant",
      mount_options: ["dmode=777,fmode=777"]

 , , , ,

rusich ()

Почему нельзя ничего ставить в shared folder on VirtualBox?

Привет, есть у меня vagrant и provision scripts которые конфигурят проект лежащий в shared folder.
Проблема вот в чем. Есть у нас волшебный sass, который gulp компилит в css. Для того чтобы gulp мог что-то скомпилить его нужно поставить внутрь проекта. А проект в shared folder. Он туда не ставиться и отваливается с ошибкой. На саму виртуалку gulp ставиться без проблем - но копировать постоянно туда-сюда css во время девелопмента просто чтобы скомпилить sass - это грусть.
Mount опции для shared folder:

    config.vm.synced_folder "../", "/vagrant_data", id: "vagrant-root",
      owner: "vagrant",
      mount_options: ["dmode=777,fmode=777"]

 , , , ,

rusich ()

Проксирование картинок

Парни, есть у меня sweetcaptcha - одна из разновидностей капчи для отсеивания роботов, работает она таким образом:
1. UI просит капчу у моего сервера
2. сервер просит капчу у sweetcaptcha
3. UI получает капчу и подгружает нужные ресурсы типа картинок из cdn и стилей с сайта sweetcaptcha
теперь проблема, у клиента заблочен cdn sweetcaptcha откуда она тянет картинки.
Можно ли как-то настроить проксирование на apache (нифига его не знаю) чтобы как-то обмануть блокировку и вместо

http://sweetcaptcha.s3.amazonaws.com/widget/v2/upload/question_40.png

само оборачивалось и шло что-то вроде
my_server_url.com?p=http://sweetcaptcha.s3.amazonaws.com/widget/v2/upload/question_40.png

и возвращало то что нужно?
И будет ли это проще чем проверять доступность на UI и просить стэндэлоун капчу?

 , ,

rusich ()

Olympis PL-5 VS Olympis PL-6

Привет, вот маюсь не могу решить что покупать. Сам не фотограф от слова никак потому нужна помощь от тех кто в теме.
После пары дней гугления и подсчета бюджета остановился на Olympis PL-5, и даже ее забронировал в магазе, чтобы подумать, но потом наткнулся на то что Olympis PL-6 (более новая версия этой камеры), почему-то стоит дешевле. Может в ней есть какое-то неизвестные мне проблемы?
Вопрос что брать? и почему. помогите камрады, совсем извелся.
сравнение

Перемещено Klymedy из linux-hardware

 , ,

rusich ()

Gradle build failed - Cannot allocate memory

Privet, need help, parni

root@precise64:# java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

root@precise64:# gradle -v

------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------

Build time:   2016-03-14 08:32:03 UTC
Build number: none
Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_74 (Oracle Corporation 25.74-b02)
OS:           Linux 3.2.0-23-generic amd64

root@precise64:#GRADLE_OPTS=-Xmx5024m
root@precise64:#JAVA_OPTS=-Xmx2000m
root@precise64:#gradle :all-runner:compileJava --parallel --full-stacktrace
error: error reading /app/AllRunner.java; /app/AllRunner.java (Cannot allocate memory)
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':all-runner:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':all-runner:compileJava'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:163)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:145)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:93)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 17 more

 , ,

rusich ()

[Closed] Проблема с запуском gradlew на Linux

Привет. Не могу понять в чем дело.
У меня есть файл со скриптами gradlew - стандартная поставка gradle 2.0. Пытаюсь запустить его на linux - и получаю вот что:
Вариант 1

#ls -l
#-rwxrwxrwx 1 vagrant vagrant 5296 Mar 18 12:01 gradlew
#sh gradlew
#: not found gradlew:
#: not found gradlew:
#: not found: gradlew:
#: not found: gradlew:
#: not found: gradlew:
#
#: not found: gradlew: }
#: not found: gradlew:
#: not found: gradlew: echo
#
#: not found: gradlew: echo
#
Вариант 2
#ls -l
#-rwxrwxrwx 1 vagrant vagrant 5296 Mar 18 12:01 gradlew
#./gradlew
#: No such file or directory
WTF?

 , , , ,

rusich ()

[Closed]Bash: помогите разобраться

Не могу понять одну вещь

apt-get update >/dev/null 2>&1
Что тут происходит ясно
apt-get update >/dev/null
- вывод логов перенапрявляется в
/dev/null
, но вот что это значит не знаю
2>&1

Подскажите плиз.

 

rusich ()

RSS подписка на новые темы