본문 바로가기

분류 전체보기68

서버와 컴퓨터의 차이점? 우리는 컴퓨터를 사용하거나, 기사를 보거나 여러 곳들에서 서버라고 하는 말을 들은적이 있을겁니다. 이런 서버는 우리가 일상시 사용하는 PC 와 뭔가 다른걸까요? 어떤 것을 정확히 서버라고 부르는지에 대해서 한번 살펴보겠습니다. 서버(Server) 란? 서버에 대해서 우선 위키문서에서는 어떻게 정의하고 있는지 찾아봅시다. 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램(server program) 또는 장치 (device)를 의미한다. - 출처: 위키 위 정의를 봐도 솔직히 그래서 컴퓨터라는 건가? 뭐가 다른건가 ? 하는 생각이 드실 수도 있습니다. 하지만 중요한 부분은 단순히 컴퓨터 시스템이다 라고 하는 부분보다 "클라이언트에게 네트워크를 통해 정보나 서비.. 2022. 8. 21.
프로세스(process)와 스레드(thread)에 대해서 운영체제에 대해서 배우려고 하면 가장 초반에 접하는 것이 프로세스와 스레드 일 것입니다. 이 프로세스와 스레드는 한번에 묶어서 배우는 경우가 많은데, 이번 글에서 프로세스와 스레드에 대한 개념을 다뤄보도록 하겠습니다. 프로세스 란? 우리는 평소에 "프로그램(program)" 이라는 용어를 많이 씁니다. "프로그램 깔았다", "프로그램 실행했다" 등.. 우리는 컴퓨터 상에서 동작하는 어떠한 어플리케이션을 주로 "프로그램" 이라고 지칭합니다. 그러면 프로그램은 정확히 무얼 나타내는 것이며 프로세스는 또 별도의 개념일까요? 우선 프로세스에 대해서 알아보기 위해 프로그램과의 차이점에 대해서 간단히 얘기해보겠습니다. 프로그램 vs 프로세스 프로그램의 사전적인 의미 부터 찾아보겠습니다. 컴퓨터 프로그램은 컴퓨터에서.. 2022. 7. 20.
의존성 주입(Dependency Injection) 이란? 앞선 글에서 클린 코드와 클린 아키텍쳐에 관한 얘기를 하며 의존성 주입(Dependency Injection) 에 관한 얘기를 언급한적이 있습니다. 이번 글은 그 의존성 주입이 어떤것인지 간단하게 정리해보도록 하겠습니다. 클린 코드 혹은 클린 아키텍쳐에 대한 고민 소프트웨어를 설계하거나 개발을 할 때 많이 나오는 주제중에 하나는 클린 코드와 클린 아키텍쳐입니다. 이 글에서는 클린 코드와 클린 아키텍쳐에 대한 저의 생각에 대해서 간단하게 작성해보 hayz.tistory.com 사실 의존성 주입이라는 개념에 대해서는 주변에 스프링 개발을 하는 친구나 테크 컨퍼런스나 하는 경로로 한두번 접한적이 있던것 같지만 유심히 생각하지 않은 주제였습니다. 개발을 하면서 직접적으로 의존성 주입을 고려하여 개발을 한 적이 .. 2022. 6. 12.
클린 코드 혹은 클린 아키텍쳐에 대한 고민 소프트웨어를 설계하거나 개발을 할 때 많이 나오는 주제중에 하나는 클린 코드와 클린 아키텍쳐입니다. 이 글에서는 클린 코드와 클린 아키텍쳐에 대한 저의 생각에 대해서 간단하게 작성해보도록 하겠습니다. 대학교나 팀플이나 과제를 해결하기 위한 개발을 할때에는 보통 코드의 품질이나 소프트웨어의 아키텍쳐 등은 별로 고려를 하지 않게 됩니다. 저 또한 과제를 할때는 "우선 결과만 나오게 하자" 라는 생각으로 코드의 품질을 크게 고려를 하지 않았는데요, 회사에 처음으로 들어와서 개발을 하게 되고 코드 리뷰를 받는 과정에서 처음으로 코드의 품질을 생각하여 작성하는 방법에 대해서 배우기 시작했습니다. 그러다 보니 무작정 결과만 내는 코드 보다는 함수의 이름, 변수의 이름, 추상화, 단일 원칙 등등의 권장되는 개발 방법.. 2022. 5. 22.