2021/11 12

[Functional Programming ] Functional programming 계산 모델

수업 도중 교수님께서 올려주신 링크이다. 솔직히 말해서 어려워서 안읽어봤다. 나중에 읽어보면 좋을 것 같다. https://www.dmi.unict.it/barba/PROG-LANG/PROGRAMMI-TESTI/READING-MATERIAL/ShortIntroFPprog-lang.htm Functional Programming and Lambda-calculus Contents 1. Why functional programming? 2. An imperative programming style 3. A functional programming style 4. Functions in mathematics and functions as programs 5. Functional programs 6. The e..

[Flask] ReferenceError: weakly-referenced object no longer exists 의 발생이유

며칠전 포스팅했던 글에 이어서 정확한 설명을 찾았다. https://www.py4u.net/discuss/147695 위의 링크에 달린 답변들이 많은 도움이 되었다. weakly-referenced object 는 가비지 콜렉터가 제거할 대상들을 살피는 와중에서 그것이 제거되지 않을 것이라고 보장해주지 못할 경우에 놓인 객체를 말한다고 한다. 그러니 내가 쓰려고 하는 대상이 가비지 콜렉터에게 제거당할 가능성이 존재한다는 거다. 그렇기 때문에 에러가 발생한다. 나의 경우도 함수가 종료하면 당연히 local variable 들은 사라질텐데 그 점을 염두에 두지 못하고 코드를 작성한 탓에 이런 에러가 발생했던 거다. (나는 함수의 local variable에 mysql dbconnect 관련 객체를 받아서 그..

Python3/Flask 2021.11.25

[Flask] mysql.connector.errors.DatabaseError: 2014 (HY000): Commands out of sync; you can't run this command now

Flask 를 통해 개발하면서 sql을 직접 작성해줄 일이 있을텐데 이때 특정 sql문이 두개 이상 존재할때 연달아 실행되어야할 sql문들의 중간에서 commit을 치게 되면 이후의 sql문이 실행되지 않는 경우가 발생했다. 내 경우에는 아래와 같은 경우였다. sql = """update user set user_address=%s, user_job=%s where user_SSN=%s; commit;""" mysql_cursor.execute(sql, (data)) data2 = (outer_user_SSN) sql = """select * from user where user_SSN = %s;""" 위의 코드에서 첫번째 sql문에서 commit을 미리 치게 되니 아래의 sql구문을 실행할적에 mysq..

Python3/Flask 2021.11.23

[Flask] ReferenceError: weakly-referenced object no longer exists

급하게 이번주까지 완성해야할 프로젝트가 있어서 이것저것 골라보던 중에 Flask를 통해 빠르게 개발하는 것이 좋겠다고 생각했다. 주말에 테이블별로 대충 어떤 속성들이 필요하겠다고 이야기를 했고 일요일밤에 Flask를 빠르게 배우고 코드를 작성해서 지금까지 좀 고쳐나가는 중이다. (워낙 급하게 만들어서 중요한 변수들을 바깥에 그냥 던져놓고 global로 가져다 쓰는 만행을 저지르는중이다.) 대충 기본은 Flask를 통해 api들을 만들어주고 sql 을 직접 날려서 디비의 데이터를 가져오고 view에 보여주는 간단한 코드를 짜는 중이다. 그런데 재밌는 현상을 발견했다. 문제는 다음과 같았다. def get_MySQLConnection(): mydb = mysql.connector.connect( host="..

Python3/Flask 2021.11.23

[C] C언어 질문: 두 배열 a와 b에서 b = a 에서 에러가 발생하는 이유는 무엇일까?

새벽에 누군가가 재밌는 질문을 올려놨다. 짧은 글이라 그냥 휙 보고 넘기려 했다. 그런데 글을 보고 고민했는데 나도 감이 잡히질 않아서 아침에 직접 dev C++를 켜고 값을 찍어보았다. 올라온 질문은 다음과 같았다. 배열은 포인터와 유사하지만 포인터 상수이다. 즉 대입이 불가능하다. 근데 왜 전자의 경우에선 오류가 나지 않고 후자의 경우에서 오류가 발생하는가? void function(int a[]){ int b[5]; a = b; } void main(){ int a[10]; function(a); } void main(){ int a[10]; int b[4]; b = a; } 배열은 배열의 첫 번째 요소의 주소값을 가지고 있는 것이다. 배열 변수는 주소값을 받을 수 있으니 b = a; 와 같이 만든..

C & C++/C 2021.11.21

기왕이면 colab pro를 쓰자

사진을 웹캠으로 찍었을때 무슨 숫자인지 알아맞히는 숫자인식을 하려고 근 이틀동안 colab에서 코드를 짜는 중이다. 그런데 오늘 오후 내내 이리저리 코드를 수정해보면서 GPU로 학습을 진행했는데 잘때쯤이 되니까 이게 떴다. 에폭 20에 배치사이즈 128정도 되는 분량을 돌렸다가 또 코드를 수정하고 또 돌리고 한참을 해서 GPU를 많이 써서 그런 것 같다. 전에 colab pro를 결제해서 사용할땐 이런적 없었는데 역시 무료라서 한계가 있나보다. 기왕이면 colab pro를 쓰자. 얼마 안한다. 그래서 사실 지금 CPU로 돌리고 있다는건 비밀... 돌리다가 도저히 진행이 안되는것 같아서 포기하고 그냥 자는것도 비밀... ㅋㅋ

인공지능 2021.11.18

2021AI엔지니어 고급반 - YOLO with deeplearning 결과물 업로드

결과물로 나온 영상들을 업로드한다. 결과물1 결과물2: 결과물3: 나머지 2개의 결과물이 더 있는데 아마 저작권이 걸릴것같아서 업로드하지 못할것 같아서 아쉽다. (아직 성능 개선의 여지가 너무 많은 것 같아서 좀 더 시간이 있었다면 더 좋은 퀄리티를 만들어낼 수 있었을 것 같지만 다른 팀들도 마찬가지였을거라고 생각하니 3등도 아쉽지는 않다. 다 똑같은 시간을 받았으니 동메달에 감사하자!) 올리지 못한건 마이클잭슨의 뮤직 비디오 중 하나이고 다른 하나는 TV방송 프로그램중 하나인 비정상회담의 일부 장면인데 올리면 안될 것 같아서 개인적으로 간직해둬야할것 같다.

인공지능 2021.11.09
반응형