WAS / Web Server
·
CS 공부
Web Server란? 클라이언트로 부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 프로그램 Apache, Nginx, IIS(Internet Information Services) 등이 있다. 정적 컨텐츠란? HTML, CSS, JavaScript, 이미지, 영상 등의 어느 클라이언트가 요청해도 달라지지 않는 컨텐츠 WAS란? 동적 컨텐츠를 처리하는데 특화된 서버 WAS는 Web Server와 다르게, 데이터베이스와 같은 외부 시스템과의 연동이 필요하며, 웹 어플리케이션의 비즈니스 로직을 수행한다. 다양한 프로그래밍 언어와 프레임워크를 지원한다 대부분의 WAS는 Web Server를 내장하고 있다. Tomcat, JBoss, WebSphere 등이 있다 동적 컨텐츠란? 요청 인자에 따라 바뀔 수 있는..
프로그래머스 '네트워크' 자바
·
개발 공부/알고리즘
이 문제는 dfs로 풀어야 되겠다는 감은 왔다 그래서 처음엔 이런 그림을 상상에 두고 코드를 짰다 package codingtestStudy; public class Network { int n = 9; int [][] computers = {{1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 1, 1}}; ..
프로그래머스 '게임 맵 최단거리' 자바
·
개발 공부/알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 문제 링크 import java.util.*; class Solution { int[] dx = {-1, 1, 0, 0}; int[] dy = {0,0,-1, 1}; public int solution(int[][] maps) { int answer = 0; int[][] visited = new int[maps.length][maps[0].length]; bfs(maps, visited); a..
프로그래머스 '체육복' 자바
·
개발 공부/알고리즘
import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; answer = borrow(n, lost, reserve); return answer; } int borrow(int n, int[] lost, int[] reserve){ int sum = 0; // 여벌 체육복 있지만 잃어버린 애들 바꿔주기 for(int i = 0; i < lost.length; i++){ for(int j = 0; j < reserve.length; j++) { if (lost[i] == reserve[j]) { lost[i] = -3; reserve[j] = -3; sum++; // l..
OSI 7 Layer와 식별자
·
CS 공부/네트워크
OSI 7 Layer는 밑에서 부터 - 물리 계층(L1) - 데이터 링크 계층(L2) - 네트워크 계층(L3) - 전송 계층(L4) - 세션 계층(L5) - 프리젠테이션 계층(L6) - 어플리케이션 계층(L7) OSI 7 Layer 중 L5 이상은 유저 모드 어플리케이션, 즉 프로세스로 설명된다(프로그램의 특징에 해당) 그래서 TCP는 전송 계층, IP는 네트워크 계층, Driver영역, NIC(Network Interface Card)의 일부분은 데이터 링크 계층, NIC의 대부분은 물리 계층에 속한다 그리고 이를 식별하는 식별자들이 있는데 MAC 주소는 NIC를 식별한다 IP주소는 Internet을 사용하는 컴퓨터 즉 호스트를 식별한다(L3에 해당) Port번호는 프로세스 or L2 인터페이스 or ..
User mode와 Kernel mode
·
CS 공부/네트워크
컴퓨터는 소프트웨어와 하드웨어로 이루어져 있고 소프트웨어는 유저 모드, 커널 모드로 나눈다 하드웨어는 항상 하드웨어를 제어하는 소프트웨어가 있는데 드라이버라고 한다 드라이버가 설치되어야 하드웨어가 작동한다 커널 모드에는 프로토콜이 구현된 소프트웨어인 TCP, IP가 있다. 유저 모드에서 커널 모드에 접속할 수 있도록 커널 모드에 인터페이스가 있는데 파일 형식으로 되어 있다 그래서 TCP, IP를 추상화 시킨 인터페이스 파일을 소켓이라고 부른다
네트워크 데이터 단위 정리
·
CS 공부/네트워크
* 영상 출처: https://www.youtube.com/watch?v=p6ASAAMwgd8&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=8 유저 모드 어플리케이션 수준 즉 소켓 수준에서는 Stream 이라는 데이터 단위를 생각해야 한다. Stream은 끝을 알 수 없는 일렬로 나열된 데이터 이다 TCP에서 다루는 데이터는 Segment라고 한다 IP에서 다루는 데이터는 Packet이라고 한다 NIC(Network Interface Card)에서 다루는 데이터는 Frame이라고 한다 유저 모드 어플리케이션 프로세스가 stream을 write하고 보내기 위해 커널모드에서 TCP를 만나면 Segmentation이 일어난다. 즉 분해(자르기)가 일어난다 이 잘라진 덩어리..
EC2에서 innoDB 손상 시 해결 방법(2)
·
개발 공부/오류 해결
**1편에서 이어집니다 https://codingsook.tistory.com/45 innoDB 손상 시 해결 방법(1) - 오류 파악 EC2 인스턴스를 이용해 MySQL을 외부 접속해서 사용하고 있었는데 AWS를 공부하다가 사용하던 인스턴스를 중지하고 재시작을 하게 되었다. 나는 중지하면 퍼블릭 ip가 바뀌는 지 몰랐었 codingsook.tistory.com 1편에서 innodb를 강제로 복구시켜 데이터베이스가 구동되게 하는 것까지 완료했다 다음으로 nohup /opt/bitnami/mariadb/bin/mariadbd-safe 1>/dev/null 2>&1 & nohup no hang up - 끊지마라 리눅스, 유닉스에서 프로그램을 데몬형태로 실행시키는 명령어 터미널 세션이 끊겨도 실행을 멈추지 않..