분류 전체보기 77

Python - input = input() 문제

Python - input = input() 문제 C#(정확히는 Unity)로 개발에 입문하고, 줄곧 C 같은 정적 타입 언어만 사용하다가. 동적 타입인 파이썬을 사용할 일이 있어서 좀 쓰게 되었다. 쓰던 와중 파이썬이 런타임에서 자료형이 결정된다는 건 알고 있었지만.. input = input() 이것도 된다는걸;;; 알아버려 가지고, 정확히 이게 어떻게 돌아가는 건지 한번 정리해두기로 했다. C#과 같은 것들은 정적타입 언어라, 컴파일단에 먼저 선언된 데이터 타입에 따라 메모리를 할당하고 식별자는 할당된 메모리를 가리키기 때문에. int타입 변수에 string과 같은 것들을 암시적으로 그냥 막 집어넣을 수 없다(정 하고 싶으면 casting을 통해, 컴파일러에게 메모리 손상이 있을 수도 있다는 거 알..

개발 조각글 2022.07.22

Unity - 인스펙터 두개 띄워놓기

Unity - 인스펙터 두개 띄워놓기 유니티에서 작업할 때, 인스펙터에다가 뭘 끌어서 놓아야 할 때 종종. 드래그해야 하는걸 클릭을 해버리는 바람에 클릭된 오브젝트의 상세정보가 뜨면서, 다시 원 오브젝트를 포커싱해야 할 때가 생긴다. 그런 짜증나는(!) 상황에는 인스펙터를 두개 띄워놓으면 해결할 수 있다. ↑ 이것처럼 창 우측 상단의 ⋮ 버튼을 누른 뒤. AddTab > Inspector를 하면 인스펙터를 하나 더 열어놓을 수 있다! 그 다음에 새로생긴 인스펙터의 자물쇠를 눌러서 잠가놓으면, 선택된 오브젝트를 계속 인스펙터상에 포커싱해 둘 수 있다.

개발 조각글 2022.07.18

Python - TextToCsv

Python - TextToCsv 이제 긁어온 텍스트를 저장할 때, 그냥 .txt형식으로 저장하면 한두개 정도는 괜찮은데 이제 이게 데이터가 많이 쌓이거나 했을떈, 가공이나 이런게 너무너무 힘들어지기 때문에 CSV로 변환해서 저장하기로 했다. python 에는 csv모듈이 있으며, 해당 모듈을 import하는 것으로 csv를 가공할 수 있다. with open('result' + fileId + '_desc.csv', 'a', encoding='utf-8-sig', newline='') as f: writer = csv.writer(f) ... descText = [col1, col2, col3, col4 ... ] writer.writerow(descText) 위와 같은 코드를 통해 with open으..

개발 조각글 2022.07.17

Unity - unit test 붙이기 회고

