배움/기타 개발 이야기
-
[Tidy First - 소프트웨어 설계] 00. Tidy First?배움/기타 개발 이야기 2024. 6. 12. 03:24
데이터야놀자 행사에서 받은 켄트 벡의 Tidy First.오늘부터 조금씩 조금씩 읽으면서 배운 내용을 정리해볼 생각이다.여기서는 들어가는 말을 읽으며 생각한 것들을 몇줄 써본다.'좋은 코드'라는 것은 결국 사람의 주관에 있는 것이다.객관적인 지표는 없다.동료들(혹은 기타 개발자 집단)이 좋은 코드라고 입을 모을 수 있는 코드라면 좋은 코드이다.그들의 마음엔 천 가지의 각기 다른 노하우들이 있다.때문에 실력있는 개발자는 '천 가지의 각기 다른 노하우를 가장 이상적인 모습으로 통합할 수 있는 개발자'이다.그러기 위해서는 '학습'과 '소통'이 모두 균형있게 이루어져야만 한다.그 예를 들자면.. 학습의 측면1. 타인의 노하우(책, 인터넷, Peer Review 등)를 제대로 & 빠르게 내 것으로 만들 수 있어야..
-
Feature Flags (기능 플래그, 기능 토글)배움/기타 개발 이야기 2024. 6. 9. 01:01
최근 업무에서 Feature Flags 혹은 Feature Toggles (이하 기능 토글)라고 불리는 방식을 도입했다.기능 토글은 새로운 코드를 배포하지 않아도 특정 기능을 켜고 끌 수 있는 기술을 말한다. 기능 토글을 쓰면..1. 서버를 유지한 상태로 기능을 키고 끌 수 있다.2. 기존에는 기능 배포를 위해 반드시 코드 변경과 배포가 수반되어야 했다. 이렇게 되면 배포 관련 지식을 가진 개발자가 반드시 개입되어야한다. 그러나 기능 토글은 훨씬 간단하므로 개발자가 아니더라도 쉽게 키고 끌 수 있다.3. 프로덕션 환경에 새로운 기능을 좀 더 부담없이 배포할 수 있다. 문제시 바로 꺼버리면 되니까..4. 기본적으로 On, Off 값을 가지는데, 일부 소수 유저 (랜덤한 10%에게만이라던지) 에게만 새로운 ..
-
[데이터야놀자 2024] 행사 참여 후기배움/기타 개발 이야기 2024. 6. 4. 02:44
이벤터스 링크 데이터야놀자 2024 - 이벤터스데이터를 다루는 모든 사람들의 축제! 데이터야놀자 2024event-us.kr 우연한 기회로 '데이터야놀자(이하 데놀)'라는 행사에 참여하게 되었다.데놀은 무려 2016년부터 진행된 유서깊은(?) 행사로,오픈소스와 커뮤니티 정신을 기반으로 하고어울림, 참여, 즐거움을 중시한다고 한다. 최근에야 이 행사를 알게 되었는데,타임테이블을 보니 흥미로운 강의들이 많아 얼른 듣고 싶어져 신청하게 되었다. 예전에 '인프런'이라는 온라인 강의 사이트에서 주최한 행사를 참여한 적이 있는데 그 때와 비슷하게여러 강의가 병렬적으로 진행이 되면 그 중에 하나씩 고르는 식이었다. 데놀 2024의 타임테이블은 다음과 같다. 이 중에서 나는..1. 영상 크리에이터 파헤치기2. 금융 ..
-
자바스크립트 Shallow copy vs Deep copy배움/기타 개발 이야기 2024. 1. 27. 12:00
자바스크립트에서 기존에 존재하는 객체를 복사해서 새로운 무언가를 만들고 싶을 때가 있다. 하지만 그냥 새로운 변수를 선언해서 기존의 객체를 대입하면.. 새로운 변수를 변형했을 때 기존의 값까지 영향을 받아 상황에 따라 골치아파질 수 있다.. 이건 후술할 shallow copy가 된다. Shallow copy는 원본의 값을 '참조'하는 형태로 복사한다. 따라서 복사한 값의 형태가 바뀌면 그 원본의 값도 영향을 받는다. Deep copy는 원본의 값을 정말 그 값만 복사해오고, 원본과는 완전히 별개의 객체가 된다. 이를 수정하거나 해도 원본의 값은 영향을 전혀 받지 않는다. ex) //JavaScript 환경에서.. obj = {a: 1, b: 2}; new_obj = obj; new_obj.a = 3; c..
-
CORS 정책 관련 참고글배움/기타 개발 이야기 2024. 1. 22. 18:09
기본적으로 SOP(Same-Origin-Policy)라는 '같은 출처에서만 리소스를 공유할 수 있다는 정책이 있음. - 여기서의 '출처'는 'Scheme', 'Host', 'Port' 세 가지가 동일하다면 같은 출처로 봄. 더 자세한 내용은 상기 링크 참조 그러나 현실적으로 서로 다른 출처에서 리소스를 공유해야할 필요성이 큼. 때문에 SOP에 예외사항을 둔다. CORS라는 정책을 만족한다면 다른 출처라도 리소스를 공유할 수 있도록 함 다만, 출처를 비교하는 로직이 브라우저측에 있다. 때문에 서버끼리 통신을 할 때는 CORS 정책이 적용되지 않는다. CORS 때문에 에러가 발생했어도 서버 쪽에는 정상 응답 로그가 남기에, 에러를 찾기 어려워질 수 있다. 다른 출처를 가진 리소스 사용 구조 웹 클라이언트 어..
-
Mocking 진행중배움/기타 개발 이야기 2022. 12. 20. 01:52
오늘은 request list 부분을 거의 마무리하고 request detail 부분 작성으로 넘어갔다.프론트엔드를 하다보니 백엔드에서 올바른 API가 넘어오지 않는 상황을 겪는 경험을 하였고,그동안 내가 백엔드에서 불량 API 제공을 많이 해왔던 것 같아 미안했다 :(풀스택을 하니까 공감능력이 상승하네.. 좌우지간 detail 부분은 아직 백단에서 API 개발을 제대로 시작하기 전이라mocking을 처음 시도해본다.mocking은 서버가 아직 구축되어있지 않을 때,임시 데이터를 통한 서버처럼 작동하는 것을 만들어 프론트 개발을 원활히 하도록 하는 것이다. 도구는 Postman의 Mock Servers를 이용할 예정. https://way-be-developer.tistory.com/239이 링크를 통해..
-
인프콘에 참석하다배움/기타 개발 이야기 2022. 8. 27. 21:15
나는 인프런을 애용한다. 백엔드 엔지니어로서 경력을 시작한지 얼마 되지 않은데다,회사에서도 사수와 CTO는 저 멀리 싱가폴에 있기에더욱이 구글과 스택오버플로우, 인터넷 강의 등에 의존해야만 했다. 때문에 스팀 게임 수집하듯이 하나하나 인프런 강의 등을 사모은 결과꽤나 많은 돈을 인프런에 썼다..강의 소모하는 속도보다 새로 수집하는 속도가 훨씬 빠르다는건 비밀 어쨌든, 그렇게 마음의 의존도가 큰 인프런 주최의 행사가 열린다는 소식을 듣곤 꽤나 설레었던 것 같다. 같이 가기로 한분이 계셨었는데 나만 당첨되어서 결국 나 혼자 가게 되었다.. 경쟁률이 대략 10:1이라고 하더라 (아마?) 운이 좋다. 기다리던 끝에 행사날, 가벼운 마음으로 집을 나서 코엑스에 도착했다.도착해서 기념품을 받고 입장하니 포토존부터 ..