728x90
반응형

프로그래밍 12

컴파일(Compile)과 런타임(Runtime)

1. 컴파일 타임(Compile time)이란? - 우리가 작성한 소스코드가 컴파일(compile)이라는 과정을 통해 기계가 읽을 수 있는 형태로 변환되는 과정을 컴파일 타임이라고 한다. - JAVA의 경우 컴파일을 하면 바이트 코드가 생성되며 이는 컴퓨터(HW)가 이해할 수 없는 언어 -> JAVA가 컴파일한 언어를 이해할 수 있는 기계가 바로 JVM(Java Virtual Machine) -> 즉, JAVA 언어를 컴파일한 바이트 코드를 이해할 수 있는 기계는 바로 JVM을 의미 ex) .exe 파일 컴파일 에러(Compile error)란? - 컴파일 중 발생되는 에러를 의미한다. - 일반적으로 컴파일 에러 발생시 컴파일러는 문제를 일으킨 소스코드 라인을 지적해 줌 ex) syntax error :..

프로그래밍 2023.12.06

[OOP] 객체 지향 프로그래밍의 5가지 설계 원칙

OOP? - Object-Oriented Programming - 객체 지향 프로그래밍 - 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, '객체'들의 상호작용(메시지 주고받기, 데이터 처리 등)으로 프로그램 로직을 구성하는 프로그래밍 패러다임 SOLID 원칙 - 객체지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙 - SRP / OCP / LSP / ISP / DIP => 코드를 확장하고 유지 보수 관리가 더 쉬워지며, 불필요한 복잡성을 제거 -> 리팩토링에 소요되는 시간을 줄임으로써 프로젝트 개발의 생산성을 높일 수 있음 => 이걸 지키면 시간이 지나도 변경이 용이하고 유지보수와 확장이 쉬운 소프트웨어를 개발하는데 도움이 됨 => 표준화 작업에서부터 아키텍처 설..

프로그래밍 2023.11.29

[HTTP] HTTP 응답 상태 코드

HTTP 응답 상태 코드 - 특정 HTTP 요청이 성공적으로 완료되었는지 알려줌 - 5개의 그룹으로 나누어짐 1xx : 정보를 제공하는 응답 - 요청을 제대로 받았고, 처리가 진행 중임 2xx : 성공적인 응답 - 요청이 제대로 처리됨 200 OK - 성공적인 요청 201 Created - 새로운 리소스 생성됨 204 No Content - 요청 성공, 응답할 데이터는 없음 3xx : 리다이렉트 - 요청을 처리하려면, 클라이언트가 추가 동작을 취해야 함 302 : 다른 URL로 갈 것 4xx : 클라이언트 에러 400 Bad Request - 잘못된 요청, 문법에 맞지 않는 요청 401 Unauthorized - 의미상 비인증(unauthenticated)을 의미 403 Forbidden - 콘텐츠에 접..

프로그래밍 2023.11.25

[Next.js] Next.js 시작하기(+ npm run dev 에러, CRLF 에러, Parsing error 해결)

npx create-next-app next_first cd next_first npm run dev 1. npm run dev 시 에러 $ npm run dev > next_first@0.1.0 dev C:\development\next_first\next_first > next dev ready - started server on 0.0.0.0:3000, url: http://localhost:3000 error - Failed to load next.config.js, see more info here https://nextjs.org/docs/messages/next-config-error Error: Not supported at Object.loadConfig [as default] (C:\d..

[자바를 다루는 기술 Vol.2] Session3 자바에서 사용하는 연산자 & 연산

2021.04.26 - [프로그래밍/자바(JAVA)] - [자바를 다루는 기술 Vol.1] Session2 변수와 데이터형 2021.04.27 - [프로그래밍/자바(JAVA)] - [메모리 구조] 자바(JAVA)의 메모리 구조(정리 중) 21.04.27(화)~ 2/8/16 진수로 변환> Integer.toBinaryString(6); // 매개변수로 정수 입력 -> 2진수로 표기해줌 Integer.toOctalString(6); // 정수 매개변수 -> 8진수로 표기 Integer.toHexString(6); // 정수 매개변수 -> 16 진수로 표기 2진수> 1. 음수 표현을 하기 위해 필요한 개념 : ① 절댓값 ② 1의 보수 ③ 2의 보수 2. 양/음수의 표현은 최상위 비트(가장 왼쪽 비트, MSB)..

[자바를 다루는 기술 Vol.1] Session2 변수와 데이터형

