Python 경로 변경

1. Python 경로 확인

ls -l /usr/local/bin/python*

위 명령어를 수행하면 python 경로, 버전을 확인할 수 있다.

 

2. Python 경로 변경

ln -s -f /usr/local/bin/python3.12 /usr/local/bin/python

목록에 있는 python 버전 중 3.12 버전으로 바꾸기 위해서 위 명령어를 수행하였다.

 

3. Python 버전 확인

터미널을 다시 열고 python --version 명령어를 수행하면 python 버전이 바뀐 것을 확인할 수 있다.

'Deprecated > Python' 카테고리의 다른 글

간단한 파일 입출력 모듈  (0) 2018.06.12
30분만에 파이썬 배우기.  (0) 2018.05.02
Numpy array 갖고 놀기  (0) 2018.03.18
numpy.random 함수들  (0) 2018.03.18
Binary to String, String to Binary  (0) 2018.03.09

 

VSCode의 Extension 자동 업데이트 때문에 생겨난 오류 때문에 Dog삽질 하게되어 정리한다.

 

다음과 같은 오류 발생시

The reference assemblies for .NETFramework,Version=v4.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

VSCode의 최신 C# Extension의 해당 버전의 Framework을 불어오지 못해 발생한 이슈이다.

 

이는 다음과 같은 방법으로 해결 한다.

1. 최신 Mono Install
2. C# Extension 다운그레이드

 

포스팅 날짜 기준 아래 셋팅이 정상 작동 하였다.

MonoFramework-MDK-6.12.0.199.macos10.xamarin.universal
C# v1.26.0
C# Dev Kit v0.2.100

 

다운그레이드 방법은 VSCode Extension 탭에서 해당 Extension을 선택하고 Unstall 옆 "아래 버튼"을 누르고 "Install Another Version"을 선택하고 변경 하면 된다.

 

 

추가적인 사항으로 이런 원치 않는 상황을 애초에 만들지 않기 위해 아래 옵션을 꺼 두도록 하자.

If you are getting this issue after you got the new update to the vs code and before everything was working normally
To solve the issue

 

  1. Download and install the official version of the unity extension . Announcing the Unity extension for Visual Studio Code - Visual Studio Blog fdsfasdf
  2. Go to package manager and unity registry , search “studio” and update both extensions to recommended version.
    Open the VSCode and check for code completion
  3. If still no code completion , Open the project folder and there you can see all your csproj files for eg : “Assembly-CSharp.csproj”
  4. Open the csproj file and search for word “TargetFramework”. You will see one like this <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
  5. <TargetFramework>net7.0</TargetFramework> copy this and paste under the step 5 line. Do same for all your csproj files if you have more than one.

 

Now you can see code completion and syntax highliting etc.

https://docs.unity3d.com/kr/2020.3/Manual/android-keystore-manager.html

 

https://learnandcreate.tistory.com/1583

https://github.com/googlesamples/unity-jar-resolver

 

GitHub - googlesamples/unity-jar-resolver: Unity plugin which resolves Android & iOS dependencies and performs version managemen

Unity plugin which resolves Android & iOS dependencies and performs version management - GitHub - googlesamples/unity-jar-resolver: Unity plugin which resolves Android & iOS dependencies an...

github.com

 

unity-jar-resolver안에 있는

external-dependency-manager-1.2.176.unitypackage
유니티 패키지를 설치하면 된다.

 

유니티에 AdMob, Facebook, Google SDK 등을 넣다 보면 

"gradle failed to fetch dependencies." 라는 오류가 발생할 경우가 있다.

이럴땐 다음과 같이 간단하게 해결 가능하다.

 

1. 프로젝트 내 안드로이드 빌드 설치 (안드로이드 SDK, openJDK)

2. 빌드 플랫폼을 안드로이드로 변경

3. Project Settings > Player > Publishing Settings > Custom Gradle Properties Template 체크

 

Note*

같은 오류가 계속 발생시

Preference -> External Tools -> Android > Jdk installed with Unity를 체크 후 언체크 해 보도록 한다.

 

플레이팹 기초 지식

 

https://chickenlovercompany.notion.site/chickenlovercompany/Playfab-19cfad211a3744c69defd065320487d4

 

Playfab

문서 작성 시작일 : 2022/08/12

chickenlovercompany.notion.site

 

 

1. 유니티 설치

https://unity.com/kr/download

를 통하여 UnityHUB 설치 후 2022.2 이상 버전의 Unity3D를 설치 한다.

