| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- spring boot
- two pointers
- job
- 서버 모니터링
- SpringFramework
- 웹개발
- sql
- coding test
- 시큐어코딩
- BCIT
- 웹개발기초
- html
- MSA
- jsp
- 모니터링
- CSS
- vite
- Grafana
- Spring MVC
- 자바
- 데이터베이스
- MVC패턴
- Java
- servlet
- Doit알고리즘코딩테스트
- 웹개발자
- 웹 보안
- Bambino
- react
- DevOps
- Today
- Total
목록CS : Computer Science (25)
초보 개발자의 기록
CS 공부를 해야 하는 이유문제 해결 능력:강화컴퓨터 과학은 문제를 작은 단위로 분해하고, 논리적으로 추론해 해결하는 방법을 체계적으로 가르쳐 줌어떤 조건에서 어떤 방법이 최적인가를 판단하는 힘이 생김문제를 만나면 먼저 구조를 정리(입력, 출력, 제약), 작은 케이스로 시작해서 일반화기술 분야 진입:CS 지식은 소프트웨어 개발뿐 아니라, 데이터 사이언스, 시스템 운영, 보안, 임베디드 등 많은 기술직군의 공통 기반채용 경쟁력 향상:CS 지식은 코딩테스트 통과, 기술면접 대응, 포트폴리오 설득력에 직접적으로 연결됨코딩 문제 풀이와 함께 실제 프로젝트(성능 개선사례, 아키텍쳐 결정 이유)를 이력서에 작성창의적인 능력 향상제한 조건내에서 해결책을 찾아내는 과정은 창의성과 직결됨. CS 학습은 다양한 도구와 패..
디자인 패턴프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1. 싱글톤 패턴 (Singleton Pattern)하나의 클래스에 오직 하나의 인스턴스만 가짐하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만듬데이터베이스 연결 모듈에 많이 사용장점: 인스턴스를 생성할 때 드는 비용이 줄어듬단점:의존성이 높아짐 - 싱글톤 패턴은 사용하기가 쉽고 실용적이지만 모듈 간의 결합을 강하게 만들 수 있음-> 의존성 주입 (DI, Dependency Injection)을 통해 모듈간의 결합을 조금 더 느슨하게 만들어 해결의존성 = 종속성 : A가 B에 의존성이 있다 = B의 변경 사항에 대해 A 또한 변해야 ..
각 패턴 그룹이 “무엇을 다루는지”에 따라 나뉨객체를 만들고, 구조화하고, 행동하게 만드는 방법을 다루는 패턴1. Creational Pattern (생성 패턴)목적: 객체 생성 방식을 캡슐화해서, 객체 생성 과정의 유연성과 재사용성을 높임.핵심 질문: “객체를 어떻게 생성할까?”Singleton: 클래스의 인스턴스가 단 하나만 존재하도록 보장하고, 어디서든 접근할 수 있도록 함Factory Method: 객체 생성의 책임을 서브클래스로 위임하여, 어떤 객체를 생성할지 결정Abstract Factory: 서로 관련 있는 객체들을 가족 단위로 생성할 수 있는 인터페이스 제공Builder: 복잡한 객체를 단계별로 생성, 객체 내부 구조를 숨기고 다양한 표현Prototype: 기존 객체를 **복제(Clone)..
네트워크(Network)란 네트워크는 컴퓨터끼리 서로 연결이 되어 통신하는 것입니다. 사람이 마주하고 대화를 하는 것처럼, 연결이 된 후 원초적인 0,1로 이루어진 신호를 주고받게 됩니다. 신호를 교환한 후 운영체제(Operation System)에서 이를 해석하게 됩니다. 네트워크의 종류 PAN ( Personal Area Network ) : 가장 작은 규모의 네트워크 LAN ( Local Area Network ) - 근거리 영역 네트워크 - 일정 지역 내에서 컴퓨터나 단말기들을 고속 전송 회선으로 연결하여 공유할 수 있도록 함 MAN (Metropolitan Area Network) : 대도시 영역 네트워크 WAN (Wide Ares Network) : 광대역 네트워크 LAN이 여러 개 VAN (..
운영체제 (Operation System)란? 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 시스템의 핵심이며, 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로 수많은 다른 응용프로그램이 유용한 작업을 잘 동작할 수 있도록 자원을 할당하고 관리하는, 환경을 제공해주는 역할을 한다. 운영체제는 하드웨어와 소프트웨어를 하나로 묶는 핵심 소프트웨어이다. 운영체제의 목적 처리능력, 사용가능도, 신뢰도는 향상. 응답시간은 최소화 - 처리능력 - 응답시간 - 신뢰도 - 사용 가능도 운영체제의 기능 1. 프로세스, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리..
왜 개발자인가?개발을 시작하기 전, 꼭 한 번은 생각해보아야 하는 질문이다. 개발을 접하기 어려웠던 예전과는 달리, 인터넷의 발달로 개발 공부를 쉽게 접할 수 있고 어떻게 공부하는지 방법에 대해서만 알 수 있다면, 개발자의 길을 선택하기 쉬워졌다. 하지만, 돈을 많이 벌고 요즘 핫한 직업이라는 이유만으로 개발자의 길을 선택한다면 쉽게 포기하게 될 것이다. 개발을 배울 때는 본인이 원하는 것만, 본인이 원하는 사람들과 본인이 원하는 기술로만 개발을 할 수 있지만 취직을 하고 난 다음에는 본인이 싫어하는 사람들과 일을해야할수도있고, 하기 싫은 일을 해야 할 수도 있다. 개발을 한다는 것은 안정적이고 편안한 직업을 두고 평생 공부해야 하는 고통을 안고 살아가겠다는 것과 마찬가지이다. 물론 다른 직업들도 꾸준..
모듈의 독립성을 판단하는 지표 응집도는 높을수록 좋고 결합도는 낮을수록 이상적이다. High Cohesion, Low Coupling 응집도(Cohesion) - 모듈 내부의 기능적인 응집 정도를 나타냄 (모듈 내부의 역할에 집중하는 정도) (프로그램의 한 요소가 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 뭉쳐있는지 나타내는 정도) - 응집도가 높으면 프로그램을 쉽게 이해할 수 있으며, 유지보수성이 높아진다. - 높은 응집도는 높은 가독성과 유지보수성이라는 목표를 달성 - 한 부분에서 협력하고 나머지는 따로 작업 - 우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 교환적 응집도 < 순차적 응집도 < 기능적 응집도 결합도(Coupling) - 모듈과 모듈간의 상호..
통합 모델링 언어(UML, Unified Modeling Language)? - 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다. - OOAD(Object Oriented Analysis & Design 객체 지향 분석 설계 )를 위한 표기 언어 - 객체 지향 프로그래밍 소프트웨어 집약 시스템을 개발할 때 산출물을 명세화, 시각화 문서화할 때 사용한다. - 그 자체는 개발 방법이 아니지만 객체 지향 소프트웨어 개발 방법론과 잘 어울리도록 설계됨 - 시스템 개발 과정에서 개발자와 고객 혹은 개발자 상호간의 원활한 의사소통을 위해 표준화한 객체지향 모델언어 - UML 사용 시 6개의 구조 다이어=그램, 7개의 행위 다이어그램 작성가능 - UML 구성 요소 : 사물, 관계, 다이어그램 UML 다이어..
소프트웨어 수명주기 (SDLC ) SDLC (Software Development Life Cycle)는 각 단계에서 소프트웨어 개발과 관련된 단계를 정의하는 프레임 워크이다. 소프트웨어 구축, 배포 및 유지 관리에 대한 세부 계획을 다룬다. SDLC는 전체 개발주기, 즉 소프트웨어 제품의 계획, 생성, 테스트 및 배포와 관련된 모든 작업을 정의 : 요구사항 분석→설계→개발→테스트→운영(유지보수) 단계로 구성 소프트웨어 개발 방법론 - 폭포수 모델(waterfall model)-> 단계별 완료 후 다음 단계 수행 - 애자일 모델 (agile model ) -> 반복,점증 전통적인 개발 프로세스들은 폭포수 모델과 계획 기반 개발을 따르는 반면, 애자일 개발 프로세스는 그에 반한다는 점에서 가장 큰 차이를 ..