π Spring Boot, Vue.js based Safefood management project πΉ
λΉλ°λ²νΈμ λΉλ°λ²νΈ νμΈμ΄ μλ‘ μΌμΉν΄μΌ μ μμ μΈ νμκ°μ μ΄ κ°λ₯νλλ‘ κ΅¬ννμ
λ¨Όμ μ¬μ©μλ€μ΄ κ°μ₯ λ§μ΄ μμ·¨ν λ² μ€νΈ3 μμμ μκ°ν΄μ€
κ·Έ μ΄ν μμ μ 체리μ€νΈκ° λμ€κ³ , μμ·¨μ μ°μ λ²νΌμ ν΅ν΄ ν μ μμ
κ²μμ°½μ ν΅ν΄ μμ λ°μ΄ν° μ 보 κ²μ κ°λ₯
(μΆκ° : μ μ¬μ 보 κ²μμ μν 'κ²μ μκ³ λ¦¬μ¦ μΆκ° ꡬν')
κ²μν μ λ³΄κ° λ°μ΄ν°μ μ‘΄μ¬νμ§ μμ λ, μΌμΉμ¨ 60%μ΄μμΈ μ 보λ₯Ό μΆλ ₯νλλ‘ μκ³ λ¦¬μ¦ κ΅¬ν
@Override
public List<Food> similarSearch(String f_name) {
List<Food> allList = Fmapper.selectAll(); // μ 체 μμ리μ€νΈ λΆλ¬μ€κΈ°
List<Food> similar = new ArrayList<Food>();
// μμμ νλμ© λλ©΄μ, μ μ¬ν λ¨μ΄κ° μλμ§ μ²΄ν¬νκΈ°. νκΈμμ© λΉκ΅ν΄μ 60%μ΄μ μΌμΉνλ λ¨μ΄λ§ λ°λ‘ μ μ₯ν return;
for (int i = 0; i < allList.size(); i++) {
Food f = allList.get(i);
String[] origin = f.getName().split(""); // μλ³Έ λ¨μ΄ νκΈμμ© μλ₯΄κΈ°
String[] arr = f_name.split(""); // κ²μν λ¨μ΄ νκΈμμ© μλ₯΄κΈ°
double length = origin.length; // μ 체 κΈμ μ
double correct = 0.0; // μΌμΉνλ μ
if(origin.length != arr.length) { // κ°μ§ μμ λ
boolean[] chk = new boolean[origin.length];
length = arr.length;
for (int j = 0; j < arr.length; j++) {
String s = arr[j];
for (int k = 0; k < origin.length; k++) {
if(s.equals(origin[k]) && !chk[k]) {
chk[k] = true;
correct++;
break;
}
}
}
}
else { // κ°μ λ
for (int j = 0; j < origin.length; j++) {
if(origin[j].equals(arr[j])) {
correct++;
}
}
}
System.out.println("length : " + length);
System.out.println("correct : " + correct);
double percent = correct / length;
System.out.println("percent : " + percent);
if(percent >= 0.6) { // μΌμΉνλ₯ μ΄ 60%μ΄μ μ΄λ©΄
similar.add(f);
System.out.println("--------μΆκ°!------------");
}
}
return similar;
}
(Vue.jsλ₯Ό νμ©ν΄ λ¨μΌ νμ΄μ§ νΌν¬λ¨Όμ€ νμ©)
λ΄ κ°μΈμ 보 νμΈ λ° λ³κ²½μ ν΅ν΄ μμ μ΄ κ°λ₯
ν΄λΉ μ¬μ©μκ° μμ·¨ν λ΄μ λ° μλ λ₯΄κΈ° μ 보 νμ
μ°ν μμμ μμ μ±λΆμ 체ν¬ν΄ μ¬μ©μμ κΆμ₯ μμ·¨λκ³Ό λΉκ΅ν λ΄μ μΆλ ₯
CRUDκΈ°λ₯μ κ°μΆ κ²μν ꡬν
μμ λ° μλ λ₯΄κΈ°μ λν κΈ°λ³Έ μμ ν΄μ¦λ₯Ό λλ€μΌλ‘ 10λ¬Έμ μΆλ ₯νλλ‘ κ΅¬ν
(λ§μΆ κ°μμ λ°λΌ νμλ±κΈμ΄ μ‘΄μ¬νλ©°, μ 곡λλ μμλ°μ΄ν°κ° λ¬λΌμ§)
λλΌ μ€μ μ ν΅ν μΉ νμ΄μ§ λ²μ μλΉμ€ ꡬν
μμ° λμμ : β‘οΈ λ§ν¬