본문 바로가기

IT개념

(51)
[Network] 인터넷 통신규칙(프로토콜) 프로토콜이란? 네트워크 환경(인터넷)에서 서로 원할하게 통신하기 위해 약속한 규약이다. IP프로토콜, TCP프로토콜, HTTP프로토콜, Telnet, FTP 등등 다양한 규약이 있다. 인터넷 프로토콜은 4계층으로 나뉨 https://hahahoho5915.tistory.com/15 인터넷 프로토콜 스택의 4계층 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 IP 프로토콜 서버와 클라이언트 간 ip만으로 통신함, 패킷 이라는 단위로 데이터를 전달하게 됨 인터넷은 출발지에서 목적지 간 직통하는 것이 아닌 중간에 여러 노드들을 갈아타면서 전송하게됨 그렇기에 아래와 같은 문제가 있음 비연결성 : 대상이 없어도 패킷을 전송하게 됨 비신뢰성 : ..
[Network] Proxy Server 프록시란 네트워크 위의 서버와 클라이언트 사이에서 통신을 중계해주는 것이며 '프록시 서버'라고 부른다. 특정 IP대역만 접근을 허용하거나, 아니면 불필요하게 요청되는ㅂ 데이터를 프록시 서버에서 캐시된 데이터를 전송하여 트래픽의 낭비를 줄이는 등 효과를 얻을 수 있다. 프록시 서버의 종류 Forward 프록시 클라이언트(내부망) → Forward 프록시 서버 -> 인터넷 클라이언트와 접근할 서버(인터넷) 사이에 위치한 것이며 사용자가 정해진 사이트만 접근할 수 있게 끔 사용 환경을 제한할 수 있어 기업과 같은 환경에서 많이 사용한다. 대역폭 사용을 감소시킬 수 있으며, 구현과 정책 다루기가 쉽고, 비용이 저렴하다. 사용자 측에서 설정하므로 프록시 서버를 사용하는 것을 인식할 수 있다. Rev..
프로그래밍을 배우기 어려운 이유와 극복하는 방법 본문 : https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/ Why Learning to Code is So Damn Hard | Thinkful What every beginner absolutely needs to know about the journey ahead. www.thinkful.com 취업하기 전 언어의 기초를 다시 한번 다지고 싶어서 인프런의 자바 무료 기초 강의인 JAVA 플레이그라운드를 잠들기 전 조금 씩 수강하기 시작했다. 첫 강의에서 프로그래밍 학습이 어려운 이유와 그 극복 방법에 대한 방법을 지도하기에 이를 정리해보고 앞으로 개발자의 토대를 쌓아가는데 도움을 주고자 한다. 학습이 어려운 이유 1. 절망의 계곡..
[MYSQL] JOIN 사용하기 개인적으로 서브쿼리가 직관적이고 이해하긴 쉬운거 같은데 성능의 문제로 조인쿼리를 사용을 권장한다고 한다. 사용하게된 김에 다시 공부해보자. 이론 INNERJOIN : 양 테이블 서로 겹치는 값만 검색한다. (교집합) --문법-- SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼 FROM 기준테이블 별칭 INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키.... --예제-- SELECT A.NAME, --A테이블의 NAME조회 B.AGE --B테이블의 AGE조회 FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT LEFT(RIGHT) OUTER JOIN : 왼쪽 테이블..
[MYSQL] 정렬된 행 중간에 새로운 행 삽입과 삭제하기 프로젝트의 DB 구현 중 정렬된 행 사이에 새로운 행을 삽입하거나 삭제해야 하는 기능의 구현이 필요했다. 예를 들어 위와 같은 테이블에서 일련번호가 꼬이지 않게 하면서 점심식사와 낮잠 사이에 행 간식 행을 넣으려고 한다. 우선 정렬할 기준 필드로 일련번호를 삽입할 rowNo 필드를 생성했다. AUTO_INCREMENT로 필드를 만들면 기본키이기 때문에 중간삽입같은 정렬에 사용할 수 없어서 직접 로직을 작성하여야 한다고 생각했다. INSERT INTO schedule (planNo, userId, startDate, descript, planDay, rowNo) VALUES ('1', 'member1', '2021-05-10', '숙소 도착', '1', (SELECT COUNT(*) FROM schedul..
디버그 시 System.out.println()을 사용하지 않는 이유 System.out.println은 예제 프로그램 등 간단한 것에는 무관하나, 실제로 사용자가 있는 프로젝트 환경에서는 사용을 지양하여야 한다. 표준 프레임워크 퍼스트북에 설명이 나와있다. System.out.println()을 호출하게 되면 디스크 I/O 동기화 처리가 되기 때문에 전체적인 시스템의 성능이 저하 될 수 있고, System.out.println() 으로 디버그 처리한 부분을 일일이 주석처리, 해제하는 것은 개발 및 운영의 효율을 떨어트릴 수 있다. 이해가 안되서 더 찾아보고 정리해보았다. System.out.println()으로 디버그 정보를 출력하면 인자 값만 출력해준다. 최소한의 로그 정보가 없다는 것이다. 로깅 라이브러리(log4j, slf4j 등)를 사용하면 날짜/시간/로그 생성자..
[정처산기] 신기술 용어 - 시스템관리 보호되어 있는 글입니다.
[정처산기] 전산영어 기사용어 Social Web : 사이버 공간에서 사람ㄷ르 간 관계를 형성해 정보를 주고받음 (페이스북, 트위터) Webkit : 웹 브라우저를 만드는데 기반을 제공하는 오픈소스 프레임워크 (크롬, 사파리) Mashup:다른 곡을 조합해 새로운 곡을 만들어내는 음악용어지만 IT업계에서 다양한 콘텐츠를 혼합해 만드는 것 PAD(Program Associated Data, 프로그램연동정보) : 방송에서 제공하는 프로그램 내용과 관련된 부가정보를 제공하는 서비스 (노래 제목, 예술가 이름, 앨범 이름, 음악장르 등) PET(Privacy Enhancing Technology, 프라이버시 강화 기술) : 개인 정보 위험 관리 기술, 개인정보 암호화, 익명화 등 프라이버시 보호하는 기술임 Cloud Computin..