
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 매번 느끼지만, 정규식은 문제마다 솔루션이 다르게 존재하는 느낌이다(...). 100개의 문제가 있으면 솔루션도 100개인 느낌이랄까. 요약• regexp는 모든 occurrence를 찾는다. 첫 번째 occurrence만 찾으려면 'once' 옵션을 사용한다. idx = regexp(str, pattern, 'once');• regexp는 기본적으로 인덱스를 반환한다. 문자열을 받고 싶으면 'tokens' 옵션을 사용한다. 이때 2, 3번째 반환값은 startIdx와 endIdx이다. 매칭이 N개이면 startIndx와 endIdx의 길이도 N이다.[matches, startIdx, endIdx] = reg..

수치해석 중간고사에 grading 함수 작성 문제를 출제했다. 그리고 assert를 이용해서 채점 코드를 만들었다. 그리고 문제가 발생했다.학생은 분명히 잘 풀었는데 실패라고 뜬다. 리스트를 수정하는 문제였는데, 나의 의도는 새로운 리스트를 만드는 것이었으나, 입력 리스트를 그대로 수정해서 반환하도록 제출한 학생이 있었다. 리스트 복사본이 문제인가 싶어서 온갖 수정을 가해봤으나 여전히 해결되지 않는다. 값을 하나하나 비교해보아도 분명히 문제가 없는데 자꾸 실패라고 뜬다. 한 시간을 삽질한 끝에 문제를 찾았다. numpy가 import 되지 않았었다.(...) 에러는 NameError였는데 Exception을 대충 썼더니 엉뚱한 결과를 보여주던 것이었다. 예외처리를 성실하게 하지 않으면 독이 될 수 있..

오피스 365에서 오피스 2019로 바꾼 후 워드 수식 입력기에 버그가 생겨서 불편해졌다. 이 기회에 레이텍으로 갈아타보기로 했다. 감사하게도 몇몇 분들께서 좋은 튜토리얼을 찾아주셔서 초속성으로 배우고 바로 실전 돌입했다. 무엇이든 새로 배우는 가장 좋은 방법은 기존의 작업물을 새로 배운 스킬로 재작업하는 것이다. 지난 번에 작성했던 문서를 레이텍으로 똑같이 작성해보기로 했다. 그리고 그 결과물은 여기에... 결론: 워드로 돌아갈까... 아래는 첫 레이텍 문서를 작성하면서 겪은 고난과 역경과 삽질의 기록...이라기보단 그냥 몇 가지 팁이다. 대부분은아 이거 어떻게 하지? 라는 궁금증에서 출발해 무수한 검색을 통해 알게 된 것들이다. 1. overleaf에서- pdf pane을 더블클릭 하면 해당 부분의..

2024년 4번째 책: 수학을 읽어드립니다, 남호성 지음, 한국경제신문, 2021. 한줄요약: 영문학도는 어떻게 인공지능 연구자가 되었는가 (aka 영어인) 아주 간혹 그런 책을 만난다. 처음 읽을 때에는 그냥 그저 그랬는데, 이상하게 한 번 더 읽어보고 싶어지는 책. AngeloYeo님 채널에서 우연히 추천 영상을 보고 흥미가 생겨서 빌려봤다.(https://www.youtube.com/watch?v=V1I8HfBRHlI) 솔직히 초중반은 지극히 평범한 무용담 시리즈다. 이거다 싶으면 무모하게 도전하고, 아니다 싶으면 뒤돌아보지 않고 그만두고, 실패에도 좌절하지 않고 위기를 기회로 만들어 이겨내는, 어르신들이 좋아할 만한, 헝그리 정신이 투철한, 열정 가득한, 진짜 인생 열심히 사는 분의 성공기. 꼰대..

현재 폴더의 하위 폴더뿐만 아니라, 그 아래의 폴더, 그 아래아래의 폴더까지 모두 찾고 싶었다. 한참 고민했다. 재귀적으로 찾아야 하나? 재귀는 코드 짜기 귀찮으니까 어떻게든 while로 되지 않을까? ... ... 역시 검색을 잘 해야 한다. https://www.mathworks.com/matlabcentral/answers/448850-list-of-all-subfolders-and-theire-subfolders-etc 현재 폴더 아래의 모든 폴더와 파일을 찾고 싶다면 아래 한 줄이면 된다. d = dir('./**'); 하지만 이 중에는 '.'와 '..'가 폴더 개수만큼 들어있다. 아래 줄을 추가하여 이들을 제거할 수 있다. d = d(~ismember({d.name}, {'.', '..'}))..

gmail의 메일 검색 방법을 정리해봤다.● 참고한 곳들https://support.google.com/mail/answer/6593https://support.google.com/mail/answer/7190● 일러두기- 전반적으로 한글에는 잘 동작하지 않는 것 같다.- '문의하신'을 검색하고 싶은데 '문의'만 있는 경우와 '하신'만 있는 경우도 검색된다.0. 기본 문법 = 키워드:밸류아래는 몇 가지 예시이다.● 메일이 thread로 묶인 경우, 묶인 메일 중 조건에 맞는 것이 있으면 thread 전체가 검색된다.● 검색 시 whole word 기준인 것도 있고 아닌 것도 있다. 자세한 내용은 아래 참조.● '키워드1:밸류1 키워드2:밸류2'로 검색하면 두 조건을 모두 만족하는 것을 검색한다. 즉, A..

MATLAB R2024a Prerelease가 나왔습니다. Release note를 보고 자주 또는 종종 사용할 것 같은 것만 몇 가지 추려봤습니다. 1. 자유로워진 로컬 함수의 위치 로컬 함수를 코드 중간에서 정의할 수 있게 됩니다. 다만 if, for와 같은 conditional context 내에서는 정의할 수 없습니다. 2. Check spelling 기능 툴스트립-VIEW의 오른쪽 끝에 있습니다. 라이브 에디터의 텍스트, M-파일의 주석에서 파란색 밑줄로 보여줍니다. 3. createArray 함수 createArray를 이용하여 특정 클래스의 행렬을 만들 수 있습니다. 예전에는 클래스마다 초기화된 행렬을 만드는 방법이 달랐습니다. 4. arguments 블록 자동완성 이 상태에서 아래의 sug..