반응형 전체 글113 객체 지향 프로그래밍 절차 지향 프로그래밍의 단점 데이터와 함수가 분리된다. 객체 지향 프로그래밍(object-oriented programming : OOP) 캡슐화 : 데이터와 코드가 하나의 묶음으로 정리되어 있다. 상속: 이미 작성된 클래스를 이어받아 새로운 클래스를 생성하는 기법 (코드의 재사용) 다형성: 객체마다 취하는 동작이 상황에 따라 달라지는 것 필드 : 객체 안의 변수 메소드 : 객체 안의 함수 객체의 소멸 객체는 생성되어서 사용되다가 소멸되어 점유하고 있던 기억 공간이 반환된다. 즉 객체에 할당되어 있던 메모리를 회수한다. 객체의 소멸을 위해서 자바에서는 garbage collection이 사용된다. 자바의 실행환경이 사용이 끝난 객체를 소멸시키고 가지고 있던 자원을 시스템에 반납한다. 객체를 가리키는 참조.. 2021. 11. 9. 당근 마켓 user domain api 추가 - 10일차 유저 관련 api를 추가하였다. 추가한 api는 다음과 같다. 1) 유저의 정보 조회 api GET /users/:userId 특정 유저의 userId, 닉네임, 프로필 이미지를 반환한다. 비로그인 상태에서도 조회를 할 수 있으므로 토큰은 따로 추가하지 않았다. 2) 유저 프로필 수정 Patch /users/profile/{userId} 닉네임과 프로필 이미지를 변경할 수 있는 api이다. 닉네임은 한번 변경 후 30일 이내에 또 변경할 수 없다. 따라서 이에 대한 제약 조건을 추가하였다. 3) 유저의 남은 닉네임 변경 불가 기간 조회 GET /users/nickname-updated/{userId} 2)번과 이어지는 내용이다. 닉네임 변경을 할 수 없을 때 변경기간이 며칠 남았는지 반환하여 준다. ap.. 2021. 11. 9. 당근 마켓 address domain API 완성 - 9일차 주소 도메인에 관련한 모든 API를 작성하였다. base url 은 skrrr.shop이다. 정리를 해보자면 다음과 같다. 1. 검색으로 동네 찾기 GET skrrr.shop/address?search={search}&townId={townId} 검색할 내용과 현재 유저가 위치한 동네의 townId를 입력받는다. 유저의 현재 위치를 알 수 없는 경우 townId에 -1을 넣는다. townId에 따라서 검색 내용이 townId에 가까운 순으로 정렬된다. 2. 현재 위치로 주변 동네 찾기 GET skrrr.shop/address/location?townId={townId} 현재 유저가 위치한 동네의 townId를 입력받는다. 입력받은 townId를 이용하여 가까운 순으로 주변 동네를 나타낸다. 3. 동네 i.. 2021. 11. 8. 당근마켓 api 추가 - 8일차 오늘은 우테코 코딩테스트가 있었기에 api를 많이 작성하지 못했다 총 3개의 간단한 api를 추가하였다. 1) 내 동네id로 동네 이름가져오는 api 동네 id를 통해 동네 이름을 가져올 수 있는 api이다. GET 메소드로 구현하였다.api를 작성하면서 느끼는 거지만 get 메소드를 통해 구현하는 api는 뭔가 쉽게 구현이 가능한 것 같다.내가 아직 잘 모르기에 예외처리를 많이 안해서 그런가 싶다. GET /address/:townId 2) 유저가 설정한 동네 id, 인증여부, 범위 가져오기 인증여부를 통해서 거래가 가능하기에 설정한 주소 정보를 가져오는 api를 추가하였다.이 또한 GET 메소드로 구현하였다. GET /address/info 3) 내 동네 설정 범위 변경 동네 범위를 통해 거래할 수 .. 2021. 11. 7. 진수 변환(2진수 ,3진수 ... n진수) https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 프로그래머스의 3진법 뒤집기 문제를 풀고 진법에 대한 부분이 약한 것 같다는 생각이 들어 정리하기 10진수 -> N진수로 변환하기 baseN = "" while num10: num10 , m = num1o// N , num10 % N baseN += str(m) baseN = baseN[::-1] baseN은 N진수.. 2021. 11. 6. 당근마켓 api 추가 - 7일차 그동안 깃 사용에 이슈가 있었던 부분을 오늘 해결했다. 로컬에서 git add . 을 실행하면 build 파일까지 ec2 서버로 가서 build가 꼬여 실행이 안됐는데 add할 때 필요한 파일만 add하니까 실행이 잘 되었다. .gitignore을 잘 활용해야하는데 이 부분이 아직 부족해서 그런듯하다. api는 3개를 추가하였는데 - 동네 추가 - 동네 삭제 - 동네 변경 각각을 비슷한 방식으로 구현하였다. 이 부분을 구현하고자 했는데 만들기 전에는 간단해 보이는 화면에도 되게 많은 api가 숨어있음을 깨달았다. 이 화면에서 아직 구현하지 못한 api들이 남아있다. 얼른 구현해서 이 화면을 넘어가고 싶다. 깃허브 https://github.com/seong-wooo/Carrot_Market_Server 2021. 11. 6. 당근마켓 api 추가 - 6일차 오늘은 api 수정 및 추가를 진행했다. 어제 동네 검색을 위한 api를 만들었는데 어제까지는 유저가 선택한 동네부터 가까운 위치에 있는 동네 순으로 정렬되도록 구현하였다. 그런데 오늘 보니까 실제 당근마켓은 유저의 현재 위치한 동네에서부터 가까운 위치에 있는 동네 순으로 정렬되는 구조였다. 그래서 동네 검색하는 api를 모두 수정하였다. 앱에 대해서 정확하게 파악하고 만들었어야했다. 그리고 api를 2개 추가하였는데 첫 번째로 특정 동네에서 떨어진 거리에 따라 존재하는 동네를 리스트 형식으로 반환하는 api이다. 당근마켓에서는 동네를 선택하고 동네를 중심으로 4단계의 영역을 만들어 각 영역 안에 속하는 동네 안에서 거래를 진행할 수 있다. 각각의 영역에 속하는 동네들을 리스트 형식으로 반환하였다. 두 .. 2021. 11. 5. 당근마켓 검색 api 추가 -5일차 오늘은 검색 api를 만들기 위한 쿼리문을 짜는데 시간을 쏟았다. 총 2개를 만들었는데 첫 번째는 검색어를 통해 검색 결과를 리스트를 반환하는 api이다. 이 때 유저가 현재 선택하고 있는 동네에서 인증을 받았다면 검색 결과가 현재 유저의 동네에서 가까운 순으로 정렬된다. 유저가 현재 선택하고 있는 동네에서 인증을 받지 않았다면 검색 결과가 사전 순으로 정렬된다. 이를 구현할 때 각 행정구역별로 검색을 할 수 있도록 하였다. 예를 들어 "전농동"을 검색하면 "서울특별시 동대문구 전농동"의 형태로 가까운 순으로 동네가 출력된다. "서울특별시"를 검색하여도 검색 결과가 정렬이 되어 출력된다. 그러나 문제가 하나 있다. "서울특별시 동대문구" 라고만 입력을 하여도 검색 결과가 나타나지않는다. 각 행정구역을 분.. 2021. 11. 4. 당근마켓 1차 피드백 - 4일차 오늘은 멘토님에게 1차 피드백을 받았다. 나름 열심히 했는데 속도가 느리다는 평과 api 네이밍 지적, db 구조 지적을 받았다. 그리고 제일 중요한 지적은 협업의 의미를 잘못 알고 있는 것 같다는 평이다. 이제껏 db설계와 api 설계 서버 설정 등 모든 것을 다른 개발자 1분과 같이 진행했는데, 이 부분을 각자 역할을 분담하여 진행했어야 했던 것 같다. 근데 분할을 했다면 둘 다 아직 실력이 부족해서 많이 헤맸을 것 같다. 그리고 프로젝트를 위해 git을 잘 다뤄야하는데 그 부분이 많이 부족한 것 같다. 오늘은 api를 각 잡고 만들어보려고 했지만 많은 악평을 받았기에 그동안 잘못 설계해온 것들을 수정하는데에 모든 시간을 사용했다. 오늘 역할 분담을 통해 address 도메인의 api를 만드는 역할을.. 2021. 11. 3. 이전 1 ··· 4 5 6 7 8 9 10 ··· 13 다음 반응형