오늘 학습한 것 1. 인프런 React 강의에서 수정하기 버튼 구현하는 법을 배우고 Git에 업로드 2. 모던 자바스크립트 입문을 한 번 설렁설렁 읽어봄 (심볼에 대해 처음으로 배웠다) 3. HTTP 통신에 대해 ChatGPT에 물어보며 학습 4. 생활코딩에서 웹과 Node.js 11강까지 학습 5. 블로그에 HTML과 CSS 수정을 통해 채팅 기능과 브라우저 창 크기에 따른 상단 이미지 조정 기능을 구현 6. Visual Studio Code에서 같은 항목을 한꺼번에 수정하는 단축키 : Ctrl + Shift + L
아래는 ChatGPT에게 HTTP에 대해 물어본 것
HTTP가 아닌 다른 통신규약도 있니?
네, HTTP(하이퍼텍스트 전송 프로토콜) 외에도 여러 가지 다른 통신 규약이 있습니다. 일부 예는 다음과 같습니다.
FTP(File Transfer Protocol): FTP는 파일을 전송하는 데 사용되는 표준 프로토콜입니다. 일반적으로 서버와 클라이언트 간에 파일을 업로드하고 다운로드하는 데 사용됩니다. SMTP(Simple Mail Transfer Protocol): SMTP는 전자 메일을 전송하는 데 사용되는 표준 프로토콜입니다. 이 프로토콜은 메일 서버 간에 이메일 메시지를 전송하는 데 사용됩니다. DNS(Domain Name System): DNS는 인터넷 상의 도메인 이름을 IP 주소로 변환하는 데 사용됩니다. 이를 통해 사용자는 도메인 이름으로 웹 사이트에 액세스할 수 있습니다. SSH(Secure Shell): SSH는 안전하게 원격 컴퓨터에 로그인하고 명령을 실행하는 데 사용되는 프로토콜입니다. IRC(Internet Relay Chat): IRC는 인터넷 상의 실시간 채팅을 위한 프로토콜입니다.
이 외에도 Telnet, SNMP, RTP, SIP 등 다양한 프로토콜이 있습니다.
웹브라우저에서 HTTP말고 다른 통신도 가능해?
네, 웹 브라우저에서는 HTTP 말고도 다른 통신 규약을 사용할 수 있습니다. 일부 예는 다음과 같습니다.
HTTPS(Hypertext Transfer Protocol Secure): HTTPS는 HTTP의 보안 버전으로, SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화합니다. 이를 통해 사용자의 개인 정보와 민감한 정보를 보호할 수 있습니다. FTP(File Transfer Protocol): FTP는 파일을 전송하는 데 사용되는 프로토콜로, 일부 브라우저는 FTP 클라이언트를 내장하고 있습니다. WebSocket: WebSocket은 서버와 클라이언트 간의 실시간 양방향 통신을 지원하는 프로토콜입니다. 이를 통해 더 빠르고 효율적인 양방향 통신이 가능합니다. SPDY: SPDY는 HTTP의 대체 프로토콜로, 더 빠른 데이터 전송을 제공합니다. 구글에서 개발한 프로토콜로, HTTP/2로 표준화되었습니다. WebRTC(Web Real-Time Communications): WebRTC는 웹 브라우저에서 음성 통화, 영상 통화, 파일 공유 등의 실시간 통신을 가능하게 하는 API입니다. 이를 통해 브라우저 간의 P2P 통신이 가능해집니다.
따라서, 웹 브라우저에서는 HTTP 외에도 다양한 통신 규약을 사용할 수 있습니다.
그렇다면 URL에서 HTTP대신 다른 규약 이름을 넣으면 쓸 수 있는거야?
아니요, URL에서는 프로토콜을 명시하는 부분에 HTTP 대신 다른 규약 이름을 사용할 수 있습니다. 예를 들어, HTTPS를 사용하려면 "https://"을 URL의 시작 부분에 추가하면 됩니다.
하지만, 모든 웹 서버가 다른 프로토콜을 지원하지는 않습니다. 예를 들어, 일부 웹 서버는 FTP 프로토콜을 지원하지만, 대부분의 경우 웹 브라우저에서 FTP URL을 직접 입력하면 작동하지 않을 수 있습니다. 이러한 경우에는 FTP 클라이언트 소프트웨어를 사용하여 FTP 서버에 연결하고 파일을 전송해야 합니다.
따라서, 다른 통신 규약을 사용하려면 해당 프로토콜을 지원하는 서버가 필요하며, 웹 브라우저에서 해당 프로토콜을 지원하는 기능을 제공해야 합니다. 일부 브라우저는 내장 FTP 클라이언트나 WebSocket, WebRTC 등의 프로토콜을 지원하고 있습니다.
수업을 듣는데 초반은 빡 집중해서 어찌어찌알겠는데... 점차 코드가 후다닥 지나가면서 어어... 하면서 놓치게 됨
꼭 이럴 때일수록 Nodemon이 실행이 안됨
그래도 다행인 건 React 2주차나 자바스크립트 3주차 마냥 코드가 이게 머여 하는 정도는 아니라는 거...
예를 들면 미들웨어는 알지만 여기서 추가되는 각종 응용 미들웨어에 대해서는 부족한 느낌
생활코딩 웹 시간에 좋은 말을 들었다. 중요한 것일수록 쉽다. 기본은 쉽고, 혁신은 어렵다. 우선 기본이 흔들리지 않게 잘 공부해야겠다.
생활코딩에서는 어째 코딩보다도 세상을 바라보는 가치관을 더 배워가는 느낌이 있다. 물론 코딩도 엄청 배워간다. 참 고마운 분
오늘 React에서 수정하기 버튼 구현을 실습했다. 이해가 되나 로직이 너무 대단해서 감히 내가 처음부터 구현할 수 있을까 하는 생각이 크다. 강의 다 끝나면 한 번 혼자서 끙끙대며 재현해봐야겠다.
항상 강의를 다 듣고 나중에 느낀 점만 올리고 배운 내용은 따로 정리해왔는데, 오늘 갑자기 강의에 집중하려면 메모를 해야겠다는 생각이 들어서 옆에 블로그 켜고 저장해가면서 들었다.
오늘 강의노트는 진짜 들으면서 실시간으로 적은거라 정리된 것이 아니다. 나중에 정리해서 따로 카테고리 파서 올려야겠다.
학습자료
생활코딩에서 배운 대로 HTML에 코드로 넣어봤다. 배운 걸 써먹고 이게 실제로 작동하니 정말 신기하다.
Node.js 화요일 수업을 어찌어찌 듣고, 점심을 먹었는데, 도서관 알람으로 예약한 책이 도착했다고 연락이 왔다
모던 자바스크립트 Deep Dive인데 엄청 두껍다... 도서관 수직생이 이정도면 흉기아니냐고 할 정도...
책을 딱 펼쳤는데... 하... 막막하다
일단 다른 자바스크립트 책이랑 하루종일 씨름했다.
안다고 생각했는데 모르는 것도 많았고, 완전 처음 보는 것도 많았다.
특히 Promise는 몇주째 알겠다!와 완전 모르겠다!의 반복...
그나마 수확이라면 그동안 멍한 상태로 이해하지 못한 채 넘어갔던 fetch를 이해하게 되었다는 점
조금만 성과라도 하나둘 모아서 급증하는 스트레스 수치를 어찌어찌 낮춰봐야겠다.
중간에 리엑트 인프런 강좌대로 실습하고 git에 push도 했다. 3일 콤보로 git을 쓰니 뿌듯하다
리엑트 인프런 강의는 이해가 되서 다행이지만, 아직 혼자서 무언가를 만들어보기는 벅찬 느낌이다.
저녁 이후에는 그동안 손도 못댄 채 넘겨온 실습 문제들을 어찌어찌 풀어봤다. 아직 전부 풀지는 못했지만 몇몇 개는 코치님 코드 도움받아가며, 몇몇 개는 혼자서 풀어보는 식으로 해결했다... 근데 아무리 생각해도 지시문이 너무 불친절하거나 설명을 어렵게 해서 정답 코드를 봐도 갸우뚱거릴 때가 많다.
특히 배우지도 않은 내용을 갑자기 해라고 던지는 경우도 많아서... 살짝 빡칠 때도... 한참을 풀어도 input 가져오는 게 안되어서 왜인가 했더니 정답코드에 전부 readline으로 적혀있었다. readline 배운 적도 없는데... 심지어 지시문에 쓰라는 말도 없다.
밤에는 ChatGPT 도움 받아가면서 자바스크립트 통신 부분이랑 Promise 문답식으로 공부했다. 진짜 ChatGPT랑 이야기하면서 공부하니까 버틸 수 있는 느낌이다. 은근 재미있다 ㅋㅋ
다만 자꾸 끊기는 일이 많아서 힘들다... 훈련비 받으면 바로 ChatGPT 유료 가입해야겠다
마쿠라노소시*의 "얄미운 것"에는 끊임 없이 말을 하는 손님이나 술버릇이 나쁜 사람과 함께 모기가 언급된다. "잠이 와서 누우니, 모기가 홀로 왱하고 싸움을 걸고, 얼굴로 날아드는구나." 잠이 와서 누웠는데, 모기가 앵앵거리며 싸움을 걸어와서... 멋들어진 표현 속에 짜증남이 느껴진다. *일본 헤이안 시대에 세이 쇼나곤이 집필한 고전 수필
기온이 심하게 높으면, 제아무리 모기라도 날지 못한다고 한다. 열대숲모기의 활동가능범위는 "10도에서 35도"라는 연구결과가 있으며, 일본에서 자주 볼 수 있는 흰줄숲모기도 이는 마찬가지로 보인다. 당연하다는 듯이 35도를 넘는 올여름, 모기조차 두손두발 다드는 여름은 할 말을 잃게 만든다.
기상청의 정의에 따르면 최고기온이 30도 이상일 경우 "마나츠비(真夏日)", 35도 이상일 경우 "모쇼비(猛暑日)"이다. 하지만 40도를 넘을 경우 명칭은 아직 없다. 지금까지 그 필요성을 못 느꼈더라도 이젠 그렇지 않다고 생각한다. 그 새로운 이름을 생각해본다. "고쿠쇼비(極暑日)" "사쿠레츠비(灼熱日)" 또는 "엔네츠비(炎熱日)"... 그만두자. 기분만 나빠진다.
하지만 이건 사기도 속임수도 아닌 진짜 꾸밈 없는 멸종위기종 뱀장어이다. 올해도 양식용 치어를 잡을 수 없어 과거 2번째로 적은 생산량을 기록했다. 가격도 내릴 줄을 모른다. 이 상황 속에서 아니 오히려 이 상황이니까 "어차피 멸종될 것 지금이라도 먹어두자"라는 소비행동도 있는 모양이다. 신문을 통해 읽었다.