본문 바로가기

분류 전체보기

(124)
OSI 7계층이란? [ OSI( Open System Interconnetion) 7계층이란? ] 직역하면 "개방형 상호접속 시스템의 7가지 계층" 이다. [ OSI 7계층을 알려고 한 이유 ] 기본 개념이라고 알고있었기도 하고 회원가입시 전송시 암호화 방식중 SSL방식에서 전송계층과 응용계층이란 용어가 언급됐고 이해하기 위해 검색중 OSI라는 개념을 이해해야 했다. [ 내가 생각하는 OSI 7계층의 필요이유 ] pc든 어떤형태든 System 간의 상호작용이 필요할때 과정이 다를것이다 예를들어 pc방에서의 pc끼리의 통신과 pc방에서 외부 pc와의 통신의 과정은 두가지의 경우가 다를 것이라고 짐작이된다. 그리고 이런 통신관련한 일은 문제를 해결할때나 무언가를 만들어 나갈때 자주 언급이될 것이고. 어떠한 기준점에 따라서 구분..
회원가입 (수정중) [ 회원가입시 필요한 데이터 ] [ 아이디, 비밀번호 , email (우선생략), email 인증번호 (우선생략)] [ 회원가입시 많은 데이터를 받지 않는이유? ] - 단순 커뮤니티의 아이디에 많은 개인정보가 들어가지 않는것은 불필요하다고 생각 추후 확작성을 고려하여 많은 정보를 받는것이 좋지 않은가? - 회원가입 하는 회원입장에서 거부감을 느낄수 있다 - 생각치도 못한 문제를 마주치게 될수 있다 ex) 회원의 주소를 받는경우에는 위치기반 서비스의 범주로 인식되어 사업자등록증 이 필요하다고 들었다. [ 회원가입 로직 ] 1) 회원가입 약관 동의 2) 아이디 입력후 중복검사 3) 비밀번호, 비밀번호 재확인 입력 4) 회원정보 값 유효성 검증 5) 회원가입 요청 6) 아이디,비밀번호,전송 암호화 7) db에..
컴파일러와 링커가 하는일 [ 참고자료 ] [ 컴파일러 ] 프로그래밍 언어를 computer가 이해하도록 기계어로 변환 => n개의 object 코드 생성 [ 링커 ] object코드를 모아 exe파일 생성 해당 파일을 IDE에서 bulild하게 되면 object파일 생성 그리고 실행파일 생성
CPU가 A+B를 처리하는 방법 [ int A = 3; int B = 4; int C = A+B; 라는 코드를 CPU는 어떻게 값을 읽고 저장할까? ] [ 설명전 알았으면 좋겠는 것 ] [ 프로그램 카운터 ] 다음번에 읽어와야 하는 주소를 저장하고 있다. [ 명령어 레지스터 ] 명령어를 저장할수 있다 [ 메모리 주소 레지스터 ] 주소를 저장할 수 있다. [ 메모리 데이터 레지스터 ] 메모리의 값을 저장할 수 있다. [ 어큐물레이터 ] 산술 작업을 도와주는 역할을 한다. [ 제어장치 ] 명령어를 해석한다 [ 산술 논리 장치(ALU) ] 연산 작업을 한다 [참고자료] 1) OS는 보조기억장치의 프로그램을 읽는다. 이후 각 주소에 필요한 메모리 값을 저장한다. (A의 값 3은 주소10에 저장되었고 B의 값 4는 주소 11에 저장되었다.) 2..
포인터 설명할것들 ( 수정예정 ) [ CPU ] CPU는 시스템의 작업을 처리하는 핵심 중추이다 RAM에만 접근할수 있다. [ RAM ] Ramdom Access Memory 이란 뜻으로데이터에 비순차적으로 접근하는 기억장치이다.비순차적인 접근은 데이터의 위치를 나타내는주소를 통해 접근할 수 있다. [ CPU와 RAM의 데이터 교환 방식 ] Control bus -> RAM에게 데이터를 보낼지 받을지 결정 해준다 Address bus -> 데이터의 주소를 송신한다 Data bus -> 데이터를 송신한다. (이걸 이해하면 c언어에서 포인터를 사용할수 있다는게 어떤의미인지 좀더 잘 이해할 수 있을것 같아서 남겨놓았다 추후 완성하자!)
쿼드트리(Qaud Tree) + 문제풀이 3D 데이터를 표한하기 위한 자료구조를 "장면 그래프 (Scene Graph)" 라고한다. "쿼드 트리"는 위의 자료구조에 포함된다. 백준 1992 번 문제를 풀면서 이해를 해보겠다. 3D 데이터를 표현한다 => 사진의 흑백 도형이 3D 데이터이며 0이 백 흑이1인 상태를 (0(0011)(0(0111)01)1) 로 표현한다. 로 이해 했다. 쿼드트리 는 어떻게 적용하나? => 하나의 평면을 4개의 네모로 분할한다 하나의 네모 안이 0또는 1로 통일되면 0과 1로표기 그렇지 않으면 네모안을 4분의 1로 다시분 할한다 (이과정을 반복한다) 여기서는 분할시 () 안에 넣어주며 표현은 왼쪽위,오른쪽위,왼쪽아래 ,오른쪽 아래이다 쿼드트리 형식으로 분할해보자 => ( 0 ( ) ( ) 1 ) => ( 0 ( 0 0..
JDK 설치하기 https://www.oracle.com/java/technologies/javase-downloads.html 이동 원하는 버전을 설치 ( 본인은 8SE widonws 64bit 체제 설치 ) 환경변수 JAVA_HOME 설정하기 1) 환경변수 설정 옵션 열기 2) 설정하기 %JAVA_HOME%\bin 입력 3) 설치확인
실수는 어떻게 표현될까? [ JAVA에서 10과 10.0은 같을까? ] 같지 않을수 있다. 왜냐하면 int나 short같은 정수랑 float나 double같은 실수의 표현방식이 다르기 때문이다. [ 왜 정수랑 실수의 표현 방식이 다를까 ? ] 소수라는 성질때문에 그렇다. 무한소수인 경우 소수점이 끝없이 있을것이며 유한소수인 경우라도 50자리 까지 있을수도 있다. 그러면 컴퓨터는 무한개의 bit나 50개의bit를 제공해야 할까? 그럴수 없다 컴퓨터의 메모리는 한정적이다.때문에 실수는 데이터의 저장방식이 정수와 다르다. [ computer에서 실수 표현 방식 ] 소수점이 고정된 고정소수점방식과 소수점이 이동하는 부동 소수점 방식이 있다. JAVA에서는 부동 소수점 방식이다. [ 부동 소수점의 표현 방식 ] 부호bit + 지수부bit..
bit로 무엇을 할까? [ bit란 데이터를 나타내는 최소한의 단위이다 ] bit 1단위는 0과1로 표현 된다 2진수 또한 0과1로 구성되어 있다 2진수를 이용해 컴퓨터는 bit로 숫자를 표현한다 [ 1byte는 몇 bit로 구성돼있을까? ] 1byte크기는 9일때도 7일떄도 있었지만 지금은 1byte라하면 일반적으로 8bit라고 표현 한다 즉 8개의 bit가 모이면 1byte라고 표현하는 것이다 1byte는 0000 0000 ~ 1111 1111 까지의 표현이 가능합니다. 그렇기 때문에 0부터 255까지 표현할수 있는 것입니다. [ 그렇다면 JAVA에서 int에 저장된 숫자는 bit로 어떻게 표현될까? ] public class Main { pulbic static void main(String[] args) { int nu..
WSL2 Docker설치하기 https://docs.docker.com/desktop/windows/wsl/ 접속 요구사항 확인 https://hub.docker.com/editions/community/docker-ce-desktop-windows/ 도커설치 환경설서 해당 옵션을 체크한다 docker ps를통해 생성된 container목록 확인이 가능하다 WindowTerminal 에 doker run --name nginx-test -d -p 8080:80 nginx:latest 입력 (ngix의 최신 이미지를 받아온다) 이후 container에서 확인가능 localhost:8080 으로 ngix웹서버 구동