728x90

전체 글 264

[영단어 추천 앱] 시스템 설계 문제

영단어 추천 앱을 만들기 위해 가장 핵심 기능이라고 할 수 있는 연관어 분석 알고리즘 활용에 치명적인 문제가 있다. 지금까지 구현해오던 시스템 설계대로라면 인공지능(tensorflow)에서 어떠한 문장들을 입력 데이터로 받아 word2vec 모델이 학습을 하게 된다. 즉, word2vec 모델에서 A라는 단어와 연관되는 단어를 탐색하고 싶은 경우 A라는 단어가 학습 데이터에 포함이 되어 있어야 한다. 그런데 현재 우리가 사용하는 영어단어 데이터베이스에 있는 모든 단어가 인공지능 학습 데이터에 포함되어 있다고 확신할 수 없다. 또한, DB에 있지 않은 단어가 tensorflow에는 존재할 수 없다. 인공지능과 DB가 따로 놀고 있다고 볼 수 있다. 처음에는 이러한 문제를 그냥 DB의 단어와 학습데이터의 단..

[백준] 단계별로 풀어보기 > 입출력과 사칙연산 (java)

+) 풀이 코드 https://github.com/jung0115/CodingTestPractice.git GitHub - jung0115/CodingTestPractice: Practice Coding Test with Beakjoon, programmers, etc. Practice Coding Test with Beakjoon, programmers, etc. - GitHub - jung0115/CodingTestPractice: Practice Coding Test with Beakjoon, programmers, etc. github.com +) 백준에 Java 코드를 제출할 때는 class명을 Main으로 해주어야 오류가 발생하지 않는다. 입출력과 사칙연산은 C언어로 모두 풀었는데 2문제가 새..

Programming/JAVA 2022.02.06

[MariaDB] SQL JOIN

SELECT * FROM 테이블1 LEFT JOIN 테이블2 ON 테이블1.필드1 = 테이블2.필드1; : '테이블1.필드1'과 '테이블2.필드1'의 내용이 같은 것이라고 인지하고 테이블1, 테이블2 두 개의 테이블을 하나로 합쳐서 보여준다. SELECT 필드명 AS 새필드명, 필드명, ... FROM 테이블1 LEFT JOIN 테이블2 ON 테이블1.필드1 = 테이블2.필드1; : 위처럼 합치는데, 중복되는 내용은 하나만 보여주도록 원하는 필드명만 선택해서 나타낸다. '필드명 AS 새필드명' 부분은 모호할 수 있는 필드명을 다른 이름으로 표시해주는 역할을 한다. 그리고 해당 예제에서는 topic과 author 테이블에 모두 id 라는 필드가 있기 때문에 혼동이 오지 않도록 테이블명.id라고 해주어야 표..

Programming/SQL 2022.01.26

[백준] 단계별로 풀어보기 > 백트래킹 (java)

+) 풀이 코드 https://github.com/jung0115/CodingTestPractice.git GitHub - jung0115/CodingTestPractice: Practice Coding Test with Beakjoon, programmers, etc. Practice Coding Test with Beakjoon, programmers, etc. - GitHub - jung0115/CodingTestPractice: Practice Coding Test with Beakjoon, programmers, etc. github.com +) 백준에 Java 코드를 제출할 때는 class명을 Main으로 해주어야 오류가 발생하지 않는다. 15649번 - 2022.01.26.수 import j..

Programming/JAVA 2022.01.26

[단어 연관도 - Lab meeting] Tensorflow Lite - 2022.01.25.화

Tensorflow로 학습한 word2vec 모델을 안드로이드 프로젝트에서 활용하기 위해 Tensorflow Lite 형태의 파일로 저장을 해서 사용해보았다. 아직 내가 원하는 동작까지는 성공하지 못했지만, tflite 파일을 저장해서 사용할 수 있다는 것을 확인하기 위해 예제로 사용한 간단한 코드에서는 제대로 동작했다. 지식이 너무 부족하다보니 시스템 설계 자체를 애초에 잘못한 것 같다. 시스템 설계를... 제대로 해야겠다. 그리고 다음주부터는 Lab meeting에서 이 주제가 아니라 연구 논문을 쓸 주제로 진행하기로 했다. 관련 공부를 좀 더 해보고, 이 관련 내용은 동아리 활동에서 계속 진행하면 될 것 같다.

[Java] LinkedList

Java를 공부하다 보면 LinkedList를 사용해야 할 때가 올 것 같다... 다만 탐색 속도는 떨어지기 때문에 적절히 사용해야 할 것 같다. 미래의 나를 위해 잘 정리된 링크를 첨부해두겠다. https://coding-factory.tistory.com/552 [Java] 자바 LinkedList 사용법 & 예제 총정리 LinkedList란? 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노 coding-factory.tistory.com

Programming/JAVA 2022.01.21

[Java] StringBuilder로 출력하기

Java에서 출력은 System.out.print();를 이용하고 있는데, 이걸 이용하면 시간을 많이 잡아먹는다고 한다.(Java는 왜 이렇게 시간을 많이 쓰는 걸까...) 그래서 시간을 최대한 단축하려면 해당 문장의 사용을 줄여주어야 하는데, 그때 StringBuilder를 이용할 수 있다. StringBuilder에 출력할 문장을 모두 저장하고 한 번에 출력해주는 것이라고 이해하면 된다. 생각보다 쉬운 개념이기 때문에 예제 코드는 하나만 써두겠다. public class Num11651 { public static void main(String[] args) throws IOException { StringBuilder printSet = new StringBuilder(); for(int i = 0..

Programming/JAVA 2022.01.21

[Java] BufferedReader로 입력 받기

원래는 Java에서 입력을 받는 방법 중 Scanner를 이용하고 있었는데, 이 방법이 시간을 많이 잡아먹어서 TimeLimited 문제가 많이 발생했다. 그래서 이제는 시간을 단축시키기 위해 BufferedReader 방법으로 입력을 받고 있다. 단, 해당 방법은 줄 단위(enter 기준)로 입력을 받기 때문에 공백(space) 기준으로 입력을 받기 위해서는 토큰화를 해주어야 한다. 1) 정수형을 enter 기준으로 입력 받을 때 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) th..

Programming/JAVA 2022.01.21
728x90