Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
cab51a0
добавлен класс GreetingImpl и GCD
Karpov-D Oct 13, 2023
bc8e210
На проверку
Karpov-D Oct 15, 2023
2bc00b2
Добавлено описание метода
Karpov-D Oct 15, 2023
ab07c84
Выполнено задание 1
Karpov-D Oct 16, 2023
9e73c6c
Merge pull request #1 from Karpov-D/module01
Karpov-D Oct 16, 2023
203b5b6
Выполнено задание 1
Karpov-D Oct 16, 2023
449a667
Добавлен класс StatisticFile
Karpov-D Oct 16, 2023
b0642c8
Добавлен класс StatisticFile
Karpov-D Oct 18, 2023
a29e406
Изменен класс StatisticFileTest
Karpov-D Oct 18, 2023
dc59041
Добавлен java doc
Karpov-D Oct 18, 2023
c349e12
Добавлен комментарий по выполнению дз
Karpov-D Oct 20, 2023
fbf9801
Merge pull request #2 from Karpov-D/module01
Karpov-D Oct 25, 2023
aa3072d
Сохранение в бд переделано через интерфейс
Karpov-D Oct 25, 2023
a0e4e6b
Merge branch 'master' of github.com:Karpov-D/java-reboot into feature…
Karpov-D Oct 25, 2023
1578b71
Сохранение в бд переделано через интерфейс
Karpov-D Oct 25, 2023
5babd59
Merge branch 'rsmitt:master' into master
Karpov-D Oct 25, 2023
2aa3dde
Merge branch 'rsmitt:master' into master
Karpov-D Oct 30, 2023
cf26a9c
Закрытие файла изменено на try with resources
Karpov-D Oct 30, 2023
7ca1786
Начало ДЗ3
Karpov-D Oct 30, 2023
77c9b57
Добавлено несколько методов
Karpov-D Oct 31, 2023
c398c9e
Доработка методов
Karpov-D Nov 1, 2023
181ba78
Добавлены тесты
Karpov-D Nov 2, 2023
f41580a
Merge branch 'rsmitt:master' into master
Karpov-D Nov 4, 2023
0754224
Начало ДЗ4
Karpov-D Nov 4, 2023
4743f04
Merge pull request #3 from Karpov-D/feature/module02
Karpov-D Nov 7, 2023
6ba99ca
Merge pull request #4 from Karpov-D/feature/module03
Karpov-D Nov 7, 2023
4c7f847
Доработка методов
Karpov-D Nov 7, 2023
defe35b
ДЗ4 выполнено
Karpov-D Nov 8, 2023
bdc16f5
начало дз_5
Karpov-D Nov 9, 2023
9f40bd7
Реализованны классы GeoPosition и CityInfo
Karpov-D Nov 10, 2023
922c5e5
Реализованны классы GeoPosition и CityInfo
Karpov-D Nov 10, 2023
ea3bb71
Merge pull request #5 from Karpov-D/feature/module04
Karpov-D Nov 14, 2023
70a3c70
Merge branch 'rsmitt:master' into master
Karpov-D Nov 14, 2023
88b2856
ДЗ5 добавлен метод getDistance
Karpov-D Nov 14, 2023
3f4aa58
ДЗ_5 Задание выполнено
Karpov-D Nov 15, 2023
87fce8a
ДЗ_6 Реализованы методы
Karpov-D Nov 18, 2023
4485e10
Merge pull request #6 from Karpov-D/feature/module05
Karpov-D Nov 20, 2023
93cf149
ДЗ_6 Тесты не работают, надо переделать
Karpov-D Nov 20, 2023
de0838d
ДЗ_6 Отредактированны тесты
Karpov-D Nov 21, 2023
5bc8134
ДЗ_6 Добавил документацию
Karpov-D Nov 21, 2023
629fd7c
ДЗ_6 Рефакторинг
Karpov-D Nov 21, 2023
49dc4d1
Merge branch 'rsmitt:master' into master
Karpov-D Nov 21, 2023
5d190bc
ДЗ_7 Начало реализации WeatherProvider
Karpov-D Nov 22, 2023
c3bba75
ДЗ_7 распарсил респонс с помощью gson
Karpov-D Nov 23, 2023
8413863
ДЗ_7 еще немного доделал
Karpov-D Nov 24, 2023
9efea95
Merge branch 'rsmitt:master' into master
Karpov-D Nov 25, 2023
6e5b555
ДЗ_7 добавлена потокобезопастность
Karpov-D Nov 25, 2023
834fcac
ДЗ_7 добавлена юнит тесты
Karpov-D Nov 25, 2023
40db394
ДЗ_7 рефакторинг, доделал юнит тетсы
Karpov-D Nov 26, 2023
32fb704
Merge pull request #7 from Karpov-D/feature/module06
Karpov-D Nov 26, 2023
f6fa26b
ДЗ_8 Задание 1 выполнено
Karpov-D Nov 28, 2023
8cd383c
ДЗ_8 Задание 2
Karpov-D Dec 1, 2023
36cee6c
Merge pull request #8 from Karpov-D/feature/module07
Karpov-D Dec 4, 2023
998695a
Merge branch 'rsmitt:master' into master
Karpov-D Dec 4, 2023
3f2e732
ДЗ_8 Задание 2
Karpov-D Dec 4, 2023
4effaf2
ДЗ_8 Задание 2 выполнено
Karpov-D Dec 6, 2023
a4a331e
ДЗ_9 Добавил MyConfig
Karpov-D Dec 8, 2023
27fdf7d
ДЗ_9 Добавил MyConfig
Karpov-D Dec 8, 2023
cf662e0
ДЗ_9 выполнено
Karpov-D Dec 9, 2023
62216e1
Merge branch 'rsmitt:master' into master
Karpov-D Dec 9, 2023
2c25442
ДЗ_9 monitor final, WeatherCache внедреие зависимости через конструктор
Karpov-D Dec 11, 2023
8284895
Merge pull request #10 from Karpov-D/feature/module09
Karpov-D Dec 11, 2023
01a8357
Merge remote-tracking branch 'origin/feature/module08'
Karpov-D Dec 11, 2023
17c8f68
ДЗ_10 добавил рест контроллер
Karpov-D Dec 12, 2023
e720e78
ДЗ_10 реализовал метод get в контроллере
Karpov-D Dec 13, 2023
8fa5ed2
ДЗ_10 выполнено
Karpov-D Dec 14, 2023
bf67581
ДЗ_10 добавлен файл app.properties
Karpov-D Dec 14, 2023
d71f2d0
ДЗ_10 Минимальный размер суммы на момент открытия беру из app.properties
Karpov-D Dec 15, 2023
582ec63
Merge branch 'rsmitt:master' into master
Karpov-D Dec 16, 2023
bece339
Merge pull request #11 from Karpov-D/feature/module10
Karpov-D Dec 18, 2023
bb5c349
ДЗ_11 Поднял spring boot приложение
Karpov-D Dec 19, 2023
ef3cdf5
ДЗ_11 Добавил основную страницу, подключил css
Karpov-D Dec 20, 2023
0373605
ДЗ_11 Добавил html страницы и hibernate зависимости
Karpov-D Dec 22, 2023
4ca1f21
ДЗ_11 Спринг бут приложение + БД без бизнес логики
Karpov-D Dec 26, 2023
0586080
ДЗ_11 Добавлена бизнес логика отредактированны страницы
Karpov-D Dec 27, 2023
f111833
ДЗ_11 Добавлены тесты
Karpov-D Dec 29, 2023
fa733b8
Merge branch 'rsmitt:master' into master
Karpov-D Dec 29, 2023
24df138
ДЗ_12 Test commit
Karpov-D Dec 29, 2023
43d7567
ДЗ_12 Добавленны классы Spring Boot Rest приложения
Karpov-D Jan 2, 2024
c49c8c0
ДЗ_12 Добавлен контроллер получения всех пользователей
Karpov-D Jan 3, 2024
a44bc84
ДЗ_12 Добавлены остальные эндпоинты
Karpov-D Jan 4, 2024
22aadf0
ДЗ_12 Добавлены классы под тесты
Karpov-D Jan 4, 2024
ba01561
ДЗ_12 Перенес директорию с тестами
Karpov-D Jan 4, 2024
a842136
ДЗ_12 Поправлены зависимости
Karpov-D Jan 5, 2024
835c018
ДЗ_12 Добавлены тесты
Karpov-D Jan 5, 2024
12aed64
ДЗ_12 ДобавленА АВТОРИЗАЦИЯ SPRING SECURITY
Karpov-D Jan 8, 2024
6739d69
Merge branch 'rsmitt:master' into master
Karpov-D Jan 12, 2024
ea0ae77
Merge branch 'rsmitt:master' into master
Karpov-D Jan 14, 2024
ba1af21
ДЗ_12 Откорректирован pom
Karpov-D Jan 14, 2024
f55e4b6
Merge pull request #12 from Karpov-D/feature/module11
Karpov-D Jan 14, 2024
d867143
ДЗ_12 Откорректирован unit test
Karpov-D Jan 14, 2024
6cb2f9f
ДЗ_12 Откорректирован unit test
Karpov-D Jan 14, 2024
f9114b5
ДЗ_13 test commit
Karpov-D Jan 14, 2024
7d1289b
ДЗ_13 добавлен контролер и докер файл
Karpov-D Jan 18, 2024
deef3c9
Merge pull request #13 from Karpov-D/feature/module12
Karpov-D Jan 21, 2024
45fd514
ДЗ_13 Добавлена сборка проекта в docker-compose
Karpov-D Jan 24, 2024
c551601
ДЗ_13 Поправлены зависимости добавлены юнит тесты
Karpov-D Jan 25, 2024
b657e19
ДЗ_13 Исправлен Swagger
Karpov-D Jan 25, 2024
3ffef03
ДЗ_13 Выполнено
Karpov-D Jan 25, 2024
2415e77
Merge pull request #14 from Karpov-D/feature/module13
Karpov-D Jan 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .idea/checkstyle-idea.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions module01/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,37 @@

