[공지 2021_11_13] 잡담+ 일이 바빠서 당분간 휴강, 노드JS의 미래에 대해
ㅈ 같은 프로젝트에 투입되서 시간이 없네요 그사이에 닷넷6도 나오고 빠르게 변하고 있네요 강의 연재는 2022년 5월은 되야 재개가 될거 같고 노드JS 강의를 더 확장 시킬지, 닷넷6로 새로운 강의를 열지는 아직 의문입니다 한국은 자바 점유율이 높아서 사람들이 노드JS가 자바보다 딸리다는 착각을 많이 하는데 그냥 까고 말하면 스프링은 쨉이 안됩니다 노드로 처리하기 무거운 작업은 스프링은 당연히 못하고 돈때려박아서 개조한 스프링 서버 비용으로 노드로는 더 쉽게 업글확장 가능합니다 크롬의 V8 엔진과 브라우저 API는 날이갈수록 사기적이게 발전하고 V8 엔진의 경우는 구글이 사용하는거라 절대 쓰레기가 아닙니다 2021년 11월에 닷넷6가 나오고 이게 어느정도까지의 힘을 가질지는 아직 정보가 안풀려서 모르겠습니다만 노드JS의 미래에 대해 이야기 하자면 날이 갈수록 보편적으로 쓰이는 서버가될거고, 많은 서비스업체나 클라우드 업체들도 사용법 예제는 자바스크립트 기반으로 갈아치운지 오래입니다 재가 무료로 제공한 가으이와 뼈대 프레임워크가 완벽한 버전은 아니지만, 대강 이런식으로 써도 문제없고 굴러가는구나 하고 넘어가시고 노드JS 연구에 투자해도 전혀 신간낭비가 아닐것입니다 그리고 노드JS의 치명적인 단점을 말해드리겠습니다 노드JS는 쟈스의 장단점을 고대로 다 가지고갑니다 1. primitive한 작업말고 setTimeout 같이 완료시간이 동적인것은 백그라운드 큐로 보내버리는점 2. 싱글스레드라는점 3. 사람마다 문법과 구조가 다 다를수 있다는점 그중에서 항상 생각해야되는게 CPU-intentive 작업들, 쉽게말해서 서버에서 요청받고 연산작업하는데 1분이상 걸리는 작업들은(인공지능 연산이나 빅데이터 작업, 용량이 큰 파일을 분석하는 등등) 피하셔야 합니다 노드JS를 쉽게 멀티스레드로 만드는방법은 clustering 이란 기법이 있는데, 어디까지나 ec2, 물리적 컴퓨터에서 가능한 방법이고 clustering의 최대 단점