전체 글 58

스레드와 병행성 part1

운영체제 공룡책을 보고 정리한 내용입니다. Overview 스레드는 CPU이용의 기본 단위이다. 스레드는 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택으로 구성된다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드. 데이터 섹션, 열린파일, 신호와 같은 운영체제 자원을 공유한다. 전통적인 프로세스는 하나의 제어 스레드를 가지고 있다. 프로세스가 다수의 제어 스레드를 가진다면. 프로세스는 동시에 하나 이상의 작업을 수행할 수 있다. 동기 (Motivation) 현대의 컴퓨터와 모바일 기기에서 작동하는 거의 모든 소프트 웨어 어플리케이션은 다중 스레드를 이용한다. 하나의 어플리케이션은 몇 개의 스레드를 가진 독립적인 프로세스로 구현된다. 아래에서는 다중 스레드 응용 프로그램의 몇 가지 예를 ..

운영체제 2022.07.10

스프링 핵심 원리 이해2 (객체 지향 원리 적용)

본 포스팅은 인프런 스프링 핵심 원리 기본편 강의를 보고 정리한 내용입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 새로운 할인 정책 개발 새로운 할인 정책을 할인 정책 인터페이스를 implements해서 구현했습니다. 새로운 할인 정책 적용과 문제점 새로운 할인 정책을 생성하고 변경하..

🍀스프링 핵심 원리 이해 (예제 만들기)

본 포스팅은 인프런 스프링 핵심 원리 기본편 강의를 보고 정리한 내용입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 인터페이스 예제 회원 도메인 설계를 통해서 배운 건 인터페이스를 통해 추상화 하고 구현 객체는 따로 만드는 것 입니다. 회원 서비스와 저장소(회원)의 인터페이스를 구현하..

TCP와 UDP 차이

TCP와 UDP의 차이에 대해 간단히 알아 보겠습니다. TCP 전송 제어 프로토콜(Transmission Control Protocol) 연결 지향 = TCP 3way handshake(가상 연결) -> 클라이언트가 서버의 생존 여부를 체크한다고 보면 됨 1. SYN: 접속요청 2. SYN+ACK: 요청 수락 3. ACK 데이터 전달 보증 순서 보장 신뢰할 수 있는 프로토콜 현재는 대부분 TCP사용 UDP 사용자 데이터그램 프로토콜(User Datagram Protocol) 햐얀 도화지에 비유( 기능이 거의 없음) 연결지향 - TCP 3 way handshake X 데이터 전달 보증 X 순서 보장 X 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름 게임등에서 스킬을 바로 사용할 때 같이 속도가 중..

HTTP 2021.12.06

URL 과 URI 차이

REST API에 대해 공부하다가 문든 URL과 URI의 차이점이 궁금해졌습니다. 이번시간에는 URL과 URI의 차이점에 대해 알아보도록 하겠습니다. URI URI는 특정 리소르를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 도유한 문자열 시퀀스이다. URL URL(Uniform Resource Iocator)은 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약이다. URI의 서브셋이다. URI는 식별하고, URL은 위치를 가르킨다. URL: 자원의 "위치" URI: 통합 자원 식별자 EX. http://test/testmachine/?query=123 이라는..

HTTP 2021.12.05

🥅 REST API에 대해서 알아보자

REST API의 탄생 REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 처음 소개 되었습니다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 합니다. REST 구성 자원(RESOURCE)-URI 행위(Verb) - HTTP METHOD 표현(Representations) REST API는 무엇인가? REST는 프로토콜이나 표준이 아닌 아키텍처 원칙 세트입니다. REST API란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 ..

HTTP 2021.12.05

Spring Validation DTO 입력값 검사 문제 해결

