전체 글101 22/12/30 3번째 모임 오늘의 회의 Todo github 규칙 정하기 역할 분배 개발 계획 세우기 우선 깃헙 관리에 대한 규칙을 세웠다. 한 사람당 하나의 branch를 주어서 각자 개발한 부분에 대해서 이 branch에 업로드/업데이트 한다. 앱을 개발하는 것이다 보니 각자 java로 앱의 버튼에 기능을 달아주려면 xml 파일이 필요한데, 이러면 [UI 작업 >> java 작업] 이 되어버린다. 그래서 의논을 통해 각자 기능을 맡아서 그 기능에 맞는 작업을 하며 필요한 사람이 xml 파일까지 만들면서 개발하도록 정하였다. 역할 분배 역할은 figma에서 제작 했던 UI를 토대로 짰다. UI를 보고 몇 개씩 선택하는 식으로 분배했다. 내가 맡은 기능은 '검색 기능'이다. 검색은 문제집(어드민/유저), 유저(어드민), 그룹(어드.. 2022. 12. 30. 12/28/2일차 - ui 수정 및 기능 보완 이전에 과제로 각자가 배정받은 액티비티(페이지)를 figma 플랫폼에서 제작해 오기로 했고, 나는 문제집 검색 부분을 맡았다. 이번 시간에 각자 만든 페이지들을 사용자가 사용할 순서대로 배치하여 화살표로 표시했다. 그래서 사용자가 어떤 순으로 이 앱을 사용할지 한 눈에 파악하기 쉬웠다. ui 수정 및 부족한 페이지를 새로 만들고, 서로가 만든 페이지들이 개성이 각각 달라 디자인의 통일이 필요했다. UI는 눈에 편안하게 잘 보이는 초록색을 메인으로 하고, 미색을 서브로 두어 구분을 쉽게 할 수 있게끔 했다. 올해 입학한 새내기들끼리 앱을 개발하려고 하다보니 UI를 잘 다룰 줄 아는 사람이 없어 많이 난해했던 작업이다. 작업 중간중간 디자인 통합과 불필요한 점들과 이후 개선이 필요한 부분들에 메모를 남겨두었.. 2022. 12. 28. 스트림 이해하기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { // 문자기반의 보조스트림 = new 문자기반의 보조스트림(new 문자기반 스트림 (new File)) BufferedReader br = new BufferedReader(new FileReader((new File("C:\\Users\\user\\IdeaProjects\\JavaStudy\\text.txt")).getName())); String a; while ((a = br.readLine()) != null) System.out.println(a); // 문자기반의 보조스트림 = new 문자기반의 보조스트림(new Inpu.. 2022. 12. 9. Thread.join()동작 쓰레드를 공부하던 중 join의 동작이 궁금해졌다. join은 Thread 객체를 한데 묶어놓는다. 그리고 join으로 묶인 Thread 객체들은 모든 동작(run 메소드에서 수행되는 코드)이 완료될 때까지 해당 Thread 객체를 실행(start())한 Thread의 수행을 멈추어둔다. 이게 말로 풀어 설명하려니 조금 힘이 든다. 아래에 코드를 보고 이해해보자. import java.util.*; public class ThreadStudy extends Thread { int seq; ThreadStudy(int seq) { this.seq = seq; } public void run() { List list = new ArrayList(); System.out.println(this.seq + " .. 2022. 12. 2. [2022 하계 모각코] 7주차 1회 계획 및 결과 7주차 1회 계획 : 최장증가부분수열(LIS) 탐구 이번주는 최장증가부분수열알고리즘에 대해 탐구할 계획이다. 평소에는 기존에 알고 있는 알고리즘에서 확장적으로 알아나가려 했다. 이번 기회에 전혀 모르던 알고리즘을 집중적으로 파고들어 보았는데, 정말 신선한 경험이었다. 최장증가부분수열(LIS, Longest Increasing Subsequence)이란? 주어진 수열에서 순서대로 증가하는 가장 긴 부분수열이다. 예로 알아보자. '1, 2, 7, 4, 3, 9' 의 수열이 있다. 증가하는 부분수열을 뽑아보면 '1, 7, 9', '2, 7, 9', '4, 9', '2, 4', ... 가 있다. 이 부분수열들 중 길이가 가장 긴 수열이 바로 최장증가부분수열이다. 위에서 주어진 수열에서의 LIS는 '1, 2, 7.. 2022. 8. 10. [2022 하계 모각코] 6주차 1회 계획 및 결과 6주차 1회 계획 : 코드트리 사이트에서 제공하는 '동적 계획법 알고리즘' part 학습 '컴프2 예습 -> 알고리즘 공부' 계획 수정 이유 : 선배들과 이야기 나누면서 컴프2 과정에 대해 예습은 큰 이점을 가지지 못할 것 같았음. 프로그래밍 언어의 기능을 알기보단 차라리 프로그래밍 언어의 동작 원리를 아는 것이 더 좋을 것이라 판단함. 하지만 동작 원리를 알아내는 것은 공부하면서 시작을 호기심으로 접근하는 것이 좋겠다고 생각했고, 결국 알고리즘 공부로 전향. DP는 원래부터 공부하려 했던 알고리즘인데. 어떻게 공부를 해야할지 한참 막막했다. 좋은 기회로 얻은 코드트리 문제집으로 공부했다. 이번 시간에는 Mmemoization과 Tabulation을 공부했다. 이 둘은 간단한 피보나치 구현이라 쉽게 따라.. 2022. 8. 1. [2022 하계 모각코] 5주차 1회 계획 및 결과 5주차 1회 계획 : 컬렉션 프레임워크(collection framework(Queue)) 공부 이번 주차 계획 Queue 개념 정리 Queue 를 활용한 문제 풀이 Queue Queue는 Stack과는 달리 선입선출(혹은 후입후출) 자료구조이다. 스택은 먼저 넣은 것은 가장 바닥에 깔리게 되어 맨 마지막에 꺼낼 수 있다. 어떻게 생각해보면 물병같은 것이다. 입구와 출구가 같아서 가장 바닥에 있는 것을 꺼내려면 가장 위에 있는 것부터 꺼내야 한다. 반면에 Queue는 입구의 반대편에 출구가 있다. 그래서 가장 처음에 넣은 것은 가장 처음으로 꺼내볼 수 있다(FIFO, First In First Out). 큐와 스택의 차이는 분명하기에 헷갈리지 않도록 하자. 자바에서 Queue를 쓰는 방법은 Collect.. 2022. 7. 25. [2022 하계 모각코] 4주차 1회 계획 및 결과 4주차 1회 계획 : 컬렉션 프레임워크(collection framework(Map, Stack)) 공부 이번주는 Map, stack, queue에 대한 공부를 하려 한다. 고등학교 친구, 같은 과 선배들과 백준 문제를 통해 Stack에 대한 개념을 알고 있다. 또한 Map은 조금 찾아보니 Python의 딕셔너리와 같은 개념인지라 이번 시간에는 개념은 가볍게 보고, 관련 문제를 풀이해보는 시간을 가지려고 한다. Map은 수학 시간에 배운 함수에서 대응된다 혹은 상을 맺는다(map, mapping)에서 따온 말이라고 한다. Map의 저장 방식은 'key-value'이다. 그래서 어떤 자료를 찾아보고자 한다면 앞부터 순차적으로 탐색하는 것이 아니라 찾으려는 곳만 펼쳐본다고 한다. 이런 글을 보고선 본래 자료.. 2022. 7. 18. 이전 1 ··· 7 8 9 10 11 12 13 다음