본문 바로가기

Programming110

HTML File Path HTML, javascript의 경로 표현에서 / 로 시작하면 루트 디렉토리에서 시작하는 경로를, ../ 로 시작하면 현재 페이지의 상위 경로를 나타낸다. 이번에 프로젝트의 모든 namespace를 정리하면서 폴더 구조가 바꼈다. 내가 예전에 이미지 파일 경로를 폴더 구조에 영향없도록 개발해놨는데 이미지가 깨졌다. 알고보니 C#의 Server.MapPath("~/images")의 ~/ 와 헷갈려서 ../ 를 사용해버린 것이다.😨 게다가 마침 해당 폴더의 상위폴더가 Root Directory여서 별다른 문제도 없었다.😥 다시 실수하지 않도록 정리해둔다. Reference https://www.w3schools.com/html/html_filepaths.asp 2021. 6. 6.
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.
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.
[MS-SQL] NULL Column 정렬하기 MS SQL Server에서 Order by NULL을 마지막으로 정렬하려면 아래와 같이 사용하면 된다. ORDER BY -Column DESC 최근 통계 화면을 개발하고 있다. ROLLUP을 사용 중인데 소계, 총계가 NULL로 표시되어 자꾸 상단에 표시됐다. 전에 사용하던 Oracle과 달리 NULL이 가장 상단으로 와서 당황스러웠다. ROLLUP을 거는 Column이 INT형이라 ISNULL(Column, Number.MAX_VALUE) 로 하단으로 보내려고 했었는데, Number.MAX_VALUE도 MS SQL에는 없나보다. (있었어도 별로인 방법이라 사용은 안 했을 듯) 아래 방법도 MS SQL Server에서 사용할 수 없었다. ORDER BY Column DESC NULLS LAST 결국 아.. 2021. 5. 28.
Web.Config Timeout Web.Config의 ExecutionTimeout의 Default는 110초다. 처음 이직하고 Web.config 파일을 보고 경악을 금치 못했다. 배포가 debug 모드로 되고 있었던 것이다. 그래서 Web.config의 debug attribute를 false로 바꾸고 배포해야 한다고 말했고 변경이 되었다. 하지만 그것은 앞으로 다가올 재앙의 시작이었다. debug 모드일때 ExecutionTimeout이 적용되지 않는다. 하지만, release 모드로 바꿔서 timeout 110초가 생겼더니 몇년 동안이나 timeout이 없는 채 사용되었던 제품에서 110초가 넘어가는 모든 operation에서 에러가 발생하기 시작했다. 그 다음날부터 CS는 빗발쳤고 허겁지겁 성능개선을 하거나 Timeout을 늘.. 2021. 5. 26.
Github Action으로 자동으로 README.md에 링크 생성하기 블로그에 쓸 내용을 기록할때 Github Action을 이용해서 자동으로 README.md에 링크를 업데이트하도록 만들어놨다. TIL을 시작해보려 하는데 비슷하게 구현해놓으면 좋을 것 같아서 Repository를 생성해놨다. Github Action을 이용한 README.md 자동 업데이트 Action 탭에서 Python package를 누른다. python-package.yml 에 있는 내용을 복사한다. 이 파일에서 update.py를 실행하고, git commit, push하도록 설정한다. Repository를 보면 TIL 폴더에 README.md가 있고, 그 하위에 firstTIL에도 README.md가 있다. Root에 있는 README(빨간색)의 내용을 다른 폴더의 README의 링크로 자동으로.. 2021. 5. 24.
[git] 무료 입문강의 https://www.inflearn.com/course/git-and-github#curriculum [무료] Git과 GitHub 시작하기 - 인프런 | 강의 배우기 어려운 Git의 사용법을 쉬운 Gui 프로그램인 SourceTree를 통해 익혀봅시다., [임베딩 영상] git과 github git 은 형상 관리 시스템(Verson Control System) 의 한 종류입니다. 주로 개발자들이 프로그램 www.inflearn.com 인프런의 Git 무료 강의 2021. 5. 22.
[c#] Lambda 표현식을 파라미터로 받기 Method에서 Lambda Expression을 파라미터로 받기 위해서 두 가지 방법이 있다. 1. Expression 2. Func, Func, ... public class Program { public static void Main() { Console.WriteLine(Method1(x => x + " add string")); Console.WriteLine(Method2(x => x + " add string")); } public static string Method1(Expression expression) { string x = "Method1"; var method = expression.Compile(); return method(x); } public static string Me.. 2020. 11. 10.