다트의 call by sharing이 플러터에서 작동하는 원리에 대한 해설

Posted on

프로그래밍 기술은 소프트웨어 연구에 의해 성립된 개념에 의해 구현됩니다. 함수를 호출한다고 했을때, 매개변수가 넘겨진다면 이 매개변수를 넘겨서 참조하는 방법도 경우에 따라 차이가 있으며 이를 개념화한 것이 언어의 특징으로 규정되어 있습니다. “값에 의한 호출” (call by value) “메모리 주소에 의한 호출” (call by reference) “공유에 의한 호출” (call by sharing) 이 그 개념들입니다. 이들 세가지 개념은 …

just_audio로 배경음악 연주하는 코드들 해설

Posted on

플러터에서 배경음악 연주를 할때 중요한 것은 지연시간입니다. 음악 연주를 하다가 화면이 바뀔때 다른 배경음악을 연주해야 한다면 아래와 같은 현상이 있게 됩니다. 이 지연시간을 줄인 패키지가 just_audio입니다. just_audio는 지연시간이 1초보다 작아서 활용에 유리합니다. 지원되는 플랫폼은 Android, iOS, macOS, Web으로 윈도우는 지원을 안하는 것 같애요. 그래도 안드로이드와 iOS가 지원되서 좋습니다. 사용법은 매우 쉬운 편인데요. 함수가 간결하고 직관적입니다. …

[RPI-PICO] MinGW UCRT가 무엇인가? (이번에는 검색자료를 보고 응용해서 해설해봅니다)

Posted on

msys64를 설치해서 pacman 명령어로 mingw를 설치할때, 여러 버전이 나옵니다. 이렇게 입력하면 mingw-w64 라고 이름에 붙어있는 프로그램들이나 라이브러리가 검색되는데요. mingw-w64도 종류가 여럿이라 무엇을 설치하면 좋을지 확신이 안될때가 있습니다. 보통 문서들을 보면 mingw-w64-ucrt-x86_64-* 를 추천하는데요. mingw의 윈도우 64비트 버전, UCRT인 gcc와 같은 프로그램과 라이브러리를 의미합니다. 여기서 UCRT 부분이 위에 명령어로 입력한 목록에 뜨는데요. 다른 mingw-w64와 다른 점이 …

[RPI-PICO] 라즈베리파이 피코 2W에서 cmake 실행시 picotool 관련하여 cli.h에 cstdint를 추가해야 한다고 나올때

Posted on

msys64로 mingw-w64-ucrt-x86_64-gcc 와 부속파일을 대충 설치하고 피코 2W 프로젝트를 빌드하면 아래와 같이 오류가 나타날 수 있습니다. 아래와 같은 오류가 발생하고 컴파일 타임에 멈춥니다. 이 경우 수동으로 늘 추가해야 하는데, 살펴보면 picotool 문제가 이전에 발생합니다. 이를 해결 하려면 https://forums.raspberrypi.com/viewtopic.php?t=384966 에서 해설하는 것을 참고로 해서 조치를 취해야 하는데요. cli.h 오류는 위와 같은 명령어로 의존성을 해결하니 넘어갑니다 ^^ …

[RPI-PICO] 라즈베리파이 피코로 쥬크박스 만드는 C/C++ 코드 해설

Posted on

아래와 같은 하드웨어 구성으로 만들었습니다. 라즈베리파이 피코 RP2040 1대Waveshare expander quad 1대Waveshare Pico-Audio Rev.1 (PCM5101A 채택 기종)Waveshare Pico-LCD-1.44 (ST7735S 채택 기종)SPI microSD 카드 모듈 (level shifter 없는 기종)USB-A male micro-USD male 케이블 2개 라즈베리파이 피코는 RP2040을 채택한 라즈베리파이 재단 제품이구요.Waveshare expander quad는 모두 합해 4개의 모듈을 달아쓰게 되어 있는 확장보드입니다.Waveshare Pico-Audio rev.1은 TI의 PCM5101A를 채택한 …

시스템 오류시에 참고할만한 정보

Posted on

시스템 오류는 개별적으로 보면 여러 이유가 있고, 패턴이 비슷해도 원인을 정확하게 특정하기가 애매한 주제 같기도 합니다. 우선 시스템에 남아있는 로그나 메모리 상태를 보기도 하는데, 오류가 해킹에 의한 것이라면 더욱 더 그러하네요. 이번에 불거진 SKT 해킹 사태도 늦게 대응이 되는 이유입니다. 이 경우 정말로 고약하게 고장이 나면 PC 메인보드도 날아가고 여러모로 충격이 큰데요. 이런 경우에 유발자가 …

[RPI-PICO] Level shifter

Posted on

Level shifter는 전자회로에서 나가고 오는 전압 레벨을 핀마다 조정하는 장치를 뜻합니다. 연결된 회로마다 작동하는 전압이 다르다면 level shifter 설비를 해서 조정하게 됩니다. 제일 흔한 로직 레벨은 1.8V, 3.3V, 5V이구요. 보통 회로가 3.3V로 작동한다고 하면 서로 다른 전압을 3.3V로 조정한다는 의미가 됩니다. 다른 전압 입력이나 출력을 한다면요. 단방향과 양방향 level shifter가 존재하구요. 양방향은 또 여러 유형으로 …

오픈소스라는 철학적 논의 대상

Posted on

오픈소스와 자유소프트웨어 정신은 건전한 해커 문화의 산물이고 세상을 일정 부분 발전시킨 사상입니다. 크래커와 구분되는 해커를 강조하기도 했고 기술의 발전에 독점이나 은폐보다 열린 체계를 도입해서 기여하는 측면이 크네요. 특별히 사회에 대한 연구를 하시는 분들도 오픈소스 운동의 철학적인 측면을 주목하시기도 해서, 오픈소스가 대중화되던 1990년대 후반과 2000년대 초반에는 사회학 연구자분들도 관심을 가진 주제였군요. 오픈소스를 지지하는 기술자 중에 에릭 …

1 2 3 37