일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c# winform
- C++
- Algorithm
- 플러터
- Python
- C언어 포인터
- Flutter
- 깃
- dart 언어
- Houdini
- c# 윈폼
- jupyter lab
- gitlab
- c# 추상 클래스
- 다트 언어
- c언어
- 포인터
- 구조체
- vim
- C# delegate
- git
- Data Structure
- Unity
- 도커
- c#
- HTML
- docker
- 유니티
- github
- jupyter
- Today
- Total
목록Programming (313)
nomad-programmer
https://github.com/Cryptolens/cryptolens-python Cryptolens/cryptolens-python Cryptolens Client API for Python. Contribute to Cryptolens/cryptolens-python development by creating an account on GitHub. github.com
소프트웨어 라이센스 키를 생성하고 확인하는 방법은 무엇입니까? 의 대한 stackoverflow 글 https://stackoverflow.com/questions/599837/how-to-generate-and-validate-a-software-license-key/52019368#52019368 How to generate and validate a software license key? I'm currently involved in developing a product (developed in C#) that'll be available for downloading and installing for free but in a very limited version. To get access to al..
python 파일을 컴파일하는 방법. Cython을 사용하는 방법과 Nuitka를 사용하는 방법을 소개한다. Cython을 이용하면 .pyd 라이브러리 파일을 만들 수 있다. 아래는 nuitka의 홈페이지이다. https://nuitka.net/ Nuitka Home Hi all! :) My name is Taofeng Li and I go by the nickname of Tommy, github handle tommyli3318. I'm a Computer Science major at the University of California, Irvine in the United States. I am very excited to announce that I'll be contributing to Nui..
qdarkstyle, qtmodern 을 이용하면 테마를 바꿀 수 있다. # qdarkstyle 설치 conda install -c conda-forge qdarkstyle # qtmodern 설치 conda install -c conda-forge qtmodern QDarkStyle https://pypi.org/project/QDarkStyle/ QDarkStyle The most complete dark stylesheet for Python and Qt applications pypi.org QtModern https://github.com/gmarull/qtmodern gmarull/qtmodern PyQt/PySide Widgets Modern User Interface. Contribute ..
함수를 만들어서 넘길 때 lambda보다는 partial을 자주 사용한다. 간단한 예) from functools import partial def sum(a, b): print(a + b) f = partial(sum, 55) f(1) # 결과 56 lambda와 partial의 차이점 lambda와 partial은 비슷하지만 차이점이 있다. 람다의 경우 연산이 모두 끝난 후 코드가 생성된다. 반면 partial은 연산 도중 코드가 생성된다. lambda 예) # lambda의 예 funcs = list() for i in range(5): funcs.append(lambda: print(i)) for f in funcs: f() # 결과 4 4 4 4 4 partial 예) # partial의 예 f..
fgets 함수를 사용하여 문자열을 stdin으로 받는다고 생각해보자. 이때 fgets 함수가 받을 수 있는 길이보다 입력한 문자열이 더 길 경우, fgets 함수는 자기가 받을 수 있는 만큼만 받아 변수에 그 값을 넣어주고 끝난다. 그럼 이때 stdin 버퍼에는 입력 받고 남은 문자 찌꺼기들이 남아있다. 이것을 비워줘야 문제가 발생하지 않는다. 아래의 예제를 살펴보자. stdin 버퍼에 남아있는 문자들을 \n 문자가 나올 때까지 무한루프를 돌고 있다. 어째서 \n 문자일까? 이것은 키보드에서 Enter가 나올때까지 입력 스트림에서 버퍼로 저장되기 때문이다. 즉 \n이 마지막에 존재할 것이다. 그래서 \n 문자가 나올 때까지 무한루프를 돌리면 입력 버퍼는 깨끗이 비워진다. 입력 버퍼를 비우지 않아 예상치..
https://developer.android.com/ndk/guides?hl=ko NDK 시작하기 | Android NDK | Android Developers NDK(Native Development Kit)는 Android에서 C 및 C++ 코드를 사용할 수 있게 해주는 일련의 도구 모음으로, 네이티브 활동을 관리하고 센서 및 터치 입력과 같은 물리적 기기 구성요소에 액세스하는 데 사용할 수 있는 플랫폼 라이브러리를 제공합니다. NDK는 앱을 개발할 때 자바 코드와 프레임워크 API만 사용해야 하는 대부분의 초심자 Android 프로그래머에게는 적합하지 않을 수 있지만 다음과 같은 작업을 하나 이상 해야 하는 developer.android.com NDK 설치 https://developer.and..
scanf 함수와 scanf_s 함수 scanf 함수를 쓰게되면 경고 메시지가 나온다. scanf 대신 scanf_s 함수를 사용하라는 경고. 그 이유는 기존에 사용하던 scanf 함수가 구조적으로 안정적이지 않아 여러 위험을 안고 있는 함수이기 때문이다. 이러한 문제점을 보완하여 나온 함수가 scanf_s 함수이다. 그래서 scanf_s 함수를 사용하도록 컴파일러가 권장하고 있다. scanf 함수에서 scanf_s 함수로 달라진 점은? 기존 scanf는 char 형이나 문자열을 넣을 때 받을 수 있는 문자열의 사이즈를 넣지 않아도 사용이 가능했다. 그로 인해 사용자가 실수로 받을 수 있는 길이의 문자열을 초과하여 입력하면 스택오버플러우 에러가 발생했다. 이런 경우를 사전에 예방하자는 차원에서 나온 것이..
// 2진수 ex) 0000 0000 1010 0111 풀이1) (2의 7승) + (2의 5승) + (2의 2승) + (2의 1승) + (2의 0승) 풀이2) 127 + 32 + 4 + 2 + 1 결과) 166 // 8진수 ex) 074 풀이1) (8의 1승) * 7 + (8의 0승) * 4 풀이2) (8 * 7) + (1 * 4) 결과) 60 // 10진수 ex) 78 풀이1) (10의 1승) * 7 + (10의 0승) * 8 풀이2) (10 * 7) + (1 * 8) 결과) 78 // 16진수 ex) 0x00A3 풀이1) (16의 1승) * A + (16의 0승) * 3 풀이2) (16 * 10) + (1 * 3) 결과) 163
Python, C#, JavaScript 등은 쉽게 소스로 환원 시킬 수 있기 때문에 원 소스 자체의 로직은 변경되지 않지만 사람이 읽기에 아주 어렵게하는 것이 난독화라고 한다. 또한, 소스코드의 무단 도용, 아이디어나 알고리즘의 무단유출을 막기 위함이 주된 목적이라 할 수 있다. JavaScript 같은 경우에는 악성코드나 시그니쳐 등을 회피하기 위해 난독화 기법을 이용한다. 코드 난독화는 크게 보았을 때, 필요 이상으로 복잡한 코드를 만들거나 무의미한 코드를 삽입하여 난독화하는 방법과 데이터를 인코딩하여 가독성을 떨어트리는 방법이 있다. C언어 소스코드를 대상으로 코드 내에서 사용 중인 변수의 이름을 바코드 조합('l', 'i', 'I', '1'의 조합)으로 바꾸어 코드를 난독화 시킨다. 코드 내의 ..
Python 메뉴얼 컴파일 자료 py_compile 이용하는 방법 https://docs.python.org/3/library/py_compile.html py_compile — Compile Python source files — Python 3.8.1 documentation py_compile — Compile Python source files Source code: Lib/py_compile.py The py_compile module provides a function to generate a byte-code file from a source file, and another function used when the module source file is invoked as a script. ..
OSX에서 brew로 Qt5설치 brew install qt5 brew install Caskroom/cask/qt-creator // Qt Creator 실행 후 Qt Creator - Preferences - Kits - Qt Versions - Add - (Macintosh HD클릭 후 "Command + Shift + .[숨김파일 보여주는 단축키]") - /usr/local/Cellar/qt/5.13.2/bin/qmake
// home brew로 go 설치 brew install go // .bashrc나 .zshrc에 환경변수 설정 export GOPATH="${HOME}/.go" export GOROOT="$(brew --prefix golang)/libexec" export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin" // godoc 설치 go get golang.org/x/tools/cmd/godoc // golint 설치 go get github.com/golang/lint/golint 만약 VSCode를 쓴다면 아래의 Go Extension 설치 https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go Go - Visual ..