분류 전체보기 50

[ACAD] AutoCad 설치 후 실행 에러 (0xc00007b)

고객분 캐드 설치 요청으로 캐드를 설치했으나 보안때문인지 뭔지 이유가 뭔지 무튼 설치할 때 파일 복사 관련 오류가 떴지만, 가뿐히 무시해주고 실행했더니 acad.exe 응용 프로그램 오류 응용 프로그램을 제대로 시작하지 못했습니다.(0xc00007b) 응용프로그램을 닫으려면 [확인]을 클릭하십시오. 요 오류가 떠서 2022, 2021, 2020 차례대로 설치하고 실행해도 똑같은 오류가 뜬다 해결책 1. DirectX 재설치 2. VisualC++ 재배포 가능 패키지 재설치 2번째인 VisualC++ 관련된 문제였다. 공식 해결 방법은 "설치된 VisualC++ 중 어느 하나가 잘못되었으니, 전부 제거하고 설치하라" 였지만, 그냥 가능한 모든 VisualC++을 다 설치해주는 프로그램이 있어 그걸로 설치하..

업무 2023.03.14

[Node.js] Cafe24 Node.js 호스팅

Cafe24에서 Node.js 호스팅을 신청해서 지금까지 했던 내용을 적용해보고자 한다. Cafe24에 Node.js 호스팅 메뉴얼을 봤더니 잘 따라할 수 있을 것 같았다. 구글 검색에서 Cafe24 node.js 호스팅을 검색하면, 자세한 방법이 잘 나와있어 그대로 따라했다. 호스팅을 신청하고, SSH키 생성 및 등록, 원격저장소도 회사 계정으로 하고(여기가 첫번째 문제의 원인) 드디어 실행! 역시나... 따라했지만, 처음에는 안되는게 정상이다. 첫 번째 시도 자세히 보니 git repository가 지정되어 있었다. 아무생각 없이 내 git 저장소를 가져다가 쓰는구나 생각하고 내 git 저장소에 파일들을 올려놨으니, cafe24 관리자 페이지가 떠버린다. 앱 리스트에 있는 저장소에다가 파일들을 pus..

업무 2023.03.10

[Nodejs] 보낸 메일함에 저장 (미해결)

1. form에서 견적서 발급을 누르면 POST 형식으로 내용을 서버에 전달한다. 2. 전달 받은 내용을 이용해서 견적서의 내용을 변경한다. 3. exceljs 모듈을 이용해서 변경된 내용을 다른이름으로 저장하려고 했으나, 방법을 찾지 못해 원본파일을 저장하고, fs모듈을 이용해 다른 이름으로 복사한다. 4. 메일을 보내기 위해 계정 설정을 해주고, SMTP Transport 옵션을 지정해 준다. 5. 메일 내용과 첨부파일을 지정하고, 견적서를 메일로 발송한다. 6. 메일로 발송한 후에 보낸 메일함에 저장한다. 7. DB에 내용을 저장한다. 문제 보낸 메일함에 저장이 안된다. ChatGPT에도 물어보고 검색도 해봤는데, 두가지 방법을 찾았지만 둘다 오류 내용도 출력 안됨. 1) IMAP 이용 consol..

업무 2023.03.06

[Node.js] MSSQL 연결 방법 - ConnectionError SSL 관련

회사에 원래 카페 24에 호스팅해서 이용중인 MSSQL을 연결해서 데이터를 관리해야 하는 일이 생겨버렸다. 그래서 기존 MYSql과 MSSQL을 둘다 이용해서 api를 구성해야 하는데 일단 이게 맞을지는 잘 모르겠지만 일단 검색해서 연결 방법을 알아보았다. 처음 시도는 아래와 같이 작성했다. // mssql 연동 var sql = require('mssql'); var config = { user: 'sa', password: '비밀번호', server: 'localhost', database: 'DB 이름', stream: true } sql.connect(config, function(err){ if(err){ return console.error('error : ', err); } console.l..

업무 2023.02.23

[React] Selector Component에 onChange 이벤트 전달하기

select에는 선택한 값을 변경할 때 호출되는 onChange 함수가 존재합니다. 외부 Selector.jsx 파일을 만들어 select를 꾸미고, 안에 들어가는 option들을 지정하는 것 까지는 만들었으나, 값이 변경될 때 node.js를 통해 DB내용을 불러와야 하기에, onChange 함수를 이용해야 했다. 1. 페이지가 로드되면, DB에서 제품관련 카테고리를 불러와 select에 추가. 2. onChange에 적용될 함수를 미리 작성하고, Selector Component의 속성 값에 함수를 적용. // page.js // 상품 페이지 3. Selector Component에서는 onChange 함수를 전달받고, onChange 관련 함수에 적용. // Selector.jsx // Select..

업무 2023.02.16

하스스톤 유니티Clone - #4 공격과 마무리 (3) End...

셰이더 (Shader) GPU에서 실행되는 프로그램. 화면의 픽셀 컬러를 결정하는 계산을 수행. 하스스톤에서 게임이 끝나면 화면이 회색으로 변하는데, 이를 표현하기 위해 이용. 메뉴얼 보고있는데 잘 모르겠... rgb값을 변경해서 Material에서 이용하는 듯 1. 공격 로직 만들기 otherEntities의 attackable이 true인 Entity들을 새 리스트에 작성. 새 리스트를 램덤하게 섞어주고, 새 리스트 내 Entity들이 myEntities내 Entity들을 랜덤하게 공격한다. (보스도 포함) 보스가 죽으면 (TurnManager.Inst.isLoading == true) 더이상 실행되지 않음. 해당 과정은 코루틴으로 실행됨. 3줄 요약 공격 로직도 AI를 이용하는 것이 아니니 별거 없..

하스스톤 유니티Clone - #4 공격과 마무리 (2)

1. 죽음 처리 공격과 데미지 처리가 끝난 후 죽음 처리. AttackCallback(attacker, defender) 메서드 호출 attacker의 Order를 초기화 (이전 공격시 Order를 높임) attacker와 defender의 isDie가 true이면 Entity가 죽음처리에 들어감. 죽음 처리는 Entity의 isMine 속성에 따라 myEntities || otherEntities 에서 해당 Entity를 제거. DOTween으로 흔들리는 효과와 스케일을 줄여 객체가 없어진 것 처럼 보기에 만듬. 스케일을 줄인 후 필드의 엔티티들을 정렬하고, 해당 Entity GameObject를 제거. void AttackCallback(params Entity[] entities) { // 죽을 사..

하스스톤 유니티Clone - #4 공격과 마무리

1. 엔티티 마우스 입력 EntityMouseDown(Entity) : 필드에 소환된 엔티티를 마우스로 클릭 했을 때 클릭한 엔티티를 selectEntity로 지정. EntityMouseUp : selectEntity이고 상대 엔티티에서 마우스를 떼면 공격 메서드(Attack) 호출 EntityMouseDrag : 상대 필드에 소환된 엔티티들 중 타겟이 될 엔티티를 targetPickEntity로 지정. 2. 타겟 표시 하스스톤과 달리 EntityMouseDrag에서 상대 타겟을 설정할 때 상대 엔티티에 Target 마커를 추가. MyPlayer에 스프라이트를 추가하고 이름은 TargetPicker로 지정. 이 스프라이트는 항상 맨 앞에 나와있어야 하므로, Order in Layer를 최대한 높여줌(10..