Language

Language/Java

static, final, static final

🎯 3가지 키워드 비교: 새로운 예시 — 컵라면 공장상황:너는 컵라면 공장을 운영하고 있어.매일 라면을 생산하는 기계가 있고, 거기서 나오는 라면(객체) 마다 제조번호가 다르지!✅ static: 공장에서 모두가 공유하는 것public class Ramen { static String factoryName = "라면공장";}이건 공장 이름모든 라면이 같은 공장에서 나왔으니까 공장 이름은 하나만 있으면 돼!그래서 static은 "모든 객체가 공유하는 값"이야.📌 사용 예System.out.println(Ramen.factoryName); // 라면공장 ✅ 객체 없이도 클래스 이름으로 바로 접근 가능!✅ final: 바뀌면 안 되는 개별 정보public class Ramen { final Str..

Language/Java

JVM 과 자바메모리

📦 JVM.java(자바소스코드) → .class(자바바이트코드) ===>자바소스코드가 자바바이트코드로 변환되는 과정을 자바컴파일러라고 한다.이걸 읽어서 실행하는 것이 JVM 즉, 자바 프로그램을 실행하는 가상 컴퓨터이다. 📦 자바 메모리╔═══════════════════════╗ ║ Method Area ║ ← 클래스, static 변수,static final 정보 ╠═══════════════════════╣ ║ Heap ║ ← 객체 저장 (new로 만든 것들), final╠═══════════════════════╣ ║ Stack ║ ← 지역 변수, 매개변수, 메서드 실행 정보╚═══════════════════════╝?..

Language/Java

생성자에 대해..

✅ 생성자란?- 기초값을 세팅한다와 같은 내용! ( 이렇게 하면 Student s = new Student("구름", 20); // → 처음 만들 때부터 name, age 값을 넣게 강제함 Student 객체가 만들어질 때, name과 age는 무조건 들어가게 돼. )- new는 단순히 메모리에 공간을 만드는 것이고, 생성자는 그 공간에 의미있는 값을 넣어주는 역할을 한다.* 실제로 개발하다보면 객체를 만들고 값 설정하는걸 깜빡하는 경우가 정말 많다. 왜 이 값이 null이지? 하면서 디버깅한는 시간이 엄청나서 생성자를 쓰면 이런 실수를 컴파일 시점에 잡아준다. - 필수로 입력을 해야하는 상태로 변하기 때문에 해당 객체를 쓸때는 무조건 불변하게 입력을 요구 할 수 있게 만들수 있다.- 즉 실수를 방지하..

Language/Go

gorilla/mux - swagger 적용

1. Install go get -u github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/http-swagger go get -u github.com/alecthomas/template 2. Definition // @title Orders API // @version 1.0 // @description This is a sample serice for managing orders // @termsOfService http://swagger.io/terms/ // @contact.name API Support // @contact.email soberkoder@swagger.io // @license.name Apache 2.0 // @license..

Language/Go

GO - sqlboiler

👉 Go 프로젝트 구조 👉 Go 프로젝트는 모듈이다. Go 1.14부터 Go에는 Module 이라는 개념이 생겼다. Go Module이 나오기 전의 Go는 Python과 같이 기본적으로 실행 환경이 설치된 곳(GOPATH)에 의존 패키지가 모여서 설치되는 구조였다. 하지만 요즘 나오는 Go는 모두 다 Go Module 이라고 보면 된다. 각 모듈마다 의존 패키지는 따로 관리된다. 👉 Go Module 시작하기 $ go mod init [모듈명] go.mod 파일이 생성된다. go.mod module [모듈명] go 1.19 👉 src 디렉토리가 따로 없고, 모듈이 루트 패키지 이다. - Go 언어에서 루트 패키지는 모듈에 대한 공식적인 패키지 경로를 가리킨다. Go 모듈은 Go 코드의 패키지 의존성 관리..

Language/Python

Python [Django] - DRF게시판 만들기(2)

1. Django App 생성 **app(아래에서는 articles)과 project(아래에서는 config)는 같은 위치에 생성해야한다. . ├── articles │ ├── admin.py │ ├── apps.py │ ├── filters.py │ ├── __init__.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── __init__.py │ │ └── __pycache__ │ │ ├── 0001_initial.cpython-38.pyc │ │ └── __init__.cpython-38.pyc │ ├── models.py │ ├── __pycache__ │ │ ├── admin.cpython-38.pyc │ │ ├── apps.cpython-38.pyc │..

Language/Python

DRF(Django REST Framework)

👉 DRF의 REST? API - 응용프로그램 데이터를 주고받는 규약 REST API - Json 형태로 CRUD 데이터를 주고받는 규약 RESTful - REST 방식을 따라서 개발하는 것(GET,POST,DELETE,PUT) 👉 DRF(Django REST Framwork) 장고 안에서 RESTful 한 API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리이다. DRF의 큰 기능은 Models를 serializers(직렬화)로 변환하는 것이다. 직렬화 : 추상적인 object를 구체적이고, 저장 가능하고, 전송 가능한 텍스트파일(연속된 byte 파일 = stream of bytes)로 바꿔주는 것 직렬화를 하는 이유? object는 메모리에 존재하고, 추상적인데 비해서 String or ..

Language/Python

Django

👉 Django란? 파이썬 언어로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크이다. 👉 작동방식 사용자가 서버에 웹페이지를 보내달라고 요청(request) 한다. 서버가 메일박스(port)에서 요청이 도착했는지 확인한다. 장고의 urlresolver가 요청을 가져와 URL과 맞는지 확인한다. 만약 일치하는 것이 있으면, 해당 요청을 VIEW에 넘겨준다. 요청이 도착했으면, 웹페이지를 보내준다. 👉 Django 프로젝트 파일의 기능 manage.py (명령창을 통해, 각종 django의 명령을 실행하기 위한 파일) (프로젝트명으로 생성된 디렉토리, 함부로 수정 금지!) __init__.py (python이 이 폴더를 패키지로 인식되도록 하기 위해 필요한 빈 파일) asgi.py (웹서버와, djang..

개발하는 구름이
'Language' 카테고리의 글 목록