분류 전체보기(408)
-
(Java) JVM 구조와 이해
오늘은 JVM의 구조에 대해서 적어보려 한다. 이전에 간략하게나마 JVM 구조에 대해 적은 것이 있으니 참고하는 것도 좋을거 같다. JAVA - JVM에 대해 알아보자 -1 Java에 대해 알고 있는가? 자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다.(순수 객체 지향 언어X) 91년 그린 프로젝트라는 이름으 mirrorofcode.tistory.com 오늘은 이런 원론적인 얘기를 하려는 것은 아니고 실제로 JVM이 어떻게 구성되어 있는지를 알아보려고한다. 윗 글을 읽기 귀찮은 분들 위해 간략하게 JVM이 무엇인지에 대해 설명하면 운영체제 위에서 동작하는 자바를 위한 운영체제라고 생각하면 편할거 같다. 일반적으로 계층이 Program - OS - HW ..
2022.07.16 -
(Database) MySQL서버 구조와 스레딩 구조
MySQL을 사용할 때, MySQL은 어떤 방식으로 동작하는지 알고 싶지 않은가? MySQL은 다른 DBMS에 비해서 구조가 상당히 독특하다. Transaction만 봐도 그렇다. Postgresql의 경우, transaction을 적용하고 싶으면, begin과 commit 을 명시해줘야 한다. 하지만 MySQL의 InnoDB의 경우 Transaction을 기본으로 지원하므로, 훨씬 편리하게 사용이 가능하다. 그럼 MySQL 엔진 아키텍처에 대해 알아보자. 🧐MySQL 전체 구조 MySQL은 일반 상용 RDBMS와 같이 대부분의 프로그래밍 언어로 부터 접근 방법을 모두 지원한다. (개꿀) MySQL서버는 크게 MySQL 엔진과 스토리지 엔진으로 구분할 수 있다. MySQL 엔진 MySQL엔진은 커넥션 핸..
2022.07.09 -
(TIL) 20220708, DB트랜잭션과 무결성
🏴Facts(한 것) & Findings(배운 것) 오늘은 DB에 대해서 공부를 했다. MySQL서버 구조와 MySQL 스레딩 구조, 트랜잭션과 무결성 등에 대해 공부했다. 그리고 그 중 인상깊었던 트랜잭션에 관한 글을 남겼다. 아래에서 확인 가능하다.(스압 주의) (Database) 트랜잭션(ACID)과 무결성 구글에 트랙잭션을 검색하면 가장 많이 나오는 말이 있다. "DB의 상태를 변화시키기 수행하는 단위" 그런데 이것 만으로는 트랜잭션에 관해 전혀 감이 오지 않는다. (나만 그런가?) 나는 이 문장 mirrorofcode.tistory.com 오늘 타다 면접을 봤다. 주로 내 프로젝트 관련한 질문이 대부분이었고, 마지막에 컴퓨터 공학 관련 질문(LinkedList와 Array시간복잡도 차이..
2022.07.09 -
(Database) 트랜잭션(ACID)과 무결성
구글에 트랙잭션을 검색하면 가장 많이 나오는 말이 있다. "DB의 상태를 변화시키기 수행하는 단위" 그런데 이것 만으로는 트랜잭션에 관해 전혀 감이 오지 않는다. (나만 그런가?) 나는 이 문장을 접했을 때 드는 생각은 아 DB에 접근하면 다 트랜잭션이구나 트랙잭션 자체의 개념에 대해 이해하지 못하면 스프링 서비스 레이어에 붙이는 @Transactional이나 MySQL에서의 잠금, 동시성에 대한 이해를 할 수 없다고 생각한다. 🧐What is Transaction? 트랙잭션을 이해하는데 가장 도움되는 말은 이것이라고 생각한다. 트랙잭션은 작업의 완전성을 보장해 주는 것이다. 즉, 논리적인 작업 셋을 모두 완벽하게 처리하거나, 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생..
2022.07.09 -
(알고리즘) Big-O, 시간복잡도와 공간 복잡도
알고리즘의 시간과 공간을 측정할 때는 시간복잡도와 공간 복잡도라는 말을 많이 쓴다. 그런데 시간 복잡도는 무엇이며, 공간 복잡도는 무엇일까? 시간 복잡도는 '어떤 일을 수행할 때, 그 일이 완료되기까지 걸리는 시간이 얼마나 복잡한가' 라고 생각하면 편하다. 공간 복잡도는 '어떤 일을 수행할 때, 그 일이 완료되기까지 필요한 공간(메모리)가 얼마다 되는가' 라고 생각하면 된다. 복잡도의 개념에 대해 알았으면, 이를 표기할 방법이 필요하다. 얼마나 복잡한지를 어떻게 표현할 것인가? (하늘만큼 땅만큼 복잡해요) 이때 Big-O의 개념이 등장한다. 🧐Big-O만 있는게 아니다?많은 사람들이 시간 복잡도라고 하면 Big-O를 떠올릴 것이다. 하지만 시간복잡도와 공간복잡도를 나타내는 방법에서는 Big-O만 ..
2022.07.08 -
(TIL) 20220708, Big-O와 시간복잡도/코딩 인터뷰 완전 분석
🏴Facts(한 것) & Findings(배운 것) 6일 밤에 책을 구매했는데, 7일 아침에 책이 도착했다! 책에는 사고력에 관련한 문제부터 CS까지 다양한 문제들이 준비되어 있다. 인터뷰를 준비하는데 많은 도움이 될 것 같다. 학교에 같이 네이버 인턴십에 합격한 친구가 있어서 CS 스터디를 같이 했다. 이번에는 방식을 각자 질문을 가져와서 설명하면서 진행했는데, 다음부터는 미리 질문들을 정하고 이에 대해 무작위로 답해보는 시간을 가져야겠다. 오늘은 Big-O에 대해서 정리했다. 아래에서 확인하자. 🏴Affirmation(자기선언) 🏴여담 Github mikekang47 - Overview BE Developer TDD lover. mikekang47 has 48 reposit..
2022.07.08