Unity - unit test 붙이기 회고 유니티에도 TestRunner가 있어서, 단위테스트를 해볼 수 있다고 한다. 팀 단위로 적용시켜보고 싶었지만, 참여중인 프로젝트 사이클이 현재 중-후반부에 있기도 하고.. 테스트가 중요시되는 분위기가 아니라서. 이번에는 내가 담당하고있는 UI부분에만 간단하게 유닛테스트정도를 붙여보기로 했다. 1. 사전작업 투입된 시기에 이미 어느 정도 스트럭쳐가 짜여있는 상태였기 때문에 테스트폴더에 어셈블리를 참조하기 조금 빡센 상황이었다. 특히 패키지 / 유틸리티 / 커스텀 유틸리티 스크립트가 여기저기 흩어져있는 상황인데다, 2019>2020 버전업을 하면서 참조가 애매하게 꼬여버린건지 vs에서 자동으로 생성해주는 asmdef파일에 몇몇 폴더가 누락되는 현상이 있었다. (덕..

DevLog 2022.07.16

입사 6개월차 회고

[ 2022. 02 ~ 2022.07 ] 한창 42서울에서 공부하고.. 포폴 만들면서 취준하는 도중, 1월 즈음에 전체공개를 해 두었던 이력서를 통해 입사제의를 받게 되었다. 준비하고 있던 회사는 아니었지만, 규모나 이런저런 면에서 나쁘지 않은 것 같아서 바로 취업을 결정하게 되었고, 여태 일하고 있다. 출근을 결정할 당시, 조금 급하게 결정한 감이 있지 않았나 싶긴 했지만. 그럭저럭 만족하면서 다니는 중이다. 특히, 게임 개발적 성장에 있어서 만족도가 높은데, 혼자서 or 한두명과 같이 끙끙대며 나아갔을 때 보다 이미 경력이 있는 사람들과 협업하면서 그들의 작업이나 결과물들을 흡수해 나가고 있는 지금 훨씬 더 빠르게 많이 성장하고 있음을 느끼고 있기 때문이다. 개인적으로는 이 부분에서 42서울에 감사함..

DevLog 2022.07.13

Python - Torch 챗봇 테스트

https://wikidocs.net/157001 9. koGPT2 챗봇 만들기 언어 모델 (Language Model)이란 문장 혹은 단어에 확률을 할당하여 컴퓨터가 처리할 수 있도록 하는 모델입니다. 한발 나아가 언어 모델링 (Language Mod ... wikidocs.net 챗봇 코드가 필요한 사람은 이곳으로 가십시오, 이 포스트는 이 페이지 코드의 도움을 받았으며 이곳에 더 잘 정리되어 있습니다. 작년에 했던, 시짓는 AI프로젝트가 조금 찜찜하게 끝나고. (관련링크) 아쉬웠던 차에 올해도 AI관련 프로젝트를 할 기회가 생겨서 냉큼 참여하게 되었다. 이번에는 챗봇을 만들어보는 일인데.. 확실히 특정 기기만 사용해야 한다는 제약상황이 사라지니까 한결 살 것 같다. (작년에는 JetsonNano만 ..

개발 조각글 2022.06.12

Processing - Video_Capture가 작동하지 않을 때

프로세싱을 사용하다 보면 Video 라이브러리의 LiveCam을 사용해야 할 때가 있는데. 노트북에 웹캠이 있는데도 불구하고 이게 실행이 안 될 때가 있다. //Try video = new Capture(this, width, height) //Error //Processing video library using GStreamer 1.16.2 //IllegalStateException: Could not find any device 그럴때는 아래처럼 "pipeline:autovideosrc"를 적어주면 된다. video = new Capture(this, width, height, "pipeline:autovideosrc"); Capture함수는 Capture의 인자로 deviceName도 받을 수 있도..

개발 조각글 2022.06.04

Phthon - Web 정보 긁어오기

DoCwalTest.cs 사이드 프로젝트로 웹의 정보를 긁어올 일이 생겨서 간단하게 만들어 보았다. urllib.request 모듈로 requset 결과를 저장한 다음에. BeautifulSoup을 이용해 html 파싱을 진행하는 방식이다. archive 내의 텍스트만 필요한 상황이어서 arta = soup.find_all('div', class_='*** class name ***') filteredText = url + '\n' for art in arta: filteredText += art.text.strip() soup(soup는 BeautifulSoup로 파싱한 결과물)에서 원하는 div를 찾은 뒤. text.strip()을 통해 텍스트만 추려서 넣어두었다. 이렇게 하면 같은 필요 없는 정보를..

개발 조각글 2022.05.30

Unity UI 컴포넌트 캐싱[0]

UIObj.cs Getcomponent는 비싸기 때문에, 스크립트 내에서 미리 캐싱해서 쓰고있는데. Find 함수를 쓰게 되면 매번 Find("name")을 달아줘야 한다. 이 과정에서 캐싱을 위해 생성한 변수의 이름을 변경하거나, 해당 오브젝트의 이름을 변경하는 경우 NewName = transform.Find("OldName").GetCompoenet();의 형식을 갖게 되는데 이게 점점 누적되면서, NewName과 OldName이 아주 다른 이름이 되어버리는 경우가 종종 생긴다. 이렇게 되면 대응되는 변수와 오브젝트를 찾기가 아주 어렵기 때문에 오브젝트 네임과 변수명을 반드시 일치시켜야만 하는 구조가 있어야 한다고 생각해 하나 만들었다. 만들어두니 꽤 편리해서 여기저기 가져다 쓰는 중이다. publ..

개발 조각글 2022.05.20

Unity 씬에서 선택한게 하이라키에서 안잡힐 때

씬에서 오브젝트를 분명 선택했는데, 하이라키에서 포커스가 안될 때가 있다. 그럴 땐 하이라키 우측 상단에 자물쇠를 채워둔게 아닌지 살펴보자 이 것 때문에 거의 한시간 넘게 일일히 하이라키 뒤져가면서 일했던 것 같다. + 분명 클릭이 된 것 같기는 한데 씬 내에서 오브젝트가 포커싱되지 않을때도 있다. 이럴땐 Scene window 상단의 Gizmo가 체크 해제되어있는게 아닌지도 한번 보자.

개발 조각글 2022.03.21