조회수가 벌써 1000이 넘었네요.

https://xetown.com/rxe_file/686198

 

드디어 0.4버전에 진입했습니다.

크게 세 가지 중요 업데이트가 있습니다.

 

1. 이미지 불펌 방지 사이트에서도 이미지 추출 가능 : 

@prologos님께서 가르쳐주신 팁을 적용해서 이미지를 데이터 스트링으로 변환 출력하게 됐습니다.

외부 사이트에 부하를 일으켜서 폐 끼치는 일은 더 이상 없겠죠ㅋ(요건 오해였던 걸로~)

이 사실은 무엇보다도 이미지 불펌방지 사이트(예. XETown)에서도 이미지를 가져올 수 있게 됐다는 이야기이기도 합니다.

또한 https를 사용하는 서버에서 http 이미지 때문에 경고문이 뜨는 상황도 없어지게 됩니다~

 

2. 더 많은 사이트들에서 애드온 사용 가능 :

allow_url_fopen이 off 되어 있는 서버에서도 파싱이 가능하도록 했습니다.

cURL의 작동방식을 개선함으로써 get_meta_tags와 file_get_contents 함수를 쓰지 않게 됐습니다.

이제, 보다 더 많은 사이트들에서 이 애드온을 사용할 수 있게 됐습니다.

 

3. php 5.5.X 이하에서의 문법 오류 수정 :

0.3.7 버전에서도 여전히 파싱이 작동이 되지 않는다는 분들이 계셨습니다.

예전의 오류는 수정됐지만, 새로운 구문을 집어넣으면서 문법에 오류가 있었음이 발견됐습니다.

7.0 이상에서는 그냥 넘어가는 구문이었는데, 그 이하 버전들에서는 기가 막히게도 튕기더군요;;; 수정했습니다.

 

덧. 0.4는 8/28 업데이트라고 해서 올렸는데, 이 글을 쓰다보니 29일이 됐네요ㅎㅎ

  • ? Lv7
    윤사마님 최고ㅎ
  • ? Lv7 Lv19
    아플로스 게시판에 감히 비할려구요ㅎㅎㅎ
  • Lv15
    점점 굉장해지네요!
  • Lv15 Lv19
    저도 이제 얼른 출석해야겠어요ㅋ
  • Lv8
    이거 뭐 엄청나네요..
    대단하십니다.
  • Lv8 Lv19
    필 받아서 주욱 해보고 네 군데 사이트에서 테스트해봤는데 다른 사이트들에서도 잘 작동할지...
  • ?
    오옷 좋습니다
  • ? Lv19
    더 지켜봐야죠. 과연...
  • Lv11
    오... 대작 탄생인가요?
  • Lv11 Lv19
    그동안 휴지통으로 들어갔던 거 생각하면 그나마 다행이죠ㅎㅎ
  • ?
    헐... 항상 열심이신 윤삼님 감사요^^ 염치 없지만 넙죽넙죽 앉아서만... 받아 먹습니다.^^
  • ? Lv19
    그렇게 사용하시다가 뭔가 불편함으로 느껴서 조금씩 만져보게 되고, 그러다 한계를 느껴서 언젠간 천년님도 뭔가를 만드시는 날이 올 겁니다 :)
  • Lv30

    1번 항목은 정말 최고입니다.
    말씀하신 것 외 저희 같은 https 사용 사이트에서 http사이트의 이미지도 다 보여줄 수 있게 되었습니다.

    (안드로이드 웹뷰 최신버전에서는 보안상 https 사이트에서는 http 이미지 로드 자체를 허용 안해서 안보이기도 했습니다.)

    그런데 궁금한게 첫번째 방문자가 파싱해온 이미지를 변환한 데이터를 계속 사용해서 2번째 방문자부터는 서버에서 파싱할때 이미지는 파싱하지 않아 파싱대상쪽에 트래픽부담이 없어진건가요? 이부분이 궁금하네요~

  • Lv30 Lv19
    아, 사실은 거기서 prologos님이 출동하셨던 거죠 :)
    덕분에 https에선 크롬에서 주황색으로, IE에서 빨간색으로 뜨던 경고 알림도 사라졌어요ㅎㅎ

    파싱은 계속됩니다ㅎ
    단, 외부이미지를 바로 로드하는 게 아니라, 로드 직전에 스트링으로 변환해서 보여주기 때문에 외부사이트 트래픽을 최소화하고 대신 서버사이드쪽에서 부담을 지는 셈이 되는 거죠.
    이미지를 저장했다가 보여주는 것과 거의 유사한 효과를 내는 트릭이라고 보시면 됩니다.
    다만, 외부이미지 사이즈가 큰 경우가 문제가 될 수 있을 텐데(가령 가로 1080 세로 1080 히익),
    이 부분은 이미지를 적당한 사이즈로 섬네일화해서 보여줄 수 있는 방법을 모색 중입니다.
  • Lv19 Lv30
    파싱하면서 이미지를 가져오기 때문에 대상 사이트에 트래픽은 계속 발생하는거 아닐까요?
  • Lv30 Lv19
    앗, 그런가요? 직접 로드하는 게 아니어서 부담을 덜 줄 거라고 생각했는데, 여전히 그런 문제가 있을 수 있겠네요;;; 그래도 쪼금은 영향을 덜 주지 않을까요오.... (갑자기 쪼르르르)
  • Lv19 Lv30
    제가 한번 가져온 이미지를 서버 자체적으로 보관했다가 방문자에게 계속 보여주고 싶은 이유중에 하나에요.

    XE타운이 링크에서 보여지는 이미지까지 불펌이 되길 원하지는 않을 거라 생각하지만..
    불펌을 1도 허용하기 싫어서 다른 사이트에 이미지를 보여주지 않으려는 곳에서는 계속 보여지게 되는 상황이 되는데요. 물론 큰 문제가 될 정도는 아니라고 판단됩니다.

    그런데 만약 XE타운의 좋은 글을 소개해 준다는 취지로 링크를 가져갔는데 거기 사이트가 공교롭게 완전 대형 사이트라면 XE타운 입장에서는 갑자기 트래픽이 폭주하는 경험을 하게 되는 사례도 있을 것 이구요.

    저희야 반대 입장에서는 애드온 이용사이트라 안보이는 이미지가 무조건 보이는게 더 좋긴 합니다.

    다만, 매번 같은 이미지의 트래픽을 방문자가 있을때 마다 발생하는 것은 이 방식과는 무관한 것 같아 의견 드렸습니다.

    뭐 다른 곳에서 이미지 퍼가기를 막았는데도 이상하게 트래픽이 누수가 되서 발견한 곳에서는 도메인 자체를 차단하면 되는 것이라 뭐....

    어쨋든 지금 업데이트해 주신 기능은 저희는 대 만족입니다. 특히 웹뷰에서 안보이던 이미지가 이제 다 보입니다.
  • Lv30 Lv19
    제가 단단히 오해를 했나봐요. 완전 설레발을ㅋㅋ
    아오, 이미지 저장 방식 어려워서 안 하려고 했는데, 하긴 해야겠네요ㅠㅠ
  • ? Lv17
    최고입니다!!!!!
  • ? Lv17 Lv19
    다들 함께 해주시니 막 힘이 나고 그래요 ㅎㅎㅎ
  • Lv6
    오~ 축하드립니다.
    언제나 멋진 기능들을 선사해주셔서 감사할 따름 입니다.
  • Lv6 Lv19
    조회수 1000은 사실 거품이구요ㅋ
    다운로드 수 50회 정도에도 대만족입니다ㅎㅎ
  • ? Lv8
    멋지네요.. 열정에도 박수를 보냅니다.
  • ? Lv8 Lv19
    사실 스페셜 땡스들이 많아요 ^^/
  • Lv24
    윤삼님 혹시 이거 모듈로 포팅해서 오픈소스화 시켜도될까요?ㅎㅎ
    애드온의 한계로는 부족한게 있는것 같아서 좀 더 원활한 기능으로 모듈로 만들어보고 싶은데..☆
  • Lv24 Lv19
    네????!!!!
    완전 좋습니다!
    그럴 가치가 있다는 자체가 너무 영광이에요.
    사실 힘에 부치다보니 개발자님들께서 도와주시길 은근 기다리고 있었어요ㅠ ♥♥

    모듈로 만들면 기능 보완은 물론이고 스킨 커스터마이징이나 개발도 원활해지고 모두가 좋아하시리라 믿습니다~!
  • Lv8
    사실 한번 파싱한 url의 이미지나 정보를 저장했다가 보여주는것에대해 서버 공간 낭비등으로 인해 부정적인 입장이었습니다만 @웹지기님 말씀듣고나니 수긍이 가네요.
    이 부분의 기능 구현은 그렇게 어렵지 않을것으로 보입니다만 람보님이 모듈로 포팅 하신다니 애드온에 도움을 드리기보다는 조금 기다려 보겠습니다.
  • Lv8 Lv19
    관심 가져주시고 도움 말씀 주시고 또 직접 함께해주시니, 그런 경험 자체만으로도 저한테는 의미가 있었던 시간 같아요. (무슨 성경 구절 같기도 하고 간증 같기도 하네요ㅋ 아이 부끄러워)

    라이믹스 코딩 컨벤션을 따른답시고 흉내를 내보긴 했는데 람보님께 부담 될까봐 조심스럽기도 합니다. (게다가 몇몇 사이트들 url을 우회 처리 해놔서 소스가 덕지덕지 해요ㅠ)

    도움 말씀 주셔서 감사했어요:) 덕분에 시야가 더 넓어지는 경험을 했습니다~
  • 완전 멋져요!^^
  • Lv19
    아름다운 결말이죠? 시즌2 개봉 예정!
  • ? Lv17

    용량과 트래픽 문제만 보면
    가져오는 쪽에서는 서버쪽에 부담을 줄여주는 것이 아마 최소한의 예의일수도 있으나
    그렇다고 무조건 가져와서 저장한다면 애드온을 사용을 하는 서버측 용량 문제도 부담이 있을수도 있을지도 모르겠습니다.

    여러모로 개별적으로 옵션처리가 가능했으면 좋겠다는 생각도 해봅니다.

    1. 불펌사이트 이미지 가져오기 기능
    2. 가져온 이미지 본인 서버 저장 기능

    :-) 아무튼 이 애드온 대단해요!! 관리가 안되는 oembed 애드온을 라이믹스에서 날려버리는데 큰 기여를 하셨습니다.

  • ? Lv17 Lv19
    가져온 이미지는 캐시파일 재생성 등을 통해 인위적으로 비워준다든가, 아니면 모듈 설정을 통해 주기적으로 삭제해준다든가 하면서 용량 조절을 해볼 수도 있을 것 같아요.
    암튼 모듈이 답이긴 한 것 같아요.

    뭔가 디딤돌(?)이 된 듯해서 뿌듯합니다.
    (그런데 바로 이때 람보님은 지저분한 애드온 소스에 한숨을 내쉬고...)
  • Lv24
    https://github.com/bjrambo/parserlink 여기에서 parserlink 라는 이름으로 모듈으로 포팅해보고 있어요!

    코딩스텐다드도 규격화하고 오픈소스로 만들어볼 예정이에요!

    설정 페이지 까지는 완료~
  • Lv24 Lv19
    저는 띄어쓰기를 유념해야겠군요, 흠흠..
  • Lv24
    ap_parser.addon.php 파일에서
    마지막에 Context::loadFile 를 사용하는 곳이 있는데 이 메서드는 parameter가 하나입니다.

    Context::loadFile(array('./addons/ap_parser/js/ap_parser.js', 'body', '', null));
  • Lv24 Lv19
    다른 애드온 보면서 무심코 따라했었어요ㅎㅎ
    그럼, true는 Context::loadFile이 둘 이상 사용될 때에만 사용하는 건가요?
  • Lv19 Lv24
    아니요 아에 사용되지 않는 피라미터이에요. 심지어 xe코어 원본에도 해당 부분이 누락되어있어요.. 아무래도 예전에 만들던 분이 많다보니.. 생겨난 문제인듯 합니다.

    그나저나 거의 모듈로 포팅 완성되어 가네요.
  • Lv19 Lv24
    모듈 포팅이 거의 완료된거 같아요 혹시 문제있는지 테스트 한번 확인해보세요!
  • Lv24 Lv19
    우왓 감사합니다~☆
    오늘밤쯤 집에 들어가면 설치해서 확인해보겠습니다ㅡ!!
  • Lv24 Lv30

    가운데 정렬 안되구요.
    modules/parserlink/tpl/header.html' template file does not exists.

    embed 외 사이트 파싱은 안됩니다.
    모듈 사용을 중지 할 수 있는 옵션을 넣어주셔야 할 것 같아요. 모듈을 켜 놓을 수는 없을 것 같아서요.
    (애디온을 켰다가 모듈 테스트를 할때는 애드온 끄고 다시 모듈을 켤 수 있어야 할 것 같습니다.)

     

    모듈로 변환되면서 작동하지 않을 MID 지정 할 수 없게 된 점도 중요한 부분이네요.

  • Lv8
    컥.. 애드온에서 모듈로 정착하는 건가요?
    윤삼님 너무 고생 많이 하셨고, 정말 멋진 애드온에 감사 드리고,
    람보님의 모듈 포팅도 감사 드립니다. ~~

    xetown 화이팅입니다. ~~~
  • Lv8

    @람보 님,
    모듈 설치해 봤는데요.
     

    1. SNS 서비스

      - 유투브, 페이스북, 트위터, 인스타그램 잘 나타납니다

      - 다만 모두 다 (가운데) 정렬은 안되고,

      - 트위터, 인스타그램은 파싱된 결과가 2개 중복해서 나타납니다.

     

    실험 페이지 :   http://www.airtravelinfo.kr/xe/1224938

     


    2. 그리고 링크를 삭제하는 옵션을 설정했는데 그대로 나오고 있습니다.

     

    3. 자기 사이트는 안나타납니다. (다른 사이트도 안나타나네요.) -> 일반 사이트는 반영 안됨

     

    실험 페이지 :  http://www.airtravelinfo.kr/xe/1224546 (자기 사이트)

    실험 페이지 : http://www.airtravelinfo.kr/xe/1223340 (다른 사이트)

     


    감사합니다.
    확인되는 사항 추가하도록 하겠습니다.

  • Lv8 Lv24
    일부에 오류가있었는것 같아요. 최신버전으로 다시한번 업데이트 해보시겠어요?
  • Lv24 Lv8

    수고 많으십니다.

    1. 유투브, 페이스북 : 가운데 정렬 OK
    트위터, 인스타그램 : 2개 씩 중복 나타남.. 두 번째 것은 가운데 정렬 OK

    2. 링크 삭제 옵션은 작동 안함

    3. 일반 사이트는 여전히 나타나지 않음


    위 링크 보시면 쉽게 아실 수 있을 것 같습니다.
    감사합니다.

  • Lv8 Lv30
    oembed 애드온 함께 써서 embed는 두개 나오는거 아닌가요? 링크 디자인이..
  • Lv30 Lv8
    그렇군요.. 해당 애드온을 off 하니 정상적으로 하나씩 나타나네요.
    감사합니다.
  • Lv8 Lv24
    일반 사이트는 저는 일딴 잘 되는것 같은데 안되는 원인을 다시한번 찾아봐야겠네요..;ㅁ;

    제 테스트기준에서는 정상적인 동작을 하고 있는것으로 보여서요..ㅠㅠ
  • Lv24 Lv8
    그렇군요.
    사이트마다 설정과 환경이 다르니 그럴 수 있겠습니다.

    일단 애드온에서는 모두 잘 나타나긴 했었습니다.
    참고 되셨으면 좋겠네요.
  • Lv24 Lv30
    embed 모두 OK , 가운데정렬 OK
    사이트 파싱 X
  • Lv8 Lv24
    사이트 파싱이 안되는 이유가 XE에서 안되는 ajax로드방식의 코드가 있어서 그렇네요 ㅠ..

    일단 고쳐놓았습니다.
  • Lv24 Lv30
    잘됩니다~~
  • Lv24 Lv19

    어제 늦게 들어와서 방금 전에야 테스트를 해봤습니다. 일단 전반적으로 잘 작동하는 것을 확인했습니다.

    - 테스트 환경

    : studyforus |  웹호스팅 | 라이믹스 | PHP 7.* | allow_fopen_url ON

    : 닷홈 | 웹호스팅 | 라이믹스 | PHP 5.5.* | allow_fopen_url OFF

    : 문커뮤니티 | 웹호스팅 | 라이믹스 | PHP 7.* | allow_fopen_url ON

    : 카페24 | 웹호스팅 | XE | PHP 5.5.* | allow_fopen_url OFF

     


    1. ajax로드 방식을 바꿔서인지, 파싱 중 페이지 상단에 픽스된 .wfsr인가요 '서버에 요청 중입니다. 잠시만 기다려주십시오' 메시지가 나타납니다. 원래 애드온에선 이 부분이 hide() 처리됐었습니다.

    2. 또한 파싱 후 null 값이 들어오거나 실패했을 경우 출력하지 않도록 되어 있었는데, 이 부분도 반영되지 않은 것 같습니다. 로딩 이미지가 계속 뜨네요;; 가령 http://news.chosun.com/site/data/html_dir/2017/08/28/2017082801773.html 같은 주소로 파싱을 해보면 그렇게 됩니다.

    3. 모듈 설정 부분도 아직 적용이 안 되는 부분이 있습니다.
    - 일단 설정 페이지 상단에 'Template not found: modules/parserlink/tplheader.html'이 뜹니다.
    - '링크 추출 범위'가 적용되지 않습니다. 어떤 옵션은 선택해도 '본문+댓글에서' 모두 파싱이 시도됩니다.
    - '로딩 이미지 출력' 옵션 > '출력하지 않음'이 적용되지 않습니다.
    - '도메인 출력' > '출력하지 않음'이 적용되지 않습니다.
    - '링크 텍스트' > '삭제' 옵션이 적용되지 않습니다. '삭제'를 선택하면 파싱이 성공한 경우 본문에 있는 링크 텍스트를 지울 수 있는 옵션인데 적용되지 않고 있습니다.
    - '페이스북 임베드', '트위터 임베드', '인스타그램 임베드', '유튜브 임베드' 옵션들도 적용되지 않습니다. 임베드하지 않고 '일반 출력'을 선택해도 그냥 임베드되고 있습니다.

    일단 제가 확인한 바는 이렇구요. 테스트하면서 또 피드백 드리겠습니다~

  • Lv30

    사안별로 처리과정을 확인 할 수 있도록 3개의 이슈로 제가 등록했습니다.
    윤삼님의 개발결과가 모두 반영되고 또 윤삼님이 목표로 했던 것들이 @람보님의 생각하시는 것과 너무 다르지 않았으면 좋겠습니다.

    애드온의 완성도가 많이 높아지고 여러 의견을 주고 받는 과정에서 생긴 필요성등이 모두 모듈에서 발전되었으면 하는 바람입니다.(ex: 똑같은 파싱작업 반복을 하지 않도록 하는 방법등...)

  • Lv30 Lv19
    이제 모듈 관련 피드백은 깃허브에서 하면 되겠군요 :)
    이슈로 정리해주셔서 감사합니다!
  • 아주 좋은기능 대박입니다.
    애드온 사용해봤는데. 스케치북인데 작동을 하네요..
    본문에는 기능이 잘되는
    "본문+댓글에서" 대상을 선택면 댓글에는 나오지 않습니다.
  • Lv19

    좋게 봐주셔서 감사합니다 :)
    이제 이 애드온은 람보님의 모듈로 포팅되고 있어서 개발을 중단할 생각입니다.
    https://github.com/bjrambo/parserlink
    이제는 모듈로 받으셔서 피드백을 해주시면 되겠습니다~

  • Lv19

    모듈은 게시판을 지정할수가 없어서
    애드온 0.4버전만쓸려고 하는데요.
    pc에선 정상인데 모바일에서 링크를 걸명 파싱시도 자체를 안하는데
    원인이 어떤건지 알수있을까요....

  • Lv19
    현재는 모듈에서도 게시판을 지정할 수 있을 겁니다.
    정확하게 말하면 '사용하지 않을 게시판'을 선택할 수 있어요 :)
  • Lv19
    한번시도해보겠습니다.
    감사합니다.^^
  • ?
    윤삼님 성격상 더 좋아지게 힐것 같아서 기다렸는데 ㅎㅎ 이제는 사용을 그동안 노고에 감사 드립니다
    잘 사용 하겠습니다
  • ? Lv19
    네, 사용하시다 보면 기능상 한계 같은 걸 느끼실 수 있는데, 앞으로는 람보님 모듈에서 상당 부분 해결될 것으로 보입니다 ;)
  • Lv19
    윤삼님 노고에 감사드립니다. ^^
  • Lv19
    격려 감사했습니다~ ^v^
  • 경험 삼아 모듈 제작을 직접 해보시지 그러셨어요.
    어쨌든 수고하셨습니다.
  • Lv19
    애드온도 제대로 숙지하지 못한 상황에서 엄두가 안 나더라구요ㅎ
    그래도 아직 해보고 싶은 게 많아서 언젠간 모듈쪽도 염탐을 해볼 것 같습니다.
    조언과 격려, 언제나 감사 드려요~