DAY 6 오늘 읽은 범위: 3장. 기본적인 도구 📚 책에서 기억하고 싶은 내용? 지식을 일반 텍스트로 저장하라. → 최소공통분모 암호를 암호화하라. 사용자가 설정매개 변수들을 바꾸는 걸 원치 않는다면 모든 매개 변수 값의 보안용 해시를 해당 파일에 체크섬으로 포함시켜라. 1) 원래의 어플리케이션이 소멸한 뒤에서 파싱가능, 복구를 위한 최소한의 환경밖에 없을 때를 상상해보자. 2) 거의 모든 도구들은 일반 텍스트와 호환된다. 3) 분석 및 테스트가 간단하다. 명령어 셸의 힘을 사용하라. GUI 환경의 기능은 일반적으로 설계자의 의도에 따른 제약을 받는다. 명령어를 재빨리 결합하려 할 때 사용하기 좋다. 윈도우에서 유닉스 도구 사용하기 하나의 에디터를 잘 사용하라. 선택한 에디터가 사용하는 모든 플랫폼에서..
최애 독서 감상문을 쓴 딱 3명만 찾아보세요. 이번 미션에서는 2장을 정리 부분을 바탕으로 다른 분들이 쓴 TIL을 읽어봤다. coopersoon 님의 TIL 중요한 내용이나 기억해야할 부분들을 색으로 잘 표시해서 가독성이 좋았다. 그리고 소감부분에서 진짜 와닿는 부분을 재미있게 잘 정리해주신 점이 좋았다. nlom0218 님의 TIL TIL이 기억에 남는 이유는 핵심 키워드를 잘 정리해주신 부분 때문이었다. 나의 경우 핵심 문장을 그냥 나열한 것 같아서 좀 더 챕터별로 세세하게 기록하는 습관이 필요하겠다는 생각이 들었다. roghabo 님의 TIL 써주신 소감에서 프로그래밍에 성격을 맞춰간다는 점이 와닿았다. 프로그래밍 하면서 필요한 역량 및 성격들이 조금씩 변화되는 느낌도 들었기 때문이다.챕터별 중요..
DAY 2 오늘 읽은 범위: 2장. 실용주의 접근법 책에서 기억하고 싶은 내용? Don't repeat yourself. 반복하지 마라. 재사용하기 쉽게 만들어라. 관련 없는 것들 간에 서로 영향이 없도록 하라. 컴포넌트 간 독립적인 직교적인 시스템을 만들어야 한다. AOP으로 로깅되고 있는 코드와 직교적으로 로깅을 구현이 가능하다. 모든 코드에 분산적으로 동일한 로그 체킹을 하지 않고 별도의 클래스를 엮어주는 것이다. 최종 결정이란 없다. 시스템 배치의 가변성을 고려하자. (독립형, 클라이언트-서버, n-티어 모델) 목표물을 찾기 위해 예광탄을 써라. 우리를 요구사항으로부터 최종 시스템의 일부 측면에까지 빨리, 눈에 보이게, 반복적으로 도달하게 해줄 무언가를 찾아야 한다. 예광탄 코드는 프로토타입과 달..
DAY 1 오늘 읽은 범위: 시작 ~ 1장. 실용주의 철학 책에서 기억하고 싶은 내용? 자신의 기술에 관심과 애정을 가져라. 자신의 일에 대해 생각하면서 일하라! 어설픈 변명을 만들지 말고 대안을 제시하라. 깨진 창문을 내버려두지 말라. 나쁜 설계, 잘못된 결정, 혹은 형편없는 코드를 고치지 않은 상태로 내버려두지 말라는 의미이다. 더 이상의 손상을 예방하기 위해 어떤 조치를 취하고 있는지 알려줘야 한다는 것이다. 프로그래밍과 엔트로피를 결부시켜 설명하는 부분이 확 와닿으면서도 기억에 남았다. 변화의 촉매가 되라. 큰 그림의 기억하라. 품질을 요구사항으로 만들어라.사용자로서 그들이 모든 버그를 제거할 때까지 기다리겠는가? 복잡한 소프트웨어를 사용하면서 어느 정도의 버그를 감내하겠는가? 결함이 더 적은 간..
쿠키와 세션은 HTTP 프로토콜의 특징이자 약점을 보안하기 위해서 사용됩니다. | 먼저 HTTP 프로토콜에 대해 알아보자. HTTP는 Hyper Text Trasfer Profocol 의 약자로 웹 상에서 클라이언트와 서버 사이의 요청과 응답 정보를 주고 받을 수 있는 프로토콜입니다. | HTTP 특징 1. 비연결성 Connectionless 클라이언트 요청에 대한 응답을 마치면 연결을 끊는 성질을 말합니다. 즉, 이런 비연결성은 다수 클라이언트와 연결로 인한 리소스 손실을 줄이기 위한 특징입니다. 서버는 클라이언트에 대한 정보를 계속 기억하고 있는 것이 아니라서 매번 새로운 연결을 위한 오버헤드가 발생합니다. HTTP 1.1 버전에서 Default로 Keep-Alive 속성으로 지속 커넥션을 가능하게 ..
TDD 테스트 주도 개발. Test-Driven Development. 테스트 코드를 작성하고 코드를 개발하는 것을 말한다. TDD를 불확실성이 높은 프로젝트일수록 그리고 피드백이 많이 필요한 개발에 유용한 방식이다. 테스트 코드에서 패스한 코드만을 실제 코드로 작성하므로서, 버그를 줄이고 코드를 간결하게 할 수 있다. 재설계 시간도 감소하게 된다. 기존의 개발 프로세스에서는 설계 다음 개발이 이뤄지고, 테스트를 진행해서 설계를 수정하는 방식이었다면, 설계 다음 바로 테스트를 진행해서 설계를 수정할 수 있도록 하는 방법론이다. TDD의 중요성이 대두되는 이유 먼저, 객체지향적인 코드 개발에 있다. 좀 더 명확하고 각각의 메서드 기능을 구조화시킬 수 있다는 장점이 있다. 코드의 재사용성을 기반으로 하기 때..
프로그램의 설계시에 어떤 것을 고려해야 할까? 설계 과정에서 작성하는 문서는 요구사항 정의서, 스토리보드 등이 있다. 이 문서에서 다루는 내용들은 주로 무엇(데이터)을 어떻게(알고리즘, 기능), 누구(사용자)에게 보여줄 것인가에 대한 내용이다. 즉, 우리가 고려할 사항은 데이터를 제공하는 서비스를 사용하는 사람과 데이터, 알고리즘과 같은 기능들이다. 설계시에 알고리즘이 중요한 이유는 무엇일까 알고리즘은 일련의 명령어이다. 쉽게 말해 어떠한 요청에 따른 응답을 나타내기 위한 방법이라고 생각할 수 있다. 스포티파이라는 음악 추천어플을 생각해보자. 스포티파이는 어떤 음악이 이용 고객에게 추천 음악을 알려주고 고객의 음악 취향을 분석한다. 이런 서비스를 제공하는 과정을 가능하게 하는 것이 바로 알고리즘이다. 어..
- 노마드코더
- intellij
- java
- 호스팅영역
- gradle build
- 기술블로그
- AWS
- filezila
- spring
- jdbc
- putty
- 노개북
- 오늘의코딩
- git연동
- 독서후기
- 정보처리기사 실기
- EC2
- 개발도서
- JIRA
- 배포
- LifecycleException
- SQLD
- 실용주의프로그래머
- gradle
- 웹페이지만들기
- 북클럽
- 정보처리기사 필기
- IT 5분 잡학사전
- ubuntu
- 정보처리기사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |