목록전체 글 (76)
슈코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tWGuL/btrPgFMAx9t/UT2OAsdDmKwQw0ahWkCu1K/img.png)
⭐46. Django 프로젝트를 배포할 때, 시크릿키를 노출하지 않는 방법에 대해서 설명하시오 .env에 시크릿키와 database정보들을 작성하고 settings.py에서는 .env파일의 정보를 가져와서 사용합니다. 그리고 .env를 .gitignore에 포함시켜 github에 push되지 않도록 하고 EC2서버에 따로 .env파일을 업로드합니다. 같은 방식으로 local_settings.py라는 파일을 생성해서 하는 방법도 있습니다. ⭐47. Django 프로젝트 진행 시 발생하는 CORS 오류를 처리하는 방법에 대해서 설명하시오 CORS는 Cross Origin Resource Sharing의 약자로 도메인 또는 포트가 다른 서버의 자원을 요청하는 매커니즘입니다. CORS 문제는 다른 도메인의 서버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqpqMe/btrPfYy7WBw/sV7ImQ4kFxv5BybcqU1J20/img.png)
⭐31. DRF Serializer는 무엇이며, 어떤 기능을 수행합니까? Serializer는 queryset과 모델 인스턴스와 같이 복잡한 데이터를 JSON, XML 또는 다른 콘텐츠 유형으로 변환할 수 있고, Serializer는 받은 데이터의 유효성 검사를 진행한 뒤 복잡한 타입으로의 형 변환을 할 수 있도록 Serialization을 제공합니다. ⭐32. JSON 형식으로 데이터를 받고, Serializer를 통해서 JSON형식으로 데이터를 반환하는 이유는 무엇인가요? JSON은 특정 언어의 종속 되지 않습니다. xml 보다 가볍기 때문에 최소한의 용량으로 데이터 전송이 가능합니다. xml 보다 구조정의의 용이성과 가독성이 좋습니다. ⭐33. Serializer를 통해서 특정 모델에 존재하지 않지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xCuJY/btrPgWN6zSs/0a01JNq7gMk268zYZYjqkK/img.png)
⭐16. Django의 기본 기능을 사용하는 것과 JWT를 사용하여 로그인 기능을 구현하는 것에는 어떤 차이점이 있습니까? JWT를 사용하면 유저 관련 정보를 모두 base64 인코딩을 하고 유지 시간도 짧아 보안에 유리하며, 다른 프레임워크에 호환성도 높습니다. Django 기본 인증은 Django 내장인 만큼 훨씬더 간편하게 사용할 수 있는 이점이 있습니다. ⭐17. 데이터 테이블 간의 관계를 나타내는 FK, OneToOne, ManyToMany 필드에 대해서 설명하시오 FK: 다른 테이블과 관계가 있을 때 다른 테이블의 내용을 불러오고 이용할 수 있습니다. OnetoOne: 1:1의 대응 관계 테이블입니다. 예를들어 유저와 유저프로필 모델 ManytoMany: A 모델에 연관된 B 모델 필드가 여러..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhMmBw/btrODCJFt3C/qWuKZIOec9aoGS8Q8UJ9y1/img.png)
⭐1. Django가 무엇인지 설명하시오 파이썬을 기반으로하는 웹 프레임워크입니다. ⭐2. Django를 백엔드 스택으로 선정한 이유는 무엇입니까? 파이썬을 기반으로 하는 프레임워크중에서 가장 대표적으로 쓰이며, DB와 Admin페이지, ORM등 기본적으로 제공하는 기능이 편리하여 개발에 유용하기 때문입니다. ⭐3. Django에는 어떤 장점이 있습니까? ORM, Admin, permission등 내부 기능이 많아서 숙지하면 빠른개발이 가능하고, Django 템플릿을 활용하여 프론트엔드 개발도 다른 기술없이 개발이 가능합니다. ⭐4. Django가 다른 Python 프레임워크와 비교되는 특징이 있다면? Django의 특징은 기본적으로 제공되는 기능이 많다는 점이고, 파이썬에서 가장 많이 쓰이는 오픈 소스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b7RYMo/btrPhp3zALb/bPSZQWUPCYKz4a8jUxkUKk/img.png)
💡관심사 분리란 무엇인지 설명해주세요 관심사 분리 하나의 관심사(함수, 기능)는 하나의 역할만 가지도록 구성하는 것 하나의 함수에 여러가지 조건들로 혼잡스러운 로직을 정리하기 위함 List 안의 숫자들에서 최댓값과 최솟값을 찾고, 구한 값을 모두 더하는 로직이 있다고 가정 했을때 그 안에서의 관심사는 최댓값 찾기, 최솟값 찾기, 모두 더하기 이렇게 3가지로 나눌 수 있다. 이렇게 각각의 관심사를 함수로 나누어서 처리를 하는 기법 💡SOLID 원칙에 대해 설명해주세요 SOLID 원칙 객체지향 프로그래밍의 가장 큰 장점인 유연성, 재사용성, 유지보수성 객체지향 5대 원칙 SRP(단일책임원칙) 클래스는 다른 책임과 관련된 코드에 영향을 미치지 않기 위해 단 한개의 책임을 가져야한다. OCP(개방-폐쇄 원칙) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dZRWef/btrO9lWnjVD/uwsjBaO5aY93jxGpPGZzk0/img.png)
💡Deadlock이 무엇인지 설명해주시고 해결할 수 있는 방안에 대해 알려주세요 Deadlock 교착상태란 뜻으로 서로 필요한 자원 사용을 위해 상대방의 종료를 기다리며, 무한 대기에 빠지는 상황 예방 (Prevention) 기존 Deadlock이 프로세스들끼리 자원 사용시 서로 상호 배제한단 것이 문제가 되었으니, 자원을 공유하게 하여 대기에 빠지지 않도록 함 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법 환형 대기, 비선점, 점유와 대기, 상호 배제 4가지 부정 회피 (Avoidance) 프로세스에 대한 교착 상태 가능성을 미리 판단하며 배제하지 않고 적절하게 피해나가는 방법 예시) 은행원 알고리즘 처럼 사전에 필요로 하는 최대 자원을 파악하여 교착상태를 최대한 피함..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFQsQt/btrOEqhDTB5/7K555QsU6B9APA4Q6ZbtqK/img.png)
💡Stack과 Queue 자료구조에 대해 말하고 차이점에 대해 설명하시오 Stack 이란? 같은 구조와 크기의 자료를 Top방향으로만 쌓는 구조 가장 최근에 삽입된 데이터가 가장 위에 쌓이며 가장 먼저 삭제 FIFO 후입선출의 구조 Queue 란? 한쪽에서는 삽입, 다른 한쪽에서는 삭제를 담당하는 구조 삽입연산이 이루어지는 Rear, 삭제연산이 이루어지는 Front의 구성 LIFO 선입선출의 구조 💡Array와 Linked List 자료구조에 대해 말하고 차이점에 대해 설명해보시오 Array (배열) 특정 크기 만큼 연속된 메모리 공간에 데이터를 저장하는 자료구조 연속된 메모리 -> 데이터의 주소를 통해서 데이터 조회 가능 데이터를 추가하는 경우, 한자리를 비워야되는데 모든자료가 한칸 밀리게 되어 추가,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kEwli/btrOCdo74Fb/M9atpw7xrQfMJkSombPI61/img.png)
Docker 란? Docker는 애플리케이션을 신속하게 구축하고 테스트 및 배포할 수 있는 컨테이너 기반의 소프트웨어 플랫폼입니다. 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든것이 컨테이너에 포함되어 있습니다. Docker에는 Image라는 개념이 존재하는데 Docker Image는 실행환경, 실행하는 코드, 필요한 라이브러리, 설정 파일을 한곳에 모아둔 파일을 의미하고, Image를 사용하여 실행한 것이 컨테이너입니다. Docker의 장점 환경에 구애받지 않고 애플리케이션을 신속하게 배포하거나 확정할 수 있으며 코드가 문제없이 실행될 것을 확신 할 수 있습니다. 코드를 더 빨리 전달하고, 애플리케이션 운영을 표..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBXKh9/btrKb78jmwR/TpIugUmQydB9LCBEKRg53K/img.png)
어느덧 짧다면 짧고 길다면 긴 시간인 4개월이 쏜살같이 지나갔다. 4월 18일날 내일배움캠프를 시작할 때만 해도 나는 정말 코딩의 'ㅋ'자도 모르는 정말 처음 해보는 초심자였다. 이전에 요리를 할때도 정말 이렇게까지 내가 4개월이라는 기간동안 하루에 12시간 이상씩 몰입하면서 공부를 한적이 없었는데, 코딩이 나한테 잘맞고 재미있어서 가능했던것 같다. 4개월간 얻고 배운것😲 Python 기초 문법 HTML, CSS, JavaScript 활용한 프론트엔드 구성 DataBase를 구성하고 데이터 저장, 수정, 삭제 Flask, Django 웹 프레임워크 DRF활용한 REST API 설계 협업툴 Git, Github활용 AWS 서비스 (EC2, RDS, S3) Docker 기초 알고리즘 기초 머신러닝 간단 적용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cs3VEP/btrJqLFn9wB/MO919rDcoYxkmKY61DKcJK/img.png)
캠프도 어느덧 막바지를 향해 달려가고 있다. 이제 1주일도 안남은채로 곧 취업시장에 뛰어들게 되는데 걱정 반 기대 반인 상태인것 같다. 올해 4월부터 코딩을 시작해서 어느덧 4개월동안 코딩을 해왔는데, 정말 시작하기 전과는 정말 상상도 못할정도로 성장을 한것 같다. 이번주 한일📃 1. 프로젝트 발표 후 유저 피드백을 받으며 에러 수정, 코드리팩토링 진행 2. 매일아침 알고리즘 기초 다지기 3. 1:1 매니저님과 면담 (취업관련) 느낀점😲 처음으로 만든 프로젝트를 실제 사용자들에게 피드백을 받아봤는데, 정말 떨리기도 하면서 칭찬을 받으면 정말 뿌듯했고 한가지 매번 하게되는 말이 생겼다. 내 컴퓨터에서는 돌아가는데... 누군가 에러를 발견했을때 이러한 상황이 있다. 내 컴퓨터에서는 잘돌아가는데 다른사람 컴퓨..