til 10

[회고] 프로젝트를 마치며..

약 5 ~ 6주간의 프로젝트가 끝이 났다. 다양한 분야의 팀원(백, 프론트, 디자인)과 프로젝트가 끝난 시점에서 어떻게 협업을 했고 어떤 부분에서 문제가 있었는지 조금이나마 생각해보는 시간을 가지려 한다. 어색한 첫 만남 & 프로젝트 주제 선정 처음 대화의 시작은 프로젝트 주제였던 것 같다. 각자 생각한 주제나 소소한 얘기를 하며 팀원끼리 말을 많이 했었고 다양한 주제에대해 얘기를 나눈 것 같다. 그 중 우리가 정했던 아이디어는 연구를 위한 지원자를 모집하는 기업/단체와 단기 알바를 원하는 유저간의 매칭을 더 간편하게 도와주는 서비스 였다. 아르바이트의 경우 이미 좋은 어플들이 많고 시스템이 존재했지만, 대학교나 대학원, 기업 등 단순한 연구에대한 테스트를 받거나 다양한 사람들의 생각을 얻을 수 있는 사..

TIL 2023.05.13

자바 - 객체지향

흔히 자바는 객체지향언어 이고 중요한 것은 "객체" 라고 많이들 말한다. 그러면 객체는 무엇이고 객체지향언어의 장점은 무엇인가?? 라는 궁금함이 있다. 객체 자바에서 instance 라고 불리며 사전적 정의는 "실제로 존재하는 것" 이다. 하지만 자바를 공부하며 이게 무슨 소린지 이해가 안되기도 한다. 단순히 자바 클래스에 저장된 내용대로 메모리에 생성된 것 이라고 생각하자. 우리집에 있는 TV를 예로 쉽게 말하자면 TV의 속성(색깔, 브랜드 등)이 다 다르고 기능(전원켜는 기능 및 채널을 옮기는 기능)들이 있을 것이다. 여기서 속성 = 변수 | 기능 = 메서드 선언 이라고 알고 넘어가면 이해하기 쉽다. 이러한 것들을 "클래스"에 기본적으로 담아두고 main에서 객체 생성 후 가져다 사용하거나 변경할 수..

TIL 2023.02.21

[알고리즘] 프로그래머스 - 모의고사

문제를 확인하고 어떤 방법으로 풀어야 하나 생각을 해봤다. 가장 먼저 1번, 2번, 3번 수포자가 찍는 방식에 규칙이 존재했고 각각 5번 8번 10번씩 숫자가 반복 되는 것 이었다. int[] answer = new int[3]; // 수포자들이 각각 문제를 맞춘 개수가 들어갈 배열 (수포자가 3명이기에 길이는3) int[] arr = {}; // 정답이 들어갈 배열 int[] case1 = {1,2,3,4,5}; int[] case2 = {2,1,2,3,2,4,2,5}; int[] case3 = {3,3,1,1,2,2,4,4,5,5}; 그래서 각각의 배열을 만들어 문제를 찍는 규칙을 담아줬고 이 배열과 값을 넣어주는 answers 배열의 값이 일치하는 갯수를 찾는 순서가 필요했다. for (int i=..

자바 알고리즘 2023.02.18

[알고리즘] 프로그래머스 - 정수 내림차순으로 배치하기

