Programming
-
imperative vs. functional languageProgramming 2018. 4. 18. 00:58
한동안 functional language 쓰다가 imperative language를 쓸때의 당혹감 가장 큰 문제는 생각하는 방법을 모르겠다는 것이였다. 전역변수를 선언한다는 게 이해가 안갔고, for문을 어떨때 사용해야하는 건지도 모르겠고, backtracking에서 일반적으로 하는 방식인 visit배열 선언과 dynamic programming 을 위한 배열선언 두가지 방식이 가장 낯설었다 .mutable 배열을 선언한다는 생각을 1도 못했다. functional 사고방식에서 imperative 사고방식 (명령어 언어)으로 전환하기 위한 방법, 도대체 둘이 뭐가 다른거야? 라는 질문에 스스로 답해보고자 한다. 1. mutable vs. immutable함수형언어에서는 변수나 함수를 새로 만들 수는 ..
-
Visual studio 환경 세팅Programming 2017. 6. 24. 15:39
Replace tab sizeTools->Options->Text Editor->All Languages->Tabs로 들어가서 2로 바꿈 whitespace VS whitespace visualizer 라는 tool 설치. https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespaceVisualizer빨간색으로 해주고, 파일 save할때마다 뒤에 공백 자동으로 없애줌. 80 column Editor Guidelines 툴 설치.https://marketplace.visualstudio.com/items?itemName=PaulHarrington.EditorGuidelines
-
fsharp compiler, interpreter 작업환경Programming 2017. 4. 21. 16:45
f# 개발환경 방법https://docs.microsoft.com/en-us/dotnet/articles/fsharp/tutorials/getting-started/getting-started-vscode f#설치Mac OSXbrew install mono로 할 수 있지만, mono홈페이지에 집적가서 다운로드하는 편이 좋다. $fsharpi$fsharpc WindowsWindows SDK설치하면 된다. visual studio codelonide와 관련된 package를 다운 받으면 된다. https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp (VS code에서 ctrl+p로 package search가능하다) FAKEvisua..
-
python 코딩Programming 2017. 1. 31. 15:00
python http 코딩 1. request보내기import requestsr = requests.get('https://api.github.com/events')r = requests.post('http://httpbin.org/post', data = {'key':'value'}) 2. cookie값 추가import requestsreq_cookies = dict(style=cookie)r = requests.get('https://api.github.com/events', cookies = request_cookies) 3. 웹으로부터 파일 받아오기import urllib testfile = urllib.URLopener()testfile.retrieve("http://randomsite.com/..
-
C++ 문자열 및 파일Programming 2016. 6. 7. 18:03
std:string -> char* std::string str = "string"; char* chr = str;chr = str.c_str(); c++ getline함수 1. 의 cin, 의 ifstream의 멤버 변수char cstr[512];cin.getline(cstr,512);ifstream inf("test.txt"); char cstr[512]; inf.getline(cstr,512); 2. string의 getline함수string str1; string str2; ifstream inf("test.txt");getline(inf,str1); //파일 입출력 getline(cin,str2); //표준 입출력두가지 종류의 getline 이 있음. istream& getline (istrea..
-
sourceforces 158B - 10Programming 2016. 5. 19. 21:50
나의 첫 codeforces taxi grouping은 implementation, greedy. trobleshooting1. 알고리즘을 잘못짬.문제를 잘못이해해서 전체 인원수 sum한 후, taxi max인원수로 나눠주면 될꺼라는...초딩같은 생각으로 구현 했다.신기하게도 test 37까지감. geedy에 대한 개념을 전혀 적용하지 않았음.May/19/2016 14:14Runtime error on test 37 알고리즘 완전바꿔서 다시구현. 20분걸림...ㅂㄷ 그룹의 인원수는 4,3,2,1중 하나이고, 3일때는 남은자리 1개flag set, 2일때는 남은자리2개 flag가 set되어있는지 확인하고, 아니면 set.뭐 이런식으로 flag를 set, unset하여 구현했다.나의 알고리즘은 첫 input..
-
[linux] mmap sys callProgramming/system programming 2015. 11. 1. 12:17
원문 http://blog.naver.com/saiezo/120194833729참조: http://man7.org/linux/man-pages/man2/mmap.2.htmlhttp://unix.superglobalmegacorp.com/Net2/newsrc/sys/mman.h.html #include #include void* mmap(void* start, size_t length, int port, int flags, int fd, off_t offset) mmap() 함수는 fd로 지정된 디바이스 파일의 내용을 offset에 해당하는 물리 주소에서 시작하여 length 바이크 만큼을 start 주소로 copy해준다. (map or unmap files or devices into memory) ● ..