일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- continue 사용법
- break 사용법
- 중첩 break
- 프로그래머스
- 자바의정석
- 객체지향
- 자바의 정석
- 프로그래머스 붕대 감기
- 멀티태스킹
- 입출력
- 붕대 감기 자바
- 멀티프로세싱
- spring security 설정
- 붕대 감기
- 오블완
- over()
- spring security
- 오버라이딩
- 오버로딩
- 다형성
- 쿠키
- CPU
- 리눅스
- 혼공얄코
- 티스토리챌린지
- SQL Mapper
- hackerrank
- java
- contiune
- 캡슐화
- Today
- Total
목록CS (10)
쉽게 쉽게
▤ 목차Spring Security를 구현하면서 CSRF 토큰에 대해 알아봐야 겠다는 생각이 들었다. CSRF 토큰 값을 넘겨주는 이유에 대해 알아보고자 했다. 1. CSRF란?CSRF(Cross Site Request Forgery)란 임의의 사용자 권한으로 임의의 주소에 HTTP 요청을 하는 취약점이다.즉 HTTP 요청에 필요한 서명을 위조, 변조하는 공격이며, 웹 서비스 이용자를 속여 의도치 않은 요청에 동의하도록 하는 공격이다.실제 사례로 2008년 옥션의 관리자가 CSRF 공격에 당하여 관리자 계정이 탈취된 사례가 있는데 이로 인해 약 1,800만 명의 개인정보가 유출된 사례가 있다.이러한 방식으로 공격에 당할 경우 상당히 파급력이 커질 수 있는 위험도가 높은 취약점이다. CSRF 토큰을 넘겨주..
▤ 목차Spring 프로젝트에서 애플리케이션의 설정을 구현하는 방식은 XML과 Java Configuration이 있다.이 둘의 장단점과 xml을 java configuration 방식으로 변환하는 방법을 알아보고자 한다.1. XML 설정 (XML-based Configuration) 이 방식은 XML 파일 내에 태그를 사용하여 애플리케이션의 빈과 의존성을 선언한다. 1. 장점수정 및 배포 용이: 설정이 Java 코드와 분리되어 있어, 설정 파일을 수정하더라도 애플리케이션 코드를 수정하지 않고도 배포가 가능하다.코드와 분리된 설정: 코드가 아닌 XML 파일을 통해 설정을 관리하므로, 개발자 외에 다른 관리자도 설정 파일을 쉽게 수정할 수 있다. (중앙에서 관리하기 용이)가독성이 좋음: XML 파일은..
1. JDBC란? 프로젝트에서 객체 지향 프로그래밍과 DB를 연결하는 방법은 여러 가지가 있으며 이를 제공하는 프레임워크가 Persistence Framework(영속성 프레임워크)이다. 영속성이란? 더보기 영속성(persistence)은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 데이터가 영속적이지 않으면 데이터가 휘발되어 CRUD가 의도대로 되지 않을 것이다. Persistence Framework는 객체를 데이터베이스에 저장, 조회, 수정, 삭제하는 등의 데이터베이스 작업을 쉽게 할 수 있게 도와주며, 데이터베이스와 객체 간의 매핑을 담당하는 것이 특징이다. 이런 Persistence Framework에서 DB와의 연동을 다루는 기술을 JDBC(Java ..
공부한 개발 관련 지식을 정리하며 쓴 글입니다. CPU는 어떻게 코어 수보다 많은 작업을 수행할 수 있는 것일까? 2 코어면 2개의 작업만 수행하고 있어야 하는 것 아닌가? 이 의문을 해소하고자 멀티태스킹, 멀티프로세싱, 멀티스레딩에 대해 알아봤다. 1. 프로세스와 스레드 멀티태스킹, 멀티프로세싱, 멀티스레딩을 알기 위해서는 프로세스와 스레드를 알아야 한다. 프로세스란 프로세스란 실행 중인 프로그램을 의미한다.(메인메모리에 올라와 실행되고 있는 상태) 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 이런 프로세스는 프로그램을 수행하는 데 필요한 데이터, 메모리 등의 자원 그리고 스레드로 구성되어 있다. OS에서 실행 중인 하나의 애플리케이션 즉 ctrl + alt ..
'혼자 공부하는 얄팍한 코딩 지식'을 읽으며 추가적으로 공부한 내용을 정리한 글입니다. 컴퓨터의 구성요소는 연산을 담당하는 CPU, 기억을 담당하는 Memory, 그리고 다양한 입출력 장치(모니터, 키보드, 마우스, 프린터)로 구성된다. 컴퓨터를 구성하는 핵심 요소와 그것들이 작동하는 방식에 대해 알아보겠다. 1. CPU(Central Processing Unit) CPU는 중앙처리장치로 명령어의 해석과 자료의 연산, 비교 등의 처리를 제어하는 핵심장치이다. 컴퓨터에 주어진 일들을 해내는 주체로, 다른 컴퓨터의 구성 요소와 정보를 주고받으면서 사실상 컴퓨터에서 이뤄지는 모든 일을 관할한다.(컴퓨터의 뇌) CPU의 구성 CPU는 비교와 연산을 담당하는 산술논리연산장치(ALU)와 명령어의 해석과 실행을 담당..
공부한 개발 관련 지식을 정리하며 쓴 글입니다. XML과 JSON은 데이터를 저장하고 전달하기 위해 고안되었다고 전 포스팅에서 언급했다. 둘의 차이점과 특징에 대해 작성해 본다. 1. XML(eXtensible Markup Language) XML은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어다. 마크업 언어(markup 言語, markup language)는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지이다. 사람과 기계가 동시에 읽기 편한 구조로 되어있다. HTML처럼 데이터를 보여주는 목적이 아닌 데이터를 저장하고 전달하는 목적으로 만들어졌다. XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있어 확장성이 좋다. XML은..
'혼자 공부하는 얄팍한 코딩 지식'을 읽으며 추가적으로 공부한 내용을 정리한 글입니다. 1. API란? API는 “Application Programming Interface”의 준말로 여러 프로그램들과 데이터베이스, 그리고 기능들의 상호 통신 방법을 규정하고 도와주는 매개체이다. 군대에서 사용하는 수신호, 자동차의 방향지시등 같이 일상에서도 약속된 규칙과 신호로 소통을 하는 경우가 많이 있다. 상당수의 소프트웨어에서도 약속된 신호로 소통을 진행하는 경우가 많으며 이때 사용되는 것이 API이다. 이때 프로그램마다 API 설계 방식이 다르면 개발자들은 새로운 서비스를 만들 때마다 새로운 API를 고안하거나 기존 API를 읽히는 데 어려움을 겪을 것이다. 그래서 보편적으로 공유되는 방식인 REST API를 ..
'혼자 공부하는 얄팍한 코딩 지식'을 읽으며 추가적으로 공부한 내용을 정리한 글입니다. 1. 쿠키와 세션을 사용하는 이유 웹 사이트를 이용할 때, HTTP 프로토콜은 클라이언트가 요청(Request)을 서버에 보내고, 서버는 클라이언트에게 적절한 응답(Response)을 주고 연결(Connection)을 끊는 특성이 있다. 이를 비연결지향(Connectionless) 특성이라 한다. 또한 커넥션을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보는 유지하지 않는 특성이 있다. 이를 상태 없음(Stateless) 특성이라 한다. (한마디로 연결이 종료되면 원상태로 리셋!) 비연결지향이라는 특성 덕분에 커넥션을 유지하지 않기 때문에 서버 리소스 낭비가 줄어드는 것은 장점이지만, 연결정보가 없다는 것은 ..
'혼자 공부하는 얄팍한 코딩 지식'을 읽으며 추가적으로 공부한 내용을 정리한 글입니다. IT 공부를 하다가 서버에 관련된 용어들을 정리해 봤다. 1. 데이터 센터(IDC) 수많은 사용자가 이용할 수 있는 서버는 역할에 적합한 하드웨어 성능을 갖춰야 하고 안정적인 접속이 가능하도록 해야 한다. 또 해킹으로부터 안전을 지켜야 하며, 정전, 지진, 화재 등의 사고를 방지하고 대처할 수 있어야 한다. 위와 같은 조건을 갖춘 전문 시설을 데이터 센터(IDC)라고 부른다. 2. 서버 호스팅과 온프레미스 이런 데이터 센터를 소유하지 않은 기업이나 개인에게 서버용 컴퓨터를 임대해 주는 서비스를 서버 호스팅이라고 한다. 데이터 센터에 설치된 컴퓨터에 원격으로 접속하여 내 컴퓨터처럼 사용할 수 있도록 하여 비용을 절감할 ..
공부한 개발 관련 지식을 정리하며 쓴 글입니다. 자바스크립트는 4가지로 세분화할 수 있다. 분류 설명 자바스크립트 Core 문법기본문법, 데이터타입, 조건문 등이 포함자바스크립트 Core 라이브러리 내장함수들이 포함되어있음, Date, Math 등 자바스크립트 DOM 노드(node), 스타일, 속성, 이벤트 등을 다룰 수 있는 다양한 기능 포함 자바스크립트 BOM 브라우저와 관련된 Window, Navigator, Location, History, Document, Screen 객체가 포함 자바스크립트를 사용하면서 document.ready, getElementById, location.href 등의 기능을 많이 사용했을 것이다. 이런 기능들을 특별히 정의하지 않았는데도 사용할 수 있었던 이유는 바로 B..