<name>module01</name>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>compile</scope>
</dependency>
</dependencies>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Expand Down
43 changes: 43 additions & 0 deletions module01/src/main/java/ru/sberbank/edu/GCD.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package ru.sberbank.edu;

public class GCD implements CommonDivisor{
/**
* Метод выводит наибольший общий делитель 2х чисел. (Алгоримт Евклида)
*/
@Override
public int getDivisor(int firstNumber, int secondNumber) {
int simpleCasesValue = simpleCases(firstNumber, secondNumber);
if (simpleCasesValue != -1) {
return simpleCasesValue;
}
int firstNum = firstNumber;
int secondNum = secondNumber;
while (firstNum != 0 && secondNum != 0) {
if (firstNum > secondNum) {
firstNum = firstNum - secondNum;
}
else {
secondNum = secondNum - firstNum;
}
}
return firstNum + secondNum;
}


/**
* Метод выводит наибольший общий делитель 2х чисел для простого случая.
*/
private int simpleCases(int firstNumber, int secondNumber) {
if (firstNumber == secondNumber) {
return firstNumber;
}
if (firstNumber == 0) {
return secondNumber;
}
if (secondNumber == 0) {
return firstNumber;
}
return -1;
}
}

19 changes: 19 additions & 0 deletions module01/src/main/java/ru/sberbank/edu/GreetingImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package ru.sberbank.edu;

