프레임워크와 라이브러리
·
용어 모음집
프레임워크프레임워크는 소프트웨어 개발을 간편하게 만들기 위한 소프트웨어 개발 환경이다.  프레임(frame) 워크(work)란 단어에서도 알 수 있듯이 일하기 위한 틀을 제공한다. 개발자는 해당 틀에서 일을 해야 한다. 장점개발 프로젝트에 일관된 구조를 제공하여 코드의 일관성과 가독성을 높여주며 협업이 편해진다.기본적으로 필요한 기능과 도구를 제공하여 개발자들이 핵심 비즈니스 로직에 집중할 수 있다.보안 관련 기능을 기본적으로 제공하여, 보안 취약점을 방지하는 데 도움을 준다.통합된 테스트 환경과 도구를 제공하여 테스트를 쉽게 작성하고 실행할 수 있다.인기 있는 프레임워크는 방대한 커뮤티티 지원을 받으며, 다양한 문서를 활용할 수 있다.단점프레임워크는 복잡한 구조를 가지기 때문에, 처음 익히는 데 시간이..
Connection과 Connectionless
·
용어 모음집
Connection과 Connectionless은 클라이언트와 서버 간의 연결(Connection) 유지 여부에 따라 나뉘는 특성이다. Connection ( 연결 )Connection은 서버와 클라이언트의 TCP/IP 연결을 끊지않고 계속해서 유지한다.  Connection 장단점장점새로운 연결 과정을 거치지 않아도 된다.그만큼 요청에 대한 응답 속도가 빨라진다.단점연결된 클라이언트가 지속적으로 요청을 보낼거라는 보장이 없다.서버는 연결을 위한 자원이 낭비된다. Connectionless (비연결)connectionless는 클라이언트와 서버가 TCP/IP 연결된 후 요청과 응답이 이루어지면 연결을 유지하고 해제한다. 서버는 연결을 위한 유지를 하지않아도 된다. Connectionless 장단점장점서버..
Stateful과 Stateless
·
용어 모음집
Stateful과 Stateless 는 클라이언트와 서버간의 통신 상태(state) 유지 여부에 따라 나뉘는 특성이다. Stateful(상태 유지)stateful은 서버가 클라이언트 상태를 유지한다. 클라이언트와 상태를 유지한다는 것은 꼭 TCP 연결이 끊어지지 않고 유지된다고만 볼 수는 없다. 클라이언트와 상태를 유지한다는 것은 서버가 클라이언트와의 상호작용에서 발생한 데이터를 서버가 기억하고 이를 기반으로 이후 요청을 처리한다는 것을 뜻이다. stateful 방식의 문제점요청을 정상적으로 처리하기 위해서는 클라이언트의 요청이 같은 서버에 유지되어야 한다. 하지만 서버는 다양한 이유로 동작하지 않을 수 있다. 또한 요청 트래픽이 몰리게되면 상태를 유지하는 것에 Resource가 많이 소모된다. 리소스가..
Scale Up, Scale Out
·
용어 모음집
Scale Up과 Scale Out의 서버의 성능 향상을 위한 두 가지 방법이다. Scale Up ( 수직적 확장 )수직적 확장은 단일 서버의 하드웨어의 성능을 높인다. ( CPU, Memory 등의 스펙을 높인다. ) 서버의 하드웨어의 성능을 높여서 요청에 대한 처리를 더욱 빠르게 처리할 수 있도록 한다. 장점단순성: 기존 시스템을 그대로 업그레이드하기 때문에 관리가 간단.빠른 성능 향상: 고성능 하드웨어로 즉각적인 성능 개선.애플리케이션 호환성: 기존 소프트웨어나 아키텍처를 크게 변경할 필요 없음. 단점비용 문제: 고성능 하드웨어는 매우 비쌈.물리적 한계: CPU 코어 수, 메모리 용량 등 하드웨어의 물리적 한계에 도달할 수 있음.단일 장애 지점(SPoF): 시스템이 중단되면 전체 서비스가 중단될 위..
JSON
·
용어 모음집
JSON 이란JSON은 JavaScript Object Notation의 약자로 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반 표준 포맷이다. JSON은 클라이언트와 서버가 통신할 때 사용하는 데이터 양식으로 쓰인다. 서버와 클라이언트가 데이터 양식을 통일시켜 서버가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있게 해준다. 💡 과거 웹 초기 시절부터 사용된 XML 데이터 양식은 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 불필요한 용량을 잡아먹는다는 단점을 항상 지적받았다. 이에 대응해 간결하고 통일된 양식으로 각광을 받고 있는 것이 JSON이다. 요약JSON은 사람, 기계 모두 이해하기 쉬우며 용량이 작다.XML을 대체해서 데이터 전송 등에 많이 사용한..
프로그래밍 명명규칙(Casing)
·
용어 모음집
프로그래밍 세계에서는 각각의 언어, 환경에 알맞는 명명 규칙이 존재한다. snake_case파이썬이나 DB 테이블(user_tbl, board_tbl), 컬럼(user_name, board_id)에 사용된다. 앞선 예시에서 알 수 있듯이 단어와 단어 사이에 띄어쓰기를 _ 언더바로 이어준다. 모든 문자는 소문자이거나 대문자이다.  camelCase자바에서는 변수, 메서드 이름을 만들 때 사용한다. 단어와 단어가 결합 할 때 뒤에 나오는 단어의 첫글자를 대문자로 이어준다. PascalCase대부분 프로그래밍 언어에서 클래스 이름을 지정하는데 파스칼 케이스가 사용된다. 모든 단어의 첫 문자를 대문자로 한다. kebab-case문자와 문자 사이를 - 대시로 이어준다. 모든 단어는 소문자이다. Java의 명명법종..