본문 바로가기

Program language

(14)
turtle을 이용한 1삼각형, 3원 한붓 그리기 이번 포스팅에서 해볼것은 turtle을 이용해서 삼각형 꼭지점에 애매한 각도로 매달린 원형을 떼지 않고 그리는 것을 해보겠습니다. 제가 이 문제를 처음 접했을때 그냥 삼각형을 그리고 꼭지점 좌표에 원을 그리면 되지 않을까? 라고 생각했었습니다. 실제로 해보니 그렇게 그리는게 더 힘들것 같네요. import turtle as t turtle을 쓰려면 당연히 해야하는 선언 입니다. as t는 turtle을 다 안쓰고 t만 쓰려고 설정했습니다. t.shape() t.ht() t.speed(10) t.shape()는 커서 모양을 지정하는 것 입니다. (거북이 모양을 원하신다면 t.shape("turtle") ) t.ht()는 hide turtle의 약자로 커서를 숨기는 것 입니다. t.speed(10)은 10의..
turtle을 이용한 다각형 연속 그리기 Python의 turtle 라이브러리를 이용한 다각형 그리기 입니다. 위의 사진과 같이 그리기 위해 도형을 살펴보면 삼각형부터 팔각형까지 총 6개의 도형이 겹쳐져 그려져 있습니다. import turtle as t 먼저 turtle을 t로 불러와줍니다. turtle 라이브러리를 불러오고 그것을 사용할때 t로 사용하겠다는 의미입니다. t.shape() t.shape()는 커서의 모양을 지정합니다. 기본적으로 작성을 하지 않거나 괄호 안을 비우면 arrow로 됩니다. 거북이 모양을 원하시면 t.shape("turtle")로 선언하시면 됩니다. t.ht() t.ht()의 경우 커서를 감추는 hide turtle을 줄여서 제공하는 함수 입니다. t.ht()를 쓰지 않으면 삼각형의 커서가 보이게 됩니다. n = ..
Spring Boot의 Api에 JWT 적용하기 (feat. Gradle) Spring Boot에서 크롤링 데이터를 불러오기 위한 Api 작업을 하였습니다. 이제 공공 api와 같이 인증된 사용자만 사용 할 수 있도록 인증키를 JWT를 사용하여 구현해보도록 하겠습니다. 개발 환경. Mac OS / IntelliJ / Gradle / PostgreSQL 사용중인 라이브러리. Spring Boot / swagger / MyBatis / JWT build.gradle 에서 의존성을 추가합니다. compile 'io.jsonwebtoken:jjwt:0.9.0' JwtController.java 파일을 만들겠습니다. import com.example.apiserver.api.service.JwtService; import com.example.apiserver.api.service.Se..
[Error] Your SDK location contains non-ASCII characters. 처음 AndroidStudio를 하는 사람이라면 겪을 수 있는 에러이다. 쉽게 말하면 SDK 경로에 아스키 코드가 아닌 문자가 있다는 것이다. 더 쉽게 말하면 경로에 한글이 들어가서 뜨는 에러이다. 무언가 개발을 하려는 사람이라면 컴퓨터 이름이나 사용자 이름은 기본적으로 꼭 영어로 설정하자. (왠만하면 특수문자도 사용하지 말자 !)
[puppeteer] 강력한 $$eval 사용법. 요즘 한창 크롤링을 연습하면서 어떻게 크롤링을 쉽게 할 수 있을지 여러 예제를 보고 있습니다. 그 중 puppeteer에서 좋은 기능이 있어서 간단 사용법을 공유 합니다 ! const data = await page.$$eval('#diet > tbody > tr > td > div', e=>e.map((a)=>a.textContent)); array[0] = data; console.log(array); 항상 이런식으로 사용합니다. 원하는 태그를 Copy selector 를 통해서 넣고 $$eval을 사용하면 손쉽게 array에 저장이 가능합니다 ~
[nodeJS] 브라우저로 서버 일 시키기. 개발 환경. - Mac. - nodeJS. - Express. - PostgreSQL. - IntelliJ IDEA. - puppeteer - pg 기본적으로 express 서버를 세팅하고 켜는 것에 대해서는 이전에 올린 글을 참고하시기 바라며.. 과연 내가 브라우저로 localhost:3000에 접속하면 어떻게 흘러가는지에 대해 알아보고자 합니다. 브라우저 주소창에 localhost:3000 을 입력한다는 것. - localhost는 127.0.0.1로 결국 자기 자신을 나타내는 것입니다. - 그 중에서 express 서버에 세팅된 3000번 포트로 접속을 하는 것 입니다. (서버 코드에서 수정가능.) - express 서버를 실행 (bin 폴더 안의 www 파일을 node로 실행)하면 3000번 포트..
웹에서 버튼을 누르면 크롤링이 되도록 하기. 목표 : 웹에서 버튼을 누르면 크롤링이 되도록 구현. 단계별 목표 1. html로 버튼 생성 및 결과 출력 공간 만들기 2. 어제 만든 크롤링 파일 서버에 연결. 3. 별도의 .js 파일에 버튼 이벤트를 처리할 function 생성. 4. function에서 axios 이용하여 2번 url 호출하여 데이터 받기. 개발 환경 : MacBook pro / IntelliJ IDEA / NodeJS / Express 사용할 라이브러리 : pupeteer, axios 참고 사이트 url. # 1번 목표. 위와 같은 양식이 나오도록 html 파일을 생성한다. 추후엔 ID PW도 입력받아서 코드에 넣을까 한다. 지금은 아무 입력 없이 크롤링 시작 버튼을 누르면 크롤링이 진행되고 버튼 아래에 결과 값이 나오도록 하려고..
pupeteer 활용한 네이버 메일 크롤링 하기. 목표 : 네이버 로그인 후 메일 목록 크롤링 해오기 단계별 목표 1. 네이버 로그인 성공 2. 메일 첫 페이지의 내용 크롤링 3. 메일 하단 페이지 넘기며 메일 전체 크롤링 개발 환경 : MacBook pro / IntelliJ IDEA / NodeJS / Express 사용할 라이브러리 : pupeteer 참고 사이트 url. pupeteer : http://magic.wickedmiso.com/138 특정 영역 클릭 : http://magic.wickedmiso.com/144 네이버 로그인 : https://ncube.net/14128 pupeteer 사용법 : https://velog.io/@jeffyoun/Puppeteer%EB%A1%9C-%ED%95%99%EA%B5%90-%EA%B3%B5%EC%..