class Parent():
2020년 8월 28일 금요일
python 상속
python class 기초
#class 기초
#클래스는 구분하기위한 용도로 맨 앞글자는 대문자로 쓴다
class B_school():
def __init__(self):
print("B클래스 입니다")
self.student_name = "원빈"
class A_school():
def __init__(self):
print("A클래스 입니다")
bb = B_school()
self.student_name_a =bb.student_name;
print(self.student_name_a)
#B_school().stock()
A_school()
2020년 8월 27일 목요일
Python - 함수의 인자로 함수전달
c#에서는 복잡한 이 기능이 python에서는 아주 단순하다.
ex
def english():
print("영어과 입니다")
def math(name,eng):
print("수학과 입니다.")
eng() ->해당받은 인자를 실행해준다
#3 - 함수의 인자로 함수 전달
math(name='원빈',eng=english)
수학과 입니다.영어과 입니다
잘못된 예
ex
def english():
print("영어과 입니다")
def math(name,eng):
print("수학과 입니다.")
eng() ->해당받은 인자를 실행해준다 # 에러발생
#3 - 함수의 인자로 함수 전달
math(name='원빈',eng=english()) =>이런식으로 여기서 실행해버리면 에러가 난다.
영어과 입니다수학과 입니다.Traceback (most recent call last):File "C:/Users/ejdrm/PycharmProjects/week1/basic/python.py", line 23, in <module>math(name='원빈',eng=english())File "C:/Users/ejdrm/PycharmProjects/week1/basic/python.py", line 19, in matheng()TypeError: 'NoneType' object is not callable
2020년 8월 26일 수요일
c#에서 외부파일 실행하기
리스트 과제에서 외부 파이선을 실행해야하는 상황이 생겨서 해본것
%주의 -> 왠만한 에러는 콘솔창에 나오게 할수 있지만
나오지 않는 에러도 있으니 차근차근 디버깅 해야함(호출하는곳,실행되는곳)
실행되는 원본(파이썬)에서는 에러 없이 되지만 호출하여서 인자를 받아서 실행할때는 안될수도있다.
인자를 통하여 외부프로그램이 돌아가는지 하나씩 확인하여 디버깅하여야한다.
//호출부분
public void PythonStart(string key, string data, int TotalLen, string PATH_p)
{
var psi = new ProcessStartInfo();
Console.WriteLine("PATH_p:" + PATH_p);
Console.WriteLine("data:" + data);
//string psi_args = PATH_p + data; //경로를 지정한 실행파일
string[] dataitem = data.Split(' ');
dataitem[3] =dataitem[3].Replace("'", "");
dataitem[4] =dataitem[4].Replace("'", "");
dataitem[5] = dataitem[5].Replace("'", "");
string newresult = "";
for (int i = 0; i < dataitem.Length; i++)
{
newresult += dataitem[i]+" ";
}
string psi_args = PATH_p + newresult; //경로를 지정한 실행파일
//string psi_args = PATH_p + data; //경로를 지정한 실행파일
Console.WriteLine("psi_args:" + psi_args);
psi.FileName = @"C:\scheduler\rist_env\Scripts\python.exe"; //파이썬 가상환경 설치 경로
psi.Arguments = psi_args; //파일경로
//psi.Arguments = string.Format("\"{0}\"\"{1}\"", PATH_p, data);
//3) Proecss configuration
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
//4) return value def
var errors = ""; // 출력은 하지 않습니다.
var results = "";
//using (var process = Process.Start(psi))
//using (var process = System.Diagnostics.Process.Start(psi))
using (var process = Process.Start(psi))
{
Console.WriteLine("프로세스 실행 하고 기다리기!!");
//process.WaitForExit();
results = process.StandardOutput.ReadToEnd();
errors = process.StandardError.ReadToEnd();
RxBox.AppendText("Error : " + errors + Environment.NewLine);
RxBox.AppendText("Result : " + results + Environment.NewLine);
//while (process.StandardOutput.Peek() > -1)
//{
// process.StandardOutput.Close();
// RxBox.AppendText("break!!!! process.StandardOutput.Peek()");
// break;
//}
//while (process.StandardError.Peek() > -1)
//{
// process.StandardError.Close();
// RxBox.AppendText("process.StandardError.Peek()");
// break;
//}
//using (StreamReader reader = process.StandardOutput)
//{
// results = reader.ReadToEnd();
// Console.WriteLine(results);
//}
//using (StreamReader reader = process.StandardError)
//{
// errors = reader.ReadToEnd();
// Console.WriteLine(errors);
//}
}
RxBox.AppendText("Error : " + errors + Environment.NewLine);
RxBox.AppendText("Result : " + results + Environment.NewLine);
}
//키받아서 외부로 보내는것 관리하는 함수
try
{
switch (key)
{
case "predict_schedule_to_db":
Console.WriteLine("predict_schedule_to_db 요청 들어옴");
//path = @"C:\scheduler\pzpy\rist\app\predict_schedule_to_db.py";
path = $"\"C:\\scheduler\\pzpy\\rist\\app\\predict_schedule_to_db.py\"";
Form1.instance.PythonStart(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
//Form1.instance.PythonTest(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
break;
case "verify_model":
Console.WriteLine("verify_model 요청 들어옴");
//path = @"C:\scheduler\pzpy\rist\app\verify_model.py";
path = $"\"C:\\scheduler\\pzpy\\rist\\app\\verify_model.py\"";
Form1.instance.PythonStart(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
//Form1.instance.PythonTest(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
break;
case "test_hubiz":
Console.WriteLine("test_hubiz 요청 들어옴");
path = $"\"C:\\scheduler\\pzpy\\rist\\app\\test_hubiz.py\"";
Form1.instance.PythonStart(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
//Form1.instance.PythonTest(key, value.Substring(1, value.Length - 1), e.RawData.Length, path);
break;
}
//맨앞에 공백 하나 제거
//Form1.instance.PythonTest(key, value.Substring(1, value.Length-1), e.RawData.Length, path);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
2020년 8월 25일 화요일
[Python] Error Non-UTF-8 code starting with '\xeb',해결방법
#!/usr/bin/python
# -*- coding: utf-8 -*-
2020년 8월 22일 토요일
[Unity] Interface, 유니티 인터페이스 사용예제
}
2020년 8월 21일 금요일
2020년 8월 20일 목요일
unity 프로젝트 깃 저장시 팁
일단 깃 저장소를 만든뒤
.gitignore 파일을 저장소에 등록하고
Assets
Packages
ProjectSettings
만 저장한다
[Unity] XML 저장,C# XML 파일 체크
간단한 저장...
2020년 8월 19일 수요일
[Unity] UI animation (Feat. Platinio Tween ), UI 효과 주기
무료에셋 중에
Platinio Tween라는 앱이 있는데 상당히 사용하기 쉽고 좋다
간단하게 2가지 사용할만한게 있는데
Platinio.Popup은 Ui에 바로 붙여서 효과를 적용할수있다
간단하게 커스텀한 코드
PopUp이 달린 객체들을 왼쪽 오른쪽으로 움직여주는 함수
2020년 8월 16일 일요일
2020년 8월 13일 목요일
git 되돌리기
git 되돌리기
reset
Reset은 시계를 다시 맞추는 것입니다.
돌아 가려는 커밋으로 리파지토리는 재설정되고,
해당 커밋 이후의 이력은 사라집니다.
git reset --hard [id]
를 하면 commit의 이력이 사라지면서 파일도 전부 변경된다
만약 다시 돌아가고 싶다면(reset을 취소하고싶다면)
$ git reflog
를 이용해서 나오는 id를 참고해서 돌아가야한다 (git log --oneline에는 더이상 나오지않음)
reset을 해도 원격저장소에는 적용되지않는다
원격저장소에도 적용하고 싶다면
git push -f origin master를 해서 적용하면된다
만약 에러가 뜬다면
저장소의 셋팅에서
Setting - > Repository -> Protected Branches의
master에 Roles 부분을 Maintainers 에서 -> Developers + Maintainers 로 변경하면 된다
2020년 8월 12일 수요일
[Unity] LogManager
using UnityEngine;
git rejected error(feat. cherry-pick)
문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...
-
/// < summary > /// 검색 조건과 내용으로 테이블에 있는 데이터를 검색하는 메서드 /// </ summary > /// < param name = "valu...
-
public class Test : MonoBehaviour { //매출 데이터를 읽어 들이고 Sales 객체 리스트를 반환한다. List<string> list = new List<string> { ...
-
설명과 package파일 https://gitlab.com/dooo3/scrollview_objpool 하는이유 100개 이상일때 scrollview가 퍼포먼스가 떨어진다... Point!!!! 1.shopItemTableViewCell,...