본문 바로가기
728x90
반응형

Programming150

[Network] 인터네트워킹 / 라우팅 / 자율시스템 IP 인터네트워킹 네트워크와 네트워크를 IP프로토콜(주소)을 이용해 연결한다. - 인터넷에서 IP프로토콜을 이용하여 네트워크를 연결하는 방식 - 송수신 호스트간의 여러 네트워크 인터페이스를 걸쳐 주소 형태로 패킷 전달 가능 - 양쪽 MAC 계층이 다르면 패킷 변환 기능 필요 라우터A는 PPP헤더로 변환 / 라우터B는 PPP헤더를 ATM헤더로 변환 - 필요 시 패킷 분할과 병합 과정도 수행 패킷이 특정 MAC 계층에서 전송하기에 너무 큰 경우 수행 라우팅 - 라우터의 역할은 수신된 IP데이터그램을 적절한 경로로 전달하는 것 - 라우팅 테이블의 경로 정보 변경은 네트워크 구성이 변경된 경우만 가능 - 고정 경로 배정, 적응 경로 배정 라우팅 테이블 라우팅 테이블의 값은 목적지 네트워크의 주소와 해당 목적지에.. 2020. 12. 22.
[Error] Could not publish to the server.java.lang.IndexOutOfBoundsException 톰캣 서버 실행이 안되는 오류.. Could not publish to the server. java.lang.IndexOutOfBoundsException C:\Users\USER\.m2\repository 이클립스 종료 후!! 위 경로 아래의 파일들을 모두 지우고 메이븐 업데이트를 받는다. 2020. 12. 21.
[System Programming] 프로젝트 디자인 - 에러코드확인 / 명령프롬프트 에러 코드 확인 - 오류의 원인 확인 및 해결 방법 필요 - Windows 시스템 함수 호출 시 오류 발생 - GetLastError 함수 호출을 통해 오류 원인 확인 가능 / Windows 시스템 함수 오류 발생시 NULL 반환 명령프롬프트 명령 프롬프트에서 명령어 추가하기 int CmdProcessing(void) - 명령어를 입력 받아 해당 명령어에 지정된 기능 수행 - Exit가 입력되면 TRUE를 반환, 프로그램 종료 2020. 12. 20.
[System Programming] Windows, UNIX / 32bit vs 64bit 운영체제 win64비트와 win32비트의 구분 방법 - CPU가 버스를 통해서 한 번에 전송 및 수신할 수 있는 데이터의 크기 - 데이터 처리 능력(명령어 포함) - 메모리에서 CPU에 한번에 전달할 수 있는 명령어의 개수에 따라 달라짐 1) 32비트 - 데이터를 4byte 단위로 처리 및 송신 - 32비트의 컴퓨터에서 최대 RAM의 크기는 4G바이트 2) 64비트 - 데이터를 8byte 단위로 처리 및 송신 - 64비트 컴퓨터에서 최대 RAM의 크기는 16테라 바이트 내부 메모리에 해당하는 램의 주소 - 운영체제에서 프로그램을 위한 가상의 주소 - 주소의 표현 범위가 넓으면 좋은 이유 -> 메모리 부족으로 프로그램 실행 불가하지 않음 내 컴퓨터에서 RAM 할당 방법 - 주소를 표현하는데 32비트를 활용(2의 3.. 2020. 12. 20.
[Network] 네트워크 규모에 따른 분류 / 인터네트워킹(브릿지) 1. LAN (Local Area Network) - 소규모 지역에 위치하는 호스트로 구성된 네트워크(동 규모) - 브로드 캐스팅 방식으로 전송 (특정한 목적지 없음) 1) 버스형 - 공유 버스 하나에 여러 호스트를 직접 연결 - 자기 순서가 와야 데이터를 전송할 수 있는 기회가 생김 - 충돌 발생 허용, 이더넷이라는 사후 충돌 해결 방식 2) 링형 - 전송 호스트의 연결이 순환 구조인 링 형태 - 전송한 데이터는 링을 한 바퀴 돌아 송신 호스트로 되돌아 옴 - 토큰이라는 제어 프레임을 사용해 충돌 가능성을 차단함 2. MAN (Metropolitan Area Network) - LAN보다 큰 지역을 지원 (구 규모) DQDB 구조 지원 - 두 개의 단방향 선로가 존재(양방향으로 데이터 교환) - 분산 .. 2020. 12. 15.
[Network] 패킷교환방식 - 가상회선방식/데이터그램방식 패킷 교환 연결을 설정하지 않고(비연결형) 패킷 (쪼개서) 단위로 데이터 전송 패킷의 전송 경로 결정이 가장 중요 패킷 교환 방식의 종류 1) 가상 회선 - 모든 패킷의 경로를 일정하게 유지 - 연결형 서비스를 지원하기 위한 기능 - 데이터를 패킷 단위로 나누어 전송 - 가상 연결 설정을 통해 전송되는 모든 패킷의 경로가 동일 - 패킷의 도착 순서가 일정 (출발/도착 순서 동일) - 가상 회선 방식이 회선 교환 방식과 유사하지만, 회선 교환 방식은 패킷 기능을 지원하지 않는다. *파이프 한 프로세스의 출력을 다른 프로세스의 입력으로 사용할 수 있도록프로세스 사이를 연결시키는 논리적인 통신 매체로 파이프를 이용하는 주체는 프로세스뿐만 아니라 호스트, 네트워크 등 다양하다. 2) 데이터 그램 - 서로 다른 .. 2020. 12. 15.
[Network] 교환 시스템 - 회신교환/패킷교환 교환 시스템 데이터를 최종 목적지까지 올바르게 전달하도록 데이터를 중개하는 교환 기능 제공 특정 전송 선로에 데이터가 집중되지 않으면서 효율적인 경로 선택 교환 시스템의 종류 전용 회선 방식 수신 호스트와 송신 호스트가 전용 통신 선로로 연결 교환 회선 방식 - 전송 선로 하나를 다수의 사용자가 공유 - 전화망과 같은 공중 통신망 - 호스트가 데이터를 주고 받기 위해 중간에 교환 시스템의 중개 필요 1. 회선 교환 방식 (Circuit Switching) - 연결형 서비스 제공(TCP) - 데이터를 전송하기 전에 연결 경로를 미리 설정하는 방식 - 고정 대역의 전송 선로를 전용으로 할당 받아 안정적으로 데이터 전송되나 속도가 느림 - 음성 전화 서비스를 통해 발전 - 네트워크의 구조가 단순함 - 모든 데.. 2020. 12. 14.
[System Programming] 아스키코드와 유니코드 아스키 코드(ASCII CODE) - 미국에서 정의된 표준 - 1바이트(8비트)로 문자 표현 - 알파벳 26개, 확장 문자 포함 총 256개 문자 표현 유니코드(UNICODE) - 2바이트(16비트)로 문자 표현 - 전세계 언어 표현 가능 - 문자의 종류 65,536개 2020. 12. 14.
[System Programming] 프로그램의 실행 과정 / 데이터버스 주소버스 컨트롤버스 프로그램의 실행 과정 - 프로그램은 컴퓨터 내부에 저장되어서 순차적으로 실행되어야 한다. - 전처리기에 의한 치환 작업(#으로 시작하는 전처리지시자) - 컴파일러가 기계어로 번역(CPU의 명령어로 번역) - 어셈블러가 기계어를 바이너리 코드 생성(CPU의 명령어를 바이너리 코드로 번역) - 링커에 의한 연결과 결합(라이브러리와의 결합) - 로더에 의해서 실행 가능한 파일을 메모리에 적재 - 명령어를 CPU에 올려주고 CPU에서 명령어 실행 데이터 이동 버스 시스템 - 주소 버스(Address Bus) : 주소값을 이동하기 위해 필요한 버스 - 데이터 버스(Data Bus) : 데이터를 이동하기 위해 필요한 버스 - 컨트롤 버스(Control Bus) : CPU가 원하는 바를 메모리에 전달할 때 사용(제어) 2020. 12. 14.
[System Programming] 컴퓨터 하드웨어의 구성 / CPU 시스템 프로그래밍이란? - 컴퓨터 시스템을 동작시키는 프로그램 - 하드웨어를 직접 컨트롤 - Windows 운영체제 자체의 기능을 십분 활용하는 프로그래밍 - 시스템의 범위 : 하드웨어 + 운영체제 컴퓨터 시스템의 주요 구성 요소 CPU, 캐쉬 메모리 : 컴퓨터 하드웨어 구조 운영체제 : 메인 메모리(프로그램의 속도를 높임), 하드디스크(파일I/O 포함) 컴퓨터 하드웨어의 구성 - CPU CPU(Central Processing Unit) - 중앙처리장치, 기본적으로 연산을 담당 - 컴퓨터 프로그램의 실행에 있어서 핵심적인 역할 메인 메모리(Main Memory) - 컴파일이 완료된 프로그램(실행가능한 파일) 코드가 올라가서 실행되는 영역(RAM) 입출력 버스(Input/Output Bus) - 컴퓨터를.. 2020. 12. 14.
[Linux] wsl2 java설치 jdk 패키지 검색 apt-cache pkgnames | grep jdk open jdk8 launchpad.net/~openjdk-r/+archive/ubuntu/ppa OpenJDK builds (all archs) : “PPA for OpenJDK uploads (restricted)” team launchpad.net 1) jdk설치 sudo add-apt-repository ppa:openjdk-r/ppa 2) 업데이트 sudo apt-get update oracle jdk8 launchpad.net/~webupd8team/+archive/ubuntu/java Oracle Java (JDK) 8 Installer PPA (DISCONTINUED) : “WebUpd8” team The Oracle.. 2020. 12. 14.
[Spring] 파라미터없이 session값 가져오기(로그인한 Member Id 가져오기) 1) web.xml org.springframework.web.context.request.RequestContextListener 2) java ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); HttpServletRequest req = sra.getRequest(); // 요청 가져오기 HttpSession session = req.getSession(); // 세션가져오기 2020. 12. 10.
728x90
반응형