All

    [Network] TCP / IP 4계층

    TCP / IP (Transmission Control Protocol / Internet Protocol)는 기본 통신 언어 즉, 컴퓨터들이 서로 정보를 주고받으며 인터넷으로 통신하는데 가장 기반이되는 통신규약(프로토콜)이라고 보면 된다 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행함으로 서로 간의 간섭을 최소화하여 사용의 편리성을 높힌다 특징 호환성 보장 (다른 제조사 장비들끼리도 통신 가능)으로 인한 비용 절감 쉬운 문제 해결 (계층별로 문제 확인 가능) 다른 계층끼리는 각 전달 과정을 알 필요없어 데이터의 캡슐화와 은닉이 가능 TCP 최상위 계층인 TCP는 전송제어 프로토콜로 많은 양의 데이터를 가져 와 패킷으로 컴파일 후 다음 TCP 계층에서 수신하도록 전송하여 데이터의 누락, 순서 등 ..

    [Network] HTTP 통신과 작동방식 & Socket

    통신 프로토콜(Communication Protocol, 통신 규약) 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식 및 규칙의 체계를 의미 대표적으로 HTTP, HTTPS, FTP SSL등이 있다 일반적인 프로토콜 Http : Hyper Text Transer Protocol Https : secure Hyper Text Transer Protocol TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜 FTP : File Transfer Protocol 파일 전송 프로토콜 Telnet : Terminal NetworkSSH : Secure Shell 보안된 소켓 통신을 위한 프로토콜을 SMTP : Simple Mail Transfer Protocol 기타..

    [CSS] 정의 & 특징 & 적용방법

    정의 Cascading Style Sheet HTML과 함께 웹을 구성하는 기본 프로그래밍 요소 색상이나 크기, 이미지 크기나 위치, 배치 방법 등 웹 문서의 디자인 요소를 담당 웹 페이지에 다양한 스타일을 적용하므로 애플리케이션 페이지를 표시하는 프로세스를 단순하게 만들어주는 디자인 언어 css가 없으면 옷을 입지 않은 것과 같다 자바스크립트와 연계해 동적인 콘텐츠 표현이나 디자인 적용 가능 Cascading 의미 사전적 의미로는 폭포처럼 떨어져 내리는 상위 태그에서 정의된 디자인 속성은 하위 태그로 상속 하위 태그에서 상위 태그에 정의된 디자인 속성을 변경할 수 있음 동일한 디자인 속성이 외부,내부,인라인 스타일 시트에 적용 되어 있는 경우 우선순위는 가장 나중에 정의되는 스타일에 있다 정의된 세부적..

    [프로그래머스] 문자열 내림차순으로 배치하기

    문제 나의풀이 - 입력된 문자열을 반대로 출력하는 문제 - 일단 ""을 입력받은 문자열에서 빼서 새로운 배열로 저장 - 콜렉션을 이용 reverseOrder를 쓰면 뒤집혀서 나온다 - 뒤집어진 배열을 ""을 붙혀 answer에다 전달 실행결과

    [프로그래머스] 문자열 내 p와 y의 개수

    문제 나의풀이 - p와 y의 개수를 비교해 같으면 true 다르면 false를 리턴하는 문제 - 제일 기본으로 for문 4개를 돌려서 개수를 뽑아봤다 - 소문자 'y' 'p'때나 대문자 'Y' 'P'일때 - count / count2라는 변수를 만들어 y일때는 count2 p에는 count로 문자열에 있으면 1씩 증가하는 형태로 구현 - 조건식이 끝나면 count와 count2를 비교해 같으면 true 다르면 false를 리턴한다 실행결과

    [프로그래머스] 문자열 내 마음대로 정렬하기

    문제 나의풀이 - 문자열로 구성된 배열에서 정수 n이 주어지면 문자역의 인덱스 n번째 글자를 가져와서 오름차순으로 정렬하는 문제 - 배열에서 값을 찾기 위해 ArrayList를 사용했다. - ArrayList는 조회하기는 빠르지만 값을 수정하거나 삭제하기에는 LinkedList가 더 효율적이다 - 반환할 배열 answer의 길이는 strings배열과 같으므로 strings.length로 지정한다. - n번째문자를 기존 문자열에 붙여 만든 새로운 문자열을 넣을 ArrayList를 생성한다. - strings의 길이만큼 반복문을 사용해 새로운 문자열(strings[i].charAt(n) + strings[i])을 넣어준다. (ex) sun -> usun, car -> acar) - Collections.so..

    [프로그래머스] 두 정수 사이의 합

    문제 나의풀이 - 두 정수 a와 b를 비교해 속한 모든 정수의 합을 구하는 문제 - if문으로 두가지의 조건을 줬다 a가 b보다 클 경우 / b가 a보다 클 경우 - b가 a보다 크면 시작 숫자를 a라고 하고 b와 같거나 작을때까지 for문을 돌리면서 answer에다가 해당 모든 정수를 더해준다 - else if로 a가 b보다 클 경우를 똑같이 방법으로 작성한다 실행결과

    [프로그래머스] 나누어 떨어지는 숫자 배열

    문제 나의풀이 - arr이라는 String 배열을 가져와 divisor라는 자연수로 각각의 요소를 나누어서 맞아 떨어지면 return하는 문제 - 일단 Arrays.sort로 해당하는 arr을 정렬해준다 - stream으로 arr을 사용하겠다고 ()안에 arr을 넣어준다 - filter 메서드로 해당 요소들을 조건에 따라 걸러내는 작업을 해준다 - 만약 array가 divisor를 나누어 0이면 그걸 다시 array배열로 만들어주면서 answer에다가 저장된다 - 만약 나누어 0이 아니면 answer에는 아무것도 안 들어가니 길이가 0이 된다 - 0이면 answer에 -1을 넣어주는 식으로 코딩했다 실행결과

    [프로그래머스] 같은 숫자는 싫어

    문제 나의풀이 실행결과

    [프로그래머스] 가운데 글자 가져오기

    문제 나의풀이 - String s에 문자열을 가져와 split으로 ""를 없애주고 String배열로 만들어줬다 - 그 String 배열 arr의 길이가 만약 짝수라면, for문을 돌리면서 i가 가운데 글자가 맞다면 그 글자와 +1한 글자를 가져와서 answer에다가 넣어준다 - +1을 왜 했냐면 글자가 짝수라면 가운데 글자는 하나가 아니라 두개이기 때문 - 홀수라면 2로 나누어서 가운데 글자를 가져온다 실행결과