전체 글336 offsetWidth, scrollWidth, clientWidth 차이 맨날 검색을 해도해도 헷갈리는 offsetWidth, scrollWidth, clientWidth offsetWidth: border를 포함한 width scrollWidth: scroll할 수 있는 숨겨진 영역을 합한 width clientWidth: width(border, scroll bar 포함하지 않음) jsfiddle에서 한 눈에 볼 수 있다. http://jsfiddle.net/y8Y32/25/ 2021. 6. 8. #과 javascript:void(0);의 차이 href="#" 는 클릭 시 해당 페이지의 가장 상단으로 이동하게 된다. href="javascript:void(0); 는 아무일도 벌어지지 않는다. 아래 codepen에서 확인해보자 https://codepen.io/jaejoon/pen/VwpxNoW 아래에 있는 #을 누르면 가장 위로 이동하는 것을 알 수 있다. 반면 javascript:void(0);은 아무일도 일어나지 않는다. Reference https://codesource.io/vs-javascriptvoid0-which-one-is-the-best-attribute-for-empty-links/ 2021. 6. 7. HTML File Path HTML, javascript의 경로 표현에서 / 로 시작하면 루트 디렉토리에서 시작하는 경로를, ../ 로 시작하면 현재 페이지의 상위 경로를 나타낸다. 이번에 프로젝트의 모든 namespace를 정리하면서 폴더 구조가 바꼈다. 내가 예전에 이미지 파일 경로를 폴더 구조에 영향없도록 개발해놨는데 이미지가 깨졌다. 알고보니 C#의 Server.MapPath("~/images")의 ~/ 와 헷갈려서 ../ 를 사용해버린 것이다.😨 게다가 마침 해당 폴더의 상위폴더가 Root Directory여서 별다른 문제도 없었다.😥 다시 실수하지 않도록 정리해둔다. Reference https://www.w3schools.com/html/html_filepaths.asp 2021. 6. 6. 개인의 능력과 조직 얼마 전 나에게 첫 팀장님이었던 전 회사 팀장님께 전화가 왔다. 별 다른 일은 아니고 내가 개발에 많이 참여했던 제품이 잘 팔리고 있어서 생각이 나셨다고 한다. 팀에 불만이 있다기보다 조직에 대한 불만으로 인해 회사를 떠났기 때문에 나도 나름의 아련함(?)같은 게 있었는데 먼저 전화를 주셔서 감사했다. 사실 처음 팀에 왔을때 나는 아무것도 못하는 무능력 그 자체였다. 그에 반에 경력직이었던 동기는 빠르게 적응해나가고 있었다. 내가 불쌍했는지 잘 챙겨주시던 당시 선임 연구원분이 어떻게 실력을 늘리는지 알려주셨다. "우리 팀은 여유로운 시기가 늘 있다. 그때 놀지말고 프레임워크 스펙문서를 읽고 공부해라." 동기가 핫딜, 뽐뿌 게시판을 찾아볼때 나는 MS Docs와 기술 블로그를 읽었다. Postback이 뭔.. 2021. 6. 4. undo commit(git revert, git reset) 시간은 되돌릴 수 없지만 커밋은 되돌릴 수 있다. 단, revert는 이력이 남는다. git revert 이력을 남기지 않고 되돌리기 위해서 reset을 사용한다. soft option은 워킹 디렉토리의 파일은 보존한다. git reset --soft HEAD~1 hard option은 워킹 디렉토리의 변동사항도 제거한다. 해당 커밋 이후의 모든 변동사항이 사라진다(상남자식 reset). git reset --hard HEAD~1 Reference https://git-scm.com/docs/git-revert https://git-scm.com/docs/git-reset https://www.git-tower.com/learn/git/faq/undo-last-commit/ 2021. 6. 3. [C#] IsNullOrEmpty vs IsNullOrWhiteSpace C#에서 빈 문자열 또는 null인 경우를 확인할 때 사용하는 Method의 차이를 알아보자. Visual Studio C# Interactive 기능을 이용해서 확인해봤다. IsNullOrWhiteSpace()의 경우, space 또는 tab, line break도 true를 리턴한다. 생각해보니 실제로 제품에서 사용할때 IsNullOrEmpty()로 충분할 것 같다. extension method로 someStringVariable.IsNullOrEmpty() 형식으로 사용하는 방법도 사용하기도 편하고 의미상으로도 좋을 것 같다. Reference https://stackoverflow.com/questions/18710644/difference-between-isnullorempty-and-isnu.. 2021. 6. 2. 코딩 컨벤션 신입 개발자도 왔고, 코딩 컨벤션을 맞추기 위한 작업을 하고 있다. C#은 Style Cop으로 컨벤션을 맞추고 있다. 규칙에 맞지 않는 코드는 Visual Studio에서 Warning으로 표시된다. 무엇보다 좋은 건 그 Warning들을 일괄로 수정할 수 있다! js는 아직 어떻게 해야 할지 토론 중이다. 나는 헷갈리면 먼저 snippet으로 확인하고, 그래도 모르겠으면 구글 js style guide를 참고한다. 전에 회사에서도 내 컨벤션이 이상하다고 욕하면 조용히 이 링크를 보내주곤했었다. 2021. 6. 1. data-* attribute data-* attribute에 저장된 데이터를 가져올때 jquery의 data() 는 - 다음에 오는 알파벳을 -를 제거하고 uppercase로 바꿔도 가져올 수 있다. 하지만, data- attribute 뒤에 오는 대문자도 data()로 가져오기 위해서는 lowercase로 가져와야 한다. 모든 attribute가 lower처리되고 -가 오면 -를 제거하고 바로 뒤에 오는 알파벳만 uppercase한다고 생각하면 된다. "data-productId" => "productid" "data-ProDUctId" => "productid" "data-product-id" => "productId" "data-PRODUCT-ID" => "productId" 반면에 getAttribute는 대소문자 구별 없이.. 2021. 6. 1. npm prune node_modules 폴더에서 package.json 과 관련없는 패키지를 제거해주는 명령어 npm prune github에서 VAA Repository의 패키지 중 하나에 대한 보안 경고가 왔다. 사용하지 않는 패키지여서 package.json에서 지웠는데 그래도 node_modules 폴더에 남아있었다. 이 참에 사용하지 않는 패키지들을 지울 수 없을까? 하는 생각이 들어서 검색해봤다. 가지를 친다는 prune이라는 네이밍이 찰떡이다. Reference https://docs.npmjs.com/cli/v7/commands/npm-prune 2021. 5. 29. 이전 1 ··· 31 32 33 34 35 36 37 38 다음