본문 바로가기
728x90
반응형

전체 글405

하루에 하나씩 배우는 컴퓨터 사이언스 개념 : 폰 노이만 컴퓨터 구조 폰 노이만 컴퓨터 구조에 대해 자세히 알아보겠습니다. 1. 폰 노이만 컴퓨터 구조(Von Neumann Architecture): 폰 노이만 컴퓨터 구조는 현대 컴퓨터 시스템의 기반이 되는 컴퓨터 구조입니다. 이 구조는 처음으로 데이터와 명령어를 같은 메모리에 저장하는 방식을 제안한 것입니다. 폰 노이만 컴퓨터 구조는 중앙 처리 장치(CPU), 기억 장치(Memory), 입출력 장치(I/O Devices), 그리고 데이터와 명령어를 전송하는 버스(System Bus)로 구성되어 있습니다. 2. 중앙 처리 장치(Central Processing Unit, CPU): 중앙 처리 장치는 컴퓨터의 "두뇌"로서, 컴퓨터의 모든 연산과 명령어의 실행을 담당합니다. CPU는 일련의 명령어를 받아들이고 해석하여 제어 .. 2023. 7. 23.
자바의 다양한 연산자 자바는 다양한 연산자를 제공하여 수학적이고 논리적인 연산을 수행할 수 있습니다. 이번 글에서는 몇 가지 자주 사용되는 연산자에 대해 알아보고 예제 코드도 함께 살펴보겠습니다. 1. 산술 연산자 산술 연산자는 숫자에 대한 사칙연산을 수행합니다. 덧셈 연산자인 +, 뺄셈 연산자인 -, 곱셈 연산자인 *, 나눗셈 연산자인 /, 그리고 나머지 연산자인 % 등이 대표적인 산술 연산자입니다. 이 연산자들은 숫자 값을 연산하여 새로운 숫자 값을 반환합니다. int a = 10; int b = 2; int sum = a + b; // 12 int diff = a - b; // 8 int prod = a * b; // 20 int quot = a / b; // 5 int rem = a % b; // 0 2. 대입 연산자.. 2023. 7. 23.
스프링(Spring) 프레임워크 : 자바 애플리케이션 개발의 힘 "스프링(Spring)" 프레임워크에 대해 알아보고자 합니다. 스프링은 자바 기반의 애플리케이션 개발을 위한 프레임워크로, 쉽고 효율적인 애플리케이션을 작성할 수 있도록 도와줍니다. 이를 가능하게 하는 스프링의 주요 특징과 기능에 대해 살펴보겠습니다. 1. 경량성 (Lightweight): 스프링은 경량의 프레임워크로서 필요한 최소한의 기능을 제공합니다. 따라서 개발자는 필요한 기능을 선택하여 사용할 수 있으며, 불필요한 기능에 대한 부담을 줄일 수 있습니다. 2. 제어 역전 (Inversion of Control, IoC): 스프링은 IoC 컨테이너를 통해 객체의 생성과 관리를 담당합니다. 객체 간의 의존성을 주입(Dependency Injection)하는 방식으로 개발자는 객체의 생성과 관리에 집중하.. 2023. 7. 22.
하루에 하나씩 배우는 컴퓨터 사이언스 개념 : 컴퓨터의 주요 구조 "하루에 하나씩 배우는 컴퓨터 사이언스 개념" 시리즈의 첫 번째 글로 컴퓨터의 구조에 대해 자세히 알아보겠습니다. 1. 중앙 처리 장치(Central Processing Unit, CPU): 중앙 처리 장치는 컴퓨터의 "두뇌"로서, 컴퓨터의 모든 연산과 명령어의 실행을 담당합니다. CPU는 일련의 명령어를 받아들이고 해석하여 제어 신호를 발생시켜 다른 구성 요소들과 상호작용합니다. CPU는 ALU(Arithmetic Logic Unit, 산술 논리 장치)와 제어 유닛(Control Unit)으로 구성되어 있습니다. ALU는 산술 연산과 논리 연산을 수행하며, 제어 유닛은 명령어를 해석하고 실행하는 역할을 합니다. 2. 기억 장치(Memory): 기억 장치는 컴퓨터에서 데이터와 프로그램을 저장하는 용도로 .. 2023. 7. 22.
자바의 변수와 데이터 타입 자바에서는 변수를 선언하기 위해서 자료형이라는 개념을 사용합니다. 이 자료형은 말 그대로 어떤 형태의 값을 저장할지를 정해주는 역할을 합니다. 예를 들어 정수형인 int나 실수형인 float와 같은 것입니다. 하지만 이렇게 단순하게 정의하면 너무 딱딱하게 느껴질 수 있습니다. 그래서 자바에서는 다양한 자료형들이 존재하여 좀 더 직관적으로 이해할 수 있도록 도와줍니다. 이번 시간에는 이러한 자료형들을 알아보고, 각각의 특징과 장단점을 살펴보도록 하겠습니다. 1. 변수란 무엇인가요? 변수는 쉽게 말해서 변하는 값이라고 보시면 됩니다. 프로그래밍 언어를 배우면서 가장 먼저 접하는 개념 중 하나입니다. 지금까지는 그냥 이름 없는 숫자 1개였는데, 이제부터는 우리가 직접 이름을 붙여서 사용할 수 있게 됩니다. 이.. 2023. 7. 22.
백엔드 신입 개발자가 쌓아야 하는 역량은? - 자료구조/알고리즘/코딩테스트 1. 자료구조 컴퓨터 프로그래밍에서 데이터를 저장, 조직화, 관리하는 방법을 말합니다. 데이터를 효율적으로 사용하기 위해서 적절한 자료구조를 사용하는 것이 중요합니다. 그러한 자료구조는 다양한 타입의 데이터들을 표현하고 알고리즘에라 처리하는 데 큰 역할 1) 배열 (Array) : 배열은 같은 타입의 데이터 원소들이 연속적인 메모리 공간에 순차적으로 저장된다. 배열은 빠른 접근 속도를 가지지만, 크기 변경이 어렵고 연속적인 메모리가 필요한 단점이 있다. 2) 링크드 리스트 (Linked List) : 링크드 리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터로 구성되어 있다. 링크드 리스트는 노드 생성 및 삭제가 용이하고, 메모리 할당이 유연하다. 하지만 임의 접근이 느린 단점이 있다. 3) 스택 .. 2023. 6. 9.
앞으로의 백엔드 공부 계획 (feat. 백엔드 공부법) 글을 시작하기에 앞서 현재의 나는? 수업을 들으며 본격적으로 공부하기 시작한 지 1달차. 비전공자로서 수업의 진도만 겨우겨우 따라가고 있다. 매주 하는 코딩 테스트는 너무 어렵다. 어떤 식으로 문제를 풀어야 할지 큰 틀은 대충 알겠지만, 코드를 입력하려면 문법 확인 및 개념 확인을 위해 무조건 검색이 필요한 실정이다. 다른 분들에 비해 성장 속도도 너무 더딘 거 같고, '내가 할 수 있을까?'라는 생각도 들게 만드는 한 달이었다. 하지만 개발자는 평생 공부하는 것이기에 다른 사람들과 나 자신을 비교하기보단 나만의 페이스로 꾸준히 공부하는 습관을 들이고, 현재는 조금 더딜지라도 끝까지 해보는 걸 목표로 삼으려고 한다. 현재 공부 계획 1) 가이드라인을 따라 최대한 수업 진도를 따라간다. 2) java 기초.. 2023. 6. 2.
어떤 백엔드 개발자가 되고 싶은지 (백엔드 커리어 로드맵) 비록 비전공자이고, 많은 부족함이 있겠지만, Java와 Spring에 대한 기초를 다지며 실무에서 성취를 이룰 수 있고자 한다. 이를 위해 점진적으로 로드맵을 따라 발전하며, 주어진 기회를 최대한 활용해 배움의 즐거움과 함께 열심히 성장하고자 한다. 또한 동료 및 회사와 함께 발전하는 데에 중요한 역할을 맡고자 하는 강력한 의지를 지니고 있다. 결국은 기초에서 출발하여 전문가 수준에 이를 수 있는 지식과 능력을 갖추고, 여러 프로젝트에서의 경험과 다양한 도전을 통해 업무에서 보람을 느끼고 싶다. 어떤 백엔드 개발자가 되고 싶은지 협업을 중요시하는 백엔드 개발자가 되기를 희망한다. 백엔드 개발자로서 프로젝트의 전반적인 구조와 안정성을 책임지는 부분을 중요하게 생각하며, 그러한 역할을 수행하기 위해 다양한 .. 2023. 5. 26.
프론트엔드와 백엔드 차이 / 백엔드 개발자가 되고 싶은 이유 프론트엔드(Front-end) 프론트엔드(Front-end)의 개념 프론트엔드는 사용자가 직접 인터페이스와 상호 작용하는 웹사이트의 외부적인 측면입니다. 이것은 사용자가 웹사이트에서 보고, 느끼고, 상호작용하는 모든 요소를 포함하며, 이를 위한 기술로는 HTML, CSS, 그리고 JavaScript가 사용됩니다. 프론트엔드 개발자의 주요 업무는 웹사이트 디자인의 레이아웃 구축, 사용자 경험(UX) 개선, 웹사이트의 성능 최적화 등입니다. 이들은 웹사이트가 모든 브라우저와 기기에서 원할하게 작동하도록 하는 책임도 맡습니다. 프론트엔드(Front-End) 주사용 언어 [HTML] HTML(Hyper Text Markup Language)은 이름 그대로 하이퍼텍스트와 마크업 언어로 구성되어 있습니다. 한 마디.. 2023. 5. 17.
728x90
반응형