반응형

전체 글 73

블로그 시작과 주식 카테고리에 대하여

나는 지식을 알아가는 것을 좋아한다. 쓸데없는 것 유용한 것 모두. 그래서 중학교 때 당시 친구와 어떠한 지식으로 누가 맞냐 내기를 했었고, 내가 결국 맞았다. 그 친구는 심술이 생겼었는지 나에게 '잡지식이 많다.'라고 이야기를 했었고, 그 순간엔 별 신경을 쓰지 않았지만 집에 와 곰곰이 생각하다 보니 기분이 좋지 않았다. 잡지식. 접두사 '잡+'은 ''여러 가지가 뒤섞인'이나 '자질구레한'의 뜻을 더한다.' 라는 뜻이다. 그때 당시에는 친구는 나에게 기분이 좋지 않아서 잡지식이라고 이야기를 했겠지만, 지금 생각해보면 남이 모르는 지식을 안다고 거드름 피우는 게 진짜 잡지식이 아닐까 라는 생각이 든다. 블로그에 글을 쓴게 된 계기가 그렇다. 나의 지식이 잡지식이 되지 않기 위함이다. 나의 지식으로 다른 ..

2. M1 맥에서 파이썬 개발환경 구축(아나콘다, 파이참)

저번 포스팅에서는 윈도우에서 파이썬 개발환경 구축을 했다면, 이번에는 맥에서 개발환경 구축을 해보겠다. 윈도우와 동일하게 아나콘다를 설치하고 IDE는 파이참을 사용할 예정이다. 자 시작해보자. 아나콘다를 설치하도록 하자 https://www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위의 사이트로 들어가서 Download를 눌러도 되지만, 그 아래에 있는 Get Ad..

Study/Python 2021.08.08

4. 컴퓨터에서 공유기와 RTSP를 이용한 CCTV연결(VLC)

이전 포스팅에서 파이썬으로 파일 옮기기를 했었다. 이번에는 RTSP(Real Time Streaming Protocol)를 이용하여 영상을 받아오기로 하자. 외부에서 접근하면 더 좋게 만들 수 있겠지만, 나는 내부망으로 사용할 예정이다. CCTV를 중국의 알리익스프레스에서 구매한 걸 감안하면 충분히 그럴만하다고 생각한다. 추후 외부에서도 접속 가능하게 포스팅해보겠다. 준비물 : 공유기, CCTV(알리에서 3만 원 주고 삼), LAN 케이블 2개 공유기로 데이터를 주고받을 예정이다. 그리고 공유기의 WIFI를 이용하여 핸드폰으로도 CCTV를 실시간으로 볼 수 있게 할 것이다. CCTV는 RTSP가 되는 거면 다 가능하다. 그래도 내 블로그를 보고 처음부터 끝까지 따라 하실 분들을 위하여 링크를 남겨드리겠다..

1. 윈도우에서 파이썬 개발환경 구축하기 (파이참, 아나콘다)

코딩 시작하기 전 가장 힘든 것 중 하나가 개발환경 구축이라고 해도 과언이 아니다. 개발환경 구축을 몇 번 해본 사람들은 알겠지만, 게임이나 일반 응용프로그램처럼. exe파일을 실행한다고 해서 끝나는 게 아니기 때문이다. 환경변수 설정은 기본이고, 설치하려는 시스템의 설정도 확인해야 하고 버전도 확인을 해야 한다. 그래서 대학생 때 교수님이나 조교에게 개발환경 구축하다가 오류가 생겨 물어봐도 기기마다 설정이 다르므로 해결 못하는 경우가 대부분이다. 답은 구글링뿐.. 윈도우에서 파이썬 개발환경을 구축해보도록 하자. 파이썬은 Python 3의 Anaconda을 설치할 것이고, IDE는 Pycharm을 사용할 예정이다. 개인적으로 VSCode를 많이 사용하지만, 파이썬을 개발할 때에는 파이참이 익숙해서 파이참..

Study/Python 2021.08.04

3. Python(파이썬)으로 파일을 외부 드라이브로 옮기기

앞서 포스팅에서 CCTV Usecase를 작성해보았다. 이제는 Python으로 파일을 옮기는 작업과, 그다음 포스팅에는 RTSP protocol을 이용하여 영상을 받아오고 저장해보겠다. 혹시 파이썬 개발환경을 구축하지 못한 분들은 다른곳에 포스팅한 글을 보고 따라하시면 됩니다. https://pcseob.tistory.com/11 1. 윈도우에서 파이썬 개발환경 구축하기 (파이참, 아나콘다) 코딩 시작하기 전 가장 힘든 것 중 하나가 개발환경 구축이라고 해도 과언이 아니다. 개발환경 구축을 몇 번 해본 사람들은 알겠지만, 게임이나 일반 응용프로그램처럼. exe파일을 실행한다고 해 pcseob.tistory.com Python으로 파일을 옮기는 과정을 하는 이유는, RTSP로 받아온 영상파일을 라즈베리파이..

