반응형 cs스터디14 [CS스터디]면접을 위한 CS 전공지식 노트 #3 👌1.1.8 MVC 패턴 MVC패턴 : 모델(Model), 뷰(View), 컨트롤러(Controller)로 이뤄진 디자인 패턴이다 동작순서 모든 입력(Input)들은 Controller로 전달 Controller는 입력에 해당하는 Model을 업데이트 업데이트 결과에 따라 View를 선택(하나의 Controller는 View를 선택할 수 있기 때문에 여러 개의 View를 관리) Controller는 View를 선택할 뿐, 직접 업데이트를 하지 않는다 장점 - 개발 프로세스에서 각각의 구성요소에만 집중 개발 가능 - 재사용성과 확장성이 용이 단점 - 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐 모델(Model) : 애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻한다 뷰에서 데이터를 생.. 2022. 10. 19. [CS스터디]면접을 위한 CS 전공지식노트 #2 할 줄 아는 것과 잘하는 것은 다르기에, 잘하는 사람이 되기 위해 노력하자. 매 순간 겸손하게, 배움의 자세로 임하자. 👌 프록시 패턴과 프록시 서버 프록시 패턴(proxy pattern) : 대상 객체(subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 객체의 속성,변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용 프록시 객체로 쓰이기도 하나, 프록시 서버로 활용되기도 한다 프록시 서버에서의 캐싱 캐시 안에 정보를 담아두어, 캐시 내 정보를 요청 시에 원격 서버 내에 요청을 하지 않고 캐시 안에 데이터를 활용하는 것을 말한다. 불필요하게 외부와 연결되지 않기에 트래픽을 줄일 수 있는 장점이 있다 프록시 서버 : 서버와 클라이언트 .. 2022. 10. 18. [CS스터디]면접을 위한 CS 전공지식 노트 #1 항해는 끝났지만, 부족함을 채우기 위해 매일 공부하기로 했다. 인생우예될지 몰라예 💡 라이브러리 ? 공통으로 사용될 수 있는 특정 기능들을 모듈화한 것 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유로움 무언가를 자를 때 ‘도구’인 ‘가위’를 사용해서 ‘내가’ 직접 컨트롤하는데, 라이브러리가 이와 비슷하다. 💡 프레임워크 ? 공통으로 사용될 수 있는 특정 기능들을 모듈화한 것 폴더명, 파일명 등에 대한 규칙이 있고 라이브러리에 비해 더 엄격함 다른 곳으로 이동할 때 ‘도구’인 비행기를 타고 이동하지만 ‘비행기’가 컨트롤하고 나는 가만히 있어야한다.프레임워크는 이와 비슷하다 💡 디자인 패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하.. 2022. 10. 17. [CS스터디보단 백엔드]알아두면 쓸모 있는 다 아는 CS #Spring Security 겸사겸사 면접도 준비할겸 하나씩 쌓아가려고 한다. 당연하게 썼지만, 어떻게는 몰랐었기 때문에 정리한다. 인증(Authentication)과 인가(Authorization) 대부분의 시스템에서는 회원을 관리하고 있고, 인증과 인가에 대한 처리를 해야한다. - 인증(Authentication) : 해당 사용자가 본인이 맞는지 확인하는 과정 (입증,증명이라고도 한다) 보통 이 인증은 사용자 이름(ID)와 암호(PW)로 수행된다 인증은 단일부터 2단계,다중 인증까지 거치기도 한다. - 인가(Authorization) : 해당 사용자가 요청하는 자원을 실행할 수 있는 권한 유무를 확인하는 과정 (허가,권한 부여라고도 한다) 인증(Authentication) 이후에 발생하는 과정 인증된 사용자에게 시스템 액세스 권.. 2022. 10. 12. [CS스터디]알아두면 쓸모 있는 다 아는 CS #브라우저에 url을 입력하면 내부적으로 어떤 일이 발생할까? 최종 프로젝트가 끝나면 전부 해결될 줄 알았는데 해야 할 일이 산더미이다. 아무튼 익숙하지만, 몰랐던 것들에 대해 정리했다. 1. 브라우저에 url을 입력하면 내부적으로 어떤 일이 발생할까? [1] ‘naver.com’의 IP확인을 위해 캐시에서 DNS 기록을 확인 더보기 여기서 DNS란? Domain Name System라는 의미로 웹사이트의 IP주소와 도메인을 연결해주는 시스템이다 [2] 요청 URL에 캐시가 없다면, ISP의 DNS 서버가 DNS 쿼리로 ‘naver.com’을 호스팅하는 서버 IP주소를 탐색 더보기 이것이 뭔소리여 싶다면 DNS쿼리의 목적을 알자. DNS쿼리의 목적은 웹 사이트에 대한 정확한 IP주소를 찾을 때까지 인터넷에서 여러 DNS서버를 검색하는 것이다.이렇게 해당 IP를 찾거.. 2022. 10. 11. [교재 공부] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스_2장 스프링 부트에서 테스트 코드를 작성하자! 견고한 서비스를 원하면 TDD나 최소한 테스트 코드는 작성 TDD는 테스트주도개발(Test-Driven Development)을 이야기하며 단위 테스트를 말하는데 테스트 코드를 우선적으로 작성한다. - 항상 실패하는 테스트를 먼저 작성(RED) - 테스트가 통과하는 프로덕션 코드를 작성(GREEN) - 테스트가 통과하면 프로덕션 코드를 리펙토링(Refactor) 단위 테스트 단위 테스트의 장점 - 개발단계 초기에 문제를 발견하게 도와줌 - 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다. - 단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있다 - 시스템에 대한 실제 문서를 제공합니다.즉,단위 테스트 지체.. 2022. 8. 7. [CS스터디] 1일 1로그 100일 완성 IT지식 #하드웨어 하드웨어 001 - 컴퓨터의 논리와 구조 "완성된 장치가 범용 컴퓨팅 기계가 되려면 산술 연산,기억-저장,제어,운영자와의 연결을 담당하는 특정 주요 기관을 포함해야 한다." 아서 벅스,허먼 골드스타인, 존 폰 노이만,1946 ✔컴퓨터를 두가지 측면으로 본다면 > 추상적 부분(논리적 구성) : 컴퓨터의 기능적인 부분 > 물리적 부분(구조적 속성) : 각 부분이 어떻게 생겼고 어떻게 만들어졌는지 어떤 사물의 기능과 물리적 속성 간의 차이, 즉 그것이 무엇을 하는지와 내부적으로 어떻게 만들어지고 빨리 작동하는지의 차이를 인지하는 것은 중요하다. 💡이 책에서 예시를 들듯, 물리적으로는 다르나 100년이 넘도록 기능은 똑같이 유지되고 있다. 하드웨어 002 - 프로세서 속도와 심장 박동수 ✔폰 노이만 아키텍처(1.. 2022. 8. 3. 이전 1 2 다음 반응형