c++ 수치 알고리즘 (총 합 구하기, 구간 값의 합 구하기)
·
C++
전체 합을 구하기 위해서는 수치 알고리즘인 numeric 헤더 파일을 불러와야 합니다 총 합 구하기 accumulateaccumulate 함수를 사용하면 특정 배열의 총 합을 구할 수 있습니다.int sum = accumulate(더하고싶은 시작점,더하고싶은 도착점, 초기값);x2는 x를 초깃값으로 시작한 구간 [b, e) 순차열 원소의 합입니다.구간 값의 합 구하기 partial_sumpartial_sum 함수를 사용하면 배열에서 특정 구간의 합을 구할 수 있습니다.partial_sum(v1.begin(), v1.end(), v2.begin());v1의 처음 값부터 v1의 마지막 까지의 합을 v2 에 모두 담습니다int main(){ ios_base::sync_with_stdio(0); ci..
라즈베리파이에 카메라 연결해서 영상 스트리밍, 녹화
·
라즈베리파이
MJPG-Streamer 는 스트리밍에 특화되어 있는 서비스입니다필요한 패키지 설치하기카메라 영상 스트리밍을 위한 MJPG-Streamer를 소스 코드에서 빌드하고 설치하기 위해서 필요한 패키지를 다운받아야 합니다.sudo apt updatesudo apt install git build-essential libjpeg-dev imagemagick libv4l-dev cmake설치하는 라이브러리들build-essential이 패키지는 소프트웨어를 빌드하는 데 필요한 컴파일러, 링커, make 등의 도구를 포함합니다.즉 소스 코드를 컴파일하여 실행 가능한 프로그램으로 만들기 위해 필요합니다.libjpeg-devJPEG 이미지 압축과 디컴프레션을 위한 라이브러리의 개발 헤더 파일과 파이브러리를 제공합니다.M..
Swift - Core Bluetooth 블루투스 통신
·
SwiftUI
Core Bluetooth란 BLE 기기들과 통신을 하기 위한 프레임워크입니다. Core Bluetooth 프레임워크는 앱와 저전력 블루투스 장비들과 통신할 수 있도록 해줍니다. Core Bluetooth를 사용할 때 Core Bluetooth 프레임워크의 서브 클래스들을 오버라이딩하면 에러가 발생할 수 있으므로 하지 않습니다. 중요Info.plist에서 설정을 해주지 않는다면 앱은 에러가 발생할 것입니다. Core Bluetooth API를 사용하기 위해서는  iOS 13 이후로는 NSBluetoothAlwaysUsageDescription 키를 iOS 12 이전으로는 NSBluetoothPeripheralUsageDescription 을 설정하여 블루투스의 peripheral 데이터에 접근할 수 있습..
C++ 백준 - 가장 긴 증가하는 부분 수열
·
C++
#include using namespace std;int main() { ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; vector A(N); for (int i = 0; i > A[i]; } vector dp(N, 1); int result = 0; for(int i = 0; i A[i]){ dp[j] = max(dp[j], dp[i] + 1); } } result = max(result, dp[i]); } cout
SwiftUI - 접근제어자
·
SwiftUI
Swift의 접근 제어자는 코드의 가시성과 접근 가능 범위를 제어하여 데이터 은닉과 캡슐화를 구현하는 중요한 도구입니다. 각 접근 제어자의 특징과 언제 사용하는지를 간단히 요약 1. open  • 특징 • 가장 높은 접근 수준. • 다른 모듈에서 접근, 상속, 오버라이드 모두 가능. • 언제 사용하는가? • 프레임워크를 개발할 때, 외부 모듈에서 클래스나 메서드를 상속 및 오버라이드할 수 있도록 허용하고 싶을 때. • 확장 가능성을 열어두고자 할 때. 2. public  • 특징: • 다른 모듈에서 접근 가능하지만 상속 및 오버라이드는 불가능.• 언제 사용하는가? • 외부 모듈에서 사용할 수 있는 API를 제공하되, 상속이나 오버라이드는 막고 싶을 때. • 안정적인 인터페이스만 외부에 제공하고 내부 동작..
Clean Code - 2장 의미 있는 이름
·
도서/Clean Code
소프트웨어에서 이름은 어디나 쓰이며 이름을 잘 짓는다면 개발을 좀 더 수월하게 할 수 있습니다  1. 의도를 분명히 밝혀라좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 이름짓는 것이 중요합니다.코드를 작성 후 수정 및 검색을 할 때 직관적인 이름을 지어야 작업이 더 효율적으로 진행될 수 있습니다.그렇게 하기 위해서는 변수나 함수 그리고 클래스의 이름은 각각 수행하는 기능에 알맞게 지어야 합니다.다른 사람들과 협헙할 때 누가 이떤 코드를 작성했는지 추론하지 않고 한번에 '아 이 클래스는 이런 기능을 수행하겠구나' 라고 생각할 수 있어야 합니다. 2. 그릇된 정보를 피해라1번과 비슷한 의미일 수 있지만 이름을 지을 때 예시를 들어 설명하겠습니다. 배열을 만들 때 단순하게 list 로 이름을 짓기보다 l..
ytw_developer
'티스토리챌린지' 태그의 글 목록 (2 Page)