java

자바스크립트는 이견이 없는 태생부터 싱글스레드지만, node.js를 싱글스레드로 보느냐 멀티스레드로 보느냐에 대해서는 관점 차이가 조금 있다. 어떻게 보느냐에 따라서 사람마다 싱글스레드라고 하는 사람도 있고, 멀티스레드라고 하는 사람도 있다. 다음의 레퍼런스에 따르면, 사람들의 답변은 "뭐 그럴 수도 있고 아닐 수도 있다."로 일축된다. Is Node js single threaded or multi threaded : https://www.quora.com/Is-Node-js-single-threaded-or-multi-threaded Is Node.js single threaded or multi-threaded?Answer (1 of 4): A2A. Javascript in itself is si..
다양한 프레임워크를 통해서 서버를 개발하다 보면 자바는 멀티스레드라는 사실을 어디선가 듣게 될 것이다. 나 또한 인프런에서 김영한 선생님의 스프링 강의를 들으며, 스프링은 50개의 스레드풀을 관리하고 있고, 200개까지 늘릴 수도 있다는 이야기를 들었다. 그 당시에는 스프링으로 API를 구현하는게 급급했기 때문에, 그냥 그렇구나 하고 넘어갔지만 지금 생각해 보면 자바스크립트와 비교했을 때, 싱글 스레드 언어인 자바스크립트와 대체 어떤 부분이 다르기 때문에 스프링은 스레드풀을 지원하는 걸까? 자바는 대체 뭐길래 스프링이 이렇게 멀티 스레드를 사용할 수 있게 도와주는 걸까? 이번 포스팅에서는 스프링부트가 어떻게 멀티스레딩을 지원하는 지에 대해서 조사한 내용을 포스팅해보려고 한다. CS에 대한 내용이 꽤나 ..
spring을 공부해 본 적이 있다면 위와 같은 페이지를 본 적이 있을 것이다. start.spring.io 사이트에 들어가면 위와 같이 다양한 spring의 config 들을 볼 수 있다. 그 외에도 의존성 같은 설정을 손쉽게 추가할 수 있는 것을 알 것이다. 자바를 공부하는 단계라면 단순히 위와 같은 간단한 설정을 통해서 프로젝트를 세팅하고, 스프링 Data JPA나 스프링 시큐리티 등 다양한 의존성을 추가해서 스프링 프로젝트를 .zip 형태로 받아볼 수 있다. 스프링부트를 통해서 다양한 API 서버를 개발하거나, 다른 사람들이 만든 스프링부트 서버를 배포하는 역할을 하게 되면서, dockerfile을 작성하는 과정이나 github actions에서 빌드 툴로써 gradle을 쓰는 데, 특정 레퍼런스..
Write once, run anywhere - 한 번 쓰면, 어디서든 실행된다.  위 문구는 자바를 대표하는 문구이다. 백엔드 개발자라면 누구나 한 번쯤은 접하게 되는 자바. 나 또한 피해 갈 수 없었는데, 시대생팀에서 서버를 개발하는 일을 맡게 되었을 때 나를 제외한 다른 팀원들이 스프링을 사용하기를 원했기 때문에 어쩔 수 없이 스프링으로 개발하게 된 적이 있었다. 뿐만 아니라, GDSC UOS 팀에서는 node를 사용하는 나를 제외한 모든 개발자들이 스프링을 사용하기 때문에 데일리 스크럼에서 자바와 관련된 이야기들이 오고 갔다. ex) 스프링 3.x 버전대에서 스웨거가 잘 안 되는 것 같다 -> 그 버전에서는 스웨거 오류가 있어서 swagger-ui 라이브러리를 써보실래요? 등.. 예전부터 자바를..
배포 파이프라인을 구현하는 과정에서 Java 계열과 node 계열 프로그래밍 언어들이 동작이 미묘하게 다르다는 것을 느꼈는데 (컴파일러와 인터프리터의 차이점으로 인한 것이었다) 관련 내용에 대해서 트러블슈팅하는 과정에서 얻은 인사이트를 요약하여 컴파일러와 인터프리터의 차이에 대해서 포스팅하려고 한다. 또한 전공 수업을 들으면서 C언어의 복잡한 컴파일 과정을 살펴보면서 생긴 개인적인 호기심을 해결하기 위해 조사하며, 함께 자바스크립트의 동작 원리도 좀 살펴보고 개인적인 호기심을 통해 조사한 내용을 읽기 쉽게 최대한 집약해 두었다. 차례차례 빌드, 컴파일, 인터프리터, 하이브리드에 대해서 알아보려고 한다.  빌드(Build)먼저 빌드(Build)라는 것은 단어의 뜻에서 알 수 있듯이 뭔가를 짓는다는 것이다...
· CS/OS
환경 변수는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값의 모임이다. - wikipedia 위키피디아에 따른 환경 변수의 사전적 의미는 위와 같다. OS의 환경 변수는 시스템의 실행 파일이 놓여 있는 디렉터리의 지정 등 OS 상세적으로 응용소프트웨어가 참조하기 위한 설정이 기록된다. 응용소프트웨어는 시스템콜(system call)이나 OS의 표준 API 등을 통하여 간단히 값을 얻을 수 있도록 되어 있다. 쉽게 이야기해서 OS 각자 깊숙이 있는 응용프로그램을 쉽게 꺼내 쓰기 위해서 미리 변수로 등록해 놓는 것을 말한다. 환경 변수란 무엇인가? 똑똑하면서도 어리버리한 컴퓨터를 위해서 미리 경로나 값 등을 지정해 둔 것을 환경 변수(env)라고 할 수 있다. 우리가 python main...
marsboy
'java' 태그의 글 목록