2021년 4월 28일 수요일

파이썬 스트링

 text = "수익율:{}, 손익가:{}".format(str(stock_data['수익율'].iloc[i]),str(stock_data['손익가'].iloc[i]))


"{} {}".format( 원하는인자1,원하는인자2)


이런식으로 사용

2021년 4월 22일 목요일

[엑셀 활용]최대 최소가 주어질 때 퍼센트,실제값 구하는 방법

퍼센트: 

① 총범위 = 최대값 - 최소값
② 특정값 = 범위내 값 - 최소값
③ 퍼센테이지 = 특정값 / 총범위









실제값:

① 총범위 = 최대값 - 최소값
② 특정값 = 총범위 * 퍼센테이지;
③ 범위내값 = 특정값 + 최소값





2021년 4월 21일 수요일

git rebase 사용법(commit 삭제)

 1. git rebase -i HEAD ~ (원하는 숫자)


그러면 해당하는 커밋들과 함께 vi 창이 나온다 (숫자 맞지 않으면 에러~)




pick 7e298ab 도면정보 시스템 중간정도 완성
pick f89f914 버닝  세이더 삭제 한거 이름 변경함

# Rebase c84faf8..f89f914 onto c84faf8 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everythingthe rebase will be aborted.
#

이런식으로 명령어들과 함께 현재 수정할 커밋들이 나온다



예를들어 이름을 바꾸고 싶으면

pick 7e298ab 도면정보 시스템 중간정도 완성
pick f89f914 버닝  세이더 삭제 한거 이름 변경함

에서

pick 7e298ab 도면정보 시스템 중간정도 완성
r f89f914 버닝  세이더 삭제 한거 이름 변경함

이런식으로 변경하고 :wq를 실행하면 새로운 해당하는 vi창이 새로 열린다

(수정은 i를 누르고 원하는곳을 변경하면 됨)




열린 vi는 다음과 같다

버닝  세이더 삭제 한거 이름 변경함

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Thu Apr 22 15:16:37 2021 +0900
#
# interactive rebase in progress; onto c84faf8
# Last commands done (2 commands done):
#    pick 7e298ab 도면정보 시스템 중간정도 완성
#    reword f89f914 버닝  세이더 삭제 한거 이름 변경함
# No commands remaining.
# You are currently editing a commit while rebasing branch 'master' on 'c84faf8'.
#
# Changes to be committed:
#       deleted:    Assets/BurningShader/Assets.meta
#       deleted:    Assets/BurningShader/Assets/Audio.meta
#       deleted:    Assets/BurningShader/Assets/Audio/sfx_Burning.wav
#       deleted:    Assets/BurningShader/Assets/Audio/sfx_Burning.wav.meta
#       deleted:    Assets/BurningShader/Assets/Materials.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_01_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_01_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_02_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_02_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_03_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_03_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_04_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_04_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_logpile_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_logpile_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_plank_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_plank_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_wall_logs_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_wall_logs_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_Burn_Slab.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_Burn_Slab.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_01.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_01.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_02.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_02.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_03.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_03.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_04.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_04.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_logpile.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_logpile.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_plank.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_plank.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_wall_logs.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_wall_logs.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_embers.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_embers.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_fire.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_fire.mat.meta


이 부분에서 이름을 변경하고 :wq로 저장하면 완료!



삭제하는 동시에 파일도 최신 master 커밋으로 돌아옴!





.git 파일만으로 복원하기(인터넷이 연결이 불가능한 상황에서 로컬에서 혼자 사용할때 유용)

간단하게 혼자서 형상관리 할때 하는 방법(인터넷이 안될때)





1. .git 파일을 원하는 곳에 복사



2. 해당 디렉토리에서 Git Bash 실행



3.git reflog 로 현재 커밋되어있는 목록을 확인한다.



4.git reset --hard (커밋아이디)





로 원하는 커밋으로 복원한다.

아나콘다 가상환경 pip install 방법

 파이썬 가상환경 32비트 설치

Error : pyautogui설치안됨

import pyautogui ModuleNotFoundError: No module named 'pyautogui'


conda create -n py37_32 python=3.7 anaconda


해결: anaconda Prompt 실행

conda activate py37_32 엔터 (py37_32로 상태 변경) (커스텀 python 환경)

pip install pyautogui 명령어 실행 (원하는 명령어)

프로젝트 C:\Users\LCE\anaconda3\envs\py37_32 이거를 환경에 일단 추가한다

Error : ModuleNotFoundError: No module named 'PyQt5'

위 상황과 똑같이 py37_32환경에서 pip install PyQt5 실행해주면 된다

36Keras는 아나콘다에서 py36 설치해서 진행하면됨!!

2021년 4월 20일 화요일

[Unity] void convert to System.Action

 


public class FbxItem
{
    public string name;
    public Button btn;
    public FbxItem(string _name,System.Action callback)
    {
        this.name = _name;
        btn.onClick.AddListener(delegate { callback(); } );
    }
}




