전체 글
-
[Java] 인터페이스와 추상 클래스 차이는 무엇일까?Language/Java 2021. 8. 7. 01:47
인터페이스와 추상 클래스 차이는? 이번 글에서는 인터페이스와 추상 클래스의 차이에 대해서 정리해보겠습니다. 실제로 이 질문은 면접에서도 자주 물어보는 질문이고, 약간 알듯 말듯 한데 대답하기는 애매한 주제라 한번 각각 특징에 대해서 정리해보고 둘의 차이를 정리 해보겠습니다. 추상 클래스 클래스를 설계도에 비유한다면 추상 클래스는 미완성 설계도에 비유할 수 있습니다. 추상 클래스는 키워드 abstract를 붙이기만 하면 됩니다. public abstract class Test {} 추상 클래스는 추상 메소드를 0개 이상 가지고 있다는 것을 제외하고는 일반 클래스와 전혀 다르지 않습니다. 추상 메소드는 간단하게 말하면 선언부는 있는데 구현부가 없는 메소드를 의미합니다. public class 쥐 extend..
-
[MySQL] InnoDB 언두(Undo) 로그와 MVCC란 무엇일까?Book/Real MySQL 2021. 7. 29. 16:17
언두 영역이란? 언두 영역은 UPDATE 문장이나 DELETE 문장으로 데이터를 변경했을 때 변경되기 전의 데이터(이전 데이터)를 보관하는 곳입니다. UPDATE membere SET name='홍길동' WHERE member_id = '1'; 위 문장의 실행되면 트랜잭션을 커밋하지 않아도 실제 데이터 파일 내용은 홍길동으로 변경됩니다. 그리고 변경되기 전의 값이 Gyunny 였다면, 언두 영역에는 Gyunny라는 값이 백업되는 것입니다. 이 상태에서 사용자가 커밋하게 되면 현재 상태가 그대로 유지되고, 롤백하게 되면 언두 영역의 백업된 데이터를 다시 데이터 파일로 복구합니다. 언두의 데이터는 크게 두 가지 용도로 사용됩니다. 트랜잭션의 롤백 대비용 트랜잭션의 격리 수준을 유지하면서 높은 동시성을 제공 ..
-
1일 1커밋을 1년 7개월 동안 하면서 느낌점Retrospect 2021. 7. 29. 13:52
1일 1커밋을 1년 7개월 동안 해오면서... 이번 글에서는 제가 1일 1커밋을 1년 7개월 동안 하면서 느낀점에 대해서 간단하게 회고를 해보려 합니다! (Github) 1일 1커밋을 왜 시작했는지? 1일 1커밋을 지속할 수 있었던 것들은 어떤 것이 있었는지? 1일 1커밋에 대한 장단점! 자주 받았던 간단한 질문들 정리~? 이정도에 대해서 가볍게 회고하면서 저의 생각을 공유해보려 합니다. 바로 본론으로 고고싱! 1일 1커밋을 왜 시작했는지? 🤔🤔 1일 1커밋에 대해서 다른 사람과 얘기를 하다 보면 1일 1커밋을 왜 시작했는지 라는 질문을 아주 많이 받았습니다.(동아리 면접 때도 자주 들었던 질문!) 왜 시작했는지? 대해 얘기하려면 2019년으로 가야 하는데요. 2019년의 저는 간단한 개발 조차 해본 적..
-
[MySQL] COUNT 쿼리와 숫자 타입에 대한 주의 사항카테고리 없음 2021. 7. 26. 15:30
MySQL COUNT() 함수 정리 COUNT 함수는 모두가 알고 있듯이 결과 레코드의 건수를 반환하는 함수입니다. COUNT() 함수는 컬럼이나 표현식을 인자로 받고, COUNT(*)와 같이도 사용할 수 있습니다. 여기서 *는 SELECT 절에 사용될 때처럼 모든 컬럼을 가져오라는 의미가 아니라 그냥 레코드 자체를 의미하는 것입니다. 실제로 COUNT()이라고 해서 레코드의 모든 컬럼을 읽는 형태로 처리하지는 않습니다. 그래서 굳이 COUNT(id), COUNT(1) 같이 사용하지 않아도 됩니다. COUNT()와 비슷한 속도로 처리된다고 합니다. (오.. 뭔가 차이가 있을 줄 알았지만 차이가 없다니~!!) MyISAM 스토리지 엔진을 사용하는 테이블은 항상 테이블의 메타 정보에 전체 레코드 건수를 관리..