전체 글

공부/TIL

[혼자 공부하는 컴퓨터구조+운영체제] Chapter 4 - 5

Chapter 4. CPU의 작동 원리 목표 - ALU와 제어장치에 대해 학습한다. - 레지스터의 종류와 역할에 대해 학습한다. - 명령어 사이클을 이해한다. - 인터럽트의 개념을 이해한다. 05. ALU와 제어장치 1. ALU - CPU 내부에서 계산을 담당 - 피연산자와 제어신호로 다양한 연산을 수행 - 플래그 : 연산 결과에 대한 추가적인 상태 정보 ex. 결괏값이 음수, 결괏값이 오버플로우 됨 플래그 종류 의미 사용 예시 부호 플래그 연산한 결과의 부호를 나타낸다. 부호 플래그가 1일 경우 계산 결과는 음수, 0일 경우 계산 결과는 양수를 의미한다. 제로 플래그 연산 결과가 0인지 여부를 나타낸다. 제로 플래그가 1일 경우 연산 결과는 0, 0일 겨웅 연산 결과는 0이 아님을 의미한다. 캐리 플래..

공부/TIL

[혼자 공부하는 컴퓨터구조+운영체제] Chapter 1 - 3

컴퓨터 구조와 운영체제를 공부하여 문제 해결 능력을 길러 보자~! Chapter 1. 컴퓨터 구조 시작하기 목표 - 컴퓨터 구조를 공부하는 이유를 이해한다. - 컴퓨터 구조의 큰 그림을 이해한다. 01. 컴퓨터 구조 1. 컴퓨터 구조를 공부해야 하는 이유 - 코드 단에서는 해결할 수 없는 문제를 정확히 파악하고 해결하기 위하여 공부해야 한다. 2. 컴퓨터가 이해하는 정보 - 데이터 : 0과 1로 표현되는 숫자, 문자, 이미지, 동영상 등의 정적인 정보 - 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 3. 컴퓨터의 네 가지 핵심 부품 - 중앙처리장치(CPU) - 산술논리연산장치(ALU) : 계산기 - 레지스터 : 프로그램 실행에 필요한 값들을 위한 작은 임시 저장 장치 - 제어장치 : 제어 신호(..

공부/TIL

[Nods.js] dgram을 이용한 UDP 채팅 서버 구현

UDP로 비슷한 chat program을 만드는 과제를 진행해보겠다. UDP는 이제 잘 쓰이지 않기 때문에 깊이 파고들지 않겠다. server.js const PORT = 3000 const HOST = '127.0.0.1' const dgram = require('dgram') const server = dgram.createSocket('udp4') server.on('listening', () => { const address = server.address() console.log('UDP Server listening on', address.address, address.port) }) server.on('message', (message) => { console.log('message: ', m..

공부/TIL

[Node.js] Socket.io를 이용한 TCP/IP chat program 구현

저번 포스팅에 이어 Socket.io를 이용해 간단한 TCP chat program을 구현해보겠다. 우선 socket.io를 설치한다. npm i socket.io // 클라이언트용 npm i socket.io-client 나는 클라이언트쪽도 구현해야 하기 때문에 socket.io-client도 설치했다. 파일 구조는 저번 포스팅과 동일하다. server.js의 코드는 다음과 같다 : const server = require('http').createServer() const io = require('socket.io')(server) io.on('connection', client => { console.log('클라이언트와 연결되었습니다.') // 클라이언트로부터 데이터를 받았을 때 처리하는 부분 c..

공부/TIL

[Node.js] net을 이용하여 간단한 TCP/IP chat program 만들기

요즘 진행하는 스터디에서 다음과 같은 과제가 생겼다. 아래 조건을 만족하는 간단한 chat program을 만들자. (필수) 1. TCP 서버와 클라이언트를 가장 자신이 있는 언어로 구현한다. 2. 콘솔 화면을 띄우면서 클라이언트 콘솔에서 메시지를 보내면 서버 콘솔에서 전달받은 메시지를 보여 준다. key word: socket programming. TCP 추가: wire shark를 설치해서 클라이언트와 서버 간에 주고받은 패킷을 확인하여 TCP 3-way handshake를 더 깊이 있게 이해하는 것이 주 목표. node.js + node.js에 내장된 net + 역시 내장된 readline을 사용하여 구현했다. 디렉토리 구조는 다음과 같다 : chat-program/ ├── server/ │ └─..

공부/TIL

[모두의 네트워크] 9장 (무선 랜 이해하기)

Chapter 9. 무선 랜 이해하기 목표 - 무선 랜의 연결 및 통신 구조를 이해한다. - 무선 액세스 포인트와 무선 클라이언트의 관계를 이해한다. - 무선 랜의 연결 형태를 이해한다. - 무선 랜의 규격을 이해한다. - 채널을 이해한다. 35. 무선 랜의 구조 1. 무선 랜 - 랜 케이블을 사용하지 않고 눈에 보이지 않는 전파를 이용하여 무선으로 컴퓨터를 서로 연결하는 것 장점 단점 케이블 정리가 필요 없음 유선보다 속도가 불안정하고 전파가 약하면 연결이 잘 안됨 유선 랜보다 공간의 제한이 덜함 유선 랜에 비해 통신 내용이 해킹될 위험이 높음 -> 암호화나 인증 설정 필요 2. 무선 액세스 포인트 Wireless Access Point = WAP - 무선 랜 칩chip 필요 - 최근 컴퓨터는 대부분 ..

공부/TIL

[Tistory 스킨 편집] hELLO 스킨 적용 시 첫번째 카테고리들만 펼치기

현재 정말 잘 쓰고 있는 hELLO 스킨! 다 마음에 드는데 카테고리만 딱 펼치면 좋을텐데 하는 생각이 들어 찾아보았다. 내가 원하는 동작은 첫번째 카테고리들(대카테고리?)만 펼쳐서 보여주는 것이었다. 역시 선구자가 있었고, 내가 원하는 동작에 맞게 수정했다. 다음과 같은 코드를 html 스킨 편집 시 위에 넣어주었다. 결과 이렇게 하고 나니...카테고리를 좀더 세부적이고 직관적으로 나누는 게 접근성이 좋아보인다. 조금씩 수정해야겠다. 참고 https://energneer.tistory.com/entry/%ED%8B%B0%EC%8A%A4%ED%86%A0%EB%A6%AC-hELLO-%EC%8A%A4%ED%82%A8-%EC%B2%AB%EB%B2%88%EC%A7%B8-%EC%B9%B4%ED%85%8C%EA%B..

공부/TIL

[vue.js + electron] electron:serve에서는 보이던 화면이 electron:build하면 안보일 때 해결 방법

해당 문제는 vue-router 사용 시 발생했다. router 생성 시 mode를 history에서 hash로 수정하여 해결했다. const router = new VueRouter({ mode: 'hash', base: process.env.BASE_URL, routes }) 만약 electron으로 build 시에만 hash mode를 사용하고 싶다면 아래처럼 접근할 수 있을 것으로 보인다. If using Vue 2: export default new Router({ - mode: 'history', + mode: process.env.IS_ELECTRON ? 'hash' : 'history', }) If using Vue 3: const router = createRouter({ - histor..

Ail_
log