2. Visual Studio Code 설치

2-1. IDE 설치

https://code.visualstudio.com/download

를 통하여 최신 버전의 VS Code를 설치 한다.

2-2. VSCode Extension 설치

VSCode에서 다음 확장 프로그램들을 설치 해 준다.

C#을 제외하곤 개발 편의를 위한 옵션이므로 취향에 맞춰 설치 하도록 한다.

2-3. C#에 Auto Formetting 적용

VSCode> File> Preferences > Settings에서 다음과 같이 옵션을 변경 한다.

Prettier와 같은 Formetter 확장 프로그램은 C#을 지원하지 않기 때문에 settings.json을 열어 다음 구문을 삽입한다.

{
	...
    
	"editor.formatOnSave": true,
	"[csharp]": {
		"editor.defaultFormatter": "ms-dotnettools.csharp"
	},
	
    ...
}

 

* 참고: settings.json 편집은 setting에서 mono를 검색어로 입력하면 여러 옵션이 보이는데 다음과 같은 설정에서 edit in settings.json를 눌러 편집한다.

* 참고: 프로젝트 디렉토리에 omnisharp.json 다음과 같은 파일을 만들어 formatting 옵션을 변경 할 수 있다. (불필요한 것들은 지우고 변경 할 옵션만 남겨서 적용하도록 한다.)

{
    "FormattingOptions": {
            "NewLine": "\n",
            "UseTabs": false,
            "TabSize": 4,
            "IndentationSize": 4,
            "SpacingAfterMethodDeclarationName": false,
            "SpaceWithinMethodDeclarationParenthesis": false,
            "SpaceBetweenEmptyMethodDeclarationParentheses": false,
            "SpaceAfterMethodCallName": false,
            "SpaceWithinMethodCallParentheses": false,
            "SpaceBetweenEmptyMethodCallParentheses": false,
            "SpaceAfterControlFlowStatementKeyword": true,
            "SpaceWithinExpressionParentheses": false,
            "SpaceWithinCastParentheses": false,
            "SpaceWithinOtherParentheses": false,
            "SpaceAfterCast": false,
            "SpacesIgnoreAroundVariableDeclaration": false,
            "SpaceBeforeOpenSquareBracket": false,
            "SpaceBetweenEmptySquareBrackets": false,
            "SpaceWithinSquareBrackets": false,
            "SpaceAfterColonInBaseTypeDeclaration": true,
            "SpaceAfterComma": true,
            "SpaceAfterDot": false,
            "SpaceAfterSemicolonsInForStatement": true,
            "SpaceBeforeColonInBaseTypeDeclaration": true,
            "SpaceBeforeComma": false,
            "SpaceBeforeDot": false,
            "SpaceBeforeSemicolonsInForStatement": false,
            "SpacingAroundBinaryOperator": "single",
            "IndentBraces": false,
            "IndentBlock": true,
            "IndentSwitchSection": true,
            "IndentSwitchCaseSection": true,
            "LabelPositioning": "oneLess",
            "WrappingPreserveSingleLine": true,
            "WrappingKeepStatementsOnSingleLine": true,
            "NewLinesForBracesInTypes": true,
            "NewLinesForBracesInMethods": true,
            "NewLinesForBracesInProperties": true,
            "NewLinesForBracesInAccessors": true,
            "NewLinesForBracesInAnonymousMethods": true,
            "NewLinesForBracesInControlBlocks": true,
            "NewLinesForBracesInAnonymousTypes": true,
            "NewLinesForBracesInObjectCollectionArrayInitializers": true
            "NewLinesForBracesInLambdaExpressionBody": true,
            "NewLineForElse": true,
            "NewLineForCatch": true,
            "NewLineForFinally": true,
            "NewLineForMembersInObjectInit": true,
            "NewLineForMembersInAnonymousTypes": true,
            "NewLineForClausesInQuery": true
    }
}

3. .NET 설치

https://dotnet.microsoft.com/en-us/download

를 통하여 .NET 7.0 SDK 이상의 core SDK를 설치 한다.

 

https://dotnet.microsoft.com/en-us/download/dotnet-framework

를  통해 .NET Framework 4.7.1 버전을 설치 한다. (다른 버전은 테스트 해 보지 않았다.)

4. VS Build Tool 설치

https://visualstudio.microsoft.com/downloads/?q=build+tools 

를 통하여 vs_BuildTools을 설치 한다.

