728x90

Programming/Study 6

웹 프로그래밍 구조 - 웹서버와 WAS, 서버와 클라이언트, HTTP 프로토콜

웹 프로그래밍이란? 웹 프로그래밍은 인터넷을 통해 웹 브라우저에서 실행되는 소프트웨어인 웹 애플리케이션을 개발하는 과정을 말한다. 웹 프로그래밍은 클라이언트와 서버 간의 상호작용을 구현하고 웹 페이지를 개발하는 데 필요한 기술과 도구를 사용하는 것을 포함한다. 웹 프로그래밍에서는 서버 측과 클라이언트 측 개발이 필요하다. 서버 측 개발은 서버에서 동작하는 웹 애플리케이션의 백엔드를 구현하는 것을 의미하며 주로 Python, Java, PHP 등의 프로그래밍 언어와 웹 프레임워크를 사용하여 데이터베이스와의 상호작용, 사용자 인증, 비즈니스 로직 처리 등을 구현한다. 반면에 클라이언트 측 개발은 사용자가 웹 페이지를 브라우저에서 인터랙션하는 부분을 개발하는 것을 의미하며, 주로 HTML, CSS, JavaS..

Programming/Study 2023.10.28

개발 버전 정보 표기법 - 유의적 버전 명세(Semantic Versioning)

개발 버전 정보 버전 정보는 메이저 버전 번호, 마이너 버전 번호, 패치 버전 번호로 구성된다. major: 기존 버전과 호환되지 않게 API가 바뀌면 “주(主) 버전”을 올림 minor: 기존 버전과 호환되면서 새로운 기능을 추가할 때는 “부(部) 버전”을 올림 patch: 기존 버전과 호환되면서 버그를 수정한 것이라면 “수(修) 버전”을 올림 major.minor.patch 주(主).부(部).수(修) 개발 버전 정보 표기법 버전 정보 앞에는 기호를 부여하여 업데이트 범위를 지정할 수 있다. ~ (틸트)는 패치 버전 범위 내에서 업데이트한다. 예를 들어 ~0.0.1는 0.0.1 이상 0.1.0 미만 버전을 의미한다. ^ (캐럿)는 마이너 버전 범위 내에서 업데이트한다. 예를 들어 ^1.0.2는 1.0...

Programming/Study 2023.10.22

프로그래밍 분류, 저급/고급 언어 (feat. 컴파일러와 인터프리터의 차이)

프로그래밍 언어(Programming Language)란? 프로그래밍 언어란 사람과 컴퓨터가 서로 의사교환을 하기 위해 사용하는 언어를 말한다. 프로그래밍 언어는 크게 컴퓨터 친화적인 저급언어와 사람 친화적인 고급언어로 나뉜다. 저급언어 기계어: 컴퓨터가 이해할 수 있는 가장 기초적인 언어로 0과 1의 이진수로만 이루어져 있다. 컴퓨터가 이진수를 이해한다는 것을 정확히 말하자면 전기의 강도를 전압이 작으면 0이고 크면 1로 읽는다는 것을 뜻한다. 어셈블리어: 기계어 명령어를 사람이 좀 더 알아보기 쉽게 알파벳 기호로 표시하는 것이다. 어셈블리어로 작성된 프로그램이 어셈블러(Assembler) 번역기를 거치면 기계어가 된다. 고급언어 고급언어에는 C, Java, Python 등과 같은 다양한 프로그래밍 언..

Programming/Study 2023.08.21

절차지향과 객체지향 프로그래밍 정의와 차이점

절차지향(Procedural Oriented Programming) 절차 지향(POP)을 대표하는 언어는 C가 있다. 프로그램이 시작하면 프로그래밍 된 순서대로 진행하며, 모든 순서가 종료되면 프로그램 또한 종료된다. 절차지향의 특징 기능을 우선시하여 프로그래밍하므로 객체 지향 언어에 비해 빠르게 프로그래밍이 가능하다. 대부분의 함수가 프로그램 내부에서 어디서든 사용 가능한 전역 데이터를 사용하기 때문에 데이터 접근이 용이하다. 하지만 데이터 접근이 유용하다는 뜻은 반대로 보안성이 낮다는 말과 같다. 절차 지향은 기능 단위로 분리하는 작업을 뜻하는 모듈화가 어렵다. 모듈화가 어렵기에 데이터 및 기능을 추가시 기존에 작성된 프로그램을 수정해야 하며 유지보수가 매우 어렵다. 객체지향(Object Orient..

Programming/Study 2023.08.21

디렉터리 구분과 파일 경로 - 루트와 홈, 절대와 상대

디렉토리(Directory)란? 디렉토리란 컴퓨팅에서 파일을 분류하기위해 사용하는 이름공간으로 폴더라고도 불린다. / : 파일 계층 구조 상의 최상위 디렉터리 ~ : 현재 접속중인 사용자의 홈 디렉터리 ./ : 작업 중인 파일이 위치한 디렉터리 ../ : 작업 중인 파일의 상위 디렉터리 루트 디렉터리 루트(Root) 폴더는 / 로 표현하며 파일 계층 구조 상의 최상위 디렉터리다. Unix: / Windows: C:\ 홈 디렉터리 홈(Home) 폴더는 현재 접속중인 사용자의 홈 디렉터리를 말한다. 참고로 하나의 컴퓨터는 여러 사용자 계정으로 이루어지는데, 홈 디렉터리는 여러 사용의 홈 디렉토리가 모여 있는 곳을 말한다. 계정명으로 설정된 폴더를 말하며 보통 리눅스에 처음 로그인하면 접속되는 위치를 말한다...

Programming/Study 2023.08.21

데이터 기반 AARRR 분석 기법 (Growth hacking)

그로스해킹(Growth hacking)이란? 그로스 해킹이란성장(Growth)과 해킹(Hacking)의 합성어로 고객의 행동을 해킹해 성장하는 것을 의미한다. 상품 및 서비스의 개선사항을 계속 점검하고 반영해 성장을 주도하는 온라인 마케팅 기법으로, 한정된 예산 하에 빠른 성장을 해야하는 스타트업들에게 효과적인 마케팅 기법이다. 기존의 마케팅이 광고 등의 브랜딩에 집중한 반면, 그로스 해킹은 지표 분석과 ROI(Return On Investment, 투자자본수익률)과 같은 구체적인 KPI 등을 기반으로 한 성장에 집중한다. 기존의 마케팅은 광고 수치로만 성과를 파악해, 매출 하락, 정체, 상승의 구체적인 원인 파악이 불가능 했지만, 그로스 해킹은 고객의 행동패턴을 분석하면서 원인을 찾아내 개선하기가 손 ..

Programming/Study 2023.08.21
728x90