일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- GIT
- 역학
- 소프트웨어공학
- chatGPT's answer
- Database
- 뉴턴역학
- Spring boot
- oracle
- 시스템
- 자바
- write by GPT-4
- write by chatGPT
- android
- 유닉스
- kotlin
- 고전역학
- 인프라
- Spring Batch
- 파이썬
- NIO
- 웹 크롤링
- 리눅스
- lombok
- 자바암호
- 자바네트워크
- JVM
- python
- GPT-4's answer
- 코틀린
- Java
- Today
- Total
목록Software Engineering (13)
Akashic Records
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cn5aAD/btsbkGLe1hV/dFtaNdYQBozB66PlbKTck0/img.webp)
User Stories Applied는 Mike Cohn이 저술한 책으로, Agile 소프트웨어 개발 프로세스에서 사용자 스토리(user stories)를 효과적으로 작성하고 관리하는 방법에 대해 다룹니다. 사용자 스토리는 요구사항을 기술하는 간결한 방식으로, 프로젝트의 목표와 기능을 사용자의 관점에서 이해하기 쉽게 표현합니다. 사용자 스토리는 일반적으로 다음과 같은 형식을 따릅니다: As a , I want so that . 예를 들어, "As a customer, I want to reset my password so that I can access my account if I forget my current password." User Stories Applied에서는 사용자 스토리를 효과적으로 작..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Bn0yg/btsblySBE1N/N3tT10anzkk2teSLU4LH4K/img.jpg)
Lean 소프트웨어 개발(Lean Software Development)은 소프트웨어 개발 프로세스를 효율적이고 가치 있는 방식으로 개선하기 위한 방법론입니다. 이 방법론은 도요타 생산 시스템에서 영감을 받아, 기존의 Lean 생산 철학을 소프트웨어 개발에 적용한 것입니다. Lean 소프트웨어 개발의 핵심 원칙은 다음과 같습니다. 제거할 가치가 없는 것에 대한 명확한 인식 (Eliminate waste): Lean 개발에서는 프로세스에서 불필요한 요소를 제거하여 효율성을 높이는 것을 목표로 합니다. 예를 들어, 불필요한 문서화, 남용되는 기능, 미리 작업하는 것 등을 최소화합니다. 직접 가치 창조를 위한 작업 강조 (Amplify learning): 개발팀은 지속적인 학습과 개선에 중점을 두어야 합니다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dAj01a/btslA6LMWeO/gMd9Gx8KNuU7ikTRLnOiak/img.png)
모델 주도 아키텍처(Model Driven Architecture, MDA)는 모델이 중심이 되는 소프트웨어 설계 방법론으로, OMG(Object Management Group)에 의해 개발되었습니다. MDA의 주요 목표는 비즈니스 로직을 이해하고 표현하는 것에 집중하며, 특정 기술에 의존하지 않는 포괄적인 모델을 생성하는 것입니다. MDA의 접근 방식은 다음 세 가지 단계로 구분됩니다. CIM (Computation Independent Model): 이 단계에서는 비즈니스 로직과 요구 사항을 모델링합니다. 기술적인 세부사항을 고려하지 않고, 시스템이 어떤 일을 수행해야 하는지에 초점을 맞춥니다. PIM (Platform Independent Model): 이 단계에서는 시스템의 기능을 모델링하되, 특..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F44ct/btsltVrs00T/0nY1IwrevixsqGCl66Ydsk/img.jpg)
"소프트웨어 유지보수"는 이미 개발되고 배포된 소프트웨어의 성능을 개선하거나, 오류를 수정하거나, 기능을 업데이트하거나, 소프트웨어가 최신 환경에서 잘 작동하도록 하는 등의 작업을 포함합니다. 이는 소프트월의 수명 주기에 중요한 단계로, 개발된 소프트웨어가 지속적으로 사용 가능하고 효과적으로 작동하도록 보장합니다. 소프트웨어 유지보수의 필요성 기술 변화 대응: 기술 환경은 계속 변화하고 발전하며, 소프트웨어는 이러한 변화에 적응해야 합니다. 운영체제, 하드웨어, 보안 요구사항 등이 업데이트되거나 변경될 때마다 소프트웨어는 이러한 변화에 맞추어 업데이트되거나 수정되어야 합니다. 사용자 요구사항 충족: 사용자의 요구사항은 시간이 지나면서 변할 수 있습니다. 새로운 기능이 필요하거나 기존 기능을 개선하거나 최..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lrQxw/btsblzqos2C/pH0OvQc1gaKP4gW0Grmq71/img.jpg)
1. 방어하기 좋은 프로그래머 - 자기 코드가 튼튼한지 신경을 씁니다. - 모든 추측을 방어적 코드안에 명시적으로 캡처해서 표현합니다. - 가비지가 입력되었을 때에도 잘 정의된 동작이 실행되기를 원합니다. - 코드를 작성하면서 그 코드에 대해 신중히 생각합니다. - 다른 사람의 어리석음으로부터 코드가 자신을 보호하도록 작성합니다. 나쁜 프로그래머 - 자기 코드 안에서 잘못된 일이 발생할 수도 있다는 사실을 생각하고 싶어 하지 않습니다. - 고장을 일으킬 수도 있는 코드를 통합하라고 내주고, 다른 사람이 대신 정리해 주기를 바랍니다. - 코드의 사용법에 대한 중요한 정보를 자기 머리 속에만 넣어둠으로써, 쉽게 잊어버릴 수 있게 합니다. - 거의 생각을 하지 않고 코드를 작성하기 때문에, 결국 예측할 수 없..