전체 글

    개발자 일주일 회고

    벌써 한 주 2024.07.17 - [일상] - 개발자 인턴 첫 출근 회고 를 월요일에 작성했는데 벌써 한주를 보내게 되었다. 처음 쓰는 기술들과 언어로 2~3일은 코드를 분석하며 적응하기 바빴었다. 그래도 열심히 분석하니어느정도 코드가 눈에 보이더라.. 역시 시간은 배신하지 않는다. 어느정도 분석하고나서 회사의 초창기부터 서비스를 개발해오신 시니어 개발자분과 신규 배포하게되는 서비스에 대해페어프로그래밍을 하면서 어떻게 시작점을 잡고 문제를 해결하기 위해 어떻게 개발을 해나가는지에 대해 감을 잡아주셨다. 이전 회사에서의 사수도 잘 알려주긴했지만 지금 만난 시니어분은 하나부터 열까지 다알려주셔서 정말 어쩔줄모를만큼감사함을 느끼게 된다.다음 목표차주 부터는 서비스에 이펙트가 적은 백오피스 쪽 부터 조금씩 개..

    개발자 인턴 첫 출근 회고

    들어가며어쩌다보니 커머스 플랫폼 풀스택 개발자로 인턴으로 출근하게되면서 배웠던 것, 느꼈던 것 앞으로 해야할 일들을떠올리며 작성해보려고 한다.인턴까지의 히스토리첫취업대학 졸업 후 1년 8개월여간 솔루션 SI회사에 입사하여 3개의 프로젝트 (이 중 하나는 과장급의 육휴로인한 대체투입..)와 고객사 유지보수업무를 하면서 좋았었던 경험과 안좋았던 경험 모두 겪어보며 나름 잘 지냈었다. 퇴사프로젝트를 하면서 솔루션 개발(솔루션이다 보니 실제 개발보다는 시스템 분석/설계와 구축.. 그리고 조금의 커스텀 개발이다.)보단웹/앱 백엔드 개발이 하고 싶어 빠져나올 수 있을 때, 빠져나오자 결심하고 퇴사 후 내일배움캠프라는 부트캠프에 참여하여 공부도 하고 팀플젝도 하면서 부족했던 역량을 쌓는 시간을 가졌다. 다시 입사캠프..

    [Django] AttributeError: 'User' object has no attribute 'has_module_perms' 에러

    들어가며 회원가입, 로그인 구현을 위해 User model을 구현하고 admin 페이지에 로그인을 해보았는데다음과 같은 에러가 발생했다. 'User' object has no attribute 'has_module_perms' User 모델에 has_module_perms 라는 애가 없는 것 같은데 내코드를 보았다.class User(AbstractBaseUser): id = models.AutoField(primary_key=True) username = models.CharField(default="", max_length=30, unique=True, null=False, blank=False) nickname = models.CharField(default="", max_lengt..

    [Python] mysql client 설치 에러 (subprocess-exited-with-error..)

    문제프로젝트 개발환경을 세팅하면서 Mysql 과 연동하기 위해 client 설치도중 다음과 같은 에러를 만났다..❯ pip install mysqlclientCollecting mysqlclient Using cached mysqlclient-2.2.4.tar.gz (90 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [27 lines of output] /b..

    [Python] 파이썬의 자료형을 알아보자

    들어가며파이썬에서 제공되는 자료형과 구조에 대해 알아보는 시간을 가집니다. 자료형의 종류다음과 같이 파이썬의 자료형이 존재합니다.  숫자형(Numeric)숫자형에는 크게 정수형, 실수, 복소수로 나뉩니다.이러한 숫자형은 다양한 산술 연산, 다양한 연산을 수행합니다. 정수(Integer)양수, 음수, 혹은 0이 될 수 있는 소수점 없는 수입니다.ex) 5, 15, 0, -1실수(Float)소수점을 포함하는 수입니다. e지수로 나타낼 수 있습니다.정수부가 0인 실수는 0을 생략할 수 있습니다. ex) 0.1 -> .1소수점의 허용범위와 오버플로우 처리는 Python의 구현체(Cpthon, Jython 등등)에 따라 다릅니다.ex) 0.1, 3.14, 123e2 복소수(Complex)실수부와 허수부가 존재하는..

    [Python] 파이썬(Python)의 특징과 장단점을 알아보자

    들어가며Python을 본격적으로 공부하기전에 특징과 기존에 사용하던 언어인 Java와 비교하며 장단점을 알아보았다.파이썬의 특징1. 인터프리터 방식개발자가 작성한 소스코드는 컴퓨터가 알아먹을 수 없다. 그렇기 때문에 컴퓨터가 알아먹을 수 있는 언어(기계어)로 번역이 되어야 하는데 이를 컴파일이라고 한다. 번역을 하는 방식에는 컴파일러와 인터프리터 방식이 있다. 컴파일 방식 프로그램 소스코드를 전체를 스캔하여 모두 번역하고 실행가능한파일을 만들고(C의 경우 ObejctCode파일) 이 파일들을 묶어서 하나의 실행파일(링킹)작업을 한다. 컴퓨터는 이 파일을 읽어서최종적으로 명령을 실행한다. C와 Java가 대표적이다. 반면 인터프리터 방식은 소스 코드를 한 줄씩 기계어로 번역하며 명령을 수행한다. 파이썬은 ..

    [AWS] NAT Instance 로 PrivateSubnet 과 인터넷 연결하기

    Private Subnet에서 외부 네트워크와 연결하기 보통 WAS 나 DB 등 보안이 중요한 서버들은 외부에서 접근할 수 없도록 합니다. 그래서 VPC 인프라를 구축할때 Public Subnet과 Private 서브넷을 만들어 그 안에 EC2 인스턴스를 두고, Bastion Host를 통해 Public 서브넷에서 Private Subnet으로 접속한 후, NAT gateway를 통해 인터넷 소스를 받습니다. 그래서 구성하게 되는게 AWS NAT Gateway입니다. 하지만 NAT 게이트웨이는 서울 리전 기준으로 시간 당 0.059 USD 이므로... 요금이 조금 비쌉니다. 그래서 차선책으로 EC2 인스턴스를 NAT 처리용으로 설정해 사용하는 NAT Instance를 만들어 사용할 수 있습니다. 가용성과..

    [Elasticache] Serverless Cluster - Redisson Connection 문제

    기존 샤드 2 레플리카 2 로 구성해놓은게 생각보다 비용이 많이나와 (42USD...) 클러스터 삭제 후 다시 생성했다.. Elasticache 생성 방식 중 Serverless 방식이 새로 나와 해당 방식으로 클러스터를 만들고 Redis Config를 수정해주고 테스트를 진행해보았다.. 테스트를 진행하니 자꾸 커넥션이 클로즈 되어 트랜잭션이 자꾸 롤백되고있었다 로그를 보니 다음처럼 계속 다른 IP host로 커넥션을 요청을 반복하고있었다 2024-01-24T12:47:37.027Z24 connections initialized for IP1/IP1:6379 2024-01-24T12:47:37.021ZIP2/IP2:6379 master and related slaves: removed 2024-01-24..