문제 Actnow서비스에는 공고를 등록 수정하거나 프로필을 등록 수정을 할 때 requestDto클래스로 값을 받아서 데이터베이스 처리를 합니다. 근데 문제가 하나 생겼는데... 다음과 같이 title에 빈값을 주면 제목이 없는 상태로 저장이 되고 title이란 키값을 아예 안줘도 저장이 되는 경우가 발생했습니다. 공고의 경우 너무 다양한 정보가 많아서 null값을 허용하는 경우를 많이 뒀는데 제목 같은 경우 홈페이지 리스트에 노출이 되는데 빈값으로 저장을 시키면 상당히 홈페이지의 미관을 해치는 경우가 많고 의미 없는 데이터 처럼 보여서 제목은 무조건 값을 받기로 합니다. 해결 기존에 장고로 개발 할 때는 빈값에 대한 모든 것을 분기로 잡아서 예외처리를 해주었는데 스프링의 경우 validation을 활용..

ActNow 2021.12.04

🎬 211204 운영 로그

🎬 ActNow 211204 운영 로그 베타 테스트 종료 드디어 베타 테스트를 종료 하고 시제 서비스를 오픈 했습니다. 기능 쪽에서 문제가 생겼던 버그들도 픽스 됐고 프론트 엔드쪽 이슈도 해결 되어서 정식 오픈하게 되었습니다. 테스트 코드 추가 베타 테스트를 하면서 작은 수정사항들이 생길 때마다 바로바로 배포할 때 마다 일일히 로컬환경에서 기능 하나하나 포스트맨으로 테스트 하는 방식이 너무 비효울적이었습니다. 테스트 코드의 중요성은 저번 프로젝트에서 느꼈지만 이번 프로젝트에서는 빠른 시간안에 기능 개발을 해야한다는 압박감에 테스트 코드를 뒷전으로 두게 되었습니다. 하지만 역시나 테스트 코드를 작성하지 않고 계속 배포를 할 때마다 직접 기능들을 테스트하는 건 오히려 더 시간이 걸리는 작업이었습니다. 모든 ..

ActNow 2021.12.04

🎬 운영로그 day3

🎬 ActNow 운영로그 day3 액트나우 베타테스트 3일째 입니다. 아침 미팅으로 하루를 시작했습니다. 미팅을 토대로 티켓을 정리했습니다. 급하게 주어진 과제는 다음과 같습니다. 1. 공고 등록 매크로 방지 배타 테스트를 돌리던 중 공고드록을 테스트 해보는데 하나의 유저가 공고를 여러개 올릴 수 있으므로 쉽게 도배가 가능했습니다. 기존에 프로젝트로만 할 때는 이런 부분을 생각할 필요가 없었는데 이제는 진짜 유저들이 사용을 해야 하기 때문에 조금이라도 나쁜 유저가 마음 먹으면 게시판을 도배하는 건 일도 아니였습니다. 기존 공고 등록 api 로직에 추가 해야할 것 같습니다. 2. 입력값 검사 아무래도 저희 서비스가 배우 개인의 개인정보를 노출시키는 서비스다 보니 이런 프로필은 개인 정보이기 때문에 대부분 ..

ActNow 2021.11.26

🎬 운영로그 day2

🎬 ActNow 운영 로그 Day2 운영 이슈 다음주 까지는 베타 테스트기간을 갖기로 했습니다. 이유는 다음과 같습니다. 1. 디자인 지인께서 액트 나우 디자인을 고쳐준다고 하셔서 전체적으로 사이트 디자인을 바꾸기로 했습니다. 기존에는 개발자들 끼리 만들어서 정말 보기 형편 없는데 이제 디자이너 분이 봐주신다고 하니 다행입니다. 그리고 실제 서비스를 한다고 했을 때 디자인이 너무 못생기면 배우들 입장에서 내 개인정보를 내어주기 신뢰가 가지 않을거라 생각했습니다. 2. 자잘한 기능 테스트 아직 프론트 백엔드 서버 둘다 올라와서 모든 기능을 테스트 해보지 않았습니다. 전체적으로 실제 고객이 되어서 우리 서비스를 쓸 때 조금이라도 불편한 부분이나 미흡한 부분을 수정하기로 했습니다. Daily 회고 백엔드 서버..

ActNow 2021.11.25