5. 유니티 설정

5-1. 에디터 VSCode로 지정

Unity > Edit > Preferences > External Tools > External Script Editor > Visual Studio Code로 변경

5-2. .NET 4.X적용

유니티 프로젝트를 생성하면 기본으로 .NET 2.1을 사용하도록 되어있다.

보다 진보된 C#을 위해 버전을 변경한다.

Unity > Edit > Project Settings > Player > Configuration > Api compatiblity Level > .NET Framework 으로 변경 

 

귀찮은 로깅 시스템을 직접 구축 할 필요없이 기존에 좋을 것을 편리하게 사용하도록 하자.

 

https://velog.io/@ash/Node.js-%EC%84%9C%EB%B2%84%EC%97%90-logging-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-winston-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

 

[Node.js] Logging 라이브러리 winston 적용하기

Node.js 서버에 winston으로 로그 남기기

velog.io

 

 

중요 이평선별 시간 계산표 (한국 증권거래 기준)

1일-6시간

1주-5일

1월-20일

(4주)

5일

10일

20일

60일

120일

240일

480일

0.5분봉

(720)

2분30초

5분

10분

30분

60분

(1시간)

120분

(2시간)

240분

(4시간)

1분봉

(360)

5분

10분

20분

60분

(1시간)

120분

(2시간)

240분

(4시간)

480분

(8시간)

2분봉

(180)

10분

20분

40분

120분

(2시간)

240분

(4시간)

480분

(8시간)

960분

(16시간)

2일4시간

3분

(120)

15분

30분

60분

(1시간)

180분

(3시간)

360분

(6시간)

720분

(12시간)

2일

1440분

(24시간)

4일

5분

(72)

25분

50분

100분

(1시간40분)

300분

(5시간)

600분

(10시간)

1일4시간

1200분

(20시간)

3일2시간

2400분

(40시간)

6일4시간

10분

(36)

50분

100분

(1시간40분)

200분

(3시간20분)

600분

(10시간)

1200분

(20시간)

3일2시간

2400분

(40시간)

6일4시간

4800분

(80시간)

13일2시간

15분

(24)

75분

(1시간15분)

150분

(2시간30분)

300분

(5시간)

900분

(15시간)

2일3시간

1800분

5일(1주)

(30시간)

3600분-10일(2주)

(60시간)

7200분

20일(1월)

120시간(4주)

30분

(12)

150분

(2시간30분)

300분

(5시간)

600분

(10시간)

1800분

5일(1주)

(30시간)

3600분

10일(2주)

(60시간)

7200분

20일(1월)

120시간(4주)

14400

40일(2월)

240시간(8주)

60분

(6)

1일-6시간

300분

(5시간)

600분

(10시간)

1일4시간

1200분

(20시간)

3일2시간

3600분

10일(2주)

(60시간)

7200분

120시간

20일(1월)

14400분

40일(2월)

(240시간)8주

28800분

80일(4월)

480시간

(16주)

일봉

5일

(1주)

10일

(2주)

20일-1월

(4주)

60일-3월

(12주)

120일

6월(24주)

240일

(48주)

480일

24월(2년)

96주

주봉

(1주-5일)

5주(25일)

10주

(50일)

20주

(100일)

5월

60주

(300일)

15월

1년3월

120주

(600일)

30월

2년6월

240주

(60월)

5년

480주

(2400일)

120월

10년

월봉

5월

10월

20월

60월

(5년)

120월

(10년)

240월

(20년)

480월

(40년)

 

'Finance' 카테고리의 다른 글

코스피 상장폐지 요건 요약  (0) 2020.05.29
코스피, 코스닥 및 기타 상품 규정  (0) 2016.08.09
대차/공매도 거래내역 조회  (0) 2016.07.28
공시 정보 얻기  (0) 2016.07.28

Xcode 버전업이 되다 보면 다음과 같은 에러가 발생 할 수 있다.

 

Installing CocoaPods dependencies (this may take a few minutes)
error Error: Failed to install CocoaPods dependencies for iOS project, which is required by this template.

 

일반적으로는 Xcode의 Command line Tools 가 제대로 설정되지 않아서 그렇다.

XCode > Preferences > Location에서 다음과 같이 설정을 변경하도록 하자.

 

그지 같게도 안드로이드 디바이스에서는 Streaming Assets을 Application.streamingAssetsPath를 이용하여 바로 읽을 수 없다.

(작동하지도 않는것을 도대체 왜 만들어 놓은거여.......)

 

