PR 확인 하셨을까요?회사에 출근하면 하루도 빼먹지 않고 하는 것 같은 말이 있다면, 그것은 바로 'PR 확인 부탁드립니다~ '인것 같다. 하루는 출근하자 마자 옆자리 동료가 '혹시 제 PR리뷰 확인하셨을까요?' 라고 했는데, 내가 이미 리뷰한 사항이었다. 문득 다음과 같은 생각이 났다. PR 리뷰, 댓글, 승인자동으로 알림 받고 싶다.기존에도, 이메일로 bitbucket활동에 관해 메일을 받고 있기는 했지만, 사실상 메일은 목록만 봐서는 직관적이지 못하고 여러개의 알림메일이 혼재되어 있어 회사에서는 메신저로 slack을 사용하고 있었기 때문에, 당연히 관련 플러그인이 있을거라고 생각하고 검색해봤다. 결론적으로는 Bitbucket에서 일어나는 여러가지 활동을 Slack에서 구독 가능하고 알림 받을 수 ..
There are no solutions: there are only trade-offs.해법이라는 것은 없다. 오직 절충만이 있을 뿐이다. 프로그램의 성능은 비즈니스 요구사항 충족이라는 우선적인 과제에 늘 밀리기 마련이지만, 개발자에게는 성능을 관리하고 개선 시켜야할 역할과 책임이 있다고 생각한다. 성능을 개선하기 위해서는 먼저 성능을 측정해야 한다. 그래야만 성능이 개선 되었을 때, 어느정도 개선되었는지 그 수치를 정확하게 측정할 수 있다. 오늘은 Lighthouse에서 웹페이지의 품질을 분석하고 그 분석 결과를 통해 간단한 개선 위주로 정리해보려고 한다. 회사에서 일본 웹 서비스의 SEO 개선을 목표로 하고 있어, 점진적으로 개선을 시도할 예정이다. (SEO를 핑계로 프로그램 성능 왕왕 ..
"저희는 이 api 클라이언트에서 써야하는데.. 그럼 CORS 처리해주시나요?" 최근 회사에서 통합 검색 api를 다른 도메인으로 요청하라는 개발 사항을 전달 받고 다시 떠오른 CORS 이슈.누구나 겪었지만, 누구나 제대로 알고 처리하는 것은 아니기에 이제라도 제대로 정리해보자는 마음으로 정리해본다. CORS를 설명하기 위해서는 먼저 SOP를 알아야 한다. SOP📮 Same-origin Policy (동일 출처 정책) 란?Same-origin Policy(MDN): 하나의 출처에서 만들어진 문서/스크립트가 다른 출처의 자원과 어떻게 상호작용 할 것인가에 대해 제한하는 주요 보안 방식: The same-origin policy is a critical security mechanism that res..
개요 2.27일 월요일 방문한 DEVIEW 2023. 이전에 다니던 회사에서 보내주는 세미나 외에 나 홀로 오프라인 컨퍼런스를 신청해서 다녀온 것은 처음이었다. 웹 개발로 전향한 이후, 국내에서 들을 수 있는 컨퍼런스가 많아져서 좋다. 모든 것을 다 이해할 순 없지만, 그래도 내가 사용하는 기술과 가깝고, 사용하는 워딩도 비슷하다는 사실에 놀랐다. 더 오래, 더 많은 것을 들을 수 있었으면 좋았겠지만, 일도 있고 해서 반나절 정도만 참석했다. 개발의 세계는 참 넓고, 다양하고, 끊임없이 변화한다. 내가 어쩌다 이 세계에 발을 들이게 된건지,, 신세를 한탄하면서도 좋은 기술팁과 인사이트를 얻을 수 있는 유익한 시간이었다. 자료가 공개되면, 더 꼼꼼히 볼테지만 우선은 까먹기 전에 후기를 남겨 보려고한다. 내..
Stash: (안전한 곳에) 넣어두다[숨기다] 보통 한 번에 하나의 이슈만을 처리하면 좋겠지만, 일을 하다보면 여러개의 일을 처리해야 할때도 있고, 특정 브랜치에서 뭔가를 확인해야 할일 도 생긴다. 이 때, 작업중인 내역을 커밋할 수는 없고, 날리기도 아까울 때 필수적으로 사용하게 되는 명령어가 바로 stash 이다. 기본 사용법 1) 저장(save) save 뒤에 따옴표로 description을 포함하여 저장한다. $ git stash save '[Feature] ** 작업중' 2) 목록 보기(list) $ git stash list 위와 같이 저장한 목록은 list 명령어로 볼수 있다. stash는 스택으로 관리된다(FILO/선입후출). 결과는 아래와 같이 출력된다. 3) 적용하기(apply) 변경 ..
샌드박스에서 React 코딩을 하다가 VScode로 복사 해왔는데, 몇가지 오류를 경험하고 해결 과정을 기록해둔다. 1. npm start 가 안될 때 PS C:\Users\workspace\react-hooks\src> npm start > react@1.0.0 start > react-scripts start 'react-scripts'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 해결 방법 npm install -save react-scripts 해당 명령어를 실행하면 node_modules를 폴더가 생기면서 npm start가 가능해진다. 2. Manifest: Line: 1, column: 1, Syntax error. 오류 해결 방법 index.html..
C#에 관해 그 동안 익혀왔던 것들을 조금씩이라도 블로그에 정리해보기로 마음 먹었을 때, 가장 먼저 하고 싶으면서도 망설여 졌던 주제가 Await, Async이다. 아무튼 오늘의 포스팅을 통해, 좀 더 개념을 명확히 이해할 수 있게 되길, 다음에 읽었을 때는 더 많이 알게 되었길 바래본다. Go for it! 1. 비동기란 무엇인가? 위 사진은 비동기 프로그래밍에 현실적인 예이다. 우리는 바쁜 아침 시간, 조금이라도 더 풍성하게 먹기위해, 비동기적으로 아침을 차린다. 후라이팬에 불을 올리고, 토스트기에 빵을 넣고, 후라이팬이 데워지면 기름을 두르고 계란을 넣는다. 이 때, 계란을 부치는 일과 빵을 굽는 일은 비동기적으로 일어나도 괜찮다. 나중에 이를 합쳐서 샌드위치를 만들어 먹겠다고 하면 동기화가 필요하..
에디터 설정 파일은 일정한 editor 환경에 종속적이기 때문에 원격저장소에 저장할 필요가 없다. (그렇다고 버전관리가 불필요한가? 싶은 의문은 든다.) 아무튼 .gitignore에 추가하는 것을 빼먹고 불필요한 파일을 이미 커밋한 경우 제거하는 방법을 알아보자 1. Git 에서 파일 or 폴더 삭제하기 $ git rm --cached {삭제할파일} $ git rm -r --cached {삭제할폴더} 나의 경우에는 git rm -r --cached .vscode 2. 변경 내역 Commit 하기 $ git commit -m "untrack .vscode" 3. .gitignore 파일에 해당 폴더 추가하기 # VsCode .vscode 4. 변경 내역 Commit 하기 $ git add .\.gitign..
함수를 정의 하다보면, 여러개의 변수를 반환하고 싶을 때가 있다. 또는 여러개의 연관된 변수를 묶어 사용하고 싶기도 하다. 그러나 새로운 타입의 객체를 생성하기 부담스러운 경우(객체 너무 많아...한번 쓰고 버릴건데..) 튜플을 사용해볼 수 있다. 1. Tuple 사용하기 public void Example() { var colorInfo = GetColor(); Console.WriteLine($"name: {colorInfo.Item1} " + $"r:{colorInfo.Item2} " + $"g:{colorInfo.Item3} " + $"b:{colorInfo.Item4}"); // Output // name: red r:255 g:0 b:0 } public Tuple GetColor() { ret..