백앤드

· Backend CS
함수(Function)와 메서드(Method) 두 단어의 차이에 대해 정리한 글입니다. 우선, 함수와 메서드는 프로그래밍에서 기능 단위의 코드 블록입니다. 그러나, 일반적으로 함수와 메서드는 객체지향 프로그래밍과 절차지향 프로그래밍에 따라 약간의 차이가 있습니다. 함수(Function)란? 함수는 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합입니다. 함수는 절차지향 프로그래밍에서 사용되며, 데이터를 입력받아 처리하고 결과를 반환합니다. 함수는 프로그램의 구조화와 코드 재사용을 위해 사용되기 때문에 여러 곳에서 호출되어 사용이 가능합니다. 하나의 기능이 하나의 함수로 구현되어 있기 때문에 디버깅 작업이 편리해집니다. 메서드(Method)란? 메서드는 객체지향 프로그래밍에서 사용되..
Spring Security란? Spring Security는 Spring 기반 애플리케이션의 인증, 인가 및 보안을 담당하는 스프링 하위 프레임워크입니다. Spring Security는 인증(Authentication)과 권한(Authorization)에 대한 부분을 Filter 기반으로 동작하고 Spring MVC와 분리되어 관리 및 동작하며, 데이터 보호 기능을 포함하여 웹 개발 과정에서 필수적인 사용자 관리 기능을 구현하는데 도움을 줍니다. Spring Security 3.2부터는 XML을 설정하지 않고 Java Bean 설정으로 간단하게 설정할 수 있도록 지원해줍니다. Spring Security를 사용하는 이유 Spring Security를 사용하는 이유는 Spring의 생태계에서 보안에 필요..
프로세스와 스레드의 차이점에 대해 설명해 보세요. 우선, 프로세스는 독립적으로 실행 중인 프로그램을 말하고, 메모리 영역(Heap, Stack 등)을 다른 프로세스와 공유하지 않습니다. 그리고 프로세스는 최소 1개의 스레드 즉, 메인 스레드를 가지고 있습니다. 스레드는 프로세스 내에서 Stack만 별도로 할당받아 그 외에 메모리 영역을 공유하기 때문에 다른 스레드의 실형 결과를 즉시 확인할 수 있습니다. 그리고 스레드는 프로세스 내에 존재하고 프로세스가 할당받은 자원을 이용해서 실행됩니다. 멀티 프로세스와 멀티 스레드의 차이점에 대해 설명해 보세요. 멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행된다는 장점이 있지만, 멀티 르세드보다 많은 메모리 공간과 CPU를 차..
데이터베이스 기본 이해 SQL이란 무엇인가요? 그리고 SQL의 풀네임은 무엇인가요? SQL은 Structured Query Language의 약자로, 관계형 데이터베이스에서 데이터를 관리하고 조작하기 위한 표준화된 언어입니다. 데이터베이스 시스템과 상호작용하기 위한 명령을 정의하며, 데이터를 검색, 삽입, 수정, 삭제하고 스키마를 관리하는 데 사용됩니다. 데이터베이스 관리 시스템(DBMS)과 통신할 때 사용되며, 대부분의 관계형 데이터베이스(RDBMS)에서 지원됩니다. RDBMS란 무엇이며, 대표적인 예시를 들어주세요. RDBMS은 관계형 데이터베이스 관리 시스템을 나타내는 약어로, 데이터를 테이블 형태로 구조화하고 관리하는 데이터베이스 시스템입니다. RDBMS는 데이터를 행과 열로 표현하는 테이블로 구..
개인적으로 기술면접을 준비하면서 작성한 글입니다. 잘못된 내용이 기재되어 있으면 댓글로 말씀해 주시면 감사하겠습니다.. :) 지속적으로 확인하여 퀄리티 향상을 위해 힘써보겠습니다.. JVM 및 메모리 관리 자바의 동작 원리에 대해 설명해 보세요. 개발자는 [.java] 확장자 파일에 자바 소스 코드를 작성합니다. 이 파일은 자바 프로그램의 원시 코드를 포함합니다. 그리고 자바 컴파일러가 [.java] 파일의 소스 코드를 바이트 코드로 변환하며, [.class] 확장자 파일로 저장됩니다. 이 파일은 플랫폼 독립적인 중간 표현 형태입니다. [.class] 파일들은 JVM 시작 또는 런타임 중에 필요할 때 클래스 로더에 의해 메모리에 로드됩니다. 이 과정은 필요한 클래스를 동적으로 로드하여 메모리에 배치합니다..
개인적으로 기술면접을 준비하면서 작성한 글입니다. 잘못된 내용이 기재되어 있으면 댓글로 말씀해 주시면 감사하겠습니다.. :) 지속적으로 확인하여 퀄리티 향상을 위해 힘써보겠습니다..! Java 기본 및 핵심 개념 컴파일 언어와 인터프리터 언어에 대해 설명해 보세요. 우선, 크게 컴파일 언어와 인터프리터 언어는 프로그램 코드를 어떻게 실행하는지에 따라 구분됩니다. 컴파일 언어는 컴파일러를 사용하는 언어에서 전체 코드가 한 번에 컴파일되어 실행 파일을 생성합니다. 생성된 이 실행 파일은 그 자체로 완전한 프로그램이라 다른 컴퓨터에서 컴파일러나 소스 코드가 없어도 실행될 수 있습니다. 장점으로는 일반적으로 실행 속도가 더 빠를 수 있으나, 단점으로는 전체 코드가 컴파일되기 때문에 오류를 발견하기 위해 전체 컴..
컴파일 언어, 인터프리터 언어 자바의 컴파일 언어와 인터프리터 언어의 특징을 모두 갖는 이유는 자바가 플랫폼 독립적인 언어이기 때문입니다. 자바 컴파일러는 소스 코드를 바이트 코드로 변환하므로, 한 번 작성한 코드를 다양한 운영체제에서 실행할 수 있습니다. 또한, 인터프리터 언어의 장점으로는 소스 코드를 작성한 후 즉시 실행할 수 있으므로 개발자가 빠르게 결과를 확인할 수 있습니다. 자바는 컴파일 언어와 인터프리터 언어의 특징을 모두 가지고 있는 하이브리드 언어입니다. 자바는 컴파일 언어와 인터프리터 언어의 장단점을 모두 가지고 있기 때문에, 개발자가 프로젝트의 요구사항에 맞게 선택할 수 있습니다. 컴파일 언어 컴파일러는 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램을 가리킨다. 컴파일 ..
🔥해당 글은 프로젝트 팀원과 함께 프로젝트 퀄리티 및 더 나은 개발자가 되기 위하여 북 스터디를 진행하였습니다. 나쁜 코드 나쁜 코드에 주석을 달지 마라. 새로 짜라 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 피해를 준다. 좋은 코드 잘 달린 주석은 그 어떤 정보보다 유용하다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 프로그래밍 언어를 잘 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않다. 코드만이 자기가 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 주석을 가능한 줄이도록 꾸준히 노력해야 한다. 주석은 나쁜 코드를 보완하지 못한다 코드에 주석을 추가하는 일반적인 이유는 코드 ..
🔥해당 글은 프로젝트 팀원과 함께 프로젝트 퀄리티 및 더 나은 개발자가 되기 위하여 북 스터디를 진행하였습니다. 프로그램 초창기에는 시스템을 루틴과 하위 루틴으로 나눴다. 현재 프로그램은 가장 기본적인 단위가 함수이고, 이 장은 함수를 잘 만드는 방법을 소개한다. 작게 만들어라! 함수를 만드는 첫째 규칙은 작게, 둘째 규칙은 더 작게다. 코드의 길이가 짧을수록 이해하기 쉽다. 블록과 들여 쓰기 if문 / else 문/ while 문 등에 들어가는 블록은 한 줄이어야 된다. 대게 함수를 호출하여 처리한다. 바깥은 감싸는 함수가 작아질 뿐 아니라, 블록 안에서 호출하는 함수 이름을 적절하게 짓는다면 코드를 이해하기 쉬워진다. 즉, 중첩 구조가 생길 만큼 함수가 커져서는 안 된다. 그래야 함수를 읽고 이해하기..
🔥해당 글은 프로젝트 팀원과 함께 프로젝트 퀄리티 및 더 나은 개발자가 되기 위하여 북 스터디를 진행하였습니다. 소프트웨어에서 이름은 어디에나 쓰인다. 이 장에서는 이름을 잘 짓는 간단한 규칙을 몇 가지 소개한다. 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 그러므로, 이름을 주의 깊게 살펴 더 나은 이름이 떠오르면 개선하는 것이 좋다. 수행 기능 또는 사용 방법을 나타내기 위해 주석이 필요하다면 그건 의도를 분명히 드러내지 못했다는 말이다. 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다. 단순히 이름만 고쳐도 함수가 하는 일을 이해하기 쉽다. 이것이 좋은 이름이 주는 위력이다. 그릇된 정보를 피하라 프로그래머는 코드에 그릇된 단..
규니95
'백앤드' 태그의 글 목록