분류 전체보기

회고

데이터베이스 면접 스터디 회고

기간, 신청 방법 2024 3월 한 달 동안 진행되었다. 스터디는 친구를 통해 알게 되었고 캠퍼스픽의 스터디 공고로 주로 알게 되는 것 같다. 운영체제 / 데이터베이스 / 네트워크 중에서 하나 선택할 수 있다. 진행 방법 매주 책 1-2챕터의 범위에 해당되는 질문이 주어지며, 해당 주제에 대해 공부하고 글을 작성한다. 금요일 저녁에 비대면으로 모여 주어진 질문을 바탕으로 모의 면접을 실시한다. 모의 면접 2시간 동안 모인 사람들끼리 지원자와 면접자, 관찰자 역할을 돌아가면서 진행했다. 매주 모인 모든 사람이 한 번씩은 지원자로서 면접을 볼 수 있도록 했다. 면접은 주어진 질문을 바탕으로 관련 프로젝트 경험, 심화 개념을 묻는 꼬리 질문까지 진행되었다. 면접은 한 사람당 20분 정도 진행되었으며, 면접이..

Spring/객체지향

코드에 SRP 원칙 적용 후 Mock 테스트 작성하기

SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 로버트 C.마틴 하나의 클래스에 역할과 책임이 너무 많은 경우 클래스를 각각의 역할과 책임에 따라 분리하자는 원칙이다. SRP 원칙을 통해 클래스 하나가 과도한 책임을 가지는 것을 방지하고, 각 클래스의 책임이 명확해진다. 아래 글에 SOLID에 대해 정리했으니 시간나면 읽어보는 것도 좋다. https://shout-to-my-mae.tistory.com/417 객체 지향 설계 5원칙: SOLID 객체 지향 언어를 이용해 객체 지향 프로그램을 올바르게 설계하는 방법과 원칙이 존재한다. SOLID 객체 지향 설계(OOD)의 정수라고 할 수 있는 5원칙이다. ..

CS/데이터베이스

[데이터베이스] 트랜잭션, 동시성 제어

트랜잭션 DBMS가 데이터베이스를 다룰 때 사용하는 작업(프로그램)의 단위 트랜잭션은 일반 프로그램과 달리 데이터베이스의 데이터를 다루기 때문에 데이터베이스의 무결성을 유지해야한다. 트랜잭션은 ACID 성질을 갖는다. DBMS는 트랜잭션이 이러한 성질을 유지할 수 있도록 지원한다. 트랜잭션의 개념 트랜잭션 : DBMS에서 데이터를 다루는 논리적인 작업의 단위 보통 단일 sql문을 사용하여 데이터를 다루기도 하지만, 여러 개의 sql문을 순차적으로 수행하여 데이터를 다루기도 한다. 트랜잭션 정의하는 이유 데이터베이스에서 데이터를 다룰 때 장애가 발생할 경우, 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위 데이터베이스에서 여러 작업이 동시에 데이터를 다룰 때, 트랜잭션은 이 작업을 서로 분리하는 단위 트..

Spring/객체지향

객체 지향과 디자인 패턴

객체 지향과 디자인 패턴 객체 지향 특성(캡슐화, 상속, 추상화, 다형성) : 요리도구 객체 지향 설계 5원칙 (SOLID) : 요리도구를 올바르게 사용하는 방법 디자인 패턴 : 레시피 요리도구를 사용하여 요리를 만들때, 하나의 요리에도 표준화된 요리법이 있듯이 프로그래밍에도 표준화된 해결책이 있다. 디자인(설계) 패턴 프로그램을 작성하다보면 비슷 비슷한 상황에 직면하게 되는 경우가 많은데, 그러한 상황에서 이전에 많은 개발자들이 고민하고 정제한 사실 상의 표준 설계 패턴이다. 실제 개발 현장에서 비즈니스 요구사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 best practice이다. 객체 지향 특성과 설계 원칙을 기반으로 구현한다. 스프링 프레임워크 공식적인 정의 ..

Spring/객체지향

객체 지향 설계 5원칙: SOLID

객체 지향 언어를 이용해 객체 지향 프로그램을 올바르게 설계하는 방법과 원칙이 존재한다. SOLID 객체 지향 설계(OOD)의 정수라고 할 수 있는 5원칙이다. SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 SOLID는 소프트웨어에 녹여 내야 하는 개념이다. SOLID를 잘 녹여낸 소프트웨어는 상대적으로 이해하기 쉽고, 리팩터링과 유지보수가 ..

CS

[데이터베이스] 정규화 (이상현상, 함수 종속성, 무손실 분해)

이상현상 이상현상 : 테이블에 투플을 삽입할때 부득이하게 NULL 값이 입력되거나, 삭제시 연쇄삭제 현상이 발생하거나, 수정시 데이터의 일관성이 훼손되는 현상을 말한다. 잘못 설계된 테이블로 삽입, 삭제, 수정 같은 데이터 조작을 하면 이상현상이 일어난다. 조회시에는 이상현상이 일어나지 않는다. 이상현상의 종류 데이터베이스 설계가 잘못되면 이상현상, 즉 SQL문의 결과가 틀리거나 원하는 결과가 나오지 않는 등의 문제가 발생한다. 예시 테이블 CREATE TABLE Summer (sid INTEGER, class VARCHAR(20), price INTEGER ); 학생번호, 수업명, 수업료 => 학생정보와 수업 정보가 함께 저장된다. 설계가 잘못된 테이블이다. 삽입 이상 투플 삽입 시 특정 속성에 해당하..

문제&해결

브라우저 보안 메커니즘 : CORS 정책의 한계

CORS(Cross-Origin Resource Sharing) 교차 출처 리소스 공유라는 뜻이다. 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 한다. 출처(Origin) 동일 출처란 프로토콜 + host + port가 같은 것이다. path가 다른 것은 상관이 없다. 동일 출처 http://m1.com:80 http://m1.com/login http://m1.com 모두 같은 출처이다. 다른 출처 기준 : http://m1.com 프로토콜이 다르다 : https://m1.com host가 다르다 : http://www.m1.com 포트가 다르다 : http://m1.com:8080 다른 출처 요청의 위험성 , , 등이 웹에 등장하면서, 페이지 로딩 이후에 다른 출처로부터의 요청을 가져..

Spring/객체지향

Java가 확장한 객체 지향 (abstract, 생성자, static, final, this, super)

Java가 확장한 객체 지향 java가 객체 지향을 확장하기 위해 사용하는 키워드와 개념을 알아보자. abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드(Abstract Method) 선언부는 있는데 구현부가 없는 메서드 추상 클래스(Abstract Class) 추상 메서드를 하나라도 갖고 있는 클래스 추상 메서드가 필요한 이유 package abstractMethod01; public class Driver{ public static void main(String[] args){ 동물[] 동물들 = new 동물[3]; 동물들[0] = new 쥐(); 동물들[1] = new 고양이(); 동물들[2] = new 강아지(); for (int i=0;i 메서드 선언은 있되 몸체는 없는 abstr..

mint*
'분류 전체보기' 카테고리의 글 목록 (2 Page)