Array, LinkedList, ArrayList의 차이점
·
Computer Science/Java
서론 안녕하세요. is낫널입니다. 정말 오랜만에 글을 쓰러 왔네요.. CS 스터디를 저번주부터 참여하지 않게 되면서 첫 이력서를 제출하였습니다. 이제 이력서를 넣으면서 제대로 된 취준을 시작한 지 일주일 째인데 벌써 학원 수료한 지는 3개월이 되어가네요. 하루하루를 헛되이 보내지 않게 노력했던 것 같지만, 뒤돌아보니 별로 남은 게 없어서 불안한 마음이 들기도 하는 날입니다. 그래서 이렇게 기록이 남는 블로그를 찾게 되었네요. CS 스터디는 참여하지 않지만, 꾸준한 CS 공부를 하겠다고 다짐했었는데 그것을 이뤄내보겠습니다. 오늘도 읽으러 와주신 분들께 감사의 말씀을 전합니다. 본론 Array(배열) 이란? 인덱스와 값의 쌍으로 이루어진 연속적인 메모리의 집합입니다. 이 때 인덱스(Index)는 어떤 값에 ..
RDB와 NoSQL의 차이
·
Computer Science/데이터베이스
서론 안녕하세요. is낫널입니다. 이번에 이번주를 마지막으로 CS 면접스터디를 마무리하게 되었어요. 스터디를 하다가 느낀 점이 CS 기초지식이 많이 부족하다는 것이었습니다. 꼬리질문을 받아도, 기초지식을 공부하느라 깊게 공부하지 못했다는 사실을 알게 되었거든요..😅 그래서 지금 제게 필요한 것은 CS 기초지식을 탄탄하게 먼저 쌓는 거예요. 면접스터디에서 다들 좋은 분이셔서 동기부여도 많이 받고, 자극을 꽤나 크게 받게 되었어요. 모든 꼬리 질문에 다 대답을 잘하시더라고요. 그리하여, 면접스터디는 멈추게 되었지만 기초지식을 쌓는 데에 집중을 해볼까 합니다. 그래도 그러한 기초지식도 꾸준히 업로드할 예정입니다 ㅎㅎ 오늘도 봐주셔서 미리 감사합니다. 본론 해당 사진은 RDB와 NoSQL 의 대표적인 예시 사진..
CPU 의 구성요소
·
Computer Science/운영체제
서론 안녕하세요, is낫널입니다. CPU 의 구성요소에 대해 공부를 해보았는데 엄청 복잡하고, 반도체에 대한 개념도 조금 공부해야겠다는 느낌이 들었습니다. 물론 반도체 분야 쪽처럼 딥하게 공부가 필요하진 않겠지만, 어떻게 동작하는지 알려면 공부해 두면 좋겠다는 생각이 들었습니다. 오늘도 공부한 내용을 정리하고 얼른 밥먹으러 가야겠습니다. ㅎㅎ 본론 CPU 구성요소 CPU의 구성요소는 크게 산술논리연산장치(ALU; Arithmetic Logic Unit), 레지스터(register), 제어장치(CU; Control Unit)로 이루어져 있습니다. 산술논리연산장치(ALU; Arithmetic Logic Unit) 먼저, ALU 는 계산기와 같은 역할을 하는 장치입니다. 오로지 계산만을 위해 존재하는 부품입니..
Reflection(리플렉션) 에 대한 개념 및 단점, 그럼에도 쓰는 이유
·
Computer Science/Java
서론 안녕하세요, is낫널입니다. 최근에 블로그에 글 작성이 좀 드물었습니다. 정보처리기사 실기를 준비하느라 CS 공부를 잠시 쉬고 있었습니다 ㅎㅎ 그런 덕에, 가채점을 보니 안정적으로 합격권에 든 것 같아서 너무 기분이 좋습니다 :-) 정보처리기사 실기 합격 후기로도 조만간 찾아뵙겠습니다! 이제 취직에 더 가까워질 수 있게 CS 지식 쌓기에 더 노력해야겠습니다. 본론 Reflection(리플렉션) 이란? 생성자, 메서드, 필드 등 클래스에 대한 정보를 읽고 수정하는 행위를 말합니다. 먼저, Java는 클래스와 인터페이스의 메타정보를 Class 객체로 관리합니다. 이러한 메타정보를 프로그램에서 읽고 수정하는 행위를 Reflection(리플렉션) 이라고 하는 것입니다. * 메타정보 더보기 패키지 정보, 타..
[알고리즘] Greedy Algorithm
·
Algorithm/이론
Greedy (그리디) 란 ? 탐욕적인 뜻을 가진 Greedy(그리디) 는 탐욕법 이라고도 합니다. 이는, 현재 상황에서 지금 당장 좋은 것만 고르는 방법입니다. 풀어서 설명하자면, 그리디 알고리즘을 사용하면 매 순간 가장 좋아 보이는 것만 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는 알고리즘입니다. 그렇기 때문에 그리디 알고리즘으로 푼 답이 꼭 최적의 해가 아닐 수도 있다는 것입니다. 더보기 최적의 해란 구하고자 하는 답에 가깝거나, 문제풀이에 있어 정답인 해를 말합니다. 그렇다면, 최적의 해를 보장한다는 건 어떤 의미일까요? 먼저 가장 대표적인 그리디 알고리즘의 문제 예시로 거스름돈 문제풀이 방식을 확인해 보겠습니다. 문제 내용은 주어진 화폐단위 내에서 거스름돈의 동전을 최소한..
[백준:15829/Python] Hashing 문제
·
Algorithm/BOJ & SWEA
해시함수 란 ? 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 자료의 저장과 탐색에 쓰인다. 문제 요약 문제 a ~ z 까지 고유한 번호 1 ~ 26으로 부여해 준다. 입력받은 영어로 된 문자열을 고유한 번호로 바꿔준 뒤, 이 수열을 하나의 정수로 치환하기 위해 모든 수열을 더해준다. 그리고 다 더한 값을 유한한 범위를 갖기 위해 적당히 큰 수 M 으로 나눠준다. 이렇게 나오게 되는 것이 해시값이다. 하지만, 서로 다른 문자열이라도 동일한 해시값을 가질 수 있으며, 이를 해시충돌이라고 한다. 이러한 해시충돌을 줄이기 위해 수열의 각 항마다 고유한 계수를 부여하면 되는데 가장 대표적인 방법이 항의 번호에 해당하는 만큼 특정한 숫자 r을 거듭제곱해서 곱해준 다음 더하는 것이다. 이 문제에..
SerialVersionUID는 무엇이고 이를 선언해야 하는 이유가 무엇일까요?
·
Computer Science/Java
서론 안녕하세요. is낫널입니다. 나중에 이름을 바꾸게 될 수도 있지만 지금은 마음 가는 대로 짓게 된 이름인데 제 가치관을 표현해 줄 이름으로 생각해 내서 바꿔보려구요. 그게 이 블로그를 들어오는 사람들에게 제 이미지가 됐으면 좋겠네요! 오늘은 날이 되게 따뜻합니다. 이런 날도 이제 얼마 남지 않았어요. 곧 겨울이 올 것 같습니다. 12월이 되기 전에 취직을 해서 삿포로 가고 싶네요. 아 좀 주저리주저리 하는 타입이라, 의식의 흐름대로 말이 나오는 것 같습니다 ㅋㅋㅋ 이제 시작할게요. SerialVersionUID를 선언해야 하는 이유 먼저 이 글을 들어온 이유로 이게 가장 궁금한 부분일 거 같습니다. 그래서 두괄식으로 결론부터 딱 내놓자면 직렬화 할 때와 역직렬화할 때 SerialVersionUID ..
String, StringBuffer, StringBuilder의 차이
·
Computer Science/Java
서론 먼저, 여태껏 반말만 쓰다가, 한번 존댓말로 바꿔볼까 합니다. 뭔가 공개적인 공간이다 보니 반말이 익숙하지가 않더라고요 하하 오늘도 하루가 지났네요. 시간이 참 생각보다 빨리 가서 1분 1초를 허투루 쓰면 안 될 것 같다는 생각이 드네요. 항상 생각은 하고 있었지만, 학원을 수료하고 명백한 취준생(원래도 백수였지만^>^) 이 되니 더 조급해지고 그러네요. 그렇지만 여유를 갖고 해야할 일을 꾸준히 하다 보면 어느샌가 원하는 목표에 도달해 있기를 바랍니다. 저뿐만 아니라, 원하는 목표를 이루기 위해 노력하고 계신 여러분들께서도 요! 그런 뜻으로, 오늘도 제 블로그에 와 주신 분들께 감사드립니다. 바로 오늘 글의 주제에 대해 공유해 보도록 할게요. 본론 바로 속시~원하게 결론부터 말해보겠습니다. Stri..
인터럽트와 트랩의 차이, 그리고 시스템 콜이란?
·
Computer Science/운영체제
서론 CS 를 공부하고자, 바로 CS 스터디를 했더니 습득력이 조금 더딘 것 같아서 걱정이다. 한 질문을 공부하는데도 개념 하나하나를 찾아서 이해한 뒤에서야 질문에 대해서 정보를 찾아보고 공부하기 시작한다. 그런데 컴퓨터의 구조나 웹이 어떻게 동작하는지 배우고 공부할수록 재미가 있어서, 조만간 책이나 인강을 구매해서 봐볼까 싶기도 하다. 하지만 지금은 [아직은 NULL NULL 이다.]인 이 블로그 명을 [이제는 EXIST 하다.]로 바꿔주기 위해서 취직이 우선이니, 빠르게 습득하려고 노력해 보자! 사실 블로그명을 내가 취직하면 가고싶은 여행지로 해놓고 이룰 때마다 바꿀까 싶기도 하고 히히 이런 게 조금 블로그를 하는 재미가 아닌가 싶기도 하다. 이런 서론을 읽어줄 사람이 있을까 싶긴 하면서도 글을 쓰는..
HTTP(Hyper Text Transfer Protocol) 의 개념, 특징 및 HTTP/2, HTTP/3, HTTPS 의 차이점을 가볍게 알아보자.
·
Computer Science/네트워크
서론 블로그 쓰는 일이 여간 쉬운 일이 아니다. 그래도 이렇게 CS 스터디를 하다 보니 공부한 내용을 정리할 겸 1일 1 블로그를 강제라도 하는 기분이다 ㅎ..ㅎ 근데 또 주기적으로 이 블로그에 들어오니까 금새 나만의 블로그라는 정이 생긴 것 같기도 하다. 어찌 됐든 데이터가 쌓여서 내게 도움이 되길 바라는 마음으로 공부했던 내용을 또 써 내려가보자. 해당 더보기 는 이 글을 읽으면서 헷갈릴 만한 개념을 정리한 내용이 담겨있습니다. 더보기 개념 정리 프로토콜(protocol) 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약 ASCII (아스키코드) 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 인코딩 이란, 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것..