한반도 프로젝트 7

[Node.js] [해결중] 학교 공지사항 사진 URL을 Cheerio, request 모듈을 통해 가져오기

프로젝트에 사용할 메인 페이지의 공지사항 왼쪽 부분에 학교 공지사항 사진을 넣어서 슬라이드로 표시해주는 기능을 만들고 싶었다. 수업시간에 배운 크롤링이라고는 Node.js의 request, cheerio 모듈을 사용하는 방법 뿐이었기 때문에 직접 소스 코드를 보면서 활용해보기로 했다. 우선, 학교 홈페이지에서 크롤링하고자 하는 대상의 DOM 경로를 확인한다. visual__list > visual__item > visual__anchor > a > img > src 그리고 request, cheerio 모듈을 활용해 html 요소를 전부 내려받은 후 body 객체에 저장하고 cheerio 모듈을 로드하여 $에 담는다. cheerio 모듈을 통해 추출된 이미지 경로들을 담을 배열 객체도 생성한 뒤, vis..

코딩의 신은 정말로 있는가 - 5주차 작업 마무리

가끔 코딩하다보면 누가 내 옆 어깨에 걸터 앉고 '야 이 부분은 이렇게 하면 너가 원하는 모양이 될거야' 하고 속삭이는 듯한 느낌을 받는다. 그럴 땐 코딩 속도도 잘 붙고 작업 효율도 주관적이지만 잘 오르는 느낌이 든다. 정말로 내가 원하는 모양이 그대로 나오고 버그 없이 척척 진행되는 모습을 보면 마음 한 켠이 가벼워진다. 마치 금방이라도 일을 마무리 짓고 편하게 잘 수 있을 것 같은 느낌을 받는다. 이런 맛에 개발자라는 직업에 매력을 느낀게 아닐까 싶기도 하고, 왜 밤을 새가면서 개발 하는지 조금 알 것 같기도.

제2정규형에 관하여

정보처리 산업기사 데이터베이스 과목 공부 중에 발견한 의문점. 1NF는 도메인 값이 전부 원자 값으로만 구성됨을 알았다. 근데 2NF의 완전 함수적 종속 관계 부분에서 이해가 막히기 시작했다. 이 단어를 풀어서 설명하고자 한다면 어떻게 설명할 수 있겠는가? 가 중점적인 문제가 되었다. 먼저, 완전 함수적 종속 관계는 모든 속성이 기본키에 종속 관계를 가지면서 (함수적 종속 관계) + 기본 키가 아닌 속성 중, 서로 다른 속성은 함수적 종속 관계를 갖지 않음을 완전 함수적 종속 관계라고 표현한다. 이를 좀 더 쉽게 설명할 수 있을까? 먼저, 머릿속에 테이블을 그려보자. 철수는 나이가 12살이고 남자이다. 영희는 나이가 13살이고 여자이다. 튜플은 철수/영희로 구성되고 속성은 이름, 나이, 성별로 구성된다...

1개월만의 갱신 - 최근 업무 기록

블로그에 글 쓰는거 자체를 귀찮아하기도 하고 시간도 잘 안나서 갱신이 잘 안된다. 4월에 진행됐던 ICT 프로젝트 신청이 승인되고 정식으로 백두 팀이 활동하기 시작했다. 가장 처음으로 맡은 작업이 UI 설계도 작성인데, 작업 규격이 정해지지 않다보니 기본적인 내비게이션 틀만 주고 작업을 개시했더니 세 명 모두 디자인이 중구난방이 되어버렸다. -ㅁ- 나중에 디자인 멘토님 구해서 디자인 검수도 받고 디자인 획일화 진행도 해야하는데 시간이 너무 야속하다. 왜 11월까지인가 -ㅁ- 아틀라스가 괜히 ET를 말아먹은건 아닌 듯 하다. 기간이 너무 촉박하다. 실제로 UI 설계도 작성을 진행하면서, 이 작업이 굉장히 중요한 작업이라는걸 깨달았다. 아무런 설계 없이 무작정 개발에 돌입했던 12월이 떠오른다. 그 때는 막..

Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder! 이슈 해결

밤새 공부 좀 할려고 했더니 짜증. 대짜증. 하루에 이슈만 몇 개가 터지는건지, 이젠 내가 강의를 듣는건지 프로그램 결함을 찾아서 수정하는건지 공부가 될 타이밍에 자꾸 흐름을 끊는 이 거지같은 ADT 때문에 오늘 밤은 Exception 수정하다 하루 다 보내겠다. 왜 이렇게 옛날 강의를 선택하신겁니까 교수님.. 문제의 본질은 SDK 폴더의 dx.jar을 로딩할 수 없다는 점이다. 로딩 대상은 29.0.3 버전의 빌드 툴 라이브러리에 있는 dx.jar 인데 내가 사용하는 환경의 API 레벨은 21, 23이다. 왜 29.0.3 버전을 로딩하는지는 모르겠지만 29.0.3과 21.0.2 빌드 툴을 삭제하고 다시 SDK 매니저에서 다운로드. 응 당연히 안된다. 다음은 하위 버전의 dx.jar을 29.0.3의 dx..

An error has occurred. see the log file 이슈 해결

모바일 프로그래밍 실습 과제를 위해 평화롭게 인터넷 강의를 보던 중 마주한 오류 An error has occurred. see the log file 이클립스 경로/.metadata/.log 어쩌구 저쩌구.. 나보고 어떡하라고? 이 경고는 이클립스 실행 도중에 오류가 발생했으니, 오류 로그를 찾아봐라 라는 뜻이다. 영알못이 무슨 로그를 읽어.. 그냥 인터넷에 검색해봤더니 .snap 파일 제거하고 workspace를 옮겨보고 하라고 했는데 나는 애초에 새로 오픈한 워크스페이스 인데다가 .snap인지 .snacklap인지 뭔지 그런건 코빼기도 안보이고.. 근본적인 해결이 안됐다. 이럴 땐 항상 초심으로 돌아가라. 다시 지우고 설치하고를 반복하던 와중에 원인을 찾아냈다. 최신 버전의 JDK를 설치해놓은 걸 ..