전체 글
-
2022 인프콘 컨퍼런스 참여 후기컨퍼런스 2022. 9. 2. 15:34
코로나 이후 처음으로 오프라인에서 진행하는 2022 인프콘 컨퍼런스에 운좋게도 추첨되서 행사에 참여하게 되었다. (인프런에서 호구?처럼 강좌 구매하고 수강도 안해서 뽑아준건지도 모르겠다) 행사 url: https://infcon.day/ 1. 사이드 프로젝트 만세! 삼성전자에서 인터넷 브라우저 쪽 개발을 담당하고 있는 발표자는 '바나나 브라우저'라고 하는 사이드 프로젝트 시작 이유를 다음과 같다고 하였다. (1) 개인이 회사에서 제품에 영향력 발휘하기가 쉽지 않다. (2) 오픈소스 활등을 하지만, 권한이 부여되기 어려움 처음 시작은 기존 크로미움에서 아이콘만 바꿔서 출시해보자는 목표 지나친 장인정신은 사이드 프로젝트에서 실패의 원인이라고 함 개발보다 중요하다고 하는 마케팅! 광고를 하지 않으면 일일 평균..
-
sql 특수 상태 검색(조건 상태 검색)에 관한 글데이터베이스 2022. 8. 7. 18:22
목록에서 상태를 조건 검색해야 되는 상황. 여기서 단순히 status 칼럼 값만 검색을 하면 단순히 in 절로 검색을 하면 해결이 된다. 하지만 상태를 검색하는데 단순히 status만 검색을 하는 것이 아니라 다른 테이블의 상태 값과, 특정 상태인 경우 상태값과 날짜 체크를 같이 해야 되는 경우가 있어 처음 해당 사항을 진행하려고 할때 고민을 하게 되었다. 그래서 아무 생각없이 하려고 할때는 (a.status = 'A' and b.order_status = 'B') -- 1 or (a.status = 'A' and b.order_status = 'C') -- 2 여기서 1 번과 2번이 목록에서는 필터하려고 하는 상태조건에 따라 1번을 할수도 있고, 2번만 검색하려고 할 수도 있다. 이런식으로 하게되면 문..
-
Spring API 공통 response 포맷 개발하기Spring 2022. 7. 10. 18:24
기존 프로젝트 API 에서 response 되는 데이터를 살펴보니, response 가 내려가긴 하는데, 성공인 경우와 실패의 경우가 각각 다른 포맷의 response 가 내려가고 있었다. 서버는 데이터를 주긴 하지만 프론트 입장에서는 이렇게 개발하기 난감할 것이라는 생각이 들기도 하고, 게다가 사용자 정의 Exception 처리도 없어, 공통 response 포맷을 개발하는 것이 필요하다고 생각하였다. 다른 블로그 및 글들을 찾아본 뒤 다음 응답 클래스를 만들어보기로 했다. @Getter public class ApiResponse { private final int code; private final String message; private final List errorDetails; private..
-
사이드 프로젝트 수행기 (3)사이드 프로젝트 2022. 6. 22. 11:12
AWS 한 인스턴스에서 푸시 서버와 어드민 서버 두개를 동시에 올리고 진행해보니 어느날 다음과 같은 화면이 나오면서 서버가 내려가 있는것을 볼 수 있었다. 그러면 뭐가 문제인지 파악을 하기 위해 당연히 서버 로그를 찾아본 결과 로그에서는 아무런 기록이 없었다. 언제 다운이 된건지 에러가 났는지 나오면 쉽게 찾을텐데, 기록이 없으니 어떻게 한다? 당연히 검색을 한다. 검색을 해보니 /var/log/messages /proc//oom_adj pid가 17037 로 확인되어 다음과 같이 수행해보니, $ echo -17 > /proc/17037/oom_adj 다음과 같이 권한 거부 오류가 발생한다. -bash: echo: write error: Permission denied 관리자 권한으로 수행하니 동작하는것..
-
사이드 프로젝트 수행기 (2)사이드 프로젝트 2022. 6. 12. 18:06
이번에 진행했던 부분은 어드민 서버에서 지정된 조건의 유저들에게 푸시 서버로 API 를 호출하면 푸시 서버에서 해당 API를 받아서 단말기로 푸시를 보내는 기능을 구현하였다. (소스레벨에서는 어드민 모듈과 푸시 모듈로 구성) 푸시 보내는 어드민 화면은 다음과 같다. 푸시 서버는 별도로 구현하였고, 여기서는 위 화면의 '푸시 종류' 중에서 여러 종류 중 '이벤트 전체 알림' 인 경우에 대해 진행하였다. 푸시 서버에서 이벤트 푸시 보내는 경우 내용 소스이다. // 해당 이벤트 존재하는지 체크 Event event = eventService.findById(requestDTO.getEventId()); List allEventUsers = userService.findAllForEvent(); int succ..
-
사이드 프로젝트 수행기 (1)사이드 프로젝트 2022. 5. 29. 01:10
현재 회사를 병행하며 사이드 프로젝트를 하나 하고 있는게 있다. Wiie 프로젝트 시작 서비스명은 가칭 Wiiee 라는 이름인데, 놀거리를 사람들에게 '더 재미있게', 그리고 '더 간편하게' 즐길 수 있도록 돕는다 라는 취지에서 만들어진 서비스이다. 참고용 간단한 메인 스샷 우선, 제일 처음 시작은 방탈출을 특정 커뮤니티와 협업을 하게 되서, 그 커뮤니티에서 협의된 업체들과 시작으로 해당 업체들 예약을 할 수 있게끔 하도록 하는 것이 목표인데, 초기버전에서는 결제 없이 하는 예약으로 사용자들이 알아서 놀거리를 본 뒤 사람 모은 뒤 전화를 해서 하는 형태의 버전으로 생각하고 있다. 개밥먹기를 제안하다! 그리고, 이번주에는 팀 분들에게 구글에서 시행했다고 하는 '개밥먹기' Dog fooding 라는걸 한번 ..
-
글또 7기를 시작하며...카테고리 없음 2022. 5. 15. 10:23
페이스북에서 우연히 보다 글또라는 그룹이 있다는 걸 알게 되었고, 아래의 이유로 가입을 하게 되었다. 우선 글또를 모르시는 분들을 위해 아래 노션글을 참고하길 바란다. https://www.notion.so/zzsza/ac5b18a482fb4df497d4e8257ad4d516 1. 글또에 참여하게 된 이유 작년 9월쯤??인가 까지 다른 필요성으로 글을 쓰다가 회사일이나 기타 이유를 만들어 글을 안쓰고 있었다. 개발글을 써야 된다고 생각하고 있었지만 시간만 가고 글 쓰는 일은 나중으로만 미루는 나 자신을 보며 글또에 참여해서 강제로라도 나를 바꾸고 싶었다. 그리고, 글또에 참여하는 사람들을 보면 다른 사람들로부터 자극을 받는 것도 있을것이고, 나 자신도 계속 하다보면 누군에게 좋은 영향을 주지 않을까라는 ..
-
크롤러 만들기: session 처리 필요한 경우파이썬 2021. 7. 21. 19:01
크롤링을 하다 보면 cookies = { '_ga': 'GA1.1.1~~~~~~', 'csrf_cookie': 'hgjieofj92ejodijfsdf2323kb39', 'sessionid': 'hgjieofj92ejodijfsdf2323kb39', ~~ } 처럼 sessionid 라는 값을 보내야만 데이터를 받을 수 있는 사이트 들이 있다. 이런 경우는 대부분 로그인 을 한 후, 해당 서버의 session id 값으로 진행을 하기 때문에 일반적인 request 호출을 해서는 해당 session id 값을 알기가 어렵다. 파이썬에서 해당 session을 사용하는 방법은 다음과 같다. import requests # Session 생성 s = requests.Session() # 여기서 부터 requests..