본문 바로가기
반응형

2021/109

5대설계원칙 SOLID에 관하여 (by. 클린코드) 객체지향 컴퓨터 프로그래밍에서 우리 개발자들의 대 선배 로버트 마틴이 처음 명명한 다섯가지 기본원칙인 설계방법 어떠한 객체지향 프레임워크를 사용할때마다 Document를 들어가보면 항상 튀어나오는 설계 방법중 절대 빠지지 않는 고정적인 원칙이라고 보는 SOLID에 관해서 이야기를 하며 정리 해보고자 합니다. SOLID는 객체지향을 위해 다양한 방식으로 개발자들에게 마치 구구단과 같이 기본적으로 알고있어야하는 원리인것 같다. 디자인 패턴을 공부하거나, 설계, 프로그래밍을 할때 모두 이것을 기본으로 지향하며 나가는 것이니 말이다. 개발을 시작한지 얼마안된 나조차도 Spring과 Angular를 배우며 Spring을 알려주신 개발원의 선생님께서도 많은 부분을 강조하셨고 Angular를 처음 접근할때 Docum.. 2021. 10. 18.
객체지향 4대특성 (상속) 쉽게정리 객체지향 프로그래밍에서의 4대특성이라 하는 것중 정리하는 마지막것은 상속입니다. 상속이란 앞에서 다뤘던 특성들중 프로그래밍에서만 듣게되는 다른 특성들과는 다르게 미디어, 일상들속에서 듣기쉬운 단어입니다. 우리가 일상에서 사용하는 상속은 " 뒤를 잇는 일" 이라는 의미를 가지고있습니다. 이는 프로그래밍에서도 크게 다르지 않는데 참고자료 오브젝트: 코드로이해하는 객체지향설계 (저자: 조영호), 객체지향의 사실과 오해 (저자: 조영호) TCPSchool.com( Java Part.43 다형성의개념) 상속이란? 기존의 클래스에 기능을 추가하거나 다시정의하여서 새로운 클래스를 만드는것을 의미합니다. 이는 다형성에서 포함다형성과 연관이 됩니다. 상속을 이요하면 기존에 정의되어있는 클래스의 모든 필드와 메소드를 물려.. 2021. 10. 12.
Angular + Spring POST ContentType error 'text/plain;charset=UTF-8 해결 Spring boot로 RestAPI를 만들어서 Angular에서 전달한 데이터를 저장하는 과정에서 아래와 같은 에러가 발생하였다. Angular의 경우 Spring-boot의 경우 에러가 발생하였지만 어떤 부분이 잘못되었는지를 모르니 하나하나 해석 하며 Access-Control-Allow-Origin이 헤더에 없다고 뜨는 것을 해결하기위해 해당 코드를 넣어서 해결해보려고 하였다. 하지만 Header를 추가하니 Spring 까지 요청을 보내주지도 않았고 차단당하였다. 이유를 생각해보니 다른 도메인에서 Spring 서버 URL을 통해 접근하려 하니 Springframework에서 차단 한다는 사실을 알게되었고 해당 부분을 해결하기위해 @CrossOrigin(origins = "*") @RestContro.. 2021. 10. 8.
MYSQL DAO(DTO) 변수 한번에 만들기(Mysql to Java 자료형) Spring boot 프로젝트를 하면서 DomainModel Layer를 그때그때마다 변수를 선언해주는것이 여간 귀찮은 것이아니다. 그래서 MySql방식대로 컬럼명과 정보에 따라 해당테이블의 데이터 타입을 맞춰서 변경해주는 코드를 작성하였다. select CONCAT_WS('','private ', IF(data_type = 'int','Integer ', IF(data_type = 'date','Date ','String ')), lower(column_name),';') from INFORMATION_SCHEMA.COLUMNS where table_name='테이블명'; Oracle의 경우에는 concat이 아니라 || 를 넣고 IF대신 Decode를 적으면됩니다. 2021. 10. 6.
728x90
반응형