본문 바로가기

개발14

다육이 상태진단 앱 개발기- 아두이노를 이용한 물 준 날 기록 저희 팀의 졸업프로젝트 주제는 '딥러닝 기반 다육식물 홈 가드닝 가이드 어플' 입니다.  개발 배경과 프로젝트 흐름도는 아래와 같습니다. 저는 전반적인 개발 과정에 모두 참여하였습니다. 기획과 디자인은 물론이고 데이터수집, 딥러닝(kobert 챗봇과 cnn 상태진단), 챗봇 웹배포, 짜잘짜잘한 안드로이드 기능 구현 등을 맡았는데요. 하지만 제가 독점적으로 개발한 부분은 회원 관리와 아두이노를 이용한 물 준 날 기록이므로 이 부분에 대해 자세히 쓰도록 하겠습니다.   다만,코드의 경우 모두 추가하면 글이 너무 길어져서 이 글에서는 핵심적인 부분만 서술하려고 합니다. 전체 코드에 대한 정보가 필요하시면 저희 프로젝트 깃허브 블로그를 방문해주시면 될 것 같습니다. https://github.com/Leafy-.. 2021. 11. 10.
cygwin 설치 및 간단한 openmpi 실습 수업시간에 한 실습 정리 위 페이지의 내용을 실습해 볼 것이다. 설치파일 다운로드- 윈도우 버젼 쭉쭉 next 눌러주다보면 패키지들을 다운로드 받을 사이트 주소가 뜬다. 사진에는 ftp://ftp.kaist.ac.kr 으로 되어있는데 이걸로 하면 tzdata 받을때 오류가 떠서 http://ftp.jaist.ac.jp 로 했다. 이걸로 하면 속도도 빠르고 오류도 안뜸 패키지 선택하는 페이지. 키워드로 검색해서 다운받을 패키지의 skip을 더블클릭하면 다운받을 버젼으로 바뀐다. vim libopenmpi-devel zlib-devel gcc-g++ libevent-devel libhwloc-devel 를 모두 선택해주고 다음을 누른다. 설치가 끝나면 cygwin 터미널을 연다. mpicc --version.. 2021. 9. 28.
안드로이드 could not parse the android application module's gradle config. resolve gradle build issues and/or resync 안드로이드 스튜디오에서 파이어베이스 연결하려고 했는데 갑자기 could not parse the android application module's gradle config. resolve gradle build issues and/or resync 라는 경고가 뜨면서 연결이 안됐다. implementation을 compile이라 썼거나 데이터바인딩 설정 관련해서 문제가 있을때도 이 에러가 뜨는 모양이지만 난 해당 사항 없었다. 방금 막 만든 빈 프로젝트라 딱히 건드린 설정도 없었음... 해결법은 build.gradle-project에 들어가서 jcenter() 를 주석처리하고 sync 해주는 것이다. 이후 다시 연결해보니 성공적으로 진행됐다. 일단 연결만 끝나고 나면 jcenter()은 다시 살려줘도 .. 2021. 8. 9.
yyerror 호출 후 exit 안하게 하기 yacc과 lex를 이용한 mini c 컴파일러 과제 수행 도중,,, //identifier가 숫자로 시작하면 에러 [0-9][A-Za-z0-9_]+ { // printError는 다른 스크립트의 함수인데 extern 해서 가져옴 printError(falseID); } lex 파일에 이런 느낌으로 커스텀 에러를 잡는 구문이 있었다. 테스트를 위해 mc 파일에 숫자로 시작하는 identifer를 넣고 lex.yy.c랑 parser.tab.c(+다른 잡다한 코드들)을 돌렸다. 근데 숫자로 시작하는 identifier을 만나면 yyerror 호출-parse error 뜨고 그냥 끝나버렸다. 그 뒤에도 계속 체크해야되는데... //identifier가 숫자로 시작하면 에러 [0-9][A-Za-z0-9_]+ {.. 2021. 7. 1.
[html] 부모와 상관없이 width 100% 주기 (+가로 스크롤x) width: 고정px margin:0 auto 를 이용해서 내용들을 중앙정렬했는데, 자식 요소들 중에서 가로 너비를 창크기와 같게 해야 하는 일이 생겼다. width: 100% 를 쓰면 상대적으로 계산돼서 부모의 width와 같게 된다. 그래서 width: 100% 대신 width:100vw; margin-left: calc(-50vw + 50%); 를 자식 요소에 넣어주면 부모와 상관없이 너비를 창 크기와 같게 할 수 있다. 하지만 이렇게 하면 가로 스크롤이 생긴다. 양옆에 약간의 여백도 있다. 양 옆의 여백은 body의 margin 때문이다. 개발자도구에서 확인해보고 body에 margin: 0 속성을 준다. 가로 스크롤이 생긴 이유는 width:100vw에 세로 스크롤까지 포함됐기때문이다. 최상위 .. 2020. 9. 16.
[React] 초간단 Fade In/Fade Out 이펙트 구현 const btnStyle = { display: "inline-block", border: "1px solid black", padding: "3px", cursor: "pointer", }; const box_active = { width: "300px", height: "200px", border: "1px solid black", position: "relative", background: "grey", opacity: "1", transition: "opacity 500ms", }; const box_hidden = { width: "300px", height: "200px", border: "1px solid black", position: "absolute", background: "grey.. 2020. 9. 16.
반응형