전체 글 72

2021년도 정보처리기사 제2회 필기 후기

2021.05.15 정보처리기사 필기시험이 있었다. 하지만 졸업작품도 마무리해야하고, 학교 수업도 듣는 중이여서 시간이 부족하기도 했고 사실 이렇게 시간이 얼마 안남았을지도 몰랐다. 정신차리고 남은 시간을 보니 딱 5일이 남아있었다. 😯 월화수목금 공부하고 토요일 아침 시험을 보러가야했다 그리고 나서 책을 폈는데 책은 2권으로 약 800페이지정도 됐었다. 계획으로는 월,화,수,목 4일동안 하루에 200페이지를 보고 마지막 금요일날 기출을 돌리고 가기로 생각했다 하지만 계획대로는 월요일밖에 지키지 못하게 되고,, 결국 문항중에서 중요도가 A,B인 문항만 돌리기로 계획을 바꿨다.. 😔 (책은 시나공 문제집으로 공부했다) 물론 A,B 문항만 보는것도 양이 많고 힘들어서 결국 4단원까지 보고 5단원은 보지 못했..

이것저것 2021.06.02

# 캡스톤 후기 🥈

2021.05.28 컴퓨터공학부 졸업작품발표회가 끝이났다. 🌝 결론부터 말하자면 우리 세계최빈조는 은상을 받았다 🥈 물론 아쉬운점도 많고 오랫동안 노력해왔기 때문에 속상한 점도 있지만 한편으로는 속이 시원하기도 했다 캡스톤을 하기 전 여러 사람들에게 캡스톤에 대한 많은 이야기를 들었었다. 어떻게 보면 1년간 진행되는 팀프로젝트여서 팀원이 안맞거나 맞더라도 진행이 잘 되지 않으면 의견충돌이 일어나기도 하고 많이 힘들다고 들었는데 다행이도 우리 팀원들은 다들 성격이 유한건지 잘 맞았던건지, 아니면 다들 참았던건지,, 어쨌든 그런일은 없이 잘 마무리 함에 감사하게 생각하고 있다 🙂 처음에는 개발에 대한 두려움이 많고 걱정이 많았었다. 학교에서 배우는 것과 직접 무언가를 만들어내고 개발한다는거에 차이가 크다고 ..

# 캡스톤 막바지 (비전인식/라즈베리파이/젯슨나노/센서/안드로이드)

캡스톤 디자인이 마무리 되어가고 있다. 포스터도 만들어서 제출하였고, 구술발표를 희망해서 구술발표도 할 수 있게 되었다!! 현재까지의 진행사항으로 보자면, ☀️ 비전 인식 (Jetson Nano / Pi camera / Darknet Yolov4 ) 기존 다크넷으로의 캔/플라스틱 인식은 이미 완료를 했었지만 프레임이 낮아 성능개선에 고민이 많았다. 그러면서 찾아본 deepstream cfg 모델을 만들어 시험을 하면 프레임이 좋게 나온다는 글을 찾아서 몇 주간 해당 모델을 학습하고, 실행시키려고 시간을 쏟았지만 결국 프레임을 잘 나오나 인식에 문제가 있고, 이를 해결하려 다시 새로운 모델 학습을 하기에는 시간이 부족하다고 판단해서 결국 다크넷 모델을 유지하기로 했다. 막상 다시 다크넷으로 실험을 해보니 ..

# 아크릴 주문제작 및 대참사..

💡 1. 도면 제작 우리는 위와 같은 최종 완성본의 도면을 그렸다. 도면은 규현이의 친구 이진이란 친구가 도와줬다. 이 친구는 홍대 건축학부를 수료한 상태이다. 생각보다 너무 우리가 표현하고 싶은 부분을 잘 표현해줘서 역시 전공자라고 생각했다.. 하지만 이 상태로는 치수가 나와있지 않아 세세하게 치수를 적어 도면을 다시 완성하였다. 💡 제작 문의 2T vs 3T 우리의 도면을 만들어줄 수 있는 업체를 찾기 위해 정말 많은 업체에 문의를 했다. 그중에서 두 곳에서 제작을 해줄 수 있다고 하였다. 한 곳은 남양주 쪽에 위치한 업체로 2T로 할 수 있고, 대신 2T로 할 경우 내구성이 많이 떨어져서 쫄대를 사용해야 한다고 했다. 또 다른 곳은 영등포에 위치한 업체로 2T는 너무 약해서 3T로 하면 만들어 줄 ..

깃허브 리포지토리(Repository) 하나로 합치기

요새 알고리즘을 공부하며 백준, 프로그래머스 등을 풀기 시작했고, 알고리즘에 관련된 책도 보기 시작했다. 그러면서 깃허브에 코드를 저장하고 싶어 리포지토리를 하나, 둘 만들다 보니 알고리즘에 관한 Repository가 여러 개가 되는 게 보기 싫어 하나로 합치기로 했다. 1. 일단 깃허브에서 기존 리포지토리들을 합칠 새로운 리포지토리를 하나 만든다. 난 Algorithm_Study 라는 리포지토리를 만들었다. 2. 그런 다음 이 리포지토리를 git clone 을 해주도록 한다. 3. cd [리포지토리명]을 입력하고 해당 폴더로 이동한다 4. subtree를 이용하는 방법으로 깃 레포지토리를 합친다. git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 R..

