본문 바로가기

new/new dev

char이 얼마나 커질 수 있을까 c# 난 c개발자로 시작해서 char의 범위는 1byte였지만, c#으로 전직 후 새로운 사실을 발견하게 됨 char의 max값이 65535라니! 덕분에 한글의 1글자를 char하나로 표현 할 수 있다 char c = 'ퟗ'; //이런게 가능 그래서 이번에 magic char로 실제론 안쓰는 한글 1글자로 정했다 속도우선이었기에 안정성을 포기하고, 속도만을 중시 했다(꾸역꾸역) 실제로 개발초기에는계산해보니 전체를 전부 계산하는데 70일이 필요했다 그래서 다른건 포기하고, 속도만을 위한 튜닝과 리팩토링을 거쳐서 3.5일로 마무리 했다. 약간의 아규는 남아 있지만... 암튼 덕분에 char의 max값을 확인 해 볼 수 있었다 다시 봐도 싱기 더보기
edge(chromium) 설치 해 봄 최신 크롬과 비교해서 use-agent에 `Edg/79.0.309.71`이라고 붙는다 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71 첫인상 ntp(new tab page)에 office 365가 나온다 google계정으로 로그인이 안된다 -> 크롬 동기화 사용 불가 물론 처음에 다른 브라우저(크롬)에서 북마크 등은 가져 올 수 있다 ms계정으로 로그인하면 동기화는 가능하다 ui, 사용성은 크롬과 굉장히 유사(당연히 크로미움이니까) extension/app이 있는지 모르겠지만 사용은 안해봄. 크롬에서 동기화는 안됨 1,.. 더보기
c# 특수문자 제거 (정규식 말고) 결론 부터 고 string clenaName = new string(oldName.Select(c => char.IsLetterOrDigit(c) ? c : ' ').ToArray()); 정규식이 코드도 깔끔하고 좋지만 무겁고 영어, 한글 이외에 일본에 중국어 외국어 등을 제외하고 특문만 뽑는건 쉬운게 아니다 char.IsLetterOrDigit()함수를 linq로 처리하면 휠씬 빠르고 생각보다 정규식보다 가독성이 좋다 좋다 무조건 고 더보기
룰렛 만들어 볼까? 룰렛판 돌려서 이벤트 하는 프론트 페이지를 만들어 보자 룰렛 칸 갯수, 상품, 확률(% or 하루에 몇 명) 그나저나 js어떻게 하는거지 ㄷㄷㄷ 더보기
c# FileInfo 파일을 새로 저장하거나 할 때 해당 폴더(디렉토리)가 존재 하지 않으면 에러 발생하니, 해당 폴더가 있는지 확인하고 생성하는 코드 샘플 private static void CheckMakeDir(string filePath) { string dir = new FileInfo(filePath).DirectoryName; if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); } 저장한 파일이 잘 저장됐는지 확인을 위해 사이즈 체크하는 코드 샘플 string url = "http://urlurl/test.txt"; string filepath = "c:/test.txt"; Console.WriteLine($"Let's Download {url}"); usi.. 더보기
쉴 스크립트 sample #! /bin/sh while [ true ] do now=$(date +%H%M) if [ $now -eq '1051' ]; then #10:51 LOG=$(curl http://localhost/Calculate?count=1\&chg_id=idid\&include_blank=true) echo -e $(date) '-' $LOG >> test.log sleep 60 elif [ $now -ge '1100' -a $now -lt '1900' ]; then #11:00 ~ 18:59 LOG=$(curl http://localhost/Calculate?count=1024\&chg_id=idid\&include_blank=false) echo -e $(date) '-' $LOG >> test.log if .. 더보기
gitlab with docker gitlab 설치 및 실행gitlab을 따로 설치하면 DB에 루비에 어려움이 많지만 gitlab docker 이미지를 가져오면 한방에 설치 할 수 있다 간단히 다음 명령어를 실행하면 최신버전의 gitlab이 설치 & 실행 된다.$sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/git.. 더보기
docker + redmine, docker + gitlab 최근 팀내에 형상관리와 이슈트레킹이 화두여서 가장 관심있는 gitlab과 redmine을 docker에 올려보았다. 실제로 gitlab이나 redmine을 설치한건 아니고 github에 있는 이미지를 사용하였다(https://github.com/sameersbn/docker-gitlab) 첨음에는 뻘짓 많았는데, 그래도 성공! gitlab이 내부적으로 rdb와 redis를 둘다 사용한다. 맥북에서 실제 disk에 쓸 file 권한문제 때문에 좀 헤맸다(https://docs.docker.com/docker-for-mac/osxfs/#namespaces) 아래와 같이 연결했다 gitlab + redmine 조합으로 하려고 했으나,redmine에 ITS기능이 생각보다 나쁘지 않다redmine없이 그냥 git.. 더보기