본문 바로가기

공습경보/공습경보 개발일지9

[공습경보 개발일지] 9. 드디어 완성 후 가동... 드디어 완성 후 가동이다... 내가 너무 게을러서 대충 3달, 제대로 한 것만 따지자면 1달이 걸렸지만, 어쨌든 완성이다. 이제 빠르게 홍보에 들어가야 될 듯 싶다. 참고로 해당 크롬 익스텐션의 다운로드 링크는 아래와 같다. https://chromewebstore.google.com/detail/air-raid-warning/hhfjmeobondkhjhgbmeodlblbndcdfke 한 일 Promise.all로 된 코드 없애고 대기시간 추가 Promise.all을 이용하여 불러오니 한번에 너무 많은 트래픽이 생긴 나머지 디시인사이드 사이트에서 차단을 당했었다. 그래서 해당 코드를 없애고 크롤링 간 대기시간 추가를 해주었다. 추가로 대기시간을 넣고 보니 난잡하게 들어가 db에서 불러올 때도 대기를 해야.. 2024. 3. 21.
[공습경보 개발일지] 8. DB문제는 해결... 스크랩이 문제 오늘 한 일 정확히 말해서 오늘은 아니고, 몇 주 전에 한 일을 작성하는 것이지만 올려본다. 클라우드 타입 디스코드의 도움을 받아 'UNSUPPORTED_AUTH_METHOD', 'AUTH_SWITCH_PLUGIN_ERROR' 문제는 해결하였다. 특정 시간에 스크랩을 해 DB에 넣는 코드까지는 작성하였다. 했던 생각 환경변수 인식하지 못 하던 문제, workspace를 좁혀서 재설정하니까 됐었다... url의 정보를 파악하는 urlInfo를 너무 난잡하게 쓰는 듯 하다. 아예 urlInfo를 기준으로 전달해줘야 할 듯 dry하지 않은 부분이 많다. 나중에 사이트 추가되면 사이트 타입 파악하는 로직을 하나 더 짜야할듯 (urlInfo에서 있는거 쓰면 될 듯, urlInfo에 날짜도 추가?) db에 좌표찍기.. 2024. 3. 6.
[공습경보 개발일지] 7. 승인 완료! 그러나... 오늘 한 일 승인 완료! 확인해보니 승인이 되어있었다! 이제 진짜로 확장 프로그램을 돌릴 수 있게 되었다. https://chromewebstore.google.com/detail/air-raid-warning/hhfjmeobondkhjhgbmeodlblbndcdfke?hl=ko&authuser=0 Air-Raid Warning 이 앱은 네이버 뉴스 댓글이 커뮤니티로부터 여론 조작을 당했는지 안 당했는지 알려주는 앱입니다. 만약 커뮤니티에서 좌표가 찍혀 여론 조작이 되었다면 경고창을 띄워줍니다. chrome.google.com 해당 링크에 들어가 다운로드 받을 수 있다. 이제 진짜로 백엔드에서 크롤링을 해서 돌려놔야 되는데.... Node.js와 MariaDB가 연결되지 않음 'UNSUPPORTED_AU.. 2024. 2. 12.
[공습경보 개발일지] 6. 크롬 익스텐션 완성하기 오늘 한 일 목표 생각하기 빠르게 최소 기능 제품, MVP(Minimum Viable Product)으로 만들기 위해 핵심 기능과 비전을 재검토 해보기로 했다 핵심 기능 : 댓글에 여론 조작이 이루어졌는지 확인할 수 있게 만들기 비전 : 진실을 쉽게 확인하고 널리 퍼지게 하기 추가적으로 다음과 같은 기능들을 생각하고 있었는데 하루동안 일어난 댓글 여론 조작 건수를 파이차트로 보이게 가장 최근에 댓글조작된 글 확인 공유 기능 다른 뉴스 추천 경고 창 껐다 키기 우선 기본적인 기능인 경고창에 집중하기로 했다. 경고창 개발 우선 기본 경고창이 미적으로 별로였기 때문에 디자인을 바꿔주기로 결정하였다. 바꾼 디자인. 기사제목이 뜨게 만들어 캡쳐시 한 눈에 보이도록 만들어놨다. 반응형 웹으로 제작하여 화면 폭이 좁.. 2024. 2. 8.
[공습경보 개발일지] 5. 스크래핑 코드 제작 완료, 그리고 생각 시간이 많이 지체된 것 같아 초조하다. 오늘 한 일 개발 쪽 커뮤니티에서 댓글 조작 유도 글을 스크래핑을 해와서 링크 목록을 완전히 만들 수 있게 되었다. 특히 링크에 링크를 타고 유도하는 것도 스크래핑이 가능하도록 만들어놨다. 예를 들어 해당 사이트에서 1과 같이 댓글 여론 조작을 좌표들이 모아져 있는 다른 커뮤니티의 글을 올려둘 수 도 있고, 2와 같이 단축 링크를 올려둘 경우도 있다. 우선 2와 같은 단축 링크는 어떤 링크였는지 원본을 확인하게 해놓았고, 1번과 같은 경우는 원본 글로 들어가 다시 한번 스크래핑을 해 링크 목록을 처음 글에 추가하도록 해놨다. 위 예시처럼 링크를 타고 간 커뮤니티 글 속에 또 커뮤니티 링크를 넣어놓은 경우도 문제 없이 스크래핑 하도록 해놨다. 스크래핑 예시. 이제 특.. 2024. 2. 3.
[공습경보 개발일지] 4. 여론 조작 사이트 확인 그리 많이 만지진 못 했다. 개발 내용 댓글에서 이루어지는 여론 조작 실태 조사를 했다. https://monsterbell.tistory.com/9 댓글 여론 조작은 어떻게 이루어지고 있을까 (댓글 여론 조작 실태 조사) 조사 목적 현재 만들고 있는 '공습경보' 크롬 익스텐션에서 경고할 댓글 여론 조작 행위들을 파악해서 정리하기 위해 최종적으로는 시끄러운 소수가 여론을 왜곡하는 행위를 막기 위해 용어 정 monsterbell.tistory.com 나중에 크롤링하기 위해 각 사이트의 dom 구조를 파악... 각 사이트 url이 어떻게 이루어져있는지 정리 배운 점 cheerio 사용법 2024. 1. 30.
[공습경보 개발일지] 3. 기사에 따라 공습경보 띄우기 이제 어려운 일만 남은거 같다 개발 내용 네이버 기사에 들어가면 해당 기사가 좌표찍기를 당했는지 안 당했는지 DB에서 검색하게 만들었다. 그래서 좌표찍기를 당했다면 공습경고를 띄우도록 하였다. 위 결과창은 DB에 테스트 값을 넣고 돌려본 결과이다. 다음과 같이 결과창에 좌표 찍기 위치까지 뜨는데, 해당 링크를 클릭해보면 다음과 같이 좌표찍기가 들어간 원점을 볼 수 있게 된다. 이제 자동으로 크롤링하게 만들어 DB에 넣어주면 끝이다. 배운 점 mysql 워크벤치 사용을 해봤다 자바스크립트에서 URL 객체를 알게되고 사용해봤다 동기, 비동기 가지고 애를 좀 먹었다. 걍 promise로 통일했다. git push시 eval "$(ssh-agent -s)"한 후 ssh-add ~/.ssh/id_rsa 해주기 c.. 2024. 1. 26.
[공습경보 개발일지] 2. 백엔드 구축 거의 일주일 이상이나 되어서 다시 만지게 되었다. 또 백엔드에 익숙치 않으니 시간이 오래 걸렸다.. 개발 내용 node.js를 이용하여 서버를 열고, 요청을 받아보았다. 우선 프론트엔드에서 사이트 url을 보내면, 서버에서 좌표찍기가 어디서 이루어졌는지 DB에서 찾고 보내는 식으로 할 예정이다. MariaDB로 데이터베이스를 이용해보았다. 클라우드타입이라는 서비스를 이용하여 해당 내용을 클라우드 상에서 돌려보았다. 원래는 오라클 클라우드를 이용하려 했지만, 클라우드 타입이 더 간단해보여서 바꿨다. 클라우드타입은 앞으로도 애용해야겠다. 배운 점 nodemon 오류 해결법. 디지털 서명이 되어있지 않다 했으나 shell에 "Set-ExecutionPolicy RemoteSigned -Scope Current.. 2024. 1. 23.
[공습경보 개발일지] 1. 개발 목적 및 방향 원래 새해부터 시작하려 했는데 어쩌다보니 벌써 2주가 지나버렸다. 늦었다고 생각할 때가 가장 빠르다는 말이 있듯이 지금이라도 해보려고 한다. 개발 목적 및 방향 공습경보란? 공습경보는 기사의 댓글이 좌표찍기를 당했다면 어디에서 좌표찍기를 했는지 알려주는 크롬 확장프로그램이다. 이 앱을 통해서 사용자는 여론조작이 되었는지 아닌지 확인할 수 있을 것이다. 개발 목적 우선 내가 댓글을 통한 여론 조작이 싫어 해당 앱을 만드려고 한다. 좌표 찍기를 하는 사람들 입장에서는 댓글 관리니 댓글 정화니 하며 자신들을 포장하지만, 실상은 그냥 여론을 실제와 다르게 보이게 만드려는 조작행위라고 난 생각한다. 또한 댓글을 보는 사람들은 해당 댓글이 여론 조작 되었는지 아닌지를 알 권리가 있다고 생각한다. 좌표 찍기를 통한 .. 2024. 1. 14.