전체 글 25

Rust코드를 NDK로 Android에서 실행하기 for MacOS

Android Studio 정보Ladybug Feature Drop 2024.2.2Build #AI-242.23726.103.2422.12816248, built on December 18, 2024Runtime version: 21.0.4+-12422083-b607.1 aarch64VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. 선행 작업Rust 설치하기 MacOS - Rust 설치하기설치방법 참고 사이트  한국 러스트 사용자 그룹Rust 설치하기 A. Rustup 사용하기 rustup을 쓰면 윈도우, 맥, 리눅스 등 대부분의 환경에서 별도의 지식 없이 손쉽게 러스트를 설치할 수 있습니다. Rcharlie-dev.tistory.com Rust 크로스 컴파일 타겟 ..

안드로이드 2025.02.06

MacOS - Rust 설치하기

설치방법 참고 사이트  한국 러스트 사용자 그룹Rust 설치하기 A. Rustup 사용하기 rustup을 쓰면 윈도우, 맥, 리눅스 등 대부분의 환경에서 별도의 지식 없이 손쉽게 러스트를 설치할 수 있습니다. Rust 공식 설치 가이드가 제일 권장하는 방법이므로rust-kr.org  Install RustA language empowering everyone to build reliable and efficient software.www.rust-lang.org   설치 커맨드curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 설치 옵션1) 기본 설치2) 커스텀 설치  설치 완료후 터미널 재시작  cargo 버전 확인cargo --version..

카테고리 없음 2025.02.06

Rust -3-

배열 대괄호[]를 사용하여 배열임을 나타낸다타입을 정의 할 때 [데이터타입; 요소갯수] 로 정의 한다.변수 초기화시 [값; 요소갯수]로 한번에 초기화가 가능.배열의 요소 접근은 런타임에 확인 가능하기 때문에 잘못된 인덱스 접근은 runtime panic을 발생시킨다. 튜플여러개의 타입을 하나의 변수로 선언가능 (타입,타입, ...)튜플에 속한 값은 인덱스로 접근이 가능하다비어있는 튜플 () 은 유닛타입으로 다른 언어의 void와 유사한 반환 값이 없는 것을 나타낸다.  패턴과 구조분해튜플 구조를 let (변수, 변수) 로 하여 튜플의 구조를 분해하여 값을 한번에 각각 할당 가능구조체를 사용할 경우 let 구조체 { 구조체 속성, 구조체 속성 } 으로 구조 분해가 가능  공유 참조값에 대한 소유권을 가지지..

카테고리 없음 2025.01.26

Rust -2-

흐름제어 if 문if 키워드로 선언 하며 그다음 참/거짓 조건을 명시중괄호를 사용하여 조건이 참일 경우 실행될 행동을 선언다른 조건이 필요할시 else if 키워드를 뒤에 이어서 조건을 추가 할 수 있음명시한 조건 외에 다른 조건을 처리하고 싶다면 else 키워드를 붙여서 처리할 수 있음표현식을 통해서 변수에 값을 할당 시켜 사용할 수 있다.  반복문 whilewhile 키워드를 사용해서 선언조건이 참일 경우에만 정의한 코드를 실행한다.반복될때 마다 조건을 계속 체크한다. forfor 키워드를 사용하여 반복문 선언.., ..= 를 사용하여 어느조건까지 반복할지 선언iterator를 사용하여 배열의 요소만큼 반복가능하며 변수에는 배열의 요소가 할당된다. looploop 키워드로 선언 조건이 필요하지 않는 ..

카테고리 없음 2025.01.25

Rust -1-

함수 선언함수는 fn 키워드를 사용해서 선언하고 다음으로 호출때 사용할 함수 이름 순이다.main 함수는 프로그램 진입점이다.중괄호 {} 를 사용해서 함수 블록을 표시한다.러스트는 매크로 시스템을 가지고 있다. println! 은 그 예시이다.러스트의 문자열은 UTF-8로 인코딩 되며 이모지와 같은 유니코드 문자를 포함 할 수 있다.  변수let 키워드를 사용해서 변수 선언을 하고 변수이름지정타입 명시는 선택적으로 선언 할 수 있다.rust의 변수는 기본적으로 불변상태이다.불변상태를 변경가능상태로 하려면 변수 선언시 let 키워드 다음에 mut 키워드를 사용해주어야한다.  값iN, uN,fN 은 모두 N비트 크기이다.isize 와 usize는 포인터와 같은 크기이다.char는 32비트 이다.bool은 8..

카테고리 없음 2025.01.24

Rust

Rust는 메모리 안정성 과 성능에 중점을 두고 만들어진 프로그래밍언어이다.C++와 유사한 정적 컴파일 언어이며 다양한 플랫폼과 아키텍처를 지원한다.다양한 장치에서 사용될 수 있다. Rust는 C++가 사용되는 곳에 대부분 사용이 가능하다.별도의 런타임을 필요로 하지 않고 가비지컬렉션이 없다. 안정성과 안전에 중점을 둔 언어이다. Rust 장점컴파일 시간 메모리 안전메모리 버그를 컴파일 시간에 찾아낸다. 초기화하지 않을 수 없음메모리 이중 해제 불가메모리 해제 후 사용이 불가개발자들의 골칫덩이 Null 포인터가 없음스래드간 데이터 레이스 막아줌뮤텍스 Lock을 풀지 않는 것을 방지 언어기능열거형과 패턴 매칭제네릭FFI 런타임 오버헤드 없음비용이 들지 않는 추상화친절한 컴파일러 메시지내장 테스트 지원LSP..

카테고리 없음 2025.01.24

VoIP

VoIP (Voice over Internet Protocol)인터넷을 통해 음성 통신을 하는 기술IP를 통해서 음성신호를 압축하여 디지털 데이터 패킷으로 변환하여 전송한다. 코덱 G.729,G.771 을 사용하여 인/디코딩한다.코덱을 이용하여 압축하기 때문에 트래픽이 절감 된다. 전화기능 말고도 지능형 정보처리, 응용 서비스 다양화등이 가능하다.IMPP, UMS, CTI 등 데이터 서비스를 음성과 통합 VoIP는 SIP 와 RTP를 복합 적으로 사용한다.SIP(Session Initiation Protocol)통신 세션을 시작, 유지, 종료 할 때 사용되는 신호 프로토콜이다. RTP(RealTime Transport Protocol)실시간 비디오, 오디오 및 데이터를 전송하는데 사용하는 프로토콜이다.R..

카테고리 없음 2025.01.22

마일즈스톤?

회사에서 업무를 진행하다가 마일즈스톤 이란 단어를 들은적이 있다.마일즈? 스톤? 무슨돌 인가? 라고 생각을 했다. 영단어 사전에서는 중요한 단계돌로된 마일표(이정표)매우 중요한 사건이라고 한다. 그렇다면 업무에서 마일즈스톤은 무엇일까? 마일즈 스톤은 프로젝트 진행과정에서 특정할 만한 중요한 사건의 한 지점을 뜻한다고 한다.프로젝트 진척 상황을 나타내는 강력한 이정표 역할이다. 프로젝트 일정관리에서 체크를 하기위한 용도로 사용하며 쉽게 생각하면 프로젝트 체크포인트라고 보면 될 것 같다.회사의 프로젝트는 여러분야의 많은 사람들이 얽혀있고 많은 사항들이 동시 다발적으로 진행된다 하지만 프로젝트가 전체적으로 얼마나 진행되었다는것을 모두가 파악하기는 어려움이 있다. 이때 필요한것이 마일즈스톤인것 같다. 프로젝트 ..

카테고리 없음 2025.01.22