알고리즘/공부의흔적 (8) 썸네일형 리스트형 [공부의 흔적]_getBytes() / toCharArray 1. getBytes() 문자열을 byte 배열로 변환해주는 메서드.문자열을 byte 단위로 처리하며, 주로 인코딩과 관련된 작업에서 사용됨.byte[] getBytes() // 예시String str = "Hello";byte[] byteArray = str.getBytes();System.out.println(Arrays.toString(byteArray));// 실행결과[72, 101, 108, 108, 111] 각 문자는 ASCII 코드(또는 UTF-8)로 변환되어 바이트 배열로 저장.바이트 배열로 데이터를 다루기 때문에, 문자 인코딩에 따라 바이트 배열의 값이 달라질 수 있음. [장점] - 인코딩을 명시적으로 지정 가능해서, 다양한 문자셋을 처리 할 수 있음. - 네트워크 통신, 파일 I/O, .. [공부의 흔적]_git에서 origin/master 병합 git remote rename master origingit branch : origin(default)IntelliJ branch : master IntelliJ에서 origin으로 commit / push를 하다가 git branch 이름을 master로 변경한뒤 기존에 origin으로 올렸던 것을 병합하고, origin 삭제를 하려고 함. 현재 브랜치 확인.git branch 만약, *master 또는 *main 이 아닌 *origin이 나온다면 브랜치 이름을 master 또는 main으로 정정해야 함.나는 master로 변경하고 싶어서 master로 변경하는 코드로 작성할 것.git branch -m origin master 위에 명령은 현재 브랜치 이름 origin을 master로 변경하는 것.. [공부의 흔적]_.ignore 파일 생성하는 방법 IntelliJ를 깃과 연동하면서, 깃에 민감한 정보를 올리지 않아야 할 때가 있음.깃에서 특정 파일 혹은 디렉토리를 관리 대상에서 제외할 때는 .gitignore 파일을 사용함.이 파일 안에 기입된 내용들은 모두 깃에서 관리하지 않겠다는 것을 의미.IntelliJ에서는 이 .gitignore 파일에 대한 기본적인 지원이 없음. 대신 plugin에서 .gitignore을 지원함. .ignore 플러그인 설치하기.단축키 Ctrl + Shift + A (맥 : Command + Shift + A) 사용해서 Action 검색창 열기. 검색창에 Plugins 검색한 뒤 Plugins Action 선택.Marketplace 탭을 누른 뒤, 검색 창에 .ignore 검색.install 눌러서 설치한 뒤, Intel.. [공부의 흔적]_브라우저 한글깨짐 공부하다가 localhost:8080을 쳐서 화면을 확인하려고 했는데 한글 대신 ?로 나와서 해결방법을 정리해보려고 한다. 1. 인코딩 확인 File > Settings > 왼쪽 탭에서 Editor > File Encodings빨간 박스로 된 것들은 모두 UTF-8로 되어 있어야 하고, 맨 아래는 체크가 되어 있어야 함. 1-1. 우측 하단 확인. UTF-8로 설정을 잘 했다면, 우측 아래 확인했을 때 나오는 것을 확인할 수 있음. 2. Edit Custom VM Options.. Help > EditCuston VM Options.. 아래 코드 입력하기.-Dfile.encoding=UTF-8-Dconsole.encoding=UTF-8 3. application.properties 수정 나는 아래 코드를.. [공부의 흔적]_Cookies와 Session 프로젝트를 진행하면서 장바구니 구현할 때 어떤 방식으로 구현해야 할까 찾아보다가 정리해봄.장바구니 구현 시 세션, 쿠키, DB 방식 등이 있음.그 중 쿠키와 세션에 대해 찾아봄. 쿠키와 세션 설명에 앞서, HTTP 프로토콜 특징에 대해 이해해야 함 HTTP Protocol 특징 - 비연결 지향 (Connectionless) : HTTP는 기본적으로 클라이언트가 서버에 요청 보내면, 서버는 해당 요청에 대한 응답을 클라이언트에게 전달하고 연결 끊음. - 상태 정보 유지하지 않음 (Stateless) - HTTP 통신은 상태 저장하지 않으므로 이전의 데이터 요청과 그 후의 데이터 요청은 전혀 관련 없음. - 사용자 인증, 쇼핑 카트 등 기능 구현 시 어려움 있음. HTTP Protoco.. [공부의 흔적]_HashSet / TreeSet ▶ HashSet Set인터페이스에서 지원하는 구현 클래스. 그래서 Set 특징을 그대로 상속받음.Set은 중복 허용하지 않고, 하나의 null 값만 저장 가능. 또한 순서 없이 Key로만 데이터를 저장함. Set의 가장 큰 장점은 중복을 자동으로 제거해 줌. Set은 비선형 구조이기 때문에 순서가 없고, 인덱스도 당연히 존재하지 않음.따라서 값을 추가하거나 삭제할 때는 그 값이 Set 내부에 있는지 검색 한 뒤, 추가나 삭제를 해야 하므로 속도가 List 구조에 비해 느림. Set 인터페이스를 구현하는 클래스는 HashSet, TreeSet 등이 있음. HashSet은 중복 제거해야 할 때, 값이 존재하는지 빠르게 확인해야 할 때(contains), 정렬이 피요 없는 데이터 집합일 때 사용하면 좋음. .. [공부의흔적]_Buffer 자바에서 입력받을 때 Scanner 클래스로 입력을 받으며 사용했는데, 속도 측면에서 BufferedReader를 사용하면 훨씬 더 시간이 줄어듦. BufferedReader : Scanner와 유사BufferedWriter : System.out.println()과 유사 버퍼를 사용하지 않는 입력은 키보드의 키를 누르는 즉시 바로 프로그램에 전달.버퍼를 사용하는 입력은 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송. → 버퍼 가득 차거나 혹은 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달. 버퍼를 거쳐 출력되는 것보다, 키보드 입력 받아 즉시 출력하는 것이 더 빠를 수 있다고 생각할 수 있음.하드디스크는 속도가 느림. 그리고 외부장치(키보드, 마우스, 모니터 ...)와 데이터 입출력.. [공부의 흔적]_자바 기본 입출력_System.in.read(); ● 자바에서는 기본적으로 ASCII 코드 값이 입력됨. - 대문자 'A'를 입력했을 때 아스키코드 값인 65를 출력하고, 소문자 'a'를 입력했을 때 아스키코드 값인 97을 출력. ● System.in.read();- Scanner, BufferedReader 객체를 사용하지 않고 입력값을 받을 수 있음.- 버퍼(InputStream)를 사용하기 때문에 효율적이고, IOException의 throw를 필수적으로 해주어야 함.- 문자를 하나씩만 가져올 수 있고, 아스키 코드로 변환해 가져옴.import java.io.IOException;public class Main { public static void main(String[] args) throws IOException { char .. 이전 1 다음