본문 바로가기

전체 글65

얕보면 안되는 a = b 제목으로 어그로 조금 끌어봤다ㅎㅎ 내용은 깊은복사와 얕은 복사에 대한 이야기이다. 여기 a = [0, 1, 2, 3, 4, 5] 가 있다 이 값을 b 라는 변수에 넣어주고 프린트를 해본다면, a = [0, 1, 2, 3, 4, 5] b = a print(a) # [0, 1, 2, 3, 4, 5] print(b) # [0, 1, 2, 3, 4, 5] 위와 같이 나올 것이다. 만약 b에 값을 넣고, a의 0을 100으로 바꿔본다면? a = [0, 1, 2, 3, 4, 5] b = a a[0] = 100 print(a) # [100, 1, 2, 3, 4, 5] print(b) # [100, 1, 2, 3, 4, 5] 이렇게 a만 값을 바꾸었는데, b도 함께 값이 바뀌게 된다. 이렇게 같은 리스트를 공유하게 되.. 2024. 2. 18.
생각해보게 되는 bit, Byte, int, long 등의 이야기 JAVA는 C++와 같이 변수에 타입을 명시해 주어야 한다. (파이썬의 경우 예외) 가벼운 개발을 하게되면, 타입 명시를 하지 않는 것이 더 편한데 왜 타입 명시를 하지 않아도 되는 언어가 보편적으로 쓰이지 않을까? 이를 위해 타입 명시 언어의 장점을 살펴보자! 1. 타입을 명시해줌으로써 컴파일 타임에 예기치 못한 오류를 잡을 수 있는 큰 장점이 있고, 2. 타입의 활용을 통해 메모리의 사용 최적화 역시 가능해 진다. 1의 경우 코딩을 하다가 빨간색 줄로 그어지며 잘못된 타입을 넣고 있다~ 라는 경고메시지가 이것이고 2의 경우는 조금 더 살펴보자! 메모리 최적화를 한다는 의미는 뭘까? 이는 곧 적은 메모리를 사용해서 프로그램을 작성한다. 라는 말과 동의어로 쓰이는 것 같다. 추가로 자주 사용되는 컴포넌트.. 2024. 2. 17.
[IAteIt] ERD 테이블간 배치를 바꾸며 느낀점 최근에 다른 서비스들의 ERD를 보고 느낀점을 간략하게 서술해보겠습니다. ERD란, Entity Relation Diagram으로 엔티티간의 연관관계를 표현한 다이어그램입니다! 우선 ERD에 대해 중요하게 생각하고 있던 점으로는, 1. 한눈에 관계가 들어와야 한다. 2. 테이블관의 관계가 명확하게 정의되어 있어야 한다. 이 두가지인데, 우연히 다른 서비스들의 ERD를 보며 느낀점이 있네요,,ㅎㅎ 기존 IAteIt의 ERD는 요렇게 생겼었습니다. 사실 테이블 수가 많지 않기에 나쁘지 않은 구성이라고 생각은 했으나, 지금 생각해보면, '멤버 - 댓글', 'Meal - Meal 신고' 간의 인터페이스적으로 겹치는 연관관계가 어쩌면 눈엣가시가 될 수 있어 보입니다. 처음부터 작업을 같이 해오고 있는 사람들이라면.. 2024. 2. 16.
터미널 환경변수 선언하기 export 터미널에서 테스트를 실행시키거나 코드를 실행시킬때, API_KEY가 필요한 경우가 있다. 이 경우에 내 PC 전반에 걸쳐 유효한 변수를 선언하기보다 해당 터미널의 세션에서만 유효한 변수가 필요한 경우가 생긴다. 이때 사용할 수 있는 터미널 언어로, export가 있다. 예를 들어, 테스트에서 API_KEY라는 환경변수를 사용해야 한다면?? export API_KEY={MY API KEY} 터미널에 위와 같이 작성해주면 된다! 주의할 점으로 이는 터미널의 세션과 라이프사이클을 같이하기 때문에, 터미널 창을 닫고 나면 다시 설정해주어야 한다! 끗!! 2024. 2. 15.