스트리밍 에셋을 읽고싶다면 앞으로 다음과 같이 사용한다.

패키지 안에 있는 파일을 복사해서 읽어주는게 핵심이다.

    #if UNITY_ANDROID
         string  path = "jar:file://" + Application.dataPath + "!/assets/alphabet.txt";
           WWW wwwfile = new WWW(path);
           while (!wwwfile.isDone) { }
           var filepath = string.Format("{0}/{1}", Application.persistentDataPath, "alphabet.text");
           File.WriteAllBytes(filepath, wwwfile.bytes);
   
           StreamReader wr = new StreamReader(filepath);
               string line;
               while ((line = wr.ReadLine()) != null)
               {
	               //your code
               }
    #endif
    

Android에서 의존성 모듈에 대한 버전 관리 문제를 해결하고자 AndroidX라는 것을 출시 하였다.

구글의 정책이 새로운 Android 버전을 내면 이전에 잘 동적하던 것이 동작 안되는 경우가 허다 하므로

 

앞으로의 프로젝트들은 미리미리 이를 AndroidX로 전환 하는 편이 편할 것이다.

 

마이그레이션 방법은 다음과 같다.

순차적으로 진행하며 변환이 완료 (컴퍼일 에러 없음) 되었다면 다음과정은 생략해도 된다.

참고로 안드로이드 API Level 28이상에서만 동작한다.

 

1. gradle.properties에 다음을 추가한다.

Android.useAndroidX=true
Android.enableJetifier=true

 

2. Android Studio Refactor를 이용한 마이그레이션

Android Studio > Refactor > Migrate to AndroidX 를 실행 후

Migrate 버튼을 누르고 DO REFACTOR 버튼을 누르면 자동으로 변환 해 준다.

 

3. Jetifier를 이용한 마이그레이션

Refactor가 완벽히 해 주지 못한 것들은 자동 변환 툴을 이용하자.

Make sure your app is AndroidX
$ npm install --save-dev jetifier
$ npx jetify (may take a while)
$ npx react-native run-Android

 

4. 그래도 변환되지 않은 것들은 수동으로 고쳐준다.

노가다가 답이다.

 

 

잘 되던 프로젝트가 빌드를 하는데 갑자기

...compiled_local_resources\debug\out' is not a readable directory. 라는 문구로 빌드가 되지 않을 경우가 있다.

 

어이없는건 컴퓨터를 재부팅을 하건 프로젝트를 지지고 볶아도 해결되지 않았다.

 

해결 방법

다음과 같이 .gradle 파일을 지워준다.

rm -rf android/.gradle
rm -rf .gradle
rm -rf ~/.gradle
./gradlew clean

 

iOS에는 깔끔하게 되는 것들이 안드로이드에선 무수히 많은 오류들을 내는 것 같다. 정말 싫다 안드로이드..

 

Could not connect to development server.

 

Android 디바이스로 React-Native Local server로 연결하려면 iOS와는 달리 별도의 Adb 설정이 필요하다. (매우 귀찮음)

다음 과정을 따라하자.

 

준비과정

Adb 실행을 위해 주소를 알아내자.

Andriod Studio > Tool > SDK Manager > Apperance & Behavior > System Settings > Android SDK > Android SDK Location

Android SDK Location: Users/UserName/Library/Android/sdk

Adb는 (Android SDK Location)/platform-tools 에 있다.

이를 환경변수에 등록하면 보다 편하게 사용할 수 있다.

 

해결 방법

먼저 연결된 디바이스를 얻고

해당 디바이스를 포트(React-Native server는 8081를 사용한다) 를 디바이스와 연결 시켜준다.

$ adb devices
List of devices attached
emulator-5554 device
emulator-5555 device

$ adb -s emulator-5555 reverse tcp:8081 tcp:8081

 

그래도 해결되지 않을때?

안드로이드 Security 설정 때문일 수도 있다.

AndroidManifest.xml 파일에 android:usesCleartextTraffic 옵션을 켜 주도록 하자!

<application
  ...
  android:usesCleartextTraffic="true"
  ...
  <activity>
</application>

 

Android Studio에서 Run App 버튼을 누르면 Activity class does not exist. 라는 문구와 함께 디버깅(또는 실행)이 되지 않는 경우가 있다.

 

Error: Activity class { ... } does not exist.

더 어이없는건 어떤 소스를 건들지 않아도 해결이 되지 않아 정말 돌아버린다.

 

