vidigummy KAU/혼자하는 Web 공부(Front) 10

SOLID

1. SRP 단일 책임 원칙 "한 클래스는 하나의 책임만 가져야 한다." - 클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음. - SRP 단일 책임 원칙을 따르면서 관심사를 분리함 - 클라이언트 객체는 실행하는 책임만 담당 2. DIP 의존관계 역전 원칙 "프로그래머는 "추상화에 의존해야지, 구체화에 의존하면 안된다." 의존성 주입은 이 원칙을 따르는 방법 중 하나다." - 새로운 정책을 개발하고 적용하는데 있어서 클라이언트 코드가 변경되어서는 안된다. 구체화는 상위 객체에서 결정함 - 클라이언트 객체는 추상화 인터페이스에만 의존하도록함. - 클라이언트 코드는 인터페이스만으로는 아무것도 실행할 수 없음. - So, 상위 객체가 객체 인스턴스를 클라이언트 코드 ..

LAMP에 대한 이야기.

음... Linux + Apache + Mysql + Php 이렇게 LAMP다. 싸고 가볍다는 장점이 있는데... 소올직히 나는 모르겠다. php는 너무 구식이야! 그거에 대한 발표자료를 2학년 수업에서 만들었는데, 교수님이 참 좋아하셨다. ※ 서버 구성에 있어서 주의+참고해야 할 점 1. 클라우드 VNC에서 구현해야 할경우, 저장공간이 매우 부족하다. 그렇기 때문에 DISK를 마운팅 해주고 시작해야한다. 적어도 100GB는 되어야... 받춰줄것이다. 그 경우 /var/www 라던가, /var/lib/mysql를 마운트한 DISK로 cp 해준 다음 심볼릭 링크로 걸어줘야 아마 좀 숨통이 틔지 않을까 싶다. 2. php/mysql 버전과 시간대 설정을 잘 해주도록 하자. 정말...(php의 시간 관련 설정..

Node.js 와 TypeScript 그리고 Nest.js 두번째 (1/18 ~ 2/9)

www.a-mean-blog.com/ko/blog/MEAN-Stack/%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95/Git-GitHub-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EB%B2%95 MEAN Stack/개발 환경 구축: Git, GitHub 간단 사용법 - A MEAN Blog Git Bash Git 설명에 앞서 git bash 및 간단한 리눅스 명령어를 익혀봅시다. 구글에서 자료를 찾으면 대부분의 터미널 명령어가 Bash 기준으로 나오기 때문에 Windows를 사용하는 분들은 기본프로그램인 www.a-mean-blog.com 이 분의 블로그를 따라갔다. 하지만 mysql이 아닌 mongo를 사용하고 계시기도 하..

Node.js 와 TypeScript 그리고 Nest.js 첫번째 (1/18 ~ 2/9)

공부하는 데에만 꽤 오랜 시간이 걸렸다. 진짜 뭘 만들진 않았는데 오래 걸렸다. 시작은 그렇다. 학교에서 초과학기제라고 홍보한 Project-X라는 과목을 위해 팀이 결성됐고, 마침 백엔드를 조금씩 깨작깨작 공부중인 나는 백엔드 개발을 제안받았다. 그래서 Java 공부 중인데 가능하냐고 팀장에게 물어봤지만 까불지 말고 Nest.js를 하라 그래서 공부를 시작했다. Nest.js는 Node.js의 고질적인 문제인 구조적 노 근본을 해결해주기 위해 개발된 프레임워크이다. JavaScript를 기초로 해서 만들어진 Node.js는 정해진 방법이라던가 규칙이 없어 작은 프로젝트에는 적합하지만 프로젝트가 커질 경우 개발자들의 속을 제법 썩이는 놈이기에 좀 더 규칙화될 필요가 있었다. 그렇기에 Nest.js 가 시..

백엔드 공부 2(java Servelt - jsp)

라고 한다. jsp는 서버 Web-INF에 저장되며, 다른 HTML 파일들과 같이 쓴다고 한다. 솔직히 아직 어떻게 쓰는지 잘 모르겠다. WAS는 웹 브라우저로부터 jsp에 대한 요청을 받으면 이를 java 서블릿 소스코드로 변환시킨다. init(), Service() 등이 실행되는걸 확인할 수 있다. JSP의 실행순서 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성) 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성) 서블릿 클래스를 로딩하고 인스턴스를 생성한다. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다. hello 이게..

백엔드 공부(java로 mysql 쿼리 쓰기)1

처음은 백엔드 공부를 하고싶다였다. 그래서 네이버 부스트코스에서 풀스택 과정을 들었는데, 솔직히 잘 모르겠었다. 그래서 실제로 하는건 어떻게 하는거지...? DB는 어떻게 쓰지...? 싶어서 백엔드 과정을 듣기로 했다. 물론 js도 그렇게 해서 제대로 해보기 시작한거기도 하고... 일단 DB를 사용하는 방식들에 대해 이야기를 해보자. sql 관련된 라이브러리를 import하고 드라이버를 로드한다. 그 다음 connection을 열고 dbUrl은 jdbc:mysql://localhost:3306/connectdb?serverTimezone=UTC로 쓰자, 왜냐하면 시간대가 안맞아서 안되더라고... 그 다음 이렇게 해서 State를 해준다 그 다음 이런 식으로 resultset을 가져온다. 뭐 이런 식으로 ..

노마드 코더 JavaScript Application 만들기(1)

SEED 홈페이지 제작 중 나 또한 JS라던가 웹에 대한 기본적인 지식은 갖춰야 겠다고 생각하여 공부를 시작하였다. 니콜라스 선생님은 정말 좋은 선생님 같다. 실시간 시계 만들기. 아직 todolist라던가 다른 기능은 넣지 못했지만 랜덤한 사진을 넣는 기능은 넣어보고 싶었다. 1. 시계 만들기 const clockContainer = document.querySelector(".js-clock"), clockTitle = clockContainer.querySelector(".time"); function getTime(){ const date = new Date(); const hours = date.getHours(); const minutes = date.getMinutes(); const sec..