FbxItem fm = new FbxItem("0910_Catapult machine",()=>LoadbyPath(fm_paths""));


2021년 4월 16일 금요일

[python] dataframe 특정조건 필터링 하기




원하는 데이터 프레임에서 원하는 행렬만 얻는방법
df_MACD 데이터프레임에서
MACD 최소값의 ds를 출력하기 위해 사용했음



MIN_MACD = min(df_MACD['MACD'])  ## MACD_OSC 최소값
MAX_MACD = max(df_MACD['MACD'])  ## MACD_OSC 최대값


 max_df = df_MACD[df_MACD['MACD'] == MAX_MACD] (대괄호 안에다가 공식을 넣는다!)

min_df = df_MACD[df_MACD['MACD'] == MIN_MACD]


다중조건은 
mesu_df = df_macd[(df_macd['MACD_OSC']>-1) & (df_macd['MACD_OSC']<1)]
이런식으로 사용하면됨

[Unity] URP SHADER 변경점

 



URP SHADER 변경점


/// URP SHADER에서 사라진 Material 변수들을 새로 적용시켜 주어야한다
///_MainTex => _BaseMap
///_Color => _BaseColor
///_Glossiness=>_Smoothness


//material.SetColor("_Color", color);
material.SetColor("_BaseColor"color);

//material.SetTexture("_MainTex", diffuseTexture);
material.SetTexture("_BaseMap"diffuseTexture);


//material.SetFloat("_Glossiness", materialData.Glossiness);
material.SetFloat("_Smoothness"materialData.Glossiness);

2021년 4월 14일 수요일

Treeview 분석

 TreeviewDemo


public TreeView TreeView선언하여 사용

사용 

TreeView.ItemDataBinding += OnItemDataBinding;
TreeView.SelectionChanged += OnSelectionChanged;
TreeView.ItemsRemoved += OnItemsRemoved;
TreeView.ItemExpanding += OnItemExpanding;
TreeView.ItemBeginDrag += OnItemBeginDrag;
            
TreeView.ItemDrop += OnItemDrop;
TreeView.ItemBeginDrop += OnItemBeginDrop;
TreeView.ItemEndDrag += OnItemEndDrag;

//이부분은 커스텀 한 부분
TreeView.ShowUI += OnItemUIClick;///20210415 우클릭 신규 추가 이벤트

//커스텀으로 만든 부분
private void OnItemUIClick(object senderShowUIArgs e)
        {
            Debug.Log("OnItemUIClick");

            rightClick_UI.SetActive(true);
        }




TreeView에 붙어있는 이벤트를 만들거나 붙이거나 해서 사용


Treeview의 구조는 
namespace Battlehub.UIControls 상속받음

Treeview 클래스

public class TreeView : ItemsControl<TreeViewItemDataBindingArgs>

ItemsControl의 인터페이스를 상속


간단하게 

EventHandler를 추가하기 위해

EventArgs를 상속받는 클래스를 하나 선언(ShowUIArgs)

  public class ShowUIArgs : EventArgs
    {
        private object[] v;
        private PointerEventData eventData;

        public ShowUIArgs(object[] v, PointerEventData eventData)
        {
            this.v = v;
            this.eventData = eventData;
        }
    }


EventHandler 하나 선언
public event EventHandler<ShowUIArgsShowUI;///20210415 우클릭 신규 추가 이벤트



EventHandler를 콜하는 함수 설정

private void OnItemShowUI(ItemContainer senderPointerEventData eventData)
        {
            if (ShowUI != null)
            {
                Debug.Log("Show UI!!!");
                ShowUI(thisnew ShowUIArgs(new[] { sender.Item }, eventData));
            }
        }


이벤트에 추가하기

ItemContainer.PointerDown += OnItemShowUI///추가 !!



2021년 4월 13일 화요일

[python 주식 자동매매] 2021-04-14

금일 거래종목(구매한 종목)

001780
002900
003060
005880
007460(0.71%)
011930
013700
015760
044380
047400
057880
214330
215100
001360
001440
002710
003490
005360
005690
005860
005930
006050
009460
011000
011150
011370
016920
018700
019540
025750
031820
032640
032820
033180
034020
038530
042040
046070
047820
052900
053030
054090
054940(31.49%)
058400
064800

 


어제 매매한 종목중 오늘 판 종목

011930(0.66%)

069500(0.57%)

214330(3.61%)



007460









054940







unity LOD Setting

 https://learnandcreate.tistory.com/292?category=833982

2021년 4월 5일 월요일

bat 파일 관리자 권한 실행하기

 














@echo off
set uaccheck=0
:CheckUAC
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACAccess
) else ( goto Done )
:UACAccess
echo 관리자 권한을 취득해야 합니다.
pause
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\uac_get_admin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\uac_get_admin.vbs"
"%temp%\uac_get_admin.vbs"
del "%temp%\uac_get_admin.vbs"
exit /b
:Done
echo 관리자 권한을 취득하였습니다.
pause
exit



git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...