본문 바로가기

분류 전체보기41

[컴퓨터 구조] 컴퓨터 구조에 대해 알아보기 들어가며컴퓨터 구조에 대해 깊이 설명하기에 앞서 대략적으로 정리하고자 작성하였습니다. 용어 별 자세한 내용은 추후 작성될 예정입니다. 컴퓨터 구조는 크게 두 가지로 나뉩니다. 하나는 컴퓨터가 이해하는 정보이고, 또 하나는 컴퓨터의 네 가지 핵심 부품입니다.  컴퓨터가 이해하는 정보컴퓨터가 이해하는 정보로는 크게 두 가지가 있는데 데이터와 명령어입니다. 데이터는 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 일컫습니다. 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라 통칭하기도 합니다. 명령어는 컴퓨터를 실질적으로 작동시키는 중요한 정보입니다. 데이터라는 재료가 있으면 이를 요리하는 것은 명령어라고 할 수 있습니다. 우리가 컴퓨터를 한마디로 정의한다면 컴퓨.. 2025. 1. 22.
[네트워크] REST란? 들어가며.최근 면접을 진행했는데 REST에 대한 질문을 받았습니다. 그저 겉핥기 식으로만 알고 있었기에 만족할만한 답변을 내지 못했는데 이번 기회에 질문에 대해 정리하는 시간을 가지고자 합니다.REST 정의.REST란 Representational State Transfer의 약자로 표현형 상태 전송이라 말할 수 있습니다. 엄격한 의미로는 REST는 네트워크 아키텍처 원리의 모음으로 여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫습니다. 개발자들이 이런 REST 아키텍처 스타일을 따라 API를 개발하면 이를 REST API라고 합니다. 또한 REST API는 클라이언트와 서버 간의 두 컴퓨터 시스템이 인터넷을 통해 정보를 안정하게 교환하기 위해 사용하는 .. 2025. 1. 7.
[OOP] 객체 지향 프로그래밍에 대해 알아보자 ① 객체 지향 프로그래밍.객체 지향 프로그래밍(Object-Oriented Programming)은 컴퓨터 프로그래밍의 패러다임 중 하나로, 컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 것이다.객체 지향 프로그래밍 특징.객체 지향적으로 프로그램을 설계하는 데에는 여러 이점들이 있는데, 가장 큰 이점 중에 하나는 객체 지향적 설계를 통해서 프로그램을 보다 유연하고 변경이 용이하게 만들 수 있다는 점이다. 마치 컴퓨터 부품을 갈아 끼울 때, 해당하는 부품만 쉽게 교체하고 나머지 부품들을 건드리지 않아도 되는 것처럼 소프트웨어를 설계할 때 객체 지향적 원리를 .. 2025. 1. 2.
[우아한 테크코스] 프리코스 4주 차 회고록 들어가며.프리코스도 아쉽게도 마지막 주 차가 찾아왔습니다. 지금 돌이켜보면 아쉬운 부분도 많았고 더 열심히 하지 못한 것에 대해 후회가 들기도 하는데요. 하지만 프리코스를 하면서 클린코드에 대해 고민해보고 객체가 가져야할 요소들이 무엇인지 생각해보면서 제 코드가 달라지는 걸 보니 정말 즐거운 경험이었습니다. 제가 이전에 작성한 회고록을 보니 이번 4주 차는 5시간 내에 풀어보겠다는 말을 적었는데, 처음 4주 차가 시작되고 문제를 받았을 때는 "이정도면 금방 풀겠는데..?"라는 생각을 가졌었지만 참 어리석은 생각이었다는 것을 알게되었습니다. 하나가 풀리면 다른 하나에서 버그가 계속해서 생기면서 시작을 잘못해서 풀리지 않는 것인지, 하루를 구조를 잡는데 다 썼던 기억도 납니다. 그러면서도 TDD를 적용하겠다.. 2024. 11. 12.
[우아한 테크코스] 프리코스 3주 차 회고록 들어가며.이번 3주차는 로또를 주제로 미션을 수행했는데요. 이전 2주차 미션보다 많은 요구 사항으로 인해 더 어렵다는 느낌을 받았습니다. 특히 이번 3주차 공통 피드백을 보니 TDD를 제대로 이해하고 처리하지 못했던 것 같습니다. 그래서 이번 회고록은 진행하면서 학습했던 내용도 좋지만 공통 피드백을 보면서 로또 미션에서 실수했던 부분이나 혹은 잘했던 부분에 대한 회고록을 작성하고자 합니다.테스트 코드를 먼저 작성해야해.어떻게 보면 TDD를 하는 의미를 지키기 위해서는 반드시 지켜야하는 사항이 아닌가 싶습니다. 이미 개발을 들어가고 테스트 코드를 작성하면 그것은 TDD를 하는 의미가 없겠죠. 이전 테스트 주도 개발의 의미와 방법에 대해서라는 글을 작성했음에도 지키기 힘든 것도 사실인 것 같습니다. 개발을 .. 2024. 11. 5.
[OOP] Getter, Setter 를 지양하는 이유에 대해서 ① 들어가며.객체지향에 대해 공부하다보면 반드시 듣게 되는 내용이 아닌가 싶다. 하지만 왜 Getter, Setter를 지양하는 지에 대해서 스스로에게 물어보면 바로 이유가 생각나지 않거나, 막상 개발에 적용하려고하면 어쩔 수 없이 사용해야 하는 상황에서 누군가는 사용하지 말라고는 하는데 어떻게 대처를 해야하는 지 막막한 경우가 참 많다는 것을 느꼈다. 그래서 왜 우리가 Getter와 Setter를 지양해야하는 지, 또한 사용해야하는 상황은 어떤 경우인지 정리하고자 한다.Getter와 Setter를 사용하는 이유.사용을 지양하기 이전에 왜 우리가 Getter와 Setter를 사용했는 지를 먼저 알아야 한다고 생각한다. 객체 지향의 원칙 중 하나는 정보 은닉으로 객체의 구체적인 정보를 외부에 노출하지 말라는 .. 2024. 11. 4.