-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Это база знаний с вопросами и ответами по различным тематикам, что позволяет использовать приложение в качестве самоконтроля знаний, проведения тестирования и в качестве вопросов при проведении собеседования. Все вопросы разбиты по топикам, которые хранятся в дереве. Пользователь может добавлять новые вопросы, топики, редактировать и удалять существующие, повышать рейтинг вопроса. Имеется фильтр вопросов по тегам, содержимому. Можно создать экспортный список вопросов и затем распечатать его.
Сообщения о вызове методов контроллеров записываются в файл eighty.log, расположенный в папке logs, и выводятся на консоль. Реализован сбор метрик Codahale Metrics, значения которых можно просмотреть с помощью jconsole, выбрав на вкладке MBeans metrics, а затем интересующую метрику и Attributes.
При работе над приложением использованы следующие технологии:
- AngularJS - javascript-фреймворк от команды Google. В статье [Angular Style Guide] (https://github.com/johnpapa/angular-styleguide) приведены рекомендации по стилю кода AngularJS.
- Neo4j - база данных.
- Spring - Java-фреймворк для создания REST-сервиса и доступа к базе данных.
- Bootstrap - Фрейморк стилей для html-страниц.
Для работы с приложением понадобятся:
- Maven 3. Используется при сборке приложения.
- Msysgit. Используется при сборке приложения. Также может использоваться при работе с Gitbub.
- HubFlow. Используется для работы с Gitbub.
- Firefox Portable 34.0.5. Используется для запуска интеграционных тестов.
Вместо Msysgit при работе с Gitbub можно использовать cygwin.
- Скачать Maven 3 и распаковать архив в инсталляционную папку.
- Добавить переменную среды
M2_HOME = path_to_apache_maven_directory. - Добавить в переменную среды PATH
%M2_HOME%\bin. - Чтобы проверить, успешно ли прошла установка, следует выполнить в командной строке команду
mvn -version
Если установка прошла успешно, будет выведено Apache Maven 3.0.4.
Скачать файл установки msysgit и запустить его.
- Скачать файл установки cygwin и запустить его.
- На вкладке Choose a download soarce выбрать
Install from internet, на вкладке Select Your Internet Connection -Direct Connection. - На вкладке Select Packages дополнительно выбрать
gitиwget. Для этого ввести в поле вводаgit, затем выбратьDevel Defaultи нажать наSkipнапротивgit, в результате вместоSkipотобразится версияgit. Затем ввести в поле вводаwget, выбратьWeb Defaultи нажать наSkipнапротивwget, в результате вместоSkipотобразится версияwget. Затем нажать на кнопкуNext.
-
Скачать
getopt.exeиз пакета util-linux и поместить в папкуC:\Program Files (86)\Git\bin. (Толькоgetopt.exe, другие файлы util-linux не используются при установке). Также скачатьlibintl3.dllиlibiconv2.dllиз пакета Dependencies (libintl и libiconv), в поместить их же папку. -
Скачать HubFlow, для чего выполнить команду
git clone https://github.com/datasift/gitflow -
Перейти в созданную папку
cd gitflow -
Если планируете работать с GitHub через cygwin, то из данной папки запустить cygwin с правами администратора и выполнить команду
./install.sh
В случае, если будет выведено сообщение об ошибкеCygwin - '\r': command not found - .bashrc / .bash_profile, выполнить следующую команду:
bash -x -o igncr install.sh
Если планируете работать с GitHub через Git bash, то следует создать в данной папке файлinstall.bat, содержащий следующий скрипт:@echo off setlocal if not "%~1"=="" set GIT_HOME=%~f1 if "%GIT_HOME%"=="" call :FindGitHome "git.cmd" if exist "%GIT_HOME%" goto :GitHomeOK echo MsysGit installation directory not found.>&2 echo Try to give the directory name on the command line:>&2 echo %0 "%ProgramFiles%\Git" endlocal exit /B 1 :GitHomeOK set ERR=0 echo Installing hubflow into "%GIT_HOME%"... call :ChkGetopt getopt.exe || set ERR=1 if %ERR%==1 goto :End echo getopt.exe... Found if not exist "%GIT_HOME%\bin\git-hf" goto :Install echo hubflow is already installed.>&2 set /p mychoice="Do you want to replace it [y/n]" if "%mychoice%"=="y" goto :DeleteOldFiles goto :Abort :DeleteOldFiles echo Deleting old files... for /F %%i in ("%GIT_HOME%\git-hf*" "%GIT_HOME%\hubflow-*") do if exist "%%~fi" del /F /Q "%%~fi" :Install echo Copying files... ::goto :EOF xcopy "%~dp0\git-hf" "%GIT_HOME%\bin" /Y /R /F if errorlevel 4 if not errorlevel 5 goto :AccessDenied if errorlevel 1 set ERR=1 xcopy "%~dp0\git-hf*" "%GIT_HOME%\bin" /Y /R /F || set ERR=1 xcopy "%~dp0\hubflow-*" "%GIT_HOME%\bin" /Y /R /F || set ERR=1 xcopy "%~dp0\shFlags\src\shflags" "%GIT_HOME%\bin\hubflow-shFlags" /Y /R /F || set ERR=1 if %ERR%==1 choice /T 30 /C Y /D Y /M "Some unexpected errors happened. Sorry, you'll have to fix them by yourself." :End endlocal & exit /B %ERR% goto :EOF :AccessDenied set ERR=1 echo. echo You should run this script with "Full Administrator" rights:>&2 echo - Right-click with Shift on the script from the Explorer>&2 echo - Select "Run as administrator">&2 choice /T 30 /C YN /D Y /N >nul goto :End :Abort echo Installation canceled.>&2 set ERR=1 goto :End :ChkGetopt :: %1 is getopt.exe if exist "%GIT_HOME%\bin\%1" goto :EOF if exist "%~f$PATH:1" goto :EOF echo %GIT_HOME%\bin\%1 not found.>&2 echo You have to install this file manually. See the hubflow README. exit /B 1 :FindGitHome setlocal set GIT_CMD_DIR=%~dp$PATH:1 if "%GIT_CMD_DIR%"=="" endlocal & goto :EOF endlocal & set GIT_HOME=%GIT_CMD_DIR:~0,-5% goto :EOF
После чего из папки gitflow запустить cmd с правами администратора и выполнить команду
install.bat "C:\Program Files (x86)\Git"
В ответ на вопрос: Does C:\Program Files (x86)\Git\bin\hubflow-shFlags specify a file name or directory name on the target (F = file, D = directory)?, выбрать вариант f.
-
Запустить Git Bash либо cygwin.
-
Cоздать файл
your_home_directory\.bashrc, в котором прописатьeval `ssh-agent -s` ssh-add ~/.ssh/id_rsa ssh -T git@github.com
id_rsa - [ключ SSH] (https://help.github.com/articles/generating-ssh-keys/), который предварительно должен быть создан.
3. Прописать в консоли свои данные
````
git config --global user.name YourName
git config --global user.email YourEmail
````
- Для настройки переносов строк выполнить команду
git config --global core.autocrlf false
- Скачать файл установки Firefox Portable 34.0.5 и запустить его.
- После завершении установки добавить переменную среды
FF_PORTABLE = path_to_Firefox_Portable_directory/App/firefox.exe
- После того, как рабочая среда установлена, следует скачать исходники из Github, используя команду
git clone https://github.com/EPAMMogilev/eighty - После этого требуется перейти в папку с проектом и инициализировать локальный репозиторий. Если Вы используете HubFlow, выполняются следующие команды:
cd eighty
git hf init - Затем можно создавать фича-бранчи. Фича-бранч создается следующим образом с использованием HubFlow:
git hf feature start [##feature_name##]
Для сборки проекта имеются следующие .bat-файлы:
-
dirty_build.bat - собирается development версия, unit-тесты и интеграционные тесты, проверки Code Quality с помощью findbugs, pmd, checkstyle не выполняются.
-
commit_build.bat - собирается production версия, выполняются все тесты, jUnit и интеграционные, а также проверки Code Quality с помощью findbugs, pmd, checkstyle.
-
dirty_deploy.bat - собирается development версия, unit-тесты и интеграционные тесты, проверки Code Quality с помощью findbugs, pmd, checkstyle не выполняются. Собранный билд заливается на локальный сервер tomcat 7. Для того, чтобы билд можно было залить на tomcat 7, в файл path_to_apache_tomcat\conf\tomcat-users.xml следует добавить
<role rolename="standard"/> <role rolename="manager-script"/> <user username="tomcat-script" password="s3cret" roles="standard,manager-script"/>
а в файл user_home_directory\.m2\settings.xml:
````
<server>
<id>tomcat</id>
<username>tomcat-script</username>
<password>s3cret</password>
</server>
````
Перед выполнением заливки сервер должен быть запущен.
[Диаграмма сборки проекта] (https://cloud.githubusercontent.com/assets/8478574/6572708/69214a9e-c725-11e4-956a-97b1991af7e6.png)