프로그래머스 정수 내림차순으로 배치하기 문제를 보고 쉽게 풀릴 것 이라고 생각했다. 입력받은 정수 n을 내림차순 정렬해 리턴하면 끝 이라고 생각했지만 코드로 만드는 것은 쉬운 일이 아니었고 어떻게 풀어야할지 생각을 먼저 하고 풀어봤다. import java.util.*; class Solution { public long solution(long n) { long answer = 0; String nString = Long.toString(n); // n > 문자열로 변환 String[] arr = new String[nString.length()]; // 문자열 인덱스값 넣어줄 배열 생성 String result = ""; // System.out.println(nString); for (int i=0..

자바 알고리즘 2023.02.16

[알고리즘] 프로그래머스 - 핸드폰 번호 가리기

오늘부터 Java 언어에 익숙해질겸 알고리즘 문제 풀이를 시작했다. 문제는 프로그래머스 사이트의 핸드폰 번호 가리기. 문자열 phone_number의 뒷 4자리를 제외하고 "*"로 표시하면 된다. class Solution { public String solution(String phone_number) { String answer = ""; String frontNum = phone_number.substring(0, phone_number.length()-4); // 뒷 4자리 제외 번호. String backNum = phone_number.substring(phone_number.length()-4); // 뒷 4자리 번호 for (int i=1; i

자바 알고리즘 2023.02.15

Java - 변수

변수 선언 방법. 1. 변수타입 변수명; int age; int age = 28; int age = 28, num = 5; 3번의 경우는 타입이 같은 변수를 여러개 설정하는 경우이다. 2. Camel case int myAge = 28; 맨 처음 단어인my는 소문자로 써주고 두번째 단어인age의 앞 글자만 대문자로 써주는 방식. 보통 Camelcase는 변수를 설정할 때 두번째 단어부터 앞글자를 대문자로 써주는 방식이다 3. 변수 초기화 초기화란 변수에 처음으로 값을 저장하는 것을 의미한다. 간단히 문제를 풀어보자면, System.out.println("1" + "2"); // String 12 System.out.println(true+""); // true System.out.println('..

TIL 2023.02.13

해커톤 프로젝트 경험

오늘은 항해를 하며 22시간의 해커톤 프로젝트를 진행한다. 해커톤 프로젝트가 무엇인지 아무것도 알지 못한채 아침이 되었고 어쩌다보니 프로젝트 아이템을 구상하고 api 명세서 또한 작성했다. 만들자 해서 만들었지만 사실 뭐가 뭔지 잘 모른채로 만들기도 한 것 같다. 그래도 이렇게 하나하나 써보면서 눈으로 직접 기능과 url, db 등 확인할 수 있었고 생각을 조금 더 해보는 기회가 되주었다. 그리고 와이어프레임 또한 만들어보며 페이지가 어떻게 생겼고 어떤식으로 진행해야 하는지 조금씩 감이 잡이기 시작한 것 같다. 직접 손으로 구상해보며 api 명세서에대해 조금 더 알고 싶다는 욕심이 생겼고 앞으로 프로젝트나 무언가 기능을 구현하는데 있어 많은 생각을 해봐야할 것 같다.

TIL 2023.02.12

github 기본적인 기능.

vscode를 사용하며 정말 기본적인 명령어는 알고 있기에 원격 저장소인 github에 데이터를 올리기는 할 수 있었다. 내가 알고 있는 명령어는 아래와 같다. git add git status git commit -m ‘ ’ git push origin main git pull origin main cd ls git init git branch 위의 명령어와 git config를 사용해 username과 email 설정한 이후 github 홈페이지에서 리포를 만들고 저장소를 저장하고 명령어를 사용하는 방식이었다. 예를 들어 프로젝트를 진행한다고 하면, 프로젝트 폴더 안에서 vscode를 열고 최초 git init 명령어를 통해 프로젝트 안에 .git이라는 폴더를 만들어 git을 사용할 수 있게 만들었다..

TIL 2023.02.10

검색기능 만들기.

도서 사이트에서 크롤링해온 데이터를 목록에 보여주고 원하는 책 이름을 검색하고 싶었다. 검색을 위한 정석?은 쿼리스트링을 사용하는 것 이었고 flask로 구현하는 나는 ajax와 조건, 반복문을 통해 만들기로 했다. 기능 구현을 위해 먼저 생각했던 것은 저장된 데이터를 받아와 if문을 사용해 검색 기능을 구현하는 것 이었고 데이터부터 가져왔다. search라는 변수로 웹에서 입력하는 검색어를 가져왔고 db에 저장된 전체 정보는 response로 받아왔다. 그리고 if문을 활용해 search가 db에 있는지 판별해 temp_html을 실행했다. 처음부터 includes를 이용했다면 위 코드처럼 간결하게 만들 수 있었지만 처음에는 다른 시도를 했었기에 위의 코드를 만들기까지 시간이 오래 걸렸다. 저장된 db..

TIL 2023.02.10

회원가입 기능 만들기.

오늘은 회원가입 기능을 만들었다. 단순히 정보를 입력하고 db에 저장하는 것은 쉬웠다. 하지만 입력 id가 db에 저장된 값인지 판단하는데 시간이 걸렸으나 결국 완성했다. 내가 생각한 방법은 id, pw, 이름, 연락처를 받아오고 그 값이 저장된 db에서 중복된 값인지 판단 후 가입 되는 것이었다. function createMember() { let userId = $('#userId').val() let userPw = $('#userPw').val() let userName = $('#userName').val() let userPhone = $('#userPhone').val() $.ajax({ type: 'POST', url: '/join', data: {userId_give: userId, u..

TIL 2023.02.09