이것저것 2021.03.09

[플러터(Flutter)] - flutter doctor 오류

flutter doctor 공식 홈페이지를 보면 flutter doctor를 아래와 같이 설명해주고 있다. 간단하게 보면 cmd 창에서 flutter doctor를 입력하면 플러터를 설치하기 위한 상태에서 나에게 필요한것들을 진단? 해주는 역할을 하는 것 같다. JAVA_HOME is set to an invalid directory 보면 Flutter 는 잘 설치가 된 것 같고 그 아래부터 오류가 뜨기 시작했다. 첫번째로 Android toolchain - develop for Android devices (Android SDK version 29.0.2)는 안드로이드 스튜디오는 다운받아져 있어, 그것이 문제가 아니고 그 바로 밑을 보면 Android license status unknown 안드로이드..

플러터(Flutter) 2020.12.16

[python] 선택 정렬 (selection sort)

정의 선택 정렬이란 배열에서 가장 작은 원소를 찾아 첫 번째 원소와 교환하고, 두 번째 작은 원소를 찾아 두 번째 원소와 교환하는 방식으로 전체가 정렬될 때까지 계속함 정의 - 제자리 정렬 - 불안정적 - 입력 자료의 순서에 민감하지 않음 - 작은 키와 매우 큰 레코드를 가지는 화일을 정렬하는데 적합함 선택 정렬 ADL selectionSort(a[], n) for (i ← 1; i < n; i ← i + 1) do { minIndex ← i; for (j ← i + 1; j ≤ n; j ← j + 1) do if (a[j] < a[minIndex]) then minIndex ← j; a[i]와 a[minIndex]를 교환; } end selectionSort() 선택 정렬 구현 def selection..

algorithm 2020.11.22

[react-native] react-native 시작하기, 환경설정(node.js/visual studio code)

시작 캡스톤 디자인을 수강하며, 우리의 결과물을 관리해줄 수 있는 앱도 제작하려고 하고있다 아직은 프로젝트에서 딥러닝 부분을 진행하고 있고, 이제 하드웨어도 같이 진행하려고 하는데 (아마 딥러닝은 캡스톤 디자인이 끝날때까지 해야할 것 같고,, 그다음 하드웨어 아마 앱개발이 마지막일 것 같지만) 아직 하드웨어쪽을 위한 제품이 오지 않아서 기다리는동안 조금씩 공부해 보려고 한다!! 먼저, 앱 개발을 어떤 걸로 할까 계속 고민중인데, 생각해보면 내 핸드폰은 아이폰인데 안드로이드로 구현하면 뭔가 기분이 안나는것 같다고 해야하나,, 그래서 생각난게 리액트이다 뭔가 아이콘도 이쁘고 안드로이드와 ios 모두 가능하니 일단 기분이 가는대로 하는게 좋은것 같아서 리액트로 정했다~~! 역시 하고싶은 대로 해야 계속 흥미가..

개발 일지 2020.11.09

[python] RSA (Rivest, Shamir and Adleman) 알고리즘

RSA 암호 알고리즘은 대표적인 공개키 알고리즘 중 하나로 소인수 분해의 어려움을 이용한 방식을 사용하고 있다. 사용자는 각각 공개키와 개인키를 갖고 있다 메시지를 보낼때는 송신자가 수신자의 공개키로 암호화 한 후 전송하면 수신자는 수신자의 개인키로 복호화한다. 1. 먼저 2개의 소수(p, q)를 선택합니다. 2. n 을 구합니다 n = p * q 3. φ(n)을 구합니다 φ(n) = (p-1)(q-1) 4. 1 < e < φ(n) 을 만족하는 φ(n)과 서로소인 자연수 e를 구합니다 5. e mod φ(n) = 1 을 만족하는 d를 구합니다 여기서 공개키는 (n, e) 쌍이 되고, 개인키는 d 가 됩니다. # RSA 암호화 프로그램 def encipher(p, n, pk): c = '' i = 0 wh..

algorithm 2020.11.06

[python] 비즈네르(Vigenere) 암호화 알고리즘

비즈네르 암호화란 평문의 각 문자에 대해 서로 다른 변환표를 사용하는 것이다. 여기서 평문의 문자들은 위치에 따라 다른 간격의 밀기 방식으로 치환하여 사용한다 예를들어, 아래와 같은 키와 평문이 있다고 한다면 키 : "ABC" 평문 : "SAVE PRIVATE RYAN" 키 A B C A B C A B C A B C 평문 S A V E P R I V A T E 암호문 T C Y F B S S K Y B V H 와 같이 된다. A 부분에서는 1칸을 뛴 문자가 오고, B부분에서는 2칸을 뛴 문자가 오고, C부분에서는 3칸을 뛴 문자가 오는것이다. * 띄어쓰기 같은 경우는 A 앞이라고 가정하고 띄어쓰기에서 2칸(B)를 만나면 B가 된다. (띄어쓰기) -> A -> B def encipher(p, k): c =..

algorithm 2020.11.05