반응형 분류 전체보기580 [Spring Boot] MVC 패턴 1. MVC 패턴이란? Spring을 이미 배웠다면 MVC 패턴이 무엇인지 알 것이다. 그래도 강의 글이기 때문에 한 번 더 짚고 넘어가고자 한다. MVC는 각각 Model, View, Controller를 나타낸다. 사용자가 웹 애플리케이션을 이용하기 위해 URL 요청을 하면, 해당 요청은 Controller에 들어오게 된다. Controller은 해당 요청을 담당하는 메소드로 안내하고, 요청에 포함된 정보를 가지고 Model에 접근할 수 있다. Model은 데이터베이스같은 비즈니스 로직을 처리하는 일을 수행하고 Controller로 다시 돌아온다. Controller의 처리가 끝났다면 그 결과를 사용자들이 화면을 통해 볼 수 있도록 View로 이동시켜준다. 2. MVC 패턴 적용 1) View 측 (.. 2021. 7. 15. [Spring Boot] Spring vs Spring Boot / 개발 환경 설정 ※ 이 블로그의 Spring Boot 포스팅에서는 gradle 프로젝트를 사용합니다 1. Spring vs Spring Boot Spring의 주된 특징으로는 IOC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍)이 있으며, 이러한 느슨한 결합 방식 덕에 편리한 유지보수 환경을 자랑한다. 그렇다면 Spring Boot는 Spring에 비해 어떻게 달라졌을까? 공식 사이트에서는 Spring Boot에 대해 이렇게 말한다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". "단지 실행만 하면 되는 자립형 생산 등급의 Spring 기.. 2021. 7. 14. [OAuth] OAuth 2.0 소개 1. OAuth이 왜 필요한가? 자신이 운영하는 서비스에 소셜 로그인같은 다른 서비스를 연동시킨다고 생각해보자. 그리고 사용자가 여러분에게 ID, PW를 알려주면, 여러분이 사용자 대신에 SNS 로그인을 해준다고 생각해보자. 그렇다면 사용자들은 과연 안심할 수 있을까? 누구나 어딘가에 자신의 개인정보가 남는 것은 원치 않을 것이다. 이런 문제를 해결하기 위해 필요한 것이 Access Token으로, 이는 인증된 사용자들을 식별하는 토큰이다. OAuth란? 사용자의 인증 정보를 내 서비스에 넘기지 않고, Access Token을 이용해서 사용자 인증이 필요한 API에 접근할 수 있게 해주는 기술 2. OAuth 용어 1) Resource Owner - 내 서비스를 이용하는 사용자 - 자원의 소유자 2) C.. 2021. 7. 13. [OS] I/O System 1. I/O란? Input과 Output 즉, 입출력을 의미함. 2. I/O Mechanisms 1) CPU 제어 CPU가 I/O 장치와 메모리 사이의 모든 데이터 전송을 처리하는 기법 (1) Polling 특징 - CPU가 모든 I/O 장치의 상태를 주기적으로 조사 장점 - 간단함 - I/O 장치가 빠르고, 데이터 전송이 잦은 경우에 효율적임 단점 - CPU의 부담이 큼 (2) Interrupt 특징 - I/O 장치가 작업을 완료한 후, 자신의 상태를 CPU에게 전달 - Interrupt가 발생하면 CPU는 데이터를 주거나 받는 일을 수행함 장점 - Pooling 방식보다 overhead가 적음 - 불규칙적인 요청 처리에 적합함 단점 - Interrupt handling overhead 2) 직접 제어.. 2021. 6. 30. [OS] File System 1. Disk System 1) Disk Pack (1) 역할 : 데이터를 영구 저장 (비휘발성) (2) 구성 Sector : 데이터 저장 혹은 판독의 물리적 단위(한 블록) Track : Platter 한 면에서, 중심으로부터 같은 거리에 있는 sector들의 집합 Cylinder : 같은 반지름을 갖는 track의 집합 Platter : 양면에 자성 물질을 입힌 원형 금속판으로, 데이터의 기록 및 판독이 가능한 기록매체 Surface : Platter의 윗면과 아랫면 2) Disk Drive (1) 역할 : Disk pack에 데이터를 기록 및 판독 (2) 구성 Head : 디스크 표면에 데이터를 기록 및 판독 Arm : Head를 고정 및 지탱 Positioner(Boom) : Arm을 지탱하고, .. 2021. 6. 28. [OS] 가상 메모리(3) - 추가적인 고려 사항 1. Page Size Small Page Size Large Page Size Page Frame 수 증가 Page Frame 수 감소 Page Table 크기 증가 Page Table 크기 감소 I/O 시간 증가 I/O 시간 감소(*) Locality 향상 Locality 저하 Page fault 증가(**) Page fault 감소 내부 단편화 감소 내부 단편화 증가 * CPU에게 좋음 ** 참조할 Page 수가 증가하기 때문 - 일반적으로 Page size의 크기는 2^7bytes~2^22bytes까지 다양함 - 메모리 용량의 발전에 따라, Page size도 점점 커지는 경향이 있음★ 2. Program Restructuring - 가상 메모리 시스템의 특성에 맞도록 프로그램을 재구성하는 것 -.. 2021. 6. 22. [개발 완료] AI 목적지 도달 학습 https://youtu.be/_zmALpUOkBg Github 링크 (소스 코드) https://github.com/jooyeokkim/AICharacter GitHub - jooyeokkim/AICharacter Contribute to jooyeokkim/AICharacter development by creating an account on GitHub. github.com 프로젝트 소개 프로젝트 이름 : AI 목적지 도달 학습 기술 스택 : Unity, C# 진행 인원 및 작업 기간 : 1인, 2020년 8월 중순 ~ 2020년 9월 중순(주말, 휴일) 사용 프로그램 : Unity 2019.3.13f1 버전 관리 툴 : Git 프로젝트 내용 유전 알고리즘 캐릭터 동작 학습 Sample map R.. 2021. 6. 21. [OS] 가상 메모리 관리(2) - 페이지 교체 기법들 1. Fixed allocation의 경우 Page Frame 수가 고정되어 있는 경우에 사용 가능한 알고리즘들을 소개한다. 1) Min Algorithm - Minimize page fault, Optimal solution - 앞으로 가장 오랫동안 참조되지 않을 Page를 교체 - Page reference string을 미리 알고 있어야 하기 때문에 실현 불가능한 기법 - 교체 기법의 성능 평가 도구로 사용됨 - Tie-breaking rule이 필요할 수 있음 ※ Tie-breaking rule : 우선 순위가 동일할 경우 그들을 구분할 규칙 2) Random Algorithm - 교체할 Page를 무작위로 선택 - Overhead가 낮음 3) FIFO Algorithm - 가장 오래된.. 2021. 6. 17. 레이아웃 깨알 지식 1. Block Type과 Inline Type 1) Block Type - 세로로 배치됨 - 태그, 리스트 태그 2) Inline Type - 가로로 배치됨 - 태그 2. float 문제 해결 여기서 소개할 기법들은 내용이 박스를 벗어났을 때의 처리를 위한 역할과 float 속성을 지닌 자식 태그를 가진 부모 태그에게 높이를 부여하는 역할을 모두 한다. 부모 태그에게 별도로 height 속성을 지정해주지 않으면 높이가 사라지게 되는 문제를 해결하기 위한 목적이다. 1) 부모 선택자에 {overflow : hidden;} 부여 2) 부모 선택자:after에 {content:""; clear:both; display:block;} 부여 -> 추천! 3. @import 1) 의미 CSS파일에 또 다른 CSS.. 2021. 6. 15. 이전 1 ··· 29 30 31 32 33 34 35 ··· 65 다음