영어 버전으로 변경 후 약관 동의를 안하면 버전별 다운로드 화면으로 이동이 불가능하니 꼭!! 확인하세요
- 운영 체제에 맞는 dmg, exe, zip 파일 다운로드 - 다운로드한 파일 설치
2. JetBrains IntelliJ Platform Release List 활용 장점: 특정 버전 정확하게 설치 가능, 2019년 이전 버전 포함되어 있음 단점: 다운로드 링크 직접 찾아야 함, 다소 번거로운 과정 - JetBrains IntelliJ Platform Release List (https://blog.jetbrains.com/idea/category/releases/) 에서 원하는 버전 확인 (예: 2021.2.1)
3. 특정 저장소 활용 장점: 최신 버전 이외 다양한 베타 버전 및 nightly 버전 설치 가능함 단점: 안정성 보장되지 않음, 개발자 지식이 필요함 - 특정 저장소 (예: https://github.com/topics/android-studio) 에서 원하는 버전 확인 및 다운로드 링크 찾기 - 다운로드 링크 수정 후 직접 다운로드 (예: [유효하지 않은 URL 삭제됨] 로 수정) - 다운로드한 파일 설치
주의 사항입니다 - 과거 버전 설치 시 호환성 문제 발생 가능성 존재 - 최신 버전에는 버그 수정 및 기능 향상 포함, 가능한 최신 버전 사용 권장 - 다운로드 링크 수정 방법은 다소 복잡하며, 개발자 지식 필요
페이스북이 사명을 메타(meta)로 바꾸기도 했고, 요즘 메타버스란 용어가 여기저기 많이 등장하며 세상의 이슈가 되고 있습니다.
메타버스란 무엇이며, 왜 생겨난 것인지 간단하게 요약해 보았습니다.
메타버스(metaverse)를 이해하려면 이 용어가 어떻게 생겨났는지 알아야 합니다.
메타버스는 갑자기 생겨난 용어는 아닙니다.
제목에도 나와있듯이 IT가 고도화 되면서 특이점이 생겨나면서 그 특이점을 설명하기 위해 등장한 포괄적 용어라고 볼 수 있습니다.
그럼 단계별로 용어를 대략적으로 설명하자면..
<인터넷(Internet)>
인터넷은 정보의 공유의 용도로 생겨난 네트워크의 네트워크가 시작입니다.
인터넷(영어: Internet, 문화어: 인터네트)은 컴퓨터로 연결하여 TCP/IP(Transmission Control Protocol/Internet Protocol)라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크입니다.
인터넷이란 이름은 1973년 TCP/IP를 정립한 빈튼 서프와 밥 간이 '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(International Network)하고자 하는 의도에서 이를 줄여 인터넷(Internet)이라고 처음 명명하였던 데 어원을 두고 있습니다.
인터넷의 유래는 1960~1970년대 미국 국방부 산하의 고등 연구국(Advanced Research Projects Agency, ARPA)의 연구용 네트워크가 시초이며, 군사용 네트워크는 밀네트(MILNET)로 발전되었다고 합니다. - 출처(위키백과)
<사이버스페이스(cyberspace)>
사이버스페이스는 인터넷상의 상호작용하는 미디어로서의 의미를 갖습니다. 현재 인터넷에서 이용하는 소셜 커뮤니티나 서비스가 사이버스페이스에 속합니다.
가상 공간(假想 空間) 또는 사이버 공간 혹은 사이버스페이스(cyberspace)는 현실세계가 아닌 컴퓨터, 인터넷 등으로 만들어진 가상의 공간을 의미합니다.
‘사이버스페이스’라는 용어는 윌리엄 깁슨이 1984년에 쓴 과학 소설(사이버펑크)《뉴로맨서》에서 최초로 등장했습니다. 인공두뇌학(cybernetics)을 뜻하는 Cyber와 공간을 뜻하는 Space의 합성어로서 현실이 아니라 두뇌속에서 펼쳐지는 또 다른 우주를 뜻합니다. 이러한 사이버스페이스라는 용어는 John Perry Barlow가 의사전달의 공간(Communication Space)라는 개념으로 사용하면서부터 일상적인 용어가 되었습니다.
사이버스페이스에서는 국경과 이념의 한계가 없으며, 지리적 위치, 시간, 신분상의 제한을 받지 않고 누구에게나 실시간 또는 비실시간으로 정보의 선택 및 송수신이 가능합니다. 사이버스페이스에서는 다양한 활동이 이루어질 수 있는데, 사이버 교육은 이러한 사이버 공간 내에서 이루어지는 교육의 한 예입니다. 컴퓨터나 인터넷상의 데이터영역을 다수의 이용자가 자유롭게 정보를 주고받는 곳이며 최근에는 컴퓨터 네트워크상에서 행해지는 범죄를 사이버범죄라고 부르는 등 컴퓨터 네트워크상에 구성된 사회, 즉 사이버스페이스에 대한 인식이 정착되었습니다. - 출처(위키백과)
<메타버스(metaverse)>
메타버스는 사이버스페이스의 초월적 의미이며 상호작용하는 미디어에서 생태계로 확장되는 개념입니다. 현재 AR, VR과 연결되는 OS 환경을 초월한 서비스가 메타버스에 속합니다.
메타버스(metaverse) 또는 확장 가상 세계는 가상, 초월을 의미하는 '메타'(meta)와 세계, 우주를 의미하는 '유니버스'(universe)를 합성한 신조어입니다. '가상 우주'라고 번역하기도 했습니다. 이는 3차원에서 실제 생활과 법적으로 인정되는 활동인 직업, 금융, 학습 등이 연결된 가상 세계를 뜻합니다. 구체적으로, 정치와 경제, 사회, 문화의 전반적 측면에서 현실과 비현실이 공존하는 생활형, 게임형 가상 세계라는 의미로 폭넓게 사용하고 있습니다. - 출처(위키백과)
그렇다면 왜 메타버스가 중요하냐...
메타버스는 위에서 설명했듯이 전에 없던 새로운 개념은 아닙니다.
딱히 기술적 용어도 아니며 특이점에 도달한 인터넷 서비스에 대한 미래 가치를 용어로 풀어낸 것에 불과합니다.
하지만 인터넷이 생긴 이후에 사이버스페이스라는 용어로 상화 작용하는 미디어 혁명을 설명할 수 있듯 인터넷의 고도화를 거쳐서 AR, VR과 연계된 열린 생태계를 설명할 수 있는 메타버스는 미래를 여는 내일의 인터넷으로서 중요한 키워드 입니다.
그럼 메타버스가 완성되려면 어떻게 되어야 하나...
메타버스는 기존과 다른 완전환 평행, 평등을 지향합니다.
상호 작용에 대한 현재의 미디어 혁명은 앞으로 모든 개념에서 확장 될 것이며 플랫폼과 온라인/오프라인의 한계를 뛰어 넘을 것이라 예측하고 있습니다.
예를 들어 상호 작용의 고도화는 플랫폼, 즉 구글/애플의 구속에서 벗어나게 될 것이며 어떠한 플랫폼에서 선보이는 서비스는 다른 플랫폼에서도 동일하게 이용이 가능할 것입니다.
이런 미래가 실현이 되려면 중앙 집권 적인 관리 방식에 벗어난 블록체인 기술, 암호화폐 기술이 적용되어야 하며 현실의 실물 가치를 가상의 세계에서 인정받기 위해 유일한 가치를 증명하는 NFT 기술도 도입이 되어야 할 것입니다.
<블록체인>
블록체인(blockchain)은 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술입니다. P2P 방식을 기반으로 하여 소규모 데이터들이 체인 형태로 무수히 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술입니다. - 출처(위키백과)
<암호화폐>
암호화폐(暗號貨幣, 영어: Cryptocurrency)는 '암호화'라는 뜻을 가진 'crypto-'와 통화, 화폐란 뜻을 가진 'currency'의 합성어로, 분산 장부(Distributed Ledger)에서 공개키 암호화를 통해 안전하게 전송하고, 해시 함수를 이용해 쉽게 소유권을 증명해 낼 수 있는 디지털 자산입니다. 일반적으로 암호화폐는 블록체인이나 DAG (Directed Acyclic Graph)를 기반으로 한 분산 원장(Distributed Ledger) 위에서 동작합니다. - 출처(위키백과)
<NFT>
대체 불가능한 토큰(NFT, Non-Fungible Token)은 블록체인에 저장된 데이터 단위로, 고유하면서 상호 교환할 수 없는 토큰을 뜻합니다. NFT는 사진, 비디오, 오디오 및 기타 유형의 디지털 파일을 나타내는데 사용할 수 있습니다. 사본은 인정되지 않습니다. 이러한 디지털 항목의 사본은 누구나 얻을 수 있지만 NFT는 블록체인에서 추적되어 소유자에게 저작권 과 소유권 증명을 해야합니다. - 출처(위키백과)
지금은 메타버스로 가기 위한 시작일 뿐입니다. 저도 메타버스가 제대로 구현되는 세상이 무엇인지 모르겠습니다.
제가 요즘에 Python에 관심이 있어서 알아가고 있는 데, 유용한 정보들은 정리해 보려고 합니다.
Python은 전세계에서 가장 많이 추천되는 언어중 하나라고 합니다.
그만큼 강력하고 쉽다고 하네요.. 물론 어떤 언어든 중급 이상이 되려면 다 어렵긴 합니다. ^^
파이썬이란?
파이썬(영어: Python)은 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것이다.
파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다. C언어로 구현된 사이썬 구현이 사실상의 표준이다. - 출처 : 위키백과
파이썬을 사용하려면 다양한 툴을 활용해야 하는데 추천되는 툴이 많지만 전 그중 Visual Studio Code 라는 툴을 설치해 보았습니다. 개인적으로 가장 UI가 편리하고 제공되는 라이브러리의 연계가 좀 쥡지 않았나 싶습니다.
Visual Studio Code 란?
비주얼 스튜디오 코드(영어: Visual Studio Code)는 마이크로소프트가 마이크로소프트 윈도우, macOS, 리눅스용으로 개발한 소스 코드 편집기이다. 디버깅 지원과 Git 제어, 구문 강조 기능등이 포함되어 있으며, 사용자가 편집기의 테마와 단축키, 설정 등을 수정할 수 있다.
비주얼 스튜디오 코드는 깃허브가 개발한 일렉트론 프레임워크를 기반으로 구동된다. 그러나 같은 일렉트론 기반의 편집기 아톰을 포크한 것은 아니며, 비주얼 스튜디오 온라인 에디터(코드명 "모나코")를 기반으로 개발되었다. - 출처 : 위키백과
앞으로 다양한 파이썬과 VS Code의 내용을 정리할 수도 있지만, 우선 기초적인 단축키 부터 좀 정리해 보려고 합니다. 저도 단축키 정리된곳을 찾기 어려워서 불편했거든요, 개발을 하다보면 단축키를 많이 알면 개발 속도를 줄일 수 있어서 좋습니다. :)
1. Alt + Shift + F -> 입력 라인 자동 정렬( Beauty lib 설치되어있어야함) "코드 format" 2. Ctrl + [ or ] -> 들여쓰기, 내어쓰기 3. code . -> cmd 창에서 현재 디렉토리로 visual studio code를 실행하려 할 때 4. Alt + <방향키> -> 해당 커서에 있는 행 내용을 위아래로 이동 5. Ctrl + Shift + K -> 해당 커서에 있는 행 삭제 6. Ctrl + Shift + P -> Show all commands ( VS Code에서 사용할 수 있는 모든 명령어를 입력 할 수 있다.) -> process explorer 입력시 메모리 상황창 호출 됨(느려질시 이거 켜서 필요없는 프로세스 kill) -> show running extensions 입력시 VS Code에서 사용하고 있는 extensions 확인 가능 7. Ctrl + Alt + 위/아래 화살표 -> 위아래로 커서를 늘려서 동시에 여러줄 수정할 수 있도록 하는 기능 8. Ctrl + P or E -> Quick Open(파일명 여기서 입력하면 한방에 찾을 수 있음) 9. Ctrl + Shift + T -> Re Open(방금 전에 닫은 파일을 다시 열고 싶을때 사용) 10. Ctrl + B -> 토글 사이드 바 11. Ctrl + K 누른후 잠시 후 Z -> 에디트 창 전체화면/해제 12. Ctrl + Space -> IntelliSense(입력시 자동 추천메뉴? - 이클리스 기능?) 13. F12 or Ctrl + 해당 정의 마우스 클릭 -> 정의로 가기(Go to Definition) 13-1. 정의 누르고 F2 -> 해당정의 모든 변경 13-2. Shift + F12 -> 모든 정의 찾아서 리스트화. 14. Shift + alt + left or right -> 셀렉션 축소 확장 15. Shift + alt + 드래깅 -> 컬럼(박스) 셀렉션 16. Shift + alt + 위/아래 방향키 -> 셀렉션 위/아래 로 복사 17. Ctrl + u -> 셀렉션 되돌리기 18. Ctrl + Shift + \ -> () 또는 {} 괄호의 시작점이나 끝점으로 이동함.
구글 플레이 마켓에 앱을 서비스 하시는 분들은 대부분 아시겠지만 구글 플레이 마켓에 서비스를 하려면 2019년 8월 1일부터 64비트 아키텍쳐를 적용하여 앱에 출시하여야 합니다.
"2019년 8월 1일부터 Google Play에 게시된 앱에서는 64비트 아키텍처를 지원해야 합니다. 64비트 CPU는 사용자에게 더 빠르고 풍부한 환경을 제공합니다. 앱의 64비트 버전을 추가하면 성능이 향상되고 향후 혁신이 가능해지며 64비트 전용 하드웨어가 장착된 기기를 설정할 수 있습니다." - 구글 플레이 개발자 가이드 中
64비트를 적용하기 위해 유니티에서 64비트 버전을 지원하려면 ARM64를 사용해야하고 그러기 위해서는 IL2CPP를 사용해서 빌드를 해야 합니다.
유니티에서 간단하게 설졍할 수 있는 방법을 스크린샷과 함께 설명해 드리겠습니다.
[File] > [Build Settings...] 으로 빌드 셋팅을 확인합니다.
물론 빌드 세팅이 Android 상태여야 합니다.
그리고 [Player Settings...] 버튼을 클릭하여 사용사 설정을 변경합니다.
[Player Settings...]를 누르면 [Project Settings] > [Player] 메뉴로 위치한 팝업이 생성됩니다.
여기메뉴에서 [Order Settings]를 골라서 정보의 리스트 중 하단으로 내려주세요.
하단으로 스크롤을 내리다보면
Configuration이라는 항목이 존재합니다.
여기의 Scripting Backend가 기본적으로 Mono로 되어 있을 것입니다.
그리고 하단의 Target Architectures가 ARMv7로 되어 있을 것입니다.
이 부분을 아래와 같이 수정해 주시면 됩니다.
Scripting Backend를 Mono > IL2CPP 로 변경해 주시고
(IL2CPP 를 선택하면 아래 Target Architectures 에 ARM64가 활성화 됩니다.)
Target Architectures에서 ARM64 항목을 추가로 체크를 해주세요.
스샷에 나온 상태대로 IL2CPP와 ARM64를 선택하고 빌드를 하면 64비트를 지원하게 됩니다.
혹시 IL2CPP 빌드를 하려는데 SDK, JDK, NDK 관련 오류가 발생한다면 Preferences -> External Tools 에서 정상적으로 설치가 되어 있는지 확인합니다.
만약 위 스샷과는 다르게 경고 표시가 있다면 유니티 허브를 이용해서 Android SDK & NDK Tools를 설치합니다. (보통 구버전 유니티를 사용하면서 mono로만 빌드를 했다면 NDK가 없을 수 있습니다. )
간단하게 셋팅을 하고 나면 이제부터 Android apk를 빌드할 때 기본적으로 64비트 아키텍쳐가 적용된 상태로 빌드가 가능합니다.