5. Dart Flutter, 플러터의 비동기의 Return, then과 try catch

이전 포스팅한 내용은 Dart에서 비동기가 어떻게 작동하고 어떻게 제어하는지 포스팅을 했었다. 이번에는 비동기 함수의 결괏값을 어떻게 받아오는지 알아보자. 결론 Dart의 비동기함수의 예외처리는 두 가지 방법이 있다. 첫 번째는, try catch finally로 한다. try를 진행하고 에러가 발생하면 catch가 작동하며 try 혹은 catch작동 이후 finally가 실행된다. 두 번째는, then catchError, whenComplete를 사용한다. 작동은 try가 then, catch가 catchError, finally가 whenComplete라고 생각하면 된다. 둘 중에 무엇이 좋다고 딱 잘라서 말을 할 순 없다. 하지만 잘 짠 코드에서는 코드의 가독성도 중요하므로 상황에 맞게 사용하도록..

Study/Dart,Flutter 2021.07.30

4. Dart Flutter, 플러터의 비동기식 Future, await 그리고 async

포스팅이 점점 더 기초적으로 가지만, 짚고 넘어가야 할 것 같아서 작성하게 되었다. 앞서 Dart의 비동기의 작동방식을 살펴보았다. 그러면 어떻게 사용하는지 살펴보자. 바쁜 사람을 위한 빠른 결론! Dart Flutter에서 비동기식을 사용할 때 Future, async, await를 사용한다. 함수 이름 앞 Future은 반환을 나타낸다. 가독성을 위해 적는것을 추천하지만, 생략해도 무방하다. await를 사용하기 위해서는 반드시 async가 적혀있어야한다. await를 사용하면 비동기 함수가 끝날때까지 기다리며, await를 사용하지않으면 기다리지않는다. 비동기함수가 끝났음을 알리고싶다면 Callback함수를 이용하여 알릴 수 있다. 직전 포스팅을 안 읽은 사람들을 위해 Dart 공식홈페이지 링크를 ..

Study/Dart,Flutter 2021.07.28

3. Dart Flutter, Asynchronous, Isolates와 Event Loop 에 관한 고찰

오늘은 이론적인 내용을 다뤄보도록 하자. Flutter로 개발을 하면 흔하게 사용하는 Future, async 그리고 await가 비동기식으로 작동하는 원리를 파악해보려고 한다. 먼저 Dart 공식 홈페이지에서 찾아보았다. https://dart.dev/codelabs/async-await Asynchronous programming: futures, async, await Learn about and practice writing asynchronous code in DartPad! dart.dev 읽어보면 Asynchronous 즉 비동기식 프로그래밍, futures, async 그리고 await에 관련된 내용이 나온다. 비동기식이란 동시에 일어나지 않게 일처리 하는 방식을 뜻하며, 동기식의 반대되는..

Study/Dart,Flutter 2021.07.23

2. CCTV Usecase Diagram(유스케이스 다이어그램)

개발에 앞서, 어떠한 기능을 구현할 것인지 구체화하고 시각화해야 한다. 개인적인 프로젝트를 여러 개 진행해 보았을 때, 무작정 개발하는 것과 차근차근 단계별로 진행했을 때 장단점을 많이 느끼게 되었다. 직접 적어서 정리를 해보자면, 장점 무작정 개발 : 초기 개발 속도는 가장 빠르다. 무언가를 한다는 생각에 열정이 솟아난다. 단계별 진행 : 내가 무엇을 해야 하고 어떤 걸 해야 하는지 정해져 있다. 목표가 정해져 있다. 단점 무작정 개발 : 개발 초기를 넘어설 때부터 기능 구현에 대한 정리가 잘 되지 않는다. 목표가 모호하다. 전혀 필요 없는 기능을 구현할 수 있다. 단계별 진행 : 단계별을 하려다가 개발 속도가 느리고 지지부진해질 수 있다. 개발한다는 생각이 많이 들지 않아서 열정이 상대적으로 덜 솟아..

2. 플러터 Navigator와 onGenerateRoute그리고 popUntil 의 고찰

앱 페이지를 넘기는 과정 중, PushName과 Pop만 사용하다가 popUntil을 사용해야 했다. 별생각 없이 PushNamed처럼 popUntil을 사용하는데 검은색 화면만 떠서 왜 안 될까 했는데 이번에 해결을 해서 포스팅하기로 했다. 바쁜 사람을 위한 결론! MaterialApp 혹은 CupertinoApp의 Parameter, onGenerator에 RouteGenerator을 선언했다고 popUntil이 되는 것이 아니다. 정확히는 ModalRoute.withName에 저장이 되지 않는다. ModalRoute.withName으로 Page이름을 적기 위해서는 Navigator push 할 때 MaterialPageRoute 또는 CupertinoPageRoute의 Parameter, setti..

Study/Dart,Flutter 2021.05.15
반응형