목록전체 글 (261)
당니의 개발자 스토리
이번 시간에는 좋은 객체지향 설계의 5가지 원칙, SOLID에 대해서 알아보겠습니다. SOLID는 클린 코드로 유명한 로버트 마틴이라는 분이 좋은 객체지향 설계의 5가지 원칙을 정리를 한 거예요. 기존에 다 있었던 개념들인데, 이거를 정리를 해서 용어를 기가 막히게 만든 거예요. 하나씩 설명을 해드릴게요. 첫 번째, SRP 인데요. SPR는 단일 책임 원칙이에요. 뭐냐면 하나의 클래스는 하나의 책임만 가져야 된다 라는 거예요. 근데 하나의 책임이라는 게 사실은 실무에선 모호합니다. 이 책임이라는 게 클 수도 있고 작을 수도 있어요. 그리고 문맥과 상황에 따라서 좀 달라요. 그러면 이 부분에서 약간 경험이 필요한 거예요. 근데 그러면 어떻게 하는 게 설계가 잘 됐다고 볼 수 있을까? 라고 하면, 중요한 판..
이번 시간에는 좋은 객체 지향 프로그램이 뭔지 알아보겠습니다. 객체 지향의 특징은 추상화, 캡슐화, 상속, 다형성 등등이 있습니다. 다형성이란? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 또 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 여기서 핵심 키워드는 객체들의 모임, 그리고 또 객체끼리는 메시지를 주고받고 데이터를 처리할 수 있다는 것입니다. 뭔가 객체들이 서로 메시지를 주고받으면서 협력을 한다는 거죠. 그리고 객체 지향의 장점으로 또 한가지, 유연하고 변경이..
이번 시간에는 스프링이 뭔지, 스프링에 대해서 자세히 알아보겠습니다. 먼저 스프링 생태계에 대해서 말씀드릴게요. 스프링은 어떤 특정한 하나가 아니라, 여러가지 기술들의 모음이라고 볼 수 있어요. 먼저 스프링의 가장 핵심이 되는 스프링 프레임워크, 그리고 여러 스프링 기술들을 굉장히 편리하게 사용할 수 있도록 도와주는 스프링 부트, 그리고 스프링 데이터, 세션, 시큐리티, Rest Docs, 배치, 클라우드 등등등 여러가지가 있어요. 핵심인 스프링 프레임워크나 부트는 제가 뒤에서 자세히 설명을 할게요. 스프링 데이터는 뭐냐면, 데이터베이스가 관계형 데이터베이스든, NoSQL이든, MongoDB든, Redis든 기본적인 CRUD는 다 비슷하거든요. 등록, 수정, 삭제, 조회 이러한 CRUD는 비슷하기 때문에..
옛날 옛적에 2000년대 초반에는 자바 진영의 어떤 표준 기술 중에서 최고봉인 EJB 라는게 있었다. 자바당의 정파 기술인 거다. 그 당시에 오픈소스 이런 것들이 약간 사파 기술이라고 했다. EJB는 표준적으로 전환한 기술인데, 구현하는 회사들이 여러 군데에서 표준기술을 구현해서 그걸 가지고 서버 같은 걸 팔았다. 그리고 이게 완전 종합 선물 세트인 이유가 당시에 이제 엔티티 빈이라는 기술이 있었다. 소위 말하는 JPA라는 게 ORM 기술인데, ORM 기술은 DB에서 쿼리 없이 자바 객체를 편하게 저장하고 꺼내는 기술이다. 근데 이 EJB는 Entity bean 이라는 ORM 기술도 가지고 있었다. 하지만 너무 비쌌다. 당시에 한 대당 막 수천만원씩 했다. 이론은 너무 좋으나, 실제 써보면 너무 복잡하고..
4강 코딩과 HTML 세상에는 다양한 언어가 있다. C/C++, java, javaScript, Php, python 등.. 이 중에서 웹페이지를 만드는 code가 Html 이라는 이름의 코드이다. html 이라는 언어의 사용법을 살펴보기에 앞서서 장점을 알아보자. 1) 쉽다 - 10분이면 문법을 다 알 수 있다. HyperText Markup Lnaguage 2) 중요하다 3) PUBLIC DOMAIN - 무료(저작권 X) 5강 HTML 코딩과 실습환경 준비( 2023년 개정판 ) 준비물) 1. 웹브라우저 , 2. 코드 편집기(Editor) 이미 가지고 있다. Editor는 Windows에는 메모장, MAC에는 텍스트 편집기 그러나, 이 수업에서는 VScode를 사용할 것이다. 나중에 vscode가 없..