소프트웨어 개발 프로세스는 왜 필요할까? 스스로 생각해본 적이 있나? 많이 생각할 유형은 아래와 비슷할 것 같다. 1. 사람들이 하도 많이 이야기 하니까 2. 시간안에 잘 마무리 하려고 3. 목표를 이루는데 필요해서 모두 맞는 이야기다. 여기에 내용을 좀 더 넣어볼 예정이니 들어보면 좋겠다. 소프트웨어는 공학적인 산물이라고 생각한다. 그렇다면 소프트웨어는 컴퓨터공학에 있어 빠질 수 없는 데 이를 통해 무엇들을 얻을 수 있을까? 1. 계획서 2. 설계도 3. 코드(프로그램) 4. 테스트 ... 다양하다. 이 모든걸 합쳐서 소프트웨어라고 한다. 공학이란 무엇인가? 어떤 요구사항이나 문제를 배움(기술)을 통해서 정해진 시간과 비용안에서 해결할 수 있는 학문이라고 본다. 앞서 공학적인 산물이라는 표현을 사용했다..
스프링에서 작업을 하다보면 /static/** , /static/* 처럼 어떤 정규표현식을 사용하고 있는데 알아둘 필요가 있었다. 표현식으로 Ant Pattern을 사용하기에, *, **, ? 에 대해서 알아보자. ? 1개의 문자와 매칭 * 0개 이상의 문자와 매칭 ** 0개 이상의 디렉토리와 파일 매칭 @Test public void antStylePatternTest() { // ** 예시 assertThat(true, is(checkAntPattern("/static/**", "/static/a.jpg"))); assertThat(true, is(checkAntPattern("/static/**", "/static/a/b/c/d/e/f/g/a.jpg"))); assertThat(true, is(ch..
Transaction Query(질의)를 하나의 묶음으로 처리해서 중간에 실행이 중단될 경우, 처음부터 다시 실행하는 Rollback을 수행 오류없이 실행을 마치면 commit을 하는 실행단위를 의미한다. 즉, 한 번 Query가 실행되면 All or Nothing으로 작업을 처리한다. 데이터베이스 상태를 변화시키는 복수의 연산 단위로 구성된 하나의 논리적인 작업단위 주로 DBMS에서는 TPS로 초당 Transaction 실행 수를 측정하고 있음. Transaction을 사용하는 이유 Transaction은 DB서버에 여러 클라이언트가 동시에 엑세스 또는 업데이트를 처리하는 과정에서 발생할 데이터 부정합을 방지하고자 사용 부정합이 일어나지 않으려면 병렬로 처리하지 않도록 하면 되지만 효율이 떨어짐. 병렬..
들어가기 전, 컴퓨터와 관련된 작업을 처리하다 보면 꼭 나오는 개념이었던 것 같은데 학생 때는 이해가 잘 안 됐다. 아마 당시에는 sync & blocking이고 async & non-blocking이다로 이해하고 넘어갔지만 개념 자체가 달랐다. 다시 언급되는 sync(동기) / async(비동기) 그리고 blocking / non-blocking에 대해서 알아보고 넘어가자. Blocking / Non-blocking 행위자가 취한 행위 자체가 막힌, 제한된, 대기하는 상태 호출된 함수가 자신이 할 일을 모두 마칠 때까지 제어권을 계속 가지고서 호출한 함수에게 바로 돌려주지 않으면 Block 호출된 함수가 자신이 할 일을 채 마치지 않았더라도 바로 제어권을 건네주어(return) 호출한 함수가 다른 일을..
goorm에서 경험했던 디자인 시스템을 바탕으로 써보기. 디자인 시스템이란? 각종 서비스 UI 디자인에서 재사용 가능한 컴포넌트와 패턴을 정의해, 전체 디자인을 일관성 있게 적용할 수 있도록 만든 가이드라인 또는 규칙을 말한다. 미리 만들어 놓은 컴포넌트를 재사용함으로써, 더 효율적으로 디자인을 할 수 있다. 장점 1. 디자인의 일관성을 제공 (사용자에게 설득력과 신뢰를 준다) 2. 쉬운 재사용, 재활용으로 생산성 증가 개발자로서 GDS를 다룰 때, 일관성 있는 콘텐츠로 개발 속도를 높여주는 즐거움을 느껴봤다. 단점 1. 디자인 시스템 유지보수하는 데 큰 비용이 들 수 있다. 2. 사용자에 피드백에 따라 지속적인 업데이트가 필요하기에 비용을 충분히 고려해야 한다. 3. 사용 지침이 필요하다 (없을 경우,..
- Total
- Today
- Yesterday
- 2022년 회고
- S3
- nodejs 버전 관리
- HTTP
- 블로킹/논블로킹
- 콘웨이법칙
- nodejs
- 클린코드
- 개발프로세스
- 개발기록
- AntPattern
- 점진적개선
- charset
- Content-Type
- 디미터법칙
- SSAFY 특화프로젝트 회고
- JRE
- 트랜잭션
- 디자인시스템
- application/x-www-form-urlencoded
- 너디너리데모데이
- PresignedURL
- 소프트웨어개발프로세스
- UI/UX
- LTS 개선
- 자바기초
- 필수단어
- PUT vs POST
- SSAFY 퇴소
- 동기/비동기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |