개발일지 썸네일형 리스트형 개발일지 16 - StringBuilder StringBuilder 문자열에 다른 문자열을 더하는 경우에 보통은 String 객체에 다른 문자열을 더하는 방식을 많이 사용한다. 하지만 이 방법은 그 때마다 계속해서 새로운 객체를 생성하므로 그 숫자가 많아지면 성능적으로 많은 저하가 일어난다고 한다.그래서 사용할 수 있는 것이 StringBuilder 라고 한다. StringBuilder는 새로운 객체를 생성하는 것이 아닌 기존에 데이터에 문자열을 더하는 방식을 사용한다. 따라서 문자열을 더하는 연산을 많이 수행해야 한다면 StringBuilder를 사용하는 것이 좋을 것 같다. StringBuilder sb = new StringBuilder(); sb.append("abc").append("def"); // 문자열 추가 "abcdef" sb.r.. 더보기 개발일지 15 - Http Method Http Method 최근 공부를 하면서 서버에 동작을 요청하는 방법인 Http Method에 대해 배웠다. 아직 아주 기초적인 활용법 밖에 익히지 못했지만 앞으로 많이 사용하게 될 것 같다. 내가 게시판을 만드는 프로젝트를 진행하며 사용한 방법은 POST, GET, PUT, DELETE 방식으로 총 4가지 였다. POST 게시판에서 글을 등록할 때 사용하는 방식이다. body에 JSON형태로 데이터를 담아 서버로 전송하고 받은 데이터를 DB에 저장하는 식으로 활용하였다. GET 게시판에 등록된 글들을 조회할 때 사용한 방식이다. 등록된 모든 글을 조회하거나 요청 url 뒤에 변수를 담아 특정한 글만 조회할 수 있는 기능을 구현할 때 활용하였다. PUT 게시판에 이미 등록되어 있는 글을 수정할 때 사용한.. 더보기 개발일지 14 - sql문 작성 sql문 작성 방법 Spring에서 DB를 사용하려면 sql쿼리문을 작성해야 한다. 그래서 기초적인 몇 가지 쿼리작성 방법을 알아보았다. CREATE TABLE 테이블명 ( 컬럼 설정 ) 테이블을 생성하는 방법이다. 생성할 테이블의 이름을 입력한 후 테이블에 들어갈 컬럼들의 이름, 타입, 속성등을 정해줄 수 있다. SELECT 컬럼명 FROM 테이블명 WHERE 조건 데이터를 조회하는 방법이다. 모든 컬럼을 조회하려면 칼럼명에 '*'를 입력하고 특정한 데이터들만 조회하고 싶다면 WHERE문에 조건을 넣어준다. INSERT INTO 테이블명 (컬럼명, 컬럼명, ...) VALUE(데이터값,데이터값, ...) INSERT문을 이용해 데이터값을 넣을 수 있다. UPDATE 테이블명 SET 컬럼명 = 변경할 데.. 더보기 개발일지 13 - 내가 자주 헷갈리는 것들 개발 공부를 하면서 자주 쓰는 코드지만 쓸때마다 헷갈리는 것들이 몇 개 있다. 오늘은 그 헷갈리는 것들을 한번 정리해보려 한다. 1.길이구하기 String str ="가나다"; int[] intArr = new int[4]; List strList = new ArrayList(); //String의 길이 int strLength = str.length(); //배열의 길이 int intArrLength = intArr.length; //리스트의 길이 int strListLength = strList.size(); 2.배열과 리스트의 변환과 출력 String[] strArr = {"가", "나", "다"}; // 1. 배열 -> 리스트 List strList = Arrays.asList(strArr); /.. 더보기 개발일지 12 - 문자열 뒤집기 문자열 뒤집는 방법 최근 알고리즘 문제를 푸는 중에 문자열을 뒤집는 문제를 몇 번 마주친 적이 있다. 이런저런 시도와 검색을 해본 끝에 몇 가지 방법을 알게 되었다. 1. for 문 for문을 통해 문자열의 가장 마지막 값부터 값을 입력하는 방법이다. public static void main(String[] args) { String str = "ABCDE"; String reverseStr = ""; for(int i=str.length(); i>0; i--){ reverseStr += str.charAt(i-1); } System.out.println(reverseStr); // "EDCBA" 출력 } 2.StringBuilder의 reverse() 사용 StringBuilder 클래스의 rever.. 더보기 개발일지 11 - BufferedReader 사용법 Scanner와 BufferedReader 자바에서 입력을 위해 Scanner와 BufferedReader를 사용해 보았다. 가장 처음으로 배운것은 Scanner지만 사용하다 보니 BufferedReader 의 처리속도가 Scanner 보다 훨씬 빠르다는 것을 알게 되었다. 그래서 BufferedReader의 사용법을 자세하게 알아보았다. public static void main(String[] args) throws IOException{ //throws IOException BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String str = bf.readLine() // 문자열로 받을시 int a = Intege.. 더보기 개발일지 10 - 두 번째 팀 프로젝트 두 번째 팀 프로젝트를 마치며 오늘 두 번째 팀 프로젝트가 끝났다. 이번 프로젝트는 객체를 활용한 키오스크 프로그램을 만드는 것이었는데, 역시 이번 프로젝트 동안에도 많은 어려움이 있었다. 우선 git을 활용한 branch를 생성해 pull request를 활용하는 시도를 해보았다. 저번 팀원들과 협업을 할 때에는 모두가 main branch에 푸쉬하는 과정만 존재해 코드가 꼬이는 경우가 잦았다. 하지만 pull request를 통한 merge는 그런 상황을 줄였고 충돌을 수정하는 데에도 굉장히 용이했다. 중간에 실수로 파일을 잘못 올려서 모두가 pull을 하지 못하는 상황이었는데. gitignore 파일 수정과 캐시 삭제를 통해 문제를 해결할 수 있었다. 코드를 구성하는데에 있어 어려웠던 점은 코드 컨.. 더보기 개발일지 09 - nextInt() 와 nextLine()에 관련된 문제 next() next()는 Scanner클래스의 메서드인데 값을 입력받는 역할을 수행한다. nextLine()과 다른 점은 띄어쓰기를 기준으로 나뉜다는 점인데, 문자열의 공백 이전까지의 내용을 입력받는다.만약 이 두가지를 이어서 쓰게 되면 다음과 같은 상황이 일어난다. Scanner sc = new Scanner(System.in); Stirng str1 = sc.next(); String str2 = sc.nextLine(); System.out.println(str1); System.out.println(str2); // 출력되지 않음 위와 같은 상황은 next() 대신 nextInt()를 사용했을 때도 동일한 상황이 일어난다.이유는 next()와 nextInt()는 개행문자 이전 즉 엔터를 누르기 .. 더보기 이전 1 ··· 4 5 6 7 8 다음