public class GreetingImpl implements Greeting{
/**
* Метод выводит информацию о разработчике данного класса
*/
@Override
public String getBestHobby() {
String name = "Дмитрий";
String lastName = "Карпов";
String post = "Инженер по нагрузочному тестированию";
String hobby = "Увлекаюсь програмированием на Java, люблю активные виды спорта \n" +
"(волейбол, настольный тенис, катание на велосипеде) и путешествия";
return "Имя: " + name + ",\n" +
"Фамилия: " + lastName + ",\n" +
"Должность: " + post + ",\n" +
"Хобби: " + hobby;
}
}
39 changes: 39 additions & 0 deletions module01/src/main/java/test/GCDTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package test;


import org.testng.annotations.Test;
import static org.junit.Assert.*;

import ru.sberbank.edu.GCD;


public class GCDTest {
@Test
public void WhenGetDivisor100and75Then25() {
GCD gcd = new GCD();
int ExpectedResult = 25;
assertEquals(ExpectedResult, gcd.getDivisor(100, 75));
}

@Test
public void WhenGetDivisor795and70Then25() {
GCD gcd = new GCD();
int ExpectedResult = 5;
assertEquals(ExpectedResult, gcd.getDivisor(795, 70));
}

@Test
public void WhenGetDivisor0and3Then25() {
GCD gcd = new GCD();
int ExpectedResult = 3;
assertEquals(ExpectedResult, gcd.getDivisor(0, 3));
}

@Test
public void WhenGetDivisor300and300Then25() {
GCD gcd = new GCD();
int ExpectedResult = 300;
assertEquals(ExpectedResult, gcd.getDivisor(300, 300));
}

}
21 changes: 21 additions & 0 deletions module01/src/main/java/test/GreetingImplTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package test;

import org.testng.annotations.Test;
import ru.sberbank.edu.GreetingImpl;

import static org.junit.Assert.assertEquals;

public class GreetingImplTest {

@Test
public void getBestHobby() {
GreetingImpl greetingImpl = new GreetingImpl();
String ExpectedResult = "Имя: Дмитрий,\n" +
"Фамилия: Карпов,\n" +
"Должность: Инженер по нагрузочному тестированию,\n" +
"Хобби: Увлекаюсь програмированием на Java, люблю активные виды спорта \n" +
"(волейбол, настольный тенис, катание на велосипеде) и путешествия";
assertEquals(ExpectedResult, greetingImpl.getBestHobby());

}
}
20 changes: 20 additions & 0 deletions module02/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,26 @@
<packaging>jar</packaging>

