본문 바로가기

분류 전체보기233

자바스크립트 자바스크립트(JavaScript)란? - 웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어이다. - 자바스크립트로 작성한 프로그램을 스크립트(script)라고 부른다. - 스크립트는 웹페이지의 HTML 안에 작성할 수 있는데, 웹페이지를 불러올 때 스크립트가 자동으로 실행된다. - 스크립트는 특별한 준비나 컴파일 없이 보통의 문자 형태로 작성 할 수 있고, 실행 할 수있다. 왜 자바스크립트인가? - 처음 자바스크립트가 만들어졌을 대는 'LiveScript'라는 이름으로 불렸다. - 처음 만들어질 당시에 자바의 인기가 아주 높은 상황이었다. - 관련인들이 자바스크립트를 자바의'동생' 격인 언어로 홍보하면 도움이 될 것이라는 사결정을 내리고 이름을 교체했다. - 이름은 자바에서 차용해 왔지만, 자바.. 2023. 3. 2.
문자열 압축 문자열 압축 설명 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 압축된 문자열을 출력한다. 예시 입력 1 KKHSSSSSSSE 예시 출력 1 K2HS7E package ez.prac; public class S11 { public String solution(String s){ String answer = ""; s = s + " "; int cnt = 1; for (int i = 0; i < s.length() - 1; ++i) { //문자열의 i번.. 2023. 3. 1.
폴트 톨러런트(Fault tolerant)와 로드 벨런싱(Load balancing) 폴트 톨러런트(Fault tolerant)란? - 네트워크 상에 어떤 문제가 발생할 때를 대비해서 미리 장애 대비를 해놓는 것을 말한다. ex) PC방 구성이 라우터 한대와 스위치 몇 대로 구성되어 있다고 가정 할 때 만약 라우터가 고장 난다면? -> 인터넷 회선이 살아있어도 사용자들은 인터넷을 사용 할 수가 없다. 만약 라우터가 두 대라면? -> 하나의 라우터가 죽었을 때를 대비해서 다른 한 대를 가지고 있으면 고장난 라우터를 대체 할 수 있다. ->이 개념이 폴트 톨러런트(Fault Tolerant) -> 그냥 라우터를 한 대 더 가지고 있다가 고장나면 교체하는 것이 아니라, 라우터 두대로 네트워크를 구성한 후 한대가 죽었을 때 자동으로 다른 라우터의 역할을 수행하는 것이 진정한 의미의 폴트 톨러런트.. 2023. 3. 1.
TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol - 인터넷을 사용하기 위해 꼭 필요한 프로토콜 IP(Internet Protocol) - 이 세상에서 나만을 위한 유일한 것 - IP 공인 주소를 나눠주고 관리해주는 기관 NIC(Network Information Center) - 2진수 8자리 4묶음, 10진수(0~255) 네 자리 2023. 3. 1.
바인딩(binding) 바인딩(binding)이란? - 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것 - 프로그램 내에서 변수, 배열, 라벨, 절차 등의 명칭, 즉 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제 값으로 배정되는 것 - 원시 프로그램의 컴파일링 또는 링크 시에 확정되는 바인딩을 정적 바인딩(static binding) - 프로그램의 실행되는 과정에서 바인딩 되는 것을 동적 바인딩(dynamic binding) - 프로그래머가 코딩을 해서 컴파일을 하게 되면 프로그래머가 값을 변경할 수 없는 상태가 된는 것 - 메모리에 값을 할당하는 것 또한 바인딩이라고 할 수 있다. => 바인딩 이란 프로그램의 어떤 기본 단위가 가질 수 있는 구성.. 2023. 2. 28.
동기와 비동기 개념과 차이 동기(Synchronous : 동시에 일어나는) - 동기는 말 그대로 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속이다. - 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결고가 주어져야 한다. - A노드와 B노드 사이의 작업 처리 단위(Transaction)를 동시에 맞추겠다. 비동기(Asynchronous : 동시에 일어나지 않는) - 비동기는 동시에 일어나지 않는다를 의미한다. 요청과 결과가 동시에 일어나지 않을거라는 약속이다. - 요청한 그 자리에서 결과가 주어지지 않음 - 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다. 동기와 비동기 각각의 장단점 동기 방식 장단점 - 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 한다.. 2023. 2. 28.
프로토콜(Protocol) 프로토콜이란? 컴퓨터끼리 서로 통신하기 위해서 꼭 필요한 서로간의 통신 규약 또는 통신 방식에 대한 약속으로 프로토콜이 같은 것끼리만 대화 즉 통신이 가능하다. 프로토콜의 종류 1. TCP/IP (Transmission Control Protocol/Internet Protocol) 2. IPX(Internetwork Packet Exchange) 3. AppleTalk(맥) 2023. 2. 25.
OSI 7 계층 (OSI Seven Layer) OSI(Open Systems Interconnection) Seven Layer란? - International Organization for Standardization(ISO)라는 곳에서 통신이 일어나는 과정을 7개의 단계로 나눈 것 - Application Layer (애플리케이션 계층) - Presentation Layer (프레젠테이션 계층) - Session Layer (세션 계층) - Transport Layer (전송 계층) - Network Layer (네트워크 계층) - Data Link Layer (데이터 링크 계층) - Physical Layer (물리 계층) 네트워크를 OSI Seven Layer로 나눈 이유? 1. 데이터의 흐름이 한눈에 보인다. 2. 문제를 해결하기 편리하다... 2023. 2. 25.
맥 어드레스(MAC Address) MAC(Media Access Control) = 미디어 액세스 컨트롤 - 컴퓨터는 네트워크 상에서 서로를 구분해서 인식해야함 - 즉, 통신을 위해서는 서로를 구분할 일종의 주소가 필요함 - 이 역할을 담당하는 주소가 MAC 주소 - 인터넷은 TCP/IP로 통신을 하고 따라서 통신을 위해서 IP 주소를 사용함(이 경우에도 맥 어드레스를 사용함) - IP 주소를 다시 MAC으로 바꾸는 절차(ARP : Address Resolution Protocol)를 밟는다. MAC 어드레스 예시 (8자리마다 하이픈(-), 콜론(:), 점(.)으로 구분 00-60-97-8F-4F-86 00:60:97:8F:4F:86 0060.978F.4F86 모두 같은 호스트를 나타냄 - 48bit의 주소를 갖게 되는데 이 주소는 랜카.. 2023. 2. 25.
토큰링(TokenRing) 토큰링이란? - 네트워크에서 한 PC만(토큰을 가지고있는) 네트워크에 데이터를 실어 보낼 수 있다. - 한 네트워크에 토큰 한개 - 토큰을 가지고 있는 PC에서 토큰을 다 보내고 나면 바로 옆 PC에게 전달 - 내가 지금 보낼 데이터가 있고 다른 PC는 보낼 데이터가 없어도 토큰이 없으면 보낼수 없다는 단점 존재 - 우리 나라에선 별로 쓰이고 있지 않음 2023. 2. 25.
이더넷(Ethernet) 이더넷이란? - 네트워킹의 한 방식 - CSMA/CD라는 프로토콜을 사용해서 통신 CSMA/CD(Carrier Sense Multiple Access/Collision Detection)란? - 대충 알아서 눈치로 통신하자 - 캐리어(네트워크 상에 나타나는 신호)가 있는지를 감지 = Carrier Sense - 네트워크상에 통신을 하고 있으면 자기가 보낼 정보가 있어도 못 보내고 기다린다. - 네트워크에서 통신이 없어지면 눈치를 보다가 무조건 자기 데이터를 네트워크 상에 실어서 보냄 - 두 개 이상의 PC나 서버가 동시에 네트워크 상에 데이터를 실어 보내는 경우 = Multiple Access(다중 접근) - Multiple Access로 데이터를 동시에 보내다가 부딪치는 경우 = Collision이 발.. 2023. 2. 25.
네트워킹(인터넷, 인트라넷, 엑스트라넷) 네트워킹 이란? "서로 연결하는 것" 연결하기만 한다고 네트워킹이 되지 않는다. 정보와 자원을 공유하기 위해서서로 연결된 장비들끼리 서로 대화를 주고 받을 수 있어야 한다. => 한마디로 정의 하면 "장비들을 서로 대화가 가능하도록 묶어주는 것" 인터넷이란? 인터넷(InterNet)의 인터(Inter)라는 말은 연결을 의미한다. -> 인터넷 = 여러개의 네트워크를 묶었다. 인터넷의 특징 하나의 *프로토콜만 사용한다. (TCP/IP) 익스플로러나 크롬과 같은 웹 브라우저를 이용해서 인터넷을 탐험한다. 필요한 정보는 무엇이든지 있다. 인트라넷이란? - 인트라(intra) = 내부의 -> 내부의 네트워크 -> 특정 회사의 사람들에게만 사용이 허가된 사내 네트워크 엑스트라넷이란? - 인트라넷과 거의 유사 하지만.. 2023. 2. 25.