프로그래밍
[구글 스프레드 시트] Claude API를 이용하여 번역 기능 추가
Claude API를 이용한 스프레드 시트 번역 기능 추가 Claude : https://console.anthropic.com/dashboard Anthropic Console console.anthropic.com위의 주소에서 API키를 발급 받아야 한다.+ API를 사용하기 위해서 카드를 등록해야하고 사용량에 따라 비용이 나간다.비용은 번역 90000개 기준 약 5만원 정도 들 것으로 예상 (지침이나 양에 따라 달라짐) 위 사이트에 들어가 로그인을 하고 상단의 Setting으로 들어간다. 좌측 메뉴에서 API Keys로 들어간다. Create Key를 눌러 API 키를 생성한다. (반드시 다른 곳에 복사해두자)만들게 되면 위와 같이 나온다 API키 발급은 끝났다.이제 스프레드 시트로 가자 스프레드 ..
[C#] C#으로 네이버웍스 봇 만들기
0. 기본 세팅 1. JWT 발급 코드 작성 및 인증서 rsa로 변환 2. 해당 토큰으로 코드를 받고 코드로 채널에 post 2.1 포스트맨으로 테스트 3. 잘 되면 코드에 올리고 봇 돌리기 4. 토큰 만료시간은 24시간 + request 응답하는 기능의 정리해서 올려야징
[유니티] 화면전환 효과 (탕탕특공대 따라하기)
0. 목표 탕탕특공대의 화면전환효과 구현해보기 Mask를 사용하면 될 것 같은데 유니티의 기본 Mask컴포넌트는 Mask이미지가 있는 부분만 보여준다. 이건 반대로 Mask이미지를 제외한 영역을 Mask하는게 필요하다. 1. 기본 Mask 적용해보기 먼저 Image를 만들고 이름을 [MaskImage]로 바꿔준다. Transform이나 Image컴포넌트는 건들지 않았다. 방금 만든 [MaskImage]의 자식으로 Image를 또 만들고 이름을 [MaskedImage]로 변경한다. 구분을 위해 Color값을 바꿨고, Width와 Height를 200으로 바꾸었다. (크기는 부모보다 크면 된다) 다시 [MaskImage]로 와서 Mask 컴포넌트를 추가해준다. Mask 컴포넌트가 적용되서 (100, 100)..
[유니티] 해상도 고정 & 빈 공간 처리
1. 해상도 고정 원하는 해상도는 아래 코드에 width, height에 놓으면 된다. void Awake() { Screen.sleepTimeout = SleepTimeout.NeverSleep; int width = 1080; int height = 1920; float res = (float)width / height; int deviceWidth = Screen.width; int deviceHeight = Screen.height; float deviceRes = (float)deviceWidth / deviceHeight; // SetResolution 함수 제대로 사용하기 Screen.SetResolution(width, (int)(((float)deviceHeight / deviceWidt..
[유니티] XML테이블 사용하기 (2)
1. 컨버팅 안하고 바로 불러오기 앞선 1편에서 XML테이블을 ScriptableObject로 만들어 사용하는 것을 알아봤다. 하지만 개발과정에서 테이블 값을 수정하고 매번 컨버팅을 하기가 귀찮을 수 있다. 이럴 땐 ItemXML 클래스에 아래 메소드를 추가해서 편하게 쓸 수 있다. public static ItemXML LoadDirect() { var t = Resources.Load("Table/Items") as TextAsset; if (t == null) return null; var serializer = new XmlSerializer(typeof(ItemXML)); using (var stream = new StringReader(t.text)) { return serializer.Des..
[유니티] XML테이블 사용하기 (1)
이런내용의 XMl파일을 유니티에서 써보자. using System; using System.IO; using System.Xml.Serialization; using UnityEditor; using UnityEngine; [Serializable] [XmlRoot("ItemContainer")] public class ItemXML : ScriptableObject { [XmlElement("Item")] public ItemInfo item; public void Save(string path) { #if UNITY_EDITOR AssetDatabase.CreateAsset (this, path); EditorUtility.SetDirty(this); AssetDatabase.SaveAssets ()..