9/3
Django, Flask
battery included framework라는것은 많은 기능과 도구를 내장하고 있어서 추가적인 라이브러리 찾지 않아도 되는 프레임워크 Django가 대표적이다.
Spring boot나 ruby on rails도 battery included
django는 기본적으로 로컬 데이터베이스로 SQLite를 지원해서 파일 형태로 데이터를 저장한다.
자체 ORM을 통해서 SQLite데이터베이스를 쉽게 사용할 수 있게 해준다.
Flask는 경량 웹 프레임워크로 SQLAlchemy라는 ORM 라이브러리를 사용해야함 앱개발은 SQLite를 기본 데이터베이스로 사용한다
FastApi를 사용하는 경우에도 SQLAlchemy로 SQLite를 사용할 수 있음
Django를 사용하면서 꼭 SQLite를 사용해야하는것은 아니고 다른 데이터베이스도 연결할 수 있다
원래는 template engine과 같이 html css js파일 전체를 보내주는 형식으로 서버에서 데이터를 받아왔는데 Restful API형식으로 바뀌면서 json으로 필요한 데이터만 받아오는것으로 바뀐거다.
Battery included 라이브러리들은 robust하지만 기능이 많아서 배우는데 시간이 많이 걸린다
원래는 python을 코딩테스트 말고 쓴적이 없기도 하고 battery include framework를 사용해보고싶어서 django를 공부해보려 했는데, 시간이 많이 걸릴 거 같고 내 프로젝트는 규모가 작으니 python으로 프로젝트 해보고싶으면 flask나 fastAPI를 공부하는게 더 나을수도 있겠다
9/10
ios::sync_with_studio(false) //해주면 입출력이 빨라진다
C++
복사
9/20
파이썬에서는 변수를 생성할 때 내부적으로 객체가 생성되고, 그 객체에 대한 참조(reference)가 변수에 저장됩니다.
1. 객체의 생성
•
객체 생성: 파이썬에서는 변수에 값을 할당하면, 그 값에 대한 객체가 생성됩니다. 예를 들어, x = 3이라고 할 때, 3이라는 정수 값에 대한 객체가 메모리에 생성됩니다.
2. 참조(reference)
•
참조 저장: 변수 x는 이 객체에 대한 참조를 저장합니다. 즉, x는 객체의 메모리 주소를 직접 저장하는 것이 아니라, 그 객체를 가리키는 포인터와 유사한 참조를 저장합니다.
•
예시:
여기서 y는 x가 가리키는 객체(정수 3)를 참조하게 됩니다.
x = 3
y = x # y는 x가 가리키는 객체를 참조
Python
복사
3. 불변(Immutable)과 가변(Mutable)
•
불변 객체: 파이썬의 기본 데이터 타입(정수, 문자열, 튜플 등)은 불변 객체입니다. 즉, 이러한 객체는 생성된 후 내부 상태를 변경할 수 없습니다. 새로운 값을 할당할 경우, 새로운 객체가 생성됩니다.
x = 3
x = 4 # 새로운 객체가 생성되고, x는 이제 4를 가리킴
Python
복사
•
가변 객체: 리스트, 딕셔너리 등은 가변 객체로, 이들은 내부 상태를 변경할 수 있습니다. 같은 객체를 참조하는 여러 변수가 있을 때, 한 변수가 객체의 내용을 변경하면 모든 변수가 그 변경된 내용을 반영합니다.
lst = [1, 2, 3]
ref = lst # ref는 lst가 가리키는 리스트를 참조
ref.append(4) # lst와 ref 모두 [1, 2, 3, 4]를 가리킴
Python
복사
4. 메모리 관리
•
가비지 컬렉션: 파이썬은 자동 메모리 관리를 제공합니다. 객체가 더 이상 참조되지 않으면 가비지 컬렉터가 이를 감지하고 메모리를 해제합니다.
요약
•
파이썬에서 변수를 생성하면 그 값에 대한 객체가 메모리에 생성되고, 변수는 이 객체에 대한 참조를 저장합니다.
•
기본적으로 파이썬의 데이터 타입은 불변 객체이며, 가변 객체도 존재합니다.
•
파이썬은 자동으로 메모리를 관리하여, 더 이상 사용되지 않는 객체를 해제합니다.
•
즉, 파이썬의 변수는 객체에 붙인 이름표이며, C++과는 다르다.
9/25
반도체 수율
반도체 수율 = 결함이 없는 합격품의 비율
회로기판이 잘못된것을 찾아내기 위해서 반도체 생산제조공정에서 카메라로 찍어서 머신러닝으로 분석을 많이 한다
2024년 기준 삼성전자 수율이 25퍼센트
tsmc가 70퍼센트정도이다
rsrc
rsrc 파일은 일반적으로 리소스 파일로, 프로그램의 그래픽, 아이콘, 문자열, 대화상자 등과 같은 다양한 리소스를 포함하는 데 사용됩니다. 주로 Windows에서 사용되며, C/C++와 같은 프로그래밍 언어로 작성된 애플리케이션에서 자주 사용됩니다.
9/30
Vite
Vite는 전통적인 모듈 번들러인 Webpack이나 esbuild와는 다르게, 개발 서버를 통해 모듈을 즉시 제공하고, 필요한 모듈만 번들링하는 방식으로 작동합니다. Vite는 ES 모듈을 활용하여 빠른 개발 환경을 제공하며, 빌드 시점에서는 Rollup을 사용하여 최적화된 번들을 생성합니다. 따라서 개발 중에는 빠른 핫 모듈 교체(HMR)와 같은 기능을 지원하면서, 최종 빌드는 Rollup의 성능을 이용하는 구조입니다.
클라이언트함수
클라이언트 함수 : 클래스의 멤버함수가 아님, 클래스 멤버함수들을 사용하는 외부 전역함수