목록전체 글 (52)
Done is better than perfect
System Entity Structure란??복잡한 시스템을 이해하기 쉽게 나누어 표현하는 방법시스템을 계층적 구조(트리)로 표현한다 SES에는 4가지 중요한 개념이 있다1. Entity : 시스템을 구성하는 개별적인 요소 ex) 자동차에서 엔진이나 바퀴같은 부분2. Aspect: 엔티티를 더 작은 부분을 나누는 방식 ex) 엔진을 구성하는 피스톤이나 연료 탱크3. Multi-Aspect: 같은 유형의 엔티티가 여러개 있는 경우 ex) 자동차에 있는 4개의 바퀴4. Specialization: 하나의 엔티티가 여러가지 종류나 형태로 나뉠 수 있을 때 ex) 엔진에는 가솔린 엔진과 디젤 엔진이 있다 엔티티 간의 관계와 동작 순서를 정의하기 위해 Coupling과 Priority를 사..
C#이란?마이크로소프트가 개발한 객체지향 프로그래밍 언어 1. 객체지향 프로그래밍 언어이다 2. 가비지 컬렉션을 사용해 메모리를 자동으로 관리한다 -> 자바랑 비슷하다 차이점은?주로 사용하는 곳에서 차이를 보인다 C#은 주로 마이크로소프트 제품과 관련된 프로그램 개발에서 사용된다 (하지만 뭐 웹이나 게임, 앱도 개발할 수 있긴 하다)Java는 운영체제와 상관없이 어디서나 쓸 수 있는 프로그램을 만들 때 사용된다 (JVM을 사용하기 때문이다) WPF란?마이크로소프트에서 제공하는 데스크톱 애플리케이션 개발을 위한 프레임워크 1. XAML이라는 언어를 사용해서 화면을 구성한다. 2. 데이터 바인딩을 쉽게 해주는 기능3. MVVM 패턴을 잘 유지한다 : UI와 데이터 처리를 분리4. Window 환경에서..
MVC(Model-View-Controller)1. Model: 데이터베이스와의 상호작용이나 데이터 처리를 담당한다2. View: 사용자의 인터페이스 요소 / 사용자가 보는 화면과 관련된 모든 것을 처리한다3. Controller: 사용자의 입력을 처리하고 모델을 업데이트하며 그 결과를 뷰에 전달합니다. 사용자가 입력을 하면 Controller가 이를 받아서 Model을 갱신하고, 갱신된 데이터를 View에 반영합니다.MVP(Model-View-Presenter)1. Model: 데이터 로직을 담당2. View: 사용자 인터페이스 담당3. Presenter: 뷰와 모델 사이에서 중재자 역할을 한다 / 뷰에 데이터를 반영하고 사용자 이벤트를 처리하여 모델을 갱신 View는 Presenter에 사용자 입력을..
1. Application Layer-> 응용 프로그램이 네트워크에 접근하고 데이터를 주고 받을 수 있는 기능을 제공함-> 대표적으로 HTTP, DNSDNS란? IP주소와 도메인 주소 매핑 HTTP란? 인터넷 상에서 클라이언트와 서버가 자원을 주고받을 때 쓰는 통신 규약2. Transport Layer-> 데이터의 전송을 관리하고 신뢰성을 보장함-> 대표적으로 TCP/ UDP그럼 TCP/ UDP 차이?TCP: 데이터의 신뢰성을 보장합니다 / 연결지향적 프로토콜 -> 데이터의 정확성이 중요할 때 적합UDP: 신뢰성을 보장하지 않음 -> 실시간 스트리밍에 적합 3. Network Layer-> 데이터를 목적지 IP 주소로 라우팅4. Link Layer-> 로컬 네트워크 내에서 데이터를 전송하는 역할-> MA..
1. Waterfall 개발 방법론 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 배보 -> 유지보수 각 단계가 완료되어야 다음 단계로 넘어갈 수 있어, 변경이 어려운 구조!문서화와 계획 수립이 중요함 SRS? Software Requirement Specification 소프트웨어 요구사항 명세서STS? Software Test Specification 시스템 테스트 명세서 장점: 요구사항이 명확하고 변경 가능성이 적은 프로젝트에 적합하다단점: 요구사항이 변경 될 경우 부적합하다 / 테스트가 개발 이후에 진행되므로 문제가 늦게 발견될 수 있다 2. Agile 개발 방법론유연하고 반복적인 접근 방식을 채택하여 빠른 피드백과 지속적인 개선을 중시!짧은 개발 주기 (스프린트) 로 작업을 나누어 ..

Java의 가비지 컬렉터란?개발자가 메모리를 직접 해제하지 않아도 가비지 컬렉터가 메모리를 주기적으로 정리해 줍니다 그 전에 JVM에서 Heap 메모리가 어떤 구성으로 되어있는지 알아봅시다 JVM에는 Heap 메모리 영역이 존재합니다.Young: 비교적 젊은 애들 - eden : young 중에서도 젊은 애들- Survivor: eden에서 살아남은 애들Old: 특정 횟수 이상 살아남은 애들 Permanent(Metaspace): 클래스 정보, 메서드 정보 등이 있다. ((JVM 옵션을 통해 힙 메모리 크기를 설정할 수 있다~~)) Young Generation 이 가득 찼을 때 수행 됩니다 -> Minor GC: 시간이 적게 걸림Old Generation 이 가득 찼을 때 수행 됩니다-> Majo..

JVM(Java Virtual Machine)- OS 마다 따로 코드를 작성해야 하는 번거로움 없이 Java가 플랫폼에 독립적일 수 있게 만들어 준다 - Write Once, Run Anywhere- Java 클래스 파일을 로드하고 바이트 코드를 해석하며, 메모리 등 자원을 할당하고 관리하며 정보를 처리하는 작업을 하는 프로그램 실행되는 과정 1. 코드 작성: .java 파일이 만들어 진다 2. 컴파일: java compiler가 읽어서 기계가 이해할 수 있는 중간 단계인 Bytecode(.class file)로 바꾼다 3. 실행준비: JVM이 바이트 코드 파일을 메모리에 로드해서 실행할 준비를 한다 4. 실행: JVM은 바이트코드를 컴퓨터가 직접 이해할 수 있는 기계어로 바꾸면서 프로그램을 실행..

이 책의 부제는 "선택의 기로에 선 딸에게 알려주는 커리어 안내서"이다. 작가님이 자신의 자녀에게 쓴 편지를 각색해서 책으로 내게 되었다고 한다. 책 전체가 따뜻한 분위기를 띠면서도, 현실적인 조언을 담아 실질적인 도움이 되었다. 인생과 커리어의 중요한 순간을 앞둔 사람에게 추천합니다^_^ (밀리의 서재에도 있어요) 면접을 앞둔 사람에게도 추천해요,, 이상한 면접 유튜브 보는 것보다 나은 것 같아요ㅎ 제 1장: 딸에게 전하고 싶은 인생의 법칙하고 싶은 일을 찾지 못하는 이유 -> 자신에게 중심축이 없기 때문이다 중심축이 바뀌는 것이 두려워하지 말라 중심축은 원래 바뀌는 것! 내가 커리어에서 중요하게 생각하는 중심축을 우선 정해라 지금까지 너의 불안은 모르는 것을 계속 방치해온 '꺼림칙한 어둠'에서 비롯된..