(종료) 안피곤 천하제일 코딩 대회를 개최합니다.

in #kr6 years ago (edited)

안녕하세요. @anpigon입니다.

@wonsama님과 @blockchainstudio님의 퀴즈 이벤트에 참여하면서 저도 이벤트를 해보고 싶어 준비했습니다. 이벤트 상금을 모으기 위해 몇 일 동안 스팀파워 충전을 하지 않고 스팀을 계속 모았습니다. 10 STEEM 정도 예상했는데 @blockchainstudio 퀴즈 이벤트에 당첨돼서 받은 5 STEEM이 추가되어 총 상금은 15 STEEM이 되었습니다.

그리고 @wonsama님 퀴즈 이벤트에도 열심히 도전했으나 한번도 당첨되지 못했네요.ㅠ
땡사마님의 땡소리가 아직도 귓가에 울리는 것 같습니다.ㅋ


그럼 이제 대회를 시작합니다~!

안피곤 천하제일 코딩 대회


  • 내용: 파이썬 장고와 스팀잇을 이용한 블로그 만들기
  • 기간: 오늘부터 ~ 10월 10일(수) 까지


개발자가 아닌 분들은 불리할 수도 있어서 일주일 동안 아래 강좌를 연재했습니다.
강좌만 보고 따라 만들어도 100점입니다.




# 상금

  • 1등 : 5 STEEM
  • 2등 : 4 STEEM
  • 3등 : 3 STEEM
  • 4등 : 2 STEEM
  • 5등 : 1 STEEM
  • 참가상: 댓글 보팅

※ 만약 참가자가 1명인 경우에는 1명에게 15 STEEM이 모두 지급됩니다.



# 제출 방법

아래 양식을 작성하여 댓글로 제출합니다.

<양식>

  • URL: https://anpigon.pythonanywhere.com
  • 개발자 여부: 예/아니오
  • 설명: 추가 점수를 받기 위해 작성합니다. (예. 스팀잇 댓글, 보팅, 리스팀, 글쓰기 기능을 연동했어요. 추가 점수 주세요.)



# 심사기준

기능 점수

  • 글 목록과 글 상세만 구현한 경우: 50점

디자인 점수

  • Clean Blog 테마를 사용한 경우: 50점

명성도 점수(뉴비 혜택)

  • 50 이하 : + 20점
  • 51 ~ 55 : + 10점
  • 56 ~ 60 : + 1점
  • 61 이상 : + 0.1점

추가 점수

  • 개발자가 아니면 어드밴티지 점수: + 10 점 (양식의 개발자 여부로 판단)
  • 댓글에 받은 추천수(보팅수) 점수에 포함 (댓글에 받은 보팅수가 1이면 +1점)
  • 도전 점수: + 10점
  • 안피곤의 +@ 점수(혈연, 학연, 지연, 인맥 점수 없음!)


많은 참여 부탁드립니다.

Sort:  

아 ㅠㅡㅠ 이번주 휴가만 아니면 도전하는건데 ㅠㅠㅠㅠㅠㅠ

비록 참가는 못하지만 상금 15Steem 후원하고 싶습니다!!

휴가 잘보내세요~ 그리고 휴가 동안에는 스팀잇 보다는 푹쉬셔야죠 ㅋㅋ
그리고 후원해주고 싶은 마음 감사합니다.😊

파이썬 냉장고와 스팀잇으로 잘못읽었습니다. ㅎㅎ
아직 공부 시작전이라.. 따라만 하면 어느정도 시간이 걸릴까요? 도전기간이 좀 짧은데요~늘려주세요^^

기간은 짧지 않아요. 1시간 정도만 투자하면 금방 만들 수 있습니다.
그리고 저도 파이썬 (냉)장고로 보이네요ㅋㅋㅋ

정확히 1시간 걸렸네요.
이렇게 쉽게(?) 블로그가 완성되다니..신기합니다^^
근데 따라하기 급급하여.....10번이상 반복해야 좀 알게 될 것 같네요;
스팀에서 이미지를 붙여넣을때 img 태그를 사용하지 않은 경우에는 블로그에서 이미지가 나타나지 않고 주소만 보이는 것 같습니다^^;; 해결방법은 몰까요?