21.04.26(월)~4.27(화) ※ 몰랐던 내용 위주로 정리 ※ 2장. 자바 프로그래밍을 위한 변수와 데이터형 01. 변수 p.48 프로그래밍 언어 : 특성에 따라 변수를 선언하는 방식이 구분됨 1. 정적 타입 지정 언어(Statically typed language) : 자바 -> 모든 변수를 반드시 정해진 데이터형으로 선언 2. 동적 타입 지정 언어(Dinamic typed language) -> 프로그램을 실행할 때 적절한 데이터형이 적용되며 스크립트 언어들이 주로 이 방식 채택 변수 == 메모리 영역에 데이터를 저장할 공간(변수가 저장되는 공간 : JVM의 스택 영역) p.49 개발자 : 데이터를 가공해서 변수를 다루는 사람 변수명(Variable name) 명명규칙(Naming convent..

[깃&깃허브] 06. 깃허브에서 개발자와 소통하기 (p.202~220)

2021/01/16 - [분류 전체보기] - Do it! 공부단 2021/02/19 - [프로그래밍/깃&깃허브] - [깃&깃허브] 01. 깃 시작하기 (~p.37) 2021/02/20 - [프로그래밍/깃&깃허브] - [깃&깃허브] 02. 깃으로 버전 관리하기 (p.38~83) 2021/02/21 - [프로그래밍/깃&깃허브] - [깃&깃허브] 03. 깃과 브랜치 (p.84~130) 2021/02/22 - [프로그래밍/깃&깃허브] - [깃&깃허브] 04. 깃허브로 백업하기 (p.131~165) 2021/02/23 - [프로그래밍/깃&깃허브] - [깃&깃허브] 05. 깃허브로 협업하기 (p.166~201) 06 깃허브에서 개발자와 소통하기 깃허브 - 자신이 커밋한 소스를 보여줄 수 있고, 다른 개발자들과 그 ..

[깃&깃허브] 05. 깃허브로 협업하기 (p.166~201)

2021/01/16 - [분류 전체보기] - Do it! 공부단 2021/02/19 - [프로그래밍/깃&깃허브] - [깃&깃허브] 01. 깃 시작하기 (~p.37) 2021/02/20 - [프로그래밍/깃&깃허브] - [깃&깃허브] 02. 깃으로 버전 관리하기 (p.38~83) 2021/02/22 - [프로그래밍/깃&깃허브] - [깃&깃허브] 04. 깃허브로 백업하기 (p.131~165) 05 깃허브로 협업하기 깃허브에 원격 저장소 만들기 > 팀 프로젝트 파일 전부 올려두기 > 팀원들은 각자 원하는 시간, 장소에서 편하게 프로젝트 파일에 접근 가능 커밋을 푸시할 때 일일이 시간, 장소를 정해 모이지 않아도 소통 가능하도록 의견을 나눌 수 있는 간단한 기능도 제공 - 하나의 원격 저장소를 중심으로 둘 이상의..

[깃&깃허브] 04. 깃허브로 백업하기 (p.131~165)

2021/01/16 - [분류 전체보기] - Do it! 공부단 2021/02/19 - [프로그래밍/깃&깃허브] - [깃&깃허브] 01. 깃 시작하기 (~p.37) 2021/02/20 - [프로그래밍/깃&깃허브] - [깃&깃허브] 02. 깃으로 버전 관리하기 (p.38~83) 2021/02/21 - [프로그래밍/깃&깃허브] - [깃&깃허브] 03. 깃과 브랜치 (p.84~130) 와~! 드디어 깃허브 입니다!!! > 모두 내 컴퓨터의 '지역 저장소'에 저장 이제부터는 내 컴퓨터에 있는 버전을 '인터넷상'에 저장할 수 있는 서비스를 이용할 것 -> 가장 많이 이용하는 '깃허브' 서비스 사용법에 대해 살펴볼 것 깃허브에 버전을 올리면 무엇이 좋은가? - 지역 저장소의 버전을 백업할 수 있다 - 온라인에 올린..

[깃&깃허브] 03. 깃과 브랜치 (p.84~130)

2021/01/16 - [분류 전체보기] - Do it! 공부단 2021/02/19 - [프로그래밍/깃&깃허브] - [깃&깃허브] 01. 깃 시작하기 (~p.37) 2021/02/20 - [프로그래밍/깃&깃허브] - [깃&깃허브] 02. 깃으로 버전 관리하기 (p.38~83) 03 깃과 브런치 웹 사이트 개발, 완성 -> 고객이 새로운 기능 추가 요구 -> 기존 파일에 새로운 기능을 위한 소스 추가 -> 새로운 버전 만듦 But, 이것이 오류없이 완벽하게 동작한다는 보장이 없다 제대로 동작하는 소스는 그대로 둔 채 새 소스를 추가한 버전을 따로 만들어 관리 -> 완벽하게 완성 후 원래 소스에 더할 수 있다면!!! --> 이럴 때 사용하는 것이 깃의 '브랜치(Branch)'라는 기능 03-1 브랜치란? 브..

728x90
반응형