Computer기본지식
-
리팩터링 Chapter 8 - 기능 이동Computer기본지식/리팩터링 2021. 10. 8. 15:25
이번 챕터는 프로그램 요소를 생성 혹은 제거하는 것에 더해 클래스나 모듈이동을 주로 설명합니다. 이 챕터에서 가장 중요한 작업은 테스팅이라고 생각합니다. 필드나 함수를 클래스 간의 이동 할 경우 충돌이 발생할 수 있습니다. 그래서 한 단계씩 하면서 꼭 테스트를 진행해야합니다. 그럼 시작해보겠습니다. 8-1 함수 옮기기 class Account { get overdraftCharge() {...} class AccountType { get overdraftCharge() {...} 함수를 이동하는 기준은 모듈화를 얼마나 잘 시켰는지입니다. 모듈화는 프로그램을 수정하려 할 때 해당 기능의 작은 부분만 이해해도 가능하게 해주는 능력입니다. 예를 들어 어떤 함수가 자신이 속한 모듈 A의 요소들보다 다른 모듈 B..
-
CORS(교차 출저 리소스 공유)Computer기본지식/Computer 2021. 9. 28. 09:05
이번 포스팅은 흔히 겪는 CORS에 대한 내용입니다. 저도 URL Shortener App을 만들었을 때 @Crossorigin을 사용한 적이 있습니다. 그 떄는 CORS문제인지 모르고 그냥 허용 URL을 다 열어놔야겠다. 배포를 안 할 거니까 보안은 신경쓰지말자. 이런 생각으로 그냥 넘어갔습니다. 결국엔 또 이렇게 만나게 되네요..! 이번을 계기로 확실하고 짚고 넘어가겠습니다. SOP(Same Origin Policy) Protocol + Host + Port가 같아야 같은 출저라고 이야기합니다. SOP는 다른 출저의 리소스를 사용하는 것에 제한하는 보안 방식을 이야기합니다. 이러한 SOP를 왜 사용하는 것을까요? 서버에서 악성 클라이언트를 막아주기 위해 Origin을 체크하여 사용자의 출저를 확인해 ..
-
리눅스 메모리 관리Computer기본지식/Computer 2021. 9. 27. 09:01
이번 포스팅은 메모리 관리에 관한 동영상 시청 후 정리입니다. 이번 동영상은 꼭 한 번 보시길 추천드립니다. 제가 좋아하는 "왜"필요한지에 대한 설명들이 상세하게 되있습니다. 그리고 내용들이 계속 이어져 있어서 이해하기 훨씬 쉬웠습니다. 📝 메모리란 ? CPU를 돕기위한 명령어와 데이터를 가지고 있는 주소 덩어리입니다. 프로세스 및 운영체제들이 적재되어 CPU를 점유하여 진행하기위해 대기 중인 저장소입니다. CPU는 0,1만 읽을 수 있습니다. 그래서 메모리와 CPU중간에는 Compiler가 존재합니다. Compiler는 아래와 같이 다양한 데이터를 주소 값으로 변경시켜줍니다. 🗯️ 메모리가 관리되는 방법 프로세스 A와 B가 있다고 가정합시다. 그런데 둘의 Logical Address가 겹치는 경우가 대..
-
리눅스 파일 시스템Computer기본지식/Computer 2021. 9. 25. 11:24
이번 포스팅은 리눅스의 파일 시스템 관리에 대해서 적어보겠습니다. 이번 내용을 정리하면서 42Seoul 라파신 과정에서 나왔던 내용들이 스물스물 기억이납니다. 그 때는 이런 걸 왜 하지? 라고 의문을 가졌지만 지금 결국에는 공부를 해야하는 영역이구나라고 느꼈습니다. 이번 기회로 정리를 해보겠습니다. File, File System이란? File : 컴퓨터에서 의미가 있는 정보를 담은 논리적인 단위 File System : 파일을 효율적으로 관리하고 쉽게 사용하게하는 시스템 File System 메타 데이터로 파일을 관리합니다. 메타 데이터 : 접근 권한, 확장자, 파일 이름 등을 가르킵니다. Inode : 파일이름을 제외한 메타데이터를 가르킵니다. Window는 NTFS, Linux는 extfs(exte..