URL: http://thrufore.pythonanywhere.com
개발자 여부: 아니오
설명: disqus로 글쓰기 기능을 추가했어요, 보팅, 댓슬, 리스팀도 추가 가능한건가요? 안알랴주심 몬해요~^^;;;

와~ 짝짝짝. 잘하셨습니다.
빨리 제출하셨네요.

img태그를 사용하지 않은 경우에는 이미지 url인지 판단해서 태그를 먹여주는 로직을 구현해야해요~ 나중에 정리해서 포스팅할께요 ㅋ

감사합니다~아직은 뭐가 어떻게 돌아가는건지 잘 이해는 안되지만 올려주시는 대로 열심히 따라가 봐야겠네요^^

무리하게 분석하면서 이해할 필요는 없습니다.
다양한 강좌를 계속 따라 하다보면 이해가 저절로 됩니다.ㅎㅎ

냉장고 ㅋㅋㅋㅋㅋ

@kilu83 도즈언~!

도즈언 감사합니다~ㅎㅎ
버그라이프님 버그 좀 잡아주세요.ㅋㅋ

우왓!!!

일단 리스팀이요! 그리고 정독할게요!

리스팀 감사합니다~😀

URL: http://kakaofreinds.pythonanywhere.com/

개발자 여부: 아니오 (전혀몰라요)

설명: 3일동안 도전했습니다.

  • 1일 9시간정도 2단계까지 성공. (아이디 bbodol 실패)

  • 2일 9시간정도 3단계에서 멘붕(아이디 bbooaae 실패)

  • 3일 1시간동안 4단계 성공 입니다.(아이디kakaofreinds 성공 ^^)

추가기능은 생각해보겠습니다..

접수완료했습니다.^^

URL: http://blacknred.pythonanywhere.com
개발자 여부: 네( C, C++ 만 할 줄 알아서 웹, 자바 등은 잘 모릅니다... )
설명 : post 썸네일 부분에 사진인 경우에는 사진이 나오지 않고 링크 텍스트가 나오는데 이를 어떻게 수정해야 할까여 ㅜ

참여감사합니다.
그리고 이미지를 URL만 사용한 경우는 HTML로 자동변환 되지 않아서
정규식을 사용해서 img 태그를 입혀줘야할 것 같습니다.
그래서 혹시 오픈 소스가 없는지 찾아보고 있었어요.ㅋㅋ

이거 사진 부분은 저도 같은 문제가 발생하더라구요. 스팀잇에 그냥 올린 것은 사진이 뜨는데 외부 사이트(imgur) 에서 링크만 가져오면 링크만 덜렁 그대로 뜨는...

이미지 처리하는 방법은 찾게되면 정리해서 공유할께요. 이 문제는 저도 고민 중인 부분입니다.

Posted using Partiko Android

views.py 에서 post[ 'body' ] string을 're' 패키지를 통해 http:// 로 시작하면서 jpg, png 로 끝나는 서브 스트링 부분을 (html comment removed: <img src= > ) 이런식으로 replace 하는 방법을 생각해봤지만,... 아직 구현은 못했어요. ㅎㅎ

저도 정규식으로 해볼려는데 쉽지 않네요.ㅠ

Posted using Partiko Android

해결 했습니다.

views.py 에서 아래와 같이 삽입하면 됩니다.


replaced = re.sub( r'https?://([a-zA-Z0-9][a-zA-Z0-9_-]+([.][a-zA-Z0-9][a-zA-Z0-9_-]+){1,2}(/[a-zA-Z0-9][a-zA-Z0-9_-]*)+)[.]( p ng|PNG|jpg|JPG|jpeg|JPEG|bmp|BMP|gif|GIF)', r'< img src="http://\1.\4">', post['body'] )


post[ 'body' ] = replaced

감사합니다. 잘작동합니다. 그리고 @apmmh님 제가 살짝 수정했어요~

replaced = re.sub(r'(^https?://([a-zA-Z0-9][a-zA-Z0-9_-]+([.][a-zA-Z0-9][a-zA-Z0-9_-]+){1,2}(/[a-zA-Z0-9][a-zA-Z0-9_-]*)+)[.](png|PNG|jpg|JPG|jpeg|JPEG|bmp|BMP|gif|GIF))', r'<img src="\1">', post['body'])

