반응형

Programming$ 41

[python] membership 관련

[python] membership 관련 특정 타입들의 객체들만 처리할 일이 있었는데, 다른 사람들의 코드를 볼 때 내 경험 상 ()를 사용해서 tuple로 처리하거나, {}를 사용하여 집합으로 처리하는 두 가지 방법들을 사용했었다. [] 리스트도 가끔 있기는 했는데, 잘 사용하지 않았던 것 같다. 각각 어떤 장점이 있는지 궁금해서 찾아보았다. https://towardsdatascience.com/python-tricks-check-multiple-variables-against-single-value-18a4d98d79f4 1. Tuple을 사용하는 경우 if a_type in (a_type, b_type, c_type): # do something 메모리 사용량이 셋 중에 가장 적다. 2. Set을..

Programming$ 2022.11.02

python exception 처리

python exception 처리 이제까지 python 코드를 근본없이 작성하다가, 요즘 프로젝트를 하면서 파이썬 개발 디자인 모델이나 pythonic 하게 코드를 작성하는 팁을 찾아보고 있다. 요 글은 python의 exception을 어떻게 하면 좋게 처리할 수 있을까에 대해 나름 개인적으로 고민도 하고 서칭하면서 찾아본 내용을 간단하게 정리한 글이다. (반박시 그대의 말이 다 맞음) case 1 : exception inheritance exceptions.py class dummyclass(Exception): pass ​ class testException(dummyclass): def __str__(self) -> str: return f'testException' ​ class testEx..

Programming$ 2022.10.21

[Android] 외부 라이브러리 사용하기

[Android] 외부 라이브러리 사용하기 MPAndroidChart 라는 것을 사용해보기로 했는데, 외부 라이브러리라 따로 디펜던시를 추가해줘야 했다. 근데 안드로이드 개발을 잘 안해보다보니 gradle 사용하는 것부터가 막힘 ㅋ 안드로이드는 외부 라이브러리를 사용하기 위해서 gradle 파일에 경로를 추가해줘야 함. 사용할 라이브러리는 이거다. https://github.com/PhilJay/MPAndroidChart 사용방법에 다음과 같이 나와있었는데, 정확히 어디에 추가해야 되는지 몰라서 찾아봤다. repositories { maven { url 'https://jitpack.io' } } dependencies { implementation 'com.github.PhilJay:MPAndroidC..

[Javascript] CountDown 구현

[Javascript] CountDown 구현A ~ B 까지의 특정 이벤트가 존재할 떄, 이벤트 시작 전에는 이벤트 시작까지 남은 시간이 나오고, 이벤트 중간에는 이벤트 종료 시각까지 않은 시간이 나온다. 이벤트 종료 후에는 Expired 메시지가 뜸. ​ var countDownDate; var check = function(){ var now = new Date(); now = now.getTime(); if (now > new Date("Sep 5, 2020 00:00:00").getTime()){ countDownDate = new Date("Sep 7, 2020 00:00:00").getTime(); } else { countDownDate = new Date("Sep 5, 2020 00:00:..

SDL_TTF 사용하기

SDL_TTF SDL이용해서 문자를 화면에 나타낼 수 있다.나는 화면에 스코어 나타내려고 사용했음.SDL_TTF installhttps://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.15-VC.zipSDL_TTF Usagehttps://gigi.nullneuron.net/gigilabs/displaying-text-in-sdl2-with-sdl_ttf/대충 다음처럼 함수만들어서 사용하면 편함. void Game::PaintText(char* str, int x, int y) { SDL_Color color = { 255, 255, 255 }; SDL_Surface * surface = TTF_RenderText_Solid(font, str, ..

glide (feat. custom dialog)

glide구글에서 지원하는 안드로이드에서 사용할 수 있는 오픈소스 미디어 프레임워크다.이거를 이용해서 png/gif 등의 다양한 이미지를 쉽게 업로드 할 수 있어 많이 사용된다고 한다.자세한 사항은 다음 링크를 참고 https://github.com/bumptech/glide다음은 glide를 사용하는 예제인데, 나는 AlertDialog에 gif 파일을 집어넣고 싶어서 glide를 사용했다.custom dialog를 만들고 그 안의 ImageView에 glide로 gif를 집어넣으면 된다.Usage우선 build.gradle (Module: app)에 존재하는 디펜던시 리스트에 다음과 같이 추가한다.dependencies { implementation 'com.github.bumptech.glide:g..

Game Programming in c++ Environment Setting (SDL)

Game Programming in c++ environment setting (SDL) 우선 SDL(Simple DirectMedia Layer) 부터다. Download다음의 주소에서 SDL을 다운받는다. https://www.libsdl.org/Development Libraries에서 첫번째 SDL2-devel-2.0.12-VC.zip을 받으면 된다. Visual Studio Setting다운로드 받은 파일을 적당한 위치에 풀고 다음과 같이 헤더 파일이 있는 include 폴더와 라이브러리가 존재하는 lib 폴더 두 가지를 참조할 수 있도록 visual studio에 추가해야 한다. 본인은 Visual Studio 2017을 사용하고 있다. 프로젝트 속성으로 들어가서 다음과 같이 포함 디렉터리와 ..

JNI function symbol 제거하기

JNI function symbol 제거하기 공유 라이브러리인 so 파일에 다음과 같이 함수 이름이랑 타입 등의 심볼 정보가 있어서 제거하는 방법을 좀 찾아봤다. 역시 스택오버플로우에는 모든게 다 있다!https://stackoverflow.com/questions/17022983/is-it-possible-to-remove-symbols-from-a-shared-library-built-with-android-ndk 다음과 같이 Android.mk에 LOCAL_CFLAGS에 -fvisibility=hidden을 추가해주면 된다. 심볼 정보가 사라졌다!

반응형