목록Brae's repository (463)
브래의 슬기로운 코딩 생활
TCP 프로그래밍 소켓 생성 및 TCP 클라이언트용 APIs 통신 모델 서버/클라이언트 모델 Server : 서비스 제공자 Client : 서비스 요청자 방식에 따른 서버의 종류 복잡성(서버 vs 클라이언트) - 서버는 일반적으로 클라이언트의 요청에 맞는 서비스를 제공 - 다양한 클라이언트의 요청에 대한 응답을 처리해야 함 - 서버는 클라이언트대비 복잡한 제어와 구조를 가짐 네트워크 프로그래밍 - 원거리 프로세스간 상호 통신을 위한 기법 - 운영체제는 원거리 프로세스간 통신을 위해 소켓(socket)을 지원 네트워크 시험 네트워크 시험 툴 명령어: nc {-options} [hostname] [port] • NC: Net Cat • 네트워크 시험을 위한 도구 – 일반적으로 프로그램 검증 도구(debugg..
네트워크용 기본 API 주소체계 변환 문자열형 주소의 32비트 정수형 주소로 변환 함수: inet_addr() • Dotted-Decimal Notation을 Big-Endian의 32비트 정수형 데이터로 변환하는 함수 인자값 • *cp : 문자열 형태의 IP 주소 값(“xxx.xxx.xxx.xxx”, 길이 ≤ 15) 결과값 • 성공: 4바이트 정수(Big-Endian) • 실패: INADDR_NONE (0xFFFFFFFF) 함수: inet_network() • Dotted-Decimal Notation을 호스트 데이터 형태의 32비트 정수형 데이터로 변환하는 함수 • 네트워크 사용을 위해서는 htonl() 함수 호출이 필요 인자값 • *cp : 문자열 형태의 IP 주소 값(“xxx.xxx.xxx.xxx..
리스트와 키란 무엇인가? 리스트(List) •같은 아이템을 순서대로 모아놓은 것 •리스트를 위해 사용하는 구조 – 배열 •배열 – 자바스크립트의 변수나 객체를 하나의 변수로 묶어놓은 것 ◦키(Key) •각 객체나 아이템을 구분할 수 있는 고유한 값 - 리액트에서는 배열과 키를 사용하여 반복되는 다수의 엘리먼트를 쉽게 렌더링할 수 있음 여러 개의 컴포넌트 렌더링하기 컴포넌트 반복 구조 Array.map() •배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환 currentValue : 처리할 현재 요소 index : 처리할 현재 요소의 인덱스 array : map()을 호출한 배열 리스트의 키에 대해 알아보기 리스트의 키 •리스트에서 아이템을 구분하기 위한 고유한 값 ..
조건부 렌더링이란? 조건부 렌더링(Conditional Rendering) •어떠한 조건에 따라서 렌더링이 달라지는 것 •조건문의 결과 true/false에 따라서 렌더링을 다르게 하는 것 ex. 조건문의 값이 true이면 버튼을 보여주고 false이면 버튼을 가림 자바스크립트의 Truthy와 Falsy truthy - true는 아니지만 true로 여겨지는 값 - { } (empty object) - [ ] (empty array) - 42 (number, not zero) - “0”, “false” (string, not empty) flasy – flase는 아니지만 flase로 여겨지는 값 - 0, -0 (zero, minus zero) - 0n (Bigint zero) - ‘ ‘, “ “, ` ..
DBMS & JDBC html -> jsp 파일 확장자 변경 *.html -> *.jsp intellij IDEA에서 수정하는 경우 연관된 코드 리팩토링 파일에 지시자 추가 참고) 리펙터링 (Refactoring) 정의 - 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 의미함 목표 - 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 행위. 주로 가독성을 높이고 유지보수를 편하게 함 - 버그를 없애거나 새로운 기능을 추가하는 행위는 아님 - 소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것 - 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 유지 보수성을 개선하고 확장성을 개선하기 위..
모바일 게임 실무 중간고사 202114013 김동현 서브루틴: C 언어에서 사용하는 함수는 시작할 때 진입하는 지점이 하나 존재하고 함수가 모두 실행되거나, return 구문에 의해서 종료되는 지점을 설정 코루틴: 서브루틴과 같은 개념이나 진입하는 지점이 코루틴 여러 개 일 수 있는 함수 어떤 시점에서 함수(코루틴)를 호출했다가 다시 복귀, 그리고 다시 함수(코루틴)로 가서 실행하는 등 로직을 돌리는 방식이 필요할 때 사용 (정의): IEnumerator 코루틴함수이름(){} / (복귀): yield return / (호출): StartCoroutine(“코루틴함수이름“); / (중지): StopCoroutine(“코루틴함수이름“); 1) yield return null // 다음 프레임까지 대기 2) ..
방금 홈페이지에 중간고사에 대한 힌트가 나와서 그것을 토대로 정리해 볼까 한다. 자료, 정보, 지식, 지능 등에 대한 이해 필요 정보전송 시스템을 구성하는 항목들에 대한 이해 필요 전송기술 중점 학습 망구성(토폴로지) 이해 필요 데이터전송 방식에 대한 이해 베이스밴드 전송을 위한 주어진 값들에 대하여 특히 NRZ, RZ, 맨체스터 중 하나의 방식으로 변환하는 것을 물어봄 CRC 연산 능력 확인 프로토콜 기본 OSI 계층모델 엔디언 관련 이해 필요 (세부 2문제: 변환 함수, 주어진 데이터에 대한 특정 엔디언에서의 표현 값 질의) 오류제어 방식 이해 필요 DSDV 라우팅 테이블 작성 Link State 라우팅 테이블 작성 IP 패킷 구조에서 특정 항목 질의 상동 TCP 세그먼트 구조에서 특정 항목 질의 상..
UNIX 기본 프로그래밍 - 시간처리 함수 - 초 단위 시간 정보 추출 초단위 현재 시간 추출 함수 : time() • 현재 시각을 1970/01/01 00:00:00 +0000(UTC)을 기준으로 초 단위 값 추출 • UNIX 타임으로 통용 • time_t는 4바이트(현재)의 정수형 타입(int, int32_t)의 매크로 • 2038/01/19 03:14:07에 오버플로(Overflow) 발생 인자: • *tloc : 시각정보가 저장될 변수(NULL이면 저장 안함) 결과 값: • 성공 : 현재 시간(초단위) • 실패 : -1 시간 표시 형식 변경 표시 형식 변경 함수 : localtime() • 주어진 초 단위 시각정보를 구조체 tm 타입 정보로 변환 • 정적 영역(static memory)을 사용하여..
npx create-react-app ? : ? 리액트 프로젝트 만들기 npm start: 프로젝트 실행 리액트의 장점 빠른 업데이트, 빠른 렌더링 속도 모바일 앱 개발 가능 리액트의 단점 방대한 학습량, 높은 상태 관리 복잡도 Node.js와 npm 설치 JSX를 쓰면 코드가 간결해지고 생산성과 가독성 향상 엘리먼트 - 리액트 앱의 가장 작은 블록 리엑트 엘리먼트는 DOM엘리먼트의 가상표현 엘리먼트를 렌더링하기 위해 ReactDOM.createRoot( ); render( ) 함수 사용 엘리먼트 업데이트는 새로운 엘리먼트를 생성해 바꿔치기 하는 방식 리액트는 컴포넌트 구조이다 컴포넌트 구조란 페이지가 컴포넌트로 구성되는 것을 말한다. Props는 리액트 컴포넌트의 속성이다 Props를 사용하는 법은 J..
EL (Expression Language) EL(Expression Language) 등장 배경 스크립팅 요소 활용의 문제점 - 스크립틀릿으로 작성된 코드는 Java를 알지 못하는 개발자들에게는 이해 뿐 아니라 유지보수가 어렵다. - 표현식은 간단하지만 제한적인 기능 제공으로 다양한 결과 출력이 어렵다. - 표준 액션은 웹 개발자에게는 친근한 표현이고, 기본형 형변환을 지원하여 편리하지만 구문 구조가 복잡하고, 서브 프로퍼티를 접근할 수 없다는 단점이 있다. 스크립팅 요소의 활용이 적은 JSP 페이지를 작성하는 것이 추세임 정의 - JSP 기본 문법을 보완할 목적으로 간단하고 직관적인 표현으로 데이터, 속성, JSP 기본 객체 등 자바 컴포넌트들에 대한 손쉬운 접근 방법을 제공하는 스크립트 언어 주요 ..