파일 시스템(File System) 파일은 어떻게 메모리에 기록되는가? 파일 저장을 하게 되면 보조기억장치(RAM)에 있는 데이터를 주기억장치(HDD, SDD)로 옮기는 과정이 발생한다. 파일(=데이터)이라는 것은 결국 0과 1의 조합이다. 복잡하게 생각할 것 없다. 이 데이터를 어떻게 옮길 것인가? 그 방법은 다양하다. 1. Array List 를 사용하는 방법 이 방법은 직관적이지만 효율적인 메모리 관리 면에서는 부족하다. 가령 저장할 공간을 메모리에 연속으로 할당할 수 없는 경우에는? 데이터가 쪼개져서 저장되고 이는 데이터를 불러오기 어려울 것이다. 2. Linked List 를 사용하는 방법 효율적인 메모리 관리를 위해 사용되는 방법이다. 단, 데이터의 삭제 및 추가가 빈번하게 발생할 때, 연산시간이 소요된다. 3. Hash Tab.. IT지식 2022. 7. 17. 12:57
세션(Session)과 토큰(Token) 인증을 위한 수단으로 세션과 토큰을 활용한다. 데이터에 접근하기 위한 일종의 키(key)라고 생각하면 된다. 이 둘의 차이점은 세션은 데이터베이스 서버에 저장되고, 토큰은 클라이언트 측에 저장된다는 점이다. 공통점은 둘다 주기적으로 갱신이 된다는 점이다. IT지식 2022. 7. 17. 12:26
교차 출처 리소스 공유(CORS) 문제 CORS(Cross-Origin Resource Sharing) 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록, 브라우저에 알려주는 체제 CORS 에러 한 출처에서 다른 출처의 리소스 수신을 요청하여 수신할 때, 브라우저에서 이를 허용하지 않아서 발생하는 에러 발생 원인 및 해결 브라우저가 같은 출처끼리만 자원을 공유할 수 있도록 하는 SOP 정책을 따르기 때문에 발생한다. 이는 신뢰할 수 없는 리소스를 수신하는 것을 예방하기 위함이다. Access-Control-Allow-Origin 설정을 통해 수신 권한을 부여해서 해결할 수 있다. 더 자세한 사항은... https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CO.. IT지식 2022. 7. 17. 09:11
3계층 구조(3 Tier Architecture) 1. Web Server(프레젠테이션 계층) 웹페이지를 구성. 프론트엔드 2. Application Server(AP 계층) 주요 기능 처리(e.g. 회원가입, 결제 등). 백엔드 3. Database Server(데이터 계층) DB 관리. DBMS IT지식 2022. 7. 17. 09:09
MVC 패턴 개발 디자인 패턴 중의 하나로, Model, View, Controller로 나누어서 코드를 관리하자는 것이 골자이다. Model은 데이터를 관리하고, View는 화면을 표시하고, Controller는 입출력 및 제어를 담당한다. 유지보수 및 개발 효율에 도움이 된다. 개인적으로는 MVVM 패턴이 더 발전한 디자인 패턴이라 생각된다. 왜냐하면 아래와 같이 컨트롤러의 역할이 너무 커지기 떄문이다. * 참고 IT지식 2022. 7. 11. 20:01
동기(Sync)와 비동기(Async) 동기(Synchrounous) 순차적 Task A와 Task B가 실행될 때, A가 종료된 후에 B가 실행된다. 설계가 매우 간단하고 직관적이다. 결과가 주어질 때까지 아무것도 못하고 대기해야 한다. 비동기(Asynchronous) 병렬적 Task A와 Task B가 실행될 때, 실행에 서로 영향을 주지 않는다. 작업이 서로 영향을 미칠 때, 구현이 복잡해진다. 서로의 작업이 동시에 발생하므로 자원을 효율적으로 사용할 수 있다. * 참고 https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-%EB%B9%84%EB%8F%99%EA%B8%B0Async%ED%86%B5%EC%8B%A0-%EB%8F%99%EA%B8%B0Sync%ED%86%B5%EC%8B%A0 [WEB] 🌐 비동기.. IT지식 2022. 7. 11. 19:59