이는 USB로 디바이스를 연결 한 상태에서 앱을 내부적으로 삭제 했을시 발생한다. (이럴때 ADB에는 앱이 삭제되지 않는다.)

 

해결방법은 다음과 같다.

 

Your Device > Settings > Storage 에서 해당 앱을 찾아 지워주면 된다.

 

만약 이렇게 해도 문제가 발생한다면 Andriod Studio > Build > Clean Project 후 Rebuild 를 해 보도록 한다.

 

정기보고서 미제출

법정제출기한 내 사업보고서 미제출 및 반기,분기 보고서 미제출시 관리종목지정
관리종목 지정 후 10일이내 사업보고서 미제출시 상장폐지

 

자본잠식

최근사업연도 사업보고서상 자본근 50%이상 잠식이면 관리종목지정
최근 사업연도 사업보고서상 자본금 전액 잠식이면 상장폐지 혹은 자본금 50%이상 잠식이 2년 연속일시 상장폐지

 

거래량미달

반기 월평균거래량이 반기말 현지 유동주식수의 1%미만일시 관리종목
2반기 연속 1%미만일시 상장폐지

 

주식분산 미달

일반 주주수가 너무 적으면 상장폐지

 

공시의무 위반

최근 1년간 공시의무위반 벌점 15점 이상시 관리종목

최근 1년간 누계벌점이 15점 추가되면 상장폐지 실질 심사

 

매출액 미달

최근 사업연도 매출액 50억원 미만이면 관리종목지정

 

주가/시총미달

주가가 액면가의 20%미달 30일간 지속 혹은 시총 50억원 미달 30일간 지속시 관리종목 편입

관리종목 지정 후 90일 이내 관리지정사유 해소하지 못하면 상장폐지

 

회생/파산 기타등등 여러가지 사유

 

'Finance' 카테고리의 다른 글

중요 이평선별 시간 계산표  (0) 2021.02.08
코스피, 코스닥 및 기타 상품 규정  (0) 2016.08.09
대차/공매도 거래내역 조회  (0) 2016.07.28
공시 정보 얻기  (0) 2016.07.28

영상을 잘라낼 일이 있다면 다음 아티클을 참고하면 좋다.

 

https://www.linuxuprising.com/2020/01/ffmpeg-how-to-crop-videos-with-examples.html

 

FFmpeg: How To Crop Videos, With Examples

This article explains how to crop videos using FFmpeg (with examples) from the command line. It's especially useful for batch cropping multiple videos, but some (me included) might also prefer this over a fully fledged video editor for doing some video cro

www.linuxuprising.com

 

 

구글에 Admob이 있다면 페이스북에는 Audience가 있다.

서로 장단점이 있으므로 상호 보완하여 필요한 부분에 사용한다면 수익을 극대화 하기 좋다.

 

사용법은 다음 아티클을 참고하자.

 

https://right-hot.tistory.com/entry/React-Native-Facebook-Audience-%EA%B4%91%EA%B3%A0-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-reactnativefbads

 

React Native - Facebook Audience 광고 적용하기 (react-native-fbads)

React Native - Facebook Audience 광고 적용하기 (react-native-fbads) https://github.com/callstack/react-native-fbads#installation 1. Facebook SDK 설치 https://github.com/facebook/react-native-fbsdk..

right-hot.tistory.com

 

ps. 아티클에서 소개하는 react-native-fbads 라는 모듈이 있지만 기능적인 제약이 있어 (Rewarded Ads. 와 같은) 개인적으로 새롭게 직접 만드는 것을 추천하는 바 이다.

 

 .eslintrc 에서 다음과 같은 룰을 추가 한다.

{
	...
	"settings": {
		"import/resolver": {
			"node": {
				"extensions": ['.js', '.jsx', '.ts', '.tsx'],
			}
		}
	},
    "rules": {
		"import/extensions": [
			"error",
			"ignorePackages",
			{
				"js": "never",
				"jsx": "never",
				"ts": "never",
				"tsx": "never"
			}
		],
   ...
}

 

'Developments > Node.js' 카테고리의 다른 글

Logging 라이브러리 winston  (0) 2021.05.29
Socket.io 로 실시간 통신하기  (0) 2020.03.20
Node.js + OpenCV 사용하기  (0) 2019.12.30
i18next를 이용한 다국어 처리  (0) 2019.10.08
NPM 명령어 리스트  (0) 2019.09.25

+ Recent posts