<name>module02</name>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
30 changes: 23 additions & 7 deletions module02/src/main/java/ru/sberbank/edu/App.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
package ru.sberbank.edu;

/**
* Hello world!
*
*/
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
public static void main( String[] args ) throws IOException {
FileWriter writer = new FileWriter("file.txt");
writer.write("Вы помните,\n" +
"Вы всё, конечно, помните,\n" +
"Как я стоял,\n" +
"Приблизившись к стене,\n" +
"Взволнованно ходили вы по комнате\n" +
"И что-то резкое\n" +
"В лицо бросали мне.");
writer.close();
File file = new File("file.txt");
StatisticFile statisticFile = new StatisticFile();
Save saveFile = new SaveFile();
Save saveDB = new SaveBD();
statisticFile.save(saveFile, statisticFile.getLineCount(file),
statisticFile.getSpaceCount(file), statisticFile.getLongestLine(file));
statisticFile.save(saveDB, statisticFile.getLineCount(file),
statisticFile.getSpaceCount(file), statisticFile.getLongestLine(file));
}
}
5 changes: 5 additions & 0 deletions module02/src/main/java/ru/sberbank/edu/Save.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package ru.sberbank.edu;

public interface Save {
void save(int lineCount, int spaceCount, String line);
}
8 changes: 8 additions & 0 deletions module02/src/main/java/ru/sberbank/edu/SaveBD.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package ru.sberbank.edu;

public class SaveBD implements Save {
@Override
public void save(int lineCount, int spaceCount, String line) {
System.out.println("Статистика сохранена в базу данных.");
}
}
18 changes: 18 additions & 0 deletions module02/src/main/java/ru/sberbank/edu/SaveFile.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ru.sberbank.edu;

import java.io.FileWriter;
import java.io.IOException;

public class SaveFile implements Save{
@Override
public void save(int lineCount, int spaceCount, String line) {
try (FileWriter writerResult = new FileWriter("ResultFile.txt")){
writerResult.write("Количество строк в файле: " + lineCount + "\nКоличество пробелов в файле: " + spaceCount + "\nСамая длинная строка: " + line);
System.out.println("Статистика сохранена в файл.");
}
catch (IOException e) {
System.out.println("Что-то пошло не так");
}

}
}
15 changes: 10 additions & 5 deletions module02/src/main/java/ru/sberbank/edu/Statistic.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
package ru.sberbank.edu;

// интерфейс можно менять
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

public interface Statistic {

int getLineCount();
int getSpaceCount();
String getLongestLine();
void save(int lineCount, int spaceCount, String line);
int getLineCount(File file) throws IOException;
int getSpaceCount(File file) throws IOException;
String getLongestLine(File file) throws IOException;


void save(Save save, int lineCount, int spaceCount, String line) throws IOException;

}
68 changes: 68 additions & 0 deletions module02/src/main/java/ru/sberbank/edu/StatisticFile.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package ru.sberbank.edu;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/**
* Класс собирает статистику из файла
*/
public class StatisticFile implements Statistic{
public StatisticFile() {
}

/**
* Метод возвращает количество строк в файле
*/
public int getLineCount(File file) throws IOException {
int countLine = 0;
try(BufferedReader fileReader = new BufferedReader(new FileReader(file)))
{
for(String line = fileReader.readLine(); line != null; line = fileReader.readLine()) {
++countLine;
}
}
return countLine;
}

/**
* Метод возвращает количество пробелов в файле
*/
public int getSpaceCount(File file) throws IOException {
int countSpace = 0;
try(FileReader fileReader = new FileReader(file))
{
for(int symbol = fileReader.read(); symbol != -1; symbol = fileReader.read()) {
if (symbol == 32) {
++countSpace;
}
}
}
return countSpace;
}

/**
* Метод возвращает самую длинную строку в файле в файле
*/
public String getLongestLine(File file) throws IOException {
String longestLine = "";
try(BufferedReader fileReader = new BufferedReader(new FileReader(file));)
{
for(String line = fileReader.readLine(); line != null; line = fileReader.readLine()) {
if (longestLine.length() < line.length()) {
longestLine = line;
}
}
}
return longestLine;
}

/**
* Метод сохраняет статитстику файла в файл или в базу данных на выбор пользователя
*/
public void save(Save save, int lineCount, int spaceCount, String line) {
save.save(lineCount, spaceCount, line);
}
}

Loading