일부 사진 파일의 경우 % 나 . 이 파일명에 들어가는 경우가 있더군요...
replaced = re.sub( r'https?://([a-zA-Z0-9][a-zA-Z0-9_-]+([.][a-zA-Z0-9][a-zA-Z0-9_-]+){1,2}(/[a-zA-Z0-9][^\s]*)+)[.](p ng|PNG|jpg|JPG|jpeg|JPEG|bmp|BMP|gif|GIF)', r'

< img src="http://\1.\4">
', post['body'] )

위와 같이 수정해봤습니다.

테스트할 페이지는 /@appics/appics-update-or-sneak-peek-into-the-appics-app-become-a-tester-now/

입니다.

음... 이미지 확장자 때문에 comment 태그를 달아도 스트링으로 안나오는군요...

sub 메소드의 두번째 인자로

'r< img src = "http://\1.\4">'


이렇게 하는게 핵심입니다. \1 \2는 re 모듈에서 정규식표현을 찾은 후에 grouping 과정을 거치는데 \1 요게 내가 찾은 패턴의 첫번째 정규표현 부분을 나타냅니다. \4는 여기서 이미지 확장자를 의미하구요.

조금 더 욕심 내면 실제 steemit 처럼 중첩 댓글 출력과 post_list 출력 시 이미지나 링크 태그가 나오는 부분에서 row 범위를 벗어나게 출력되는 문제가 있는데.. 이것도 해결하면 더 예쁜 블로그가 될거 같아요!

https://developers.steem.io/apidefinitions/condenser-api

스팀개발자 커뮤니티 내 condenser-api 참조하면 feed나 댓글 불러오는 함수들을 볼 수 있습니다.

웹개발은 처음인데 재밌네요. 덕분에 새로운 재미를 찾았습니다!

너무 많아서 무엇을 봐야할지 모르겠어요 ㅠㅠㅋㅋㅋ

알려주셔서 감사합니다. 웹개발은 언제나 재미있습니다.^^

URL: http://hjh0827.pythonanywhere.com/
개발자 여부: 파이썬 개발자는 아니지만..넵!
설명: 이벤트 덕분에 소스를 구경하면서 여러가지 검색도 하고 봤는데 10일날 등록을 까먹을까봐 지금 해놓은 조금 기능만 적어 놓겠습니다~추후에 다른 기능 추가하면 다시 수정하러 올께요 ㅎㅎ

  • 피드 목록 추가(메뉴 영역), 블로그 글목록에 카테고리 추가

들어가봤는데 정말 멋집니다. 메뉴에 피드도 구현하셨네요~😀

기존 블로그 글 목록 가져오는 부분 만들어주신걸 쬐금만 손봐서 복붙했어요 ㅎㅎ 이거 수정하는데 은근 재미있어서 시간가는줄 몰랐네요~

피드 글 가져오는 건 저도 안해봤는데 나중에 알려주세요.ㅎㅎ
그리고 개발은 언재나 재미있습니다.ㅎㅎ

곰돌이가 @hjh0827님의 소중한 댓글에 $0.020을 보팅해서 $0.005을 살려드리고 가요. 곰돌이가 지금까지 총 674번 $10.266을 보팅해서 $9.670을 구했습니다. @gomdory 곰도뤼~

보고싶은데 왜 안열릴까요 ㅜㅜ

뭐 수정하고 저장하다가 오류났나봐요 다시 바꿔놨어요 별기능은 없습니다 ㅎㅎ

별기능 있는데요....ㅋㅋㅋㅋ
따라하고 싶은데 할 줄 몰라서 걍 넘겼습니다.ㅎㅎㅎ
공부해야지....ㅜㅜ

  • URL: http://glory7.pythonanywhere.com/

  • 개발자 여부: 아니오

  • 설명: 추가 기능은 아직 못했습니다 - 정말 한시간만에 4번째 강의까지 되네요! 신기합니다.

수고하셨습니다. 접수완료되었습니다.

Posted using Partiko Android

URL: http://topchaebol.pythonanywhere.com/
개발자 여부: 예(ㅇ_ㅇ 이거도 겨우하면서 나는 개발자인가? ㅋㅋ)
설명: disqus로 댓글쓰기 기능을 추가했어요.
휴. 겨우 제출하네요. 감사합니다. ㅎㅎㅎㅎ

수고하셨습니다. 접수완료 하였습니다.

Posted using Partiko Android

감사합니다. ^^ 겨우 제출했네요. ㅎㅎㅎㅎ