전체 글 43

[MariaDB] SQL Error [1366] [22007]: (conn=24) Incorrect string value: ...

강의를 따라서 실습을 진행하고 있는데 갑자기 뜬 오류. 오라클을 배울 때는 전혀 본 적 없던 오류라 당황했다. 찾아보니 내가 한글을 insert 하려고 했는데 그래서 뜬 오류라고 한다. 캐릭터셋을 UTF-8로 바꾸면 되는 것 같다. 1. MariaDB 자체 설정 변경 참고1) 한글깨짐 문제... - 인프런 | 질문 & 답변 (inflearn.com) 한글깨짐 문제... - 인프런 | 질문 & 답변 안녕하세요! 박매일 선생님!맥에서는 선생님과 똑같이 설정하면 특수문자로 깨지던 한글이[사진]이런식으로 깨집니다 중간에 한글은 디비버에서 직접 바꾼겁니다. 저번처럼 ALTER TABLE test.myboard www.inflearn.com 참고2) MYSQL, character set 변경 방법 (데이터베이스, ..

[자바의 정석] 개인적인 정리글 (2주차)

지난 주에 공부했던 부분은 앞부분이라 아는 내용이 많았기에 수월하게 할 수 있었다. 그러나 이번주에 들어가는 부분은 처음 보는 내용도 많았고, 이해가 힘든 부분도 있었다. 지금도 잘 모르는 내용이 많다. 다회독 하기 위해 모르더라도 일단 끝까지 다 보긴 했으나 앞으로 계속해서 반복해서 읽어봐야 할 것 같다. 이번 주차 내용에는 여러 클래스와 그와 관련된 메서드가 많았는데 해당 내용은 다 적기엔 너무 많아서 제외하려고 한다. (현재 따로 코딩테스트 공부 목적으로 메서드 정리하는 글을 쭉 올리려고 한다.) Chapter 07 ◎ 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 'extends'와 함께 작성 ◎ 조상 클..

[메서드 정리] Math

◎ abs 절대값을 반환(int, long, float, double) int i = Math.abs(-10); //i=10 ◎ ceil /floor 주어진 값을 올림/버림하여 반환(double타입) double d = Math.ceil(10.1); //d = 11.0 double d1 = Math.ceil(-10.1); //d1 = -10.0 double d2 = Math.ceil(10.000015);//d2 = 11.0 double d3 = Math.floor(10.8); //d3=10.0 double d4 = Math.floor(-10.8); //d4=-11.0 ◎ max / min 주어진 두 값을 비교하여 큰 쪽 / 작은 쪽 반환 (int, long, float, double) double d =..

[메서드 정리] String

◎ charAt(int index) 해당 index에 있는 문자를 알려준다(char) String str = "Hello"; char c = str.charAt(1); // c='e' ◎ compareTo(String str) 문자열(str)과 사전 순서로 비교. 같으면 0, 사전 순으로 이전이면 음수, 이후면 양수 반환 int i = "aaa".compareTo("aaa"); // i=0 int i2 = "aaa".compareTo("bbb"); // i=-1 int i3 = "bbb".compareTo("aaa"); // i=1 ◎ concat(String str) 문자열(str)을 뒤에 덧붙인다. String s = "Hi"; String s2 = s.concat(" Friend"); // s2="..

[메서드 정리] Integer

매일 조금씩 코딩테스트를 풀기 시작하면서 느낀 것은 메서드가 생각이 안나는 경우가 꽤 많다는 것이다. 인터넷에서 검색하면 바로 찾을 수 있긴 하지만 매번 검색하기도 귀찮으니 내 블로그에 정리도 하고 이참에 최대한 암기도 할 생각으로 메서드들을 모아서 글을 올리려고 한다. 테스트를 진행하면서 수시로 추가할 예정이다. ◎ parseInt 문자열을 int 형으로 변환할 때 사용(Integer타입 정리라 parseInt지만 parseByte부터 parseDouble까지 전부 존재한다.) parseInt뒤에 진법을 설정하면 해당 진법의 수를 10진법으로 바꿔준다. int i = Integer.parseInt("1001"); int i2 = Integer.parseInt("100",2) //100(2) -> 4 i..

[자바의 정석] 개인적인 정리 글(1주차)

자바의 정석 책을 사고 조금씩 읽고 있었지만 좀처럼 진도가 나가지 않던 상황이었다. 블로그 글을 쓰면서 이번 기회에 확 끝내야겠다는 다짐을 했다. 기존에 아는 내용들은 제외하고, 읽으면서 새롭게 알게 된 부분들과 평소에 자주 헷갈리던 부분들만을 모아서 정리하려 한다. Chapter 01 chapter 1은 이클립스 설치 등 준비과정의 챕터라 특별하게 정리해야 할 내용은 없다. Chapter 02 ◎ 지역변수는 사용 전에 반드시 초기화가 필요하다. 클래스 변수와 인스턴스 변수는 초기화 생략 가능하다. ◎ 자료형 타입별 설명 자료형 저장 가능한 값의 범위 bit byte boolean false, true 8 1 char '\u0000' ~ '\uffff' (0~2^16-1, 0~65535) 16 2 byt..

Arrays.sort()와 Collections.sort()

낮은 레벨의 연습문제를 풀고 있는데 나는 배열에 담아서 Array.sort()를 썼는데 다른 사람들의 풀이를 보니 Collections.sort()를 많이 쓰는 것을 보았다. 그래서 Arrays.sort()와 Collections.sort() 차이를 한번 정리해보려고 한다. Arrays.sort() 배열을 오름차순으로 정렬한다. 숫자 > 대문자 > 소문자 > 한글 순서로 정렬한다. Arrays.sort(배열,Collections.reverseOrder())를 사용하여 내림차순으로 정렬한다. 기본형 배열의 경우 DualPivotQuicksort를 사용한다. Quicksort는 평균O(NlogN), 최악의 경우 O(N²)의 시간복잡도를 가진다. DualPivotQuicksort.sort()는 퀵정렬이 최악의..

표기법 정리

표기법이 틀려도 작동 자체는 문제가 없겠지만... 방구석에서 혼자 만드는 것이 아니니 이런 부분들은 당연히 지켜야 한다고 생각하기 때문에 정리해보려고 한다. 평소에 코드 작성할 때는 익숙하게 하다보니 크게 신경을 안쓰고 있긴 했는데 이왕이면 제대로 알고 쓰면 좋으니까^^ ◎ 파스칼 표기법 -> java에서 클래스를 정의할 때(인터페이스에도 사용), C#에서 변수나 클래스를 선언할 때, 파이썬의 클래스 정의 ex) Date, LocalDateTime, String, Scanner ◎ 카멜 표기법 -> java에서 변수, 메소드를 정의할 때 ex) void speedTest(){ } ◎ 언더바 표기법(스네이크 표기법) - 소문자 -> c,c++,php,파이썬 ex) void speed_test(){ } ◎ ..

String vs StringBuffer vs StringBuilder

코딩테스트 연습 문제를 풀 때 아무 생각 없이 String으로 작성했는데 다른 사람들의 풀이를 보면 StringBuilder를 쓴 것을 자주 보곤 했다. 최근에 문자열에 계속 추가를 해야 하는 과제가 있었기에 이번 기회에 String과 StringBuffer, StringBuilder의 차이를 정리하려고 한다. String String클래스는 인스턴트를 생성할 때 지정된 문자열을 변경할 수 없다.(불변성) 기존 문자열에 +로 문자를 추가한 경우 보기에는 내용이 변경되는 것 같지만, 새로운 내용의 문자열이 형성되고 그 메모리 영역을 가리키도록 변경된다. 기존 메모리 영역은 Garbage로 남아있다가 GarbageCollection에 의해 사라진다. 따라서 변경이 빈번한 경우 성능이 떨어질 수밖에 없다. S..

큐(Queue)

하루에 하나씩 자료 구조를 정리하고 있다. 직접 써보면서 정리하는 것을 좋아하지만 손글씨가 매우 좋지 않아 오히려 가독성이 떨어지는 슬픈 상황ㅠㅠ 학창시절 필기했던 노트를 나중에 다시 봤을 때 알아보기 힘들었던 경험이 있기에 블로그로 적어본다. (애초에 인터넷에 있는 이미지들이 내 그림보다 고퀄리티다.) Queue 선입선출 (First In First Out; FiFO)의 자료구조. 먼저 들어온 데이터가 먼저 나간다. 자료가 나가는 부분을 Front, 자료가 들어오는 부분을 Rear(Back이라고도 한다) 입력동작을 Enqueue, 출력동작을 Dequeue라고 한다. 자바에서의 Queue 사용 // 선형 자료구조 - 큐 import java.util.LinkedList; import java.util.Q..