• Linux,  Programming

    [Linux] make: ‘test’ is up to date

    Linux에서 작업을 하면서 Makefile을 많이 사용하게 되는데, 사용하다가 위와 같이 수행되지 않는 경우가 발생했다. 아래는 수행하려는 Makefile 내부 코드다. 원인 해당 Makefile 위치에 수행하고자 하는 명령어와 동일한 directory가 존재해서 발생하는 것이였다. make 명령은…

  • Linux,  Programming

    [Linux] diff: 두 디렉토리에 각 파일 비교

    일반적으로 두 파일을 비교하기 위해서 diff 명령어를 통해 쉽게 비교 할 수 있다. 그러나 두 디렉토리간 동일한 파일에 대한 비교를 지원하는 명령어는 없기 때문에 다음과 같은 shell script를 통해 가능하다. dir1과 dir2에 각…

  • Digital Logic,  Study

    SAIF Format

    Switching Activity Interchange Format (SAIF)의 약자로 디지털 회로 설계 과정 중 사용되는 data format 중 하나다. 매우 단순하지만, 위 그림처럼 우리가 일반적으로 아는 설계 data들을 다음과 같이 변화시키는데, Pre-Net에서 Post-Net으로 변환하는 과정을 Place…

  • Programming,  Python

    [Python] Google Search Trend

    Python에선 구글의 검색 트렌드를 분석할 수 있도록 pytrends라는 라이브러리를 제공한다. 시간순 선그래프 10.1 Practical use_1 – Jupyter Notebook build_payload(kw_list=[keyword], timeframe=[period])과 trend_df = trend_obj.interest_over_time()를 통해 우리가 원하는 data를 data frame 형태로 받아 올 수…

  • Programming,  Python

    [Python] PyQt – 계산기 만들기

    MVC (Model – View – Controller) 디자인 패턴을 사용해서 계산기를 구현한다. MVC Model Model은 핵심 기능과 데이터를 포함하는데, 계산기에선 계산을 한다. View GUI를 구현하며 application과 상호 작용하는데 필요한 모든 위젯을 호스팅한다. 여기에선 보이는…

  • Programming,  Python

    [Python] PyQt – QThread (OTP Program)

    GUI를 구현할 때 thread를 사용해 producer와 consumer를 각각 구현한다. PyQt에선 좀더 쉽게 사용할 수 있도록 QThread를 제공한다. 아래 프로그램은 하나의 thread가 tic을 튀기면서 signal을 또 다른 thread에게 전달해주어 또 다른 thread가 화면에 뿌리도록…

  • Programming,  Python

    [Python] PyQt – Layout

    GUI를 만들고 싶을 때 가장 먼저 생각나는 부분이 layout이다. Layout 종류는 다양하지만 대표적인 것 몇가지를 소개한다. Layout Alignment Layout widget을 만들어서 main widget에 등록하고, layout에 각 컴포넌트인 label을 하나씩 추가한다. 여기서 layout option으로…

  • Programming,  Python

    [Python] PyQt Widget

    Python Qt에선 위젯이라는 것을 사용하는데 위젯 설정을 통해 배경색, 투명도 등 다양한 부분을 수정 할 수 있다. 위 코드에서 Form은 main Widget을 두고 3개의 sub Widget을 생성한다. self는 main Widget을 말한다. QGraphicsOpacityEffect([위젯 객체])…

  • Programming,  Python

    [Python] PyQt

    Python에서 GUI를 지원하기 위해 가장 많이 사용하는 library는 PyQt다. 결과는 위와 같이 단순한 창 하나가 나온다. QWidget의 속성 얻기 Widget이라고 하면 하나의 창을 말하는 것 같은데, 해당 속성들을 쉽게 얻는 코드가 아래에 있다.…

  • Programming,  Python

    [Python] Multi-Thread Queue Polling

    여러개의 thread 중 하나의 thread가 처리하게끔 만드는것을 polling이라고 한다. Linux의 경우엔 select()라는 함수가 존재하는데, 이를 Python에서 구현하면 다음과 같다. Got: 1 Got: 10 Got: hello Got: 15 운영체제 시스템에선 유저와 커널이 서로 데이터를…