본문 바로가기

Dev/coding

if-else 문을 줄일때 오류 대학생때 파이콘갔다가 배민 개발자가 python 리팩토링 기법 몇개를 ppt를 소개했던게 있다. 그중 if else를 줄이라는건데 ㅇㅇ 공감했기에 줄일려고 시도했다. 그중 내 방식은 && 를 사용하곤 했는데 (그때 그 개발자도 이 방식 소개했음) 실제로 일을하면서 코딩을 하다.중첩을 &&로 줄일수 있을것 같은데.. 결과가 달라지는 부분이 있었다. 기억은 안나지만 이런경우도 있다고 메모를 해논다. (나중에 시간있거나, 비슷한 코드를 찾으면 밑에 첨부하겠음) 더보기
[javascript] mouse click와 mouse down 의 차이 mouse down - 버튼을 누르고 있으면 계속 이벤트 발생, 게임에서 기관총 쏠때 꾹 누르고 있으면 됨 mouse click - 버튼을 누르고 있어도 한번만 이벤트 발생. 게임에서 기관총 쏠때 꾹 누르고 있어도 한발 밖에 안나감 더보기
[typescript] 정적타이핑 https://poiemaweb.com/typescript-typing TypeScript - Typing | PoiemaWeb 타입 선언은 코드 예측성을 향상시킨다. 또한 타입 선언은 강력한 타입 체크를 가능하게 하여 문법 에러나 타입과 일치하지 않는 값의 할당 등 기본적인 오류를 런타임 이전에 검출한다. VSCode와 같은 툴을 사용하면 코드 작성 시점에 에러를 검출할 수 있어서 개발효율이 대폭 향상된다. poiemaweb.com 이것 읽어보기 (정리까지하면 좋고) https://www.zerocho.com/category/TypeScript/post/5bab2086103eac558e45cdd7 (TypeScript) 블로그 타입스크립트 전환 후기 - import, export 이전 글에서 이어집니다.. 더보기
[typescript] d file 이란 자바스크립트로 된 코드를 타입스크립트로 사용하고 싶어서 타입스크립트 빌드를 돌렸더니, 타입스크립트.ts 코드가 빌드결과로 나올것이라는 제 예상과 다르게 .d.ts 코드가 나왔습니다. ㅇ_ㅇ JavaScript의 API 로써 (랩퍼역할) 타입스크립트의 타입정보만 기술된 파일이라고 하네요(걍 선언파일) 예시) jQuery나 자바스크립트 낮은 버전들을 타입스크립트에서 쓰고 싶을 때, 그 파일들을 재 작성하는 것보다 심플하게 타입 어노테이션 정보만 적혀있는 d.ts file을 생성한다고 합니다. (stackoverflow link) .d.ts file을 사용하는 방법은 .js 와같은 디렉토리에 같은이름으로 놔두고 import * as Test from "./testdir/test"; 이런식으로 작성하면 됩니다... 더보기
그리디 그리디 탐욕 알고리즘은 이후의 선택이 가져오는 이익을 내다보지 않고, 현재 당면한 상황에서 가장 최적의 선택을 한다. 그렇기 때문에 그리디 알고리즘으로는 최적의 해를 구하지 못하는 경우도 있다. Prim Prim,Kruskal, Dijkstra 더보기
백트래킹 백트래킹 N-Queen 문제 ==CSP(Constrain satisfaction problems)문제 Backtracking은 CSP를 해결 하는 방법론! 개념! 왜냐하면 조건이 만족하는 경우라는 조건이 있기 때문이다. 응용 사례: 조합의 숫자를 셀 때, 어떠한 조건들을 가지고 있다면, 모든 조합이 아닌 특정조건에 한정해서 조합을 카운트 할 수 있다. 검색 성능은 향상된다. 트리상황을 예를 들면, DFS나 BFS 할때마다 invalid()해서 원하는걸 체크하는데 이게 은근히(매우) 중요하다는 것 일반적으로 백트래킹 구현 방법은 DFS,BFS 가 있다. DFS(깊이 우선탐색)을 통하여 구현하는데 BFS(넓이 우선탐색)의 경우 상대적으로 많은 메모리가 필요하기 때문이다. 다 가지고 있어야하니깐 시작부터.. 더보기
동적계획법 회사에서 심심할 때 보는 컴싸 동적계획법 알고리즘 설계 기법 알고리즘 패러다임(사고의 틀, 체계, 분류, 방법론): 동적계획법, 그리디, 백트래킹, 정렬 구현 알고리즘: Djikstra, DFS, Breadth First Search, BFS, 최선 우선 탐색(Best First Search/Heuristic Search), Prim Kruskal, Dijkstra, Juffman coding n 동적계획법(DP) 답을 구하고 재활용하는 것, 재귀생각하면 됨 f(a,b) = f(a-1,b) + f(a,b-1) (a,b >= 1 ) f(0,0) = 1, 임의의 자연수 n에 대해 f(n,0) = f(0,n) = 1 이럴 때 그냥 계산시(재귀겠져) 5번, 동적계획법쓰면 4번 이 차이는 갈수록 커짐 (a,b) .. 더보기
[python] python searching string within list import re li = ['df 1','as 3'] regex=re.compile("(df).*") for l in li: for m in [regex.search(l)]: if m: print(m.group(0)) 더보기