[생각] 코딩에 대한 생각의 전환

Computer 관심/이것저것|2021. 9. 11. 12:32
반응형

프로그래머가 아닌 많은 일반인들이 프로그래밍을 배우고 있다.

심지어 5살짜리 애기도 코딩에 대해 배운다고 하는 말을 듣고 굳이 그렇게 일찍 배울 필요가 있나 싶은 생각도 들었지만 코딩이 기초학문이 되어가고 있는 것을 느낄 수 있었다. 심지어 아이들의 교육을 걱정하는 부모님까지 코딩에 대해 기본은 알고 싶다는 이야기도 들었다.

 

문득 코딩이 글쓰는 것과 비슷한 것 같다는 생각이 들었다.

글 쓰는 것은 기본적으로 모든 사람이 배우지 않는가.

그런데 코딩도 비슷한 것 같다는 것이다.

 

나는 직업이 프로그래머가 아니지만 '간단한 코드를 만든다.'

반복되는 작업을 자동으로 하는 10줄 정도의 간단한 코드이다.

다른 직원에게 설명해주고 싶지만 배우려는 의지도 없어보인다. 

그들의 생각은 '너는 프로그래머 였으니까...'

 

그런데 코딩에도 글 처럼 수준이 존재한다.

'번득이는 아이디어를 갈겨되는 한줄의 메모'

'아무렇게나 생각을 적어되는 내 블로그 수준의 글'

'전문적인 학술지의 글'

'아마추어 소설가의 글'

'작가의 글'

 

심지어 많은 사람들은 몇 년 혹은 몇 달동안 글을 적지도 않을 것이다. 

 

전문 적인 프로그래머로서의 코드는 간결하고 읽기 좋으며 구조적으로 완벽에 가까워 보일 것이지만

일반인의 코드는 그렇지 않을 수도 있으며 그럴 필요도 없다.

 

일반인이 글을 쓰며 '내 글은 완벽해야되' 라고 생각을 하면 아무 글도 쓸 수 없는 것 처럼.

일반인이 전문적인 수준의 코드를 만들어 내려고 하면 아무것도 적을 수 없다.

하지만 일반인이 쓰는 글이 가치가 없다고 여겨지지 않는 것 처럼 

일반인이 만든 코드가 가치가 없다 말 할 수도 없다. 

 

몇줄의 파이썬 코드지만 회사에서 꽤 많은 업무 시간을 줄여줄 수 있다.

돼지우리 같은 코드로 만든 회사 홈페이지가 회사에서 꽤 중요한 역할을 할 수도 있다. 

 

글을 써야 하는데 자신이 전문가가 아니라고 글을 쓰지 않겠는가.. 

 

 

코딩을 하는게 엄청나게 다른 것을 한다고 생각하는 주변사람들도 문제이다.

사무직을 다니면서 엑셀을 쓰지 않는 사람들이 얼마나 될까?

엑셀 전문가가 아니여도 엑셀을 쓴다. 

 

코드도 딱 그 정도만 되도 쓸 수 있다.

 

 

 

댓글()

[생각] 재사용 컴포넌트에 구현에 대한 생각

Computer 관심/이것저것|2021. 1. 6. 01:06
반응형

리액트의 프레젠테이션 컴포넌트와 컨테이너 컴포넌트를 보고

컴포넌트의 재사용에 대한 방식을 생각해 보았다. 

 

이렇게 재미있는 방식을 왜 아직도 몰랐었나 싶다.

개념이 재미있어 그림으로 그려보려고 한다.

 

 

재활용 할 수 있는 프레젠테이션 컴포넌트에 

각각 목적에 다른 데이터를 넣어주면 

용도에 맞는 컴포넌트가 만들어진다.

 

만약 컨테이너 없이 로직과 데이터를 메인에서 재사용할 컴포넌트에 넣어주게 된다면 

메인공간이 지저분해 질 것이다.

 

 

댓글()

PyQt에 firestore 연결하고 exe 파일로 만들기 (2)

Computer 비관심/PyQt5|2019. 9. 14. 01:11
반응형

파이어베이스와 PYQT의 조화는 잘 사용하지 않는지 자료가 그다지 많지 않았다.

디버깅 하는 스스로 만들어내고 PYQT와 FIREBASE에서 발생하는 버그의 해결책들을 찾는데 시간이 오래걸렸다.

 

 

PyQ에 firestore연결하고 exe 파일 만들기- 파이어스토어 파이썬에 연동하는법(1)

https://infocentre.tistory.com/45 

 

 

1. 파이인스톨러 사용

 

(1) 파이인스톨러(pyinstaller)를 사용한다. 

- 파이인스톨러의 간단한 사용 방법은 이전 글에 적어 두었다. 

https://infocentre.tistory.com/3

 

2. 디버깅 (디버깅을 쉽게 하는 방법을 모르면 개고생합니다.)

 

(1). 파일인스톨러를 사용할때 디버깅을 위해서 처음엔 -w 플레그를 붙이지 않고 실행 파일을 만든다.

-w 플래그를 붙이면 console창이 나오지 않아서 어떤 버그가 발생했는지 알기 힘들다. 이렇게 해야 하는 이유는 잘 동작하던 파이썬 큐티프로그램이 exe파일로 만들면 실행이 안되는 경우가 있기 때문이다.

 

(2)try except 구문을 잘 이용한다. 

try:
	#실행할 코드 넣기~
    
except Exception as e: 
	print(e) #에러를 표시하기 위해서
	input() #멈추게 하기 위해서

 

이 구문은 app.exec_() 이전에 써 넣어야 디버깅 화면이 꺼지지 않는다.

 

3. 이렇게 해서 디버깅을 해보면 The 'google-cloud-firestore' distribution was not found and is required by the application 라는 에러가 나온다.

 

- 파이썬 인스톨러가 구글클라우드 파이어베이스 스토어를 실행 시키지 않는것이다. 그래서 훅을 만들어준다.

\Lib\site-packages\PyInstaller\hooks 에 들어가서 hook-google.cloud.py 파일에 아래 코드를 추가해준다.

 

datas += copy_metadata('google-cloud-firestore')

 

 

4. 그리고 다시 실행해보면 잘 되거나 아니면 이런 버그가 발생한다.

Exception ignored in: 'grpc._cython.cygrpc.ssl_roots_override_callback'
E0913 23:26:43.750000000  9436 src/core/lib/security/security_connector/ssl_utils.cc:448] assertion failed: pem_root_certs != nullptr

 

이번엔 hooks폴더에  hook-grpc.py를 만들고 아래와 같은 코드를 넣는다.

 

from PyInstaller.utils.hooks import collect_data_files

datas = collect_data_files('grpc')

 

작동한다! 

 

참조: https://stackoverflow.com/questions/55848884/google-cloud-firestore-distribution-doesnt-get-added-to-pyinstaller-build

 

5. pyqt5 5.13 버전과 파이인스톨러를 같이 사용할 경우 다른 컴퓨터로 옮겼을때 작동이 안될 수 있다.

에러 - ImportError: unable to find Qt5Core.dll on PATH

- 이 경우 가장 쉬운 해결 방법은 이전 버전으로 다운그레이드 하는 것이다.

pip install pyqt5==5.12.2

 

참조 : https://stackoverflow.com/questions/56949297/how-to-fix-importerror-unable-to-find-qt5core-dll-on-path-after-pyinstaller-b

 

 

 

 

 

 

 

 

댓글()