일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 등교개학
- 특별전형
- 대나무숲
- 이비즈니스과
- 웹프로그래밍과
- apollo
- 풀스택
- 플러터
- 시스템해킹
- coursera
- 일상
- 학생
- pwnable.kr
- 디미고입학
- graphql
- 디미고
- 워게임
- 디지털컨텐츠과
- TensorFlow
- WebHacking
- 디미고특별전형
- 우분투
- 해킹방어과
- 인공지능
- 중3
- 머신러닝
- 웹개발
- 딥러닝
- Flutter
- 코로나19
- Today
- Total
목록전체 글 (46)
꿈이 너무 많은 한 대학생의 공간

제가 SQL 공격에 약해서 앞 문제를 건너뛰었습니다. 조금 더 공부를 하고 포스팅하겠습니다... 이번 문제는 암호와 관련되어 있습니다. 새로고침을 해보니 회색 칸 내부는 계속 바뀌는거 보니 일정한 값은 아닌가 보네요. password 내부에 값을 전송하면 될 것 같습니다. 소스를 확인해보면 대충 알고리즘은 10000000 부터 99999999 의 수를 랜덤으로 뽑고 그 뒤에 salt_for_you 문자열을 붙여 암호화 전 문장을 만든 후 500번 해쉬화를 반복해 패스워드로 지정하는 것 같습니다. 생각보다 단순한 알고리즘이니 파이썬으로 쉽게 복호화 알고리즘을 만들 수 있습니다. import hashlib for i in range(10000000, 100000000): password = str(i) + ..

오늘부터 정보보안을 본격적으로 공부하려고 합니다. 일단 Webhacking 워게임 사이트의 문제를 풀고 분석하면서 기본기를 다지려 합니다. 문제 중 제일 쉬운 난이도의 1번 문제는 php 문법을 분석할 능력만 있으면 쉽게 풀 수 있는 문제입니다. 검정 배경에 level : 1 이라는 텍스트와 소스를 볼 수 있는 버튼이 있습니다. 개인적으로 웹해킹 문제를 풀려면 기본적인 html, css, js, php 까지는 공부하셔야 합니다. 쉬운 난이도라면 단순한 조건문만 확인해도 풀 수 있지만, 심화적인 문제는 그것만으로는 못 푸는 문제가 많습니다. (물론 심화적인 문제에선 php 문제가 거의 없지만요) 소스를 확인해보면 웹 쿠기 값 중 user_lv 값을 확인해 문제의 해결 유무를 판단하는 것 같습니다. 2번째 ..

제 중학교 이름을 딴 대나무숲이 완성되었습니다. 기본적인 구조는 React Express with MongoDB 형태입니다. 홈페이지의 전체적인 분위기입니다. 일단 기본적으로 하늘색 / 밝은 파랑색을 주요 색깔로 선택했습니다. UI 라이브러리인 Ant Design(ANTD) 의 Select 컴포넌트와 Tag 컴포넌트를 사용해 디자인을 조금 더 강화했습니다. 7가지의 드롭다운 메뉴가 있으며 한 태그를 선택하고 게시하면 태그마다 색깔이 다 달라 보는 재미도 있습니다. 폰트는 Google Fonts 에서 구한 Noto Sans KR 폰트를 사용했습니다. 개인적으로 이 폰트를 매우 좋아하는데 Bold채로 바꾸면 엄청 간결하고 보기 좋거든요. 배포는 Heroku 에서 배포했습니다. Heroku 엄청 좋아요. 사실..
축하합니다! 본 강좌를 모두 끝마치셨습니다. Tensorflow 를 통해 MNIST 데이터셋을 학습하고, 모바일 앱에 배포하는 법까지 알게되었죠. 후속 강좌들 - Tensorflow Lite는 iOS 기기나 리눅스나 마이크로컨트롤러에서 구동되는 기기도 지원합니다. iOS 버전의 숫자 인식기도 확인해보세요. (https://github.com/tensorflow/examples/tree/master/lite/examples/digit_classifier/ios) - 머신러닝과 Tensorflow 에 대해 더 깊게 이해하고 싶다면, 우리의 학습 강좌를 수강해 보세요!(https://www.coursera.org/learn/introduction-tensorflow) - 또한 우리의 Tensorflow Lit..

이전 과정에서는, 우리는 MNIST 데이터셋을 이용해 숫자를 인식하는 모델을 훈련시켰습니다. 우리는 98%의 정확도를 달성할 수 있었지만, 안드로이드 앱에서 테스트할때는 아마 문제점을 느꼈을 것 입니다. 비록 앱이 그려진 숫자를 인식할 수 있어도, 정확도는 아마도 98%보다 낮을 것 입니다. 이번 과정에서는, 정확도 하락의 문제점과 확대된 데이터를 사용해 정확도를 향상시켜 볼 것입니다. 준비 Tensorflow 와 기타 라이브러리를 설치하는 것으로 시작해 봅시다. import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np import pandas as pd import rando..
아마도 그린 것을 기대한 만큼 정확히 인식하지 않는 것을 알아차렸을 것입니다. 이 과정에서는, 머신러닝 모델이 테스트중에는 얼마나 잘 되는지와 배포를 했을때는 얼마나 성능이 안좋은 지 알게 될 것입니다. 그리고 우리는 데이터 양을 확대하면서 정확도를 어떻게 증가시키는지 확인해 볼 것입니다. https://colab.research.google.com/github/tensorflow/examples/blob/master/lite/codelabs/digit_classifier/ml/step7_improve_accuracy.ipynb 이 과정이 끝나고 나면, 우리는 모바일 앱에 다시 배포할 수 있을 정도의 향상된 Tensorflow Lite 숫자 인식 모델을 만들게 될 것입니다. 본 강의는 구글의 Codela..

이제 안드로이드 에뮬레이터 또는 실제 안드로이드 기기에 배포하고 테스트해봅시다. 1. 안드로이드 스튜디오 툴바에 있는 Run (초록색 화살표 버튼) 을 클릭하세요. 2. 캔버스에 아무거나 그려보고 앱이 숫자를 인식할 수 있는지 없는지 확인하세요. 본 강의는 구글의 Codelab 강의 중 "Build a handwritten digit classifier app with Tensorflow Lite" 강의를 번역할 것이며, 제가 직접 번역하였기에 오역과 의역이 있음을 알립니다.
우리의 Tensorflow Lite 인터프리터의 준비가 완료되었고, 이제 입력값인 숫자 이미지를 인식하는 코드를 작성해 봅시다. 우리는 다음과 같은 것이 필요합니다: - 입력값을 먼저 처리하는 것: Bitmap 개체를 입력값으로 들어온 이미지의 모든 픽셀 값을 포함하는 ByteBuffer 개체로 변환합니다. 우리는 Kotlin의 float 배열보다 더 빠른 ByteBuffer를 사용할 것입니다. - 숫자 인식 시작 - 출력값 처리: 가능성을 포함한 배열을 사람이 읽을 수 있는 문자열로 변환 이제 코드를 작성해 봅시다. 1. DigitClassifier.kt 코드 내의 다음과 같은 내용을 찾아봅시다. private fun classify(bitmap: Bitmap): String { ... } 입력값인 B..