본문 바로가기

공부하자

AWS 라이트세일에서 nginx 로 서브도메인 설정하기(centos 7) 회사에서 쓰는 개발용으로 쓰는 서버가 있는데 해당 서버에 이런 저런 서비스가 많이 설치 되어 있다. 기존에는 해당 서비스를 http://아이피:8080 이런식으로 사용하고 있었는데 아이피를 외우기도 피곤하고 포트를 외우는 것도 피곤해서 서브 도메인을 사용하기로 했다. 우선 AWS 라이트세일 화면에서 서브도메인을 설정해 준다. 이미 AWS에서 연결중인 도메인이 있었기 때문에 해당 도메인에 서브도메인만 추가해주면 끝이다. 이후 서버에 접속하여 아래 명령어로 nginx를 설치 해 준다. sudo yum install nginx https://www.nginx.com/resources/wiki/start/topics/tutorials/install/ Install | NGINX There are currentl.. 더보기
젠킨스 sudo 권한으로 쉘스크립트 실행할 때 젠킨스로 빌드 후 아래처럼 개발서버로 파일 전송을 한 후 해당 서비스를 바로 실행해야할 경우가 있다. 그럴때 root 권한이 필요할 때가 있는데 아래 처럼 sudo를 앞에 붙여서 실행하면 비밀번호를 묻게 된다. 그래서 젠킨스에게 권한을 줘야하는데 권한을 주는 방법은 아래와 같다. - vi /etc/sudoers 실행 - 아래 내용을 적당한 곳에 추가 jenkins ALL=(ALL) NOPASSWD: ALL - 읽기 전용 파일이므로 wq! 로 강제저장하고 종료 이후에 젠킨스로 sudo 명령을 실행하면 정상적으로 실행되는 것을 볼 수 있다. 더보기
유니티3D 라이선스 정책을 위반했더니?? 지난 12개월 동안 확보한 매출 및 자본금이 10만 달러 미만인 개인 및 소기업은 Unity Personal 라이선스를 사용할 수가 있다. 무료로 사용할 수가 있다는 얘긴데 무료와 유료버전의 차이는 실행할 때 유니티 로고를 강제로 표시하느냐 마느냐 밖에 없다. 물론 유료버전은 기술지원도 받을 수 있긴 하지만 대체로 개발자들이 구글 검색을 통해 스스로 해결하기 때문에 기술지원은 있으나 마나 한 경우가 많다. 그래서 우리 회사에서도 빌드용으로 라이선스 하나만 구입해서 사용했는데 어느 날 이런 메일이 떡 왔다. 안녕하세요, 귀사에서 유니티 에디터 소프트웨어 약관 위반("라이선스 혼용")이 확인되어 적법한 이용을 위해 약관(unity.com/legal/editor-terms-of-service/software).. 더보기
Jenkins로 Maven 프로젝트 빌드 자동화 하기 c#과 유니티 개발을 주로 했었던 나는 젠킨스의 존재자체를 몰랐다. 하지만 웹 개발을 하게 되면서부터 빌드자동화에 대해 관심을 가질 수 밖에 없었다. 수많은 개발자와 서로 다른 개발 환경, 게다가 테스트 환경까지 고민해야하니 개발은 둘째치고 빌드만 하는데에도 상당한 에너지가 소모된다. 개발은 git이 도와주니 git과 연동하여 빌드 자동화를 할 수 있는 젠킨스의 선택은 어찌보면 필수라도 할수 있겠다. 그 중 회사에서 Maven빌드를 할 일이 있어서 메이븐 빌드 자동화에 대해 정리도 할겸 적어보....려 했으나 잘 정리 해놓은 블로그를 찾아버려서..ㅡ.,ㅡ 해당 링크를 정리해 본다. 젠킨스 설치 https://velog.io/@skyvault05/Jenkins-%EC%84%A4%EC%B9%98 Jenkin.. 더보기
AWS 루트 계정으로 사용자 계정 추가하기 회사에서 AWS를 개발서버 및 서비스 용으로 사용하면서 보안에 관련 고민을 하게 되었다. 개발자가 몇명 안될때는 루트계정으로 쓰는게 문제가 없었지만 직원이 늘어나면서 모든 직원에게 루트 계정을 알려주기는 부담스러워졌기 때문이었다. 그래서 정리도 할겸 공유의 의미로 사용자 계정을 추가하는 방법을 적어본다. AWS에는 IAM(Identity and Access Management)로 접근 계정 관리를 한다. 우리회사의 경우 루트 계정은 대표님이 직접 관리하고 개발자들은 라이트세일 서비스에만 접근이 가능하면 되었다. 그래서 우선 사용자 계정을 추가하는 방법을 정리해본다. 아래의 과정으로 추가된 사용자는 라이트세일 관리 권한만 갖게 된다. 1. AWS 루트 계정으로 로그인. 2. 상단 서비스 검색에서 'IAM'.. 더보기
[HTML Parsing] 웹페이지 이벤트 가져오기 private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){mshtml.HTMLDocument document = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;mshtml.HTMLDocumentEvents2_Event iEvent;iEvent = (mshtml.HTMLDocumentEvents2_Event)document;iEvent.onafterupdate += IEvent_onafterupdate;iEvent.onactivate += IEvent_onactivate1;} 웹페이지에서 일어난 왠만한 이벤트는 이걸로 등록해서 사용할수 있다. 더보기
오브젝트 전후방 판단 월드 상에 다른 오브젝트가 있을 시에 이넘이 내 앞에 있는지 뒤에 있는지 알아야 할 때가 있다.방향 벡터를 구한 후 z값을 가지고 비교를 하는 것인데z방향이 양수면 전방, 음수면 후방이 된다. public class CheckForward : MonoBehaviour { public Transform Target; public Vector3 Dir; public bool IsForward = false;void Start () {}void Update () { Dir = Target.position - transform.position; IsForward = Dir.z > 0 ? true : false;}} 더보기
List<T> Sort List Sort 사용법 - 오름차순 정렬Sort((string x, string y) => x.CompareTo(y)); - 내림차순 정렬Sort((string x, string y) => y.CompareTo(z)); 더보기
안드로이드 - 매니페스트 충돌 Error: [Temp\StagingArea\AndroidManifest-main.xml:23, E:\NewDayX\WatchRemember_flip\UnityProject\Final\Temp\StagingArea\android-libraries\unityads\AndroidManifest.xml:10] Trying to merge incompatible /manifest/uses-permission[@name=android.permission.WRITE_EXTERNAL_STORAGE] element: 유니티에서 빌드할때 위와 같은 메세지가 나타날때는 매니페스트 파일을 모두 확인해야한다.권한 같은 부분이 동시에 다른곳에서 쓰여질때 다른값을 설정하면 충돌이 일어난다. 더보기
빌드시 AdMob plugin 과 googleplay plugin 충돌 현상 해결 https://github.com/guillermocalvo/admob-unity-plugin AdMob 이 유니티 플러그인으로 나온게 있길래(사용하기 편하고 광고 위치를 다양하게 설정할 수 있다) 기존에 설치한것을 지우고 다시 적용한 뒤에 유니티에서 빌드를 했더니 에러가똭!! error building player: commandinvokationfailure: unable to convert classes into dex format. see the console for details...어쩌구 찾아보니 class가 중복되어 있을때 생기는 현상이란다.기존 프로젝트에는 구글 플레이밖에 적용해 놓은게 없기 때문에 문제는 바로 이것.그래서 class 파일이 들어있는 jar 파일들을 뒤져봤다. 그랬더니 역시.. 더보기