technote

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts

  • technote
    Keymaster

    https://stackoverflow.com/questions/489036/how-does-the-socket-api-accept-function-work

     

    위 링크를 보면 명확하게 답이 나와 있습니다.

    먼저 listen socket은 server ip:port 기반으로 새로운 연결 요청이 있는지 대기하고 있습니다.

    server가 8.8.8.8:888에서 listen하고 있는 상황에서 새로운 연결이 1.1.1.1:111과 2.2.2.2:222 에서 들어온다고 가정해 봅시다.

    생성된 socket은 server ip와 port 로만 정의되는 것이 아닙니다.
    여기에 추가로 client ip와 port 까지 그 구성에 포함됩니다.

    이에 따라 다음과 같은 socket 들이 생성될 수 있습니다.

    8.8.8.8:888 – 1.1.1.1:111
    8.8.8.8:888 – 2.2.2.2:222

    동일하게 8.8.8.8:888 라는 ip:port를 가지고 있어도 client ip:port로 이들을 구분할 수가 있습니다.

     

    client ip와 port

     

    in reply to: expression 과 statement 의 차이가 뭔가요? #923

    technote
    Keymaster

    Wikipedia 에 정의된 Statement 와 expression을 보면 다음과 같습니다.

     

    Statement : a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.

    Expression : An expression in a programming language is a combination of one or more constants, variables, operators, and functions that the programming language interprets (according to its particular rules of precedence and of association) and computes to produce (“to return”, in a stateful environment) another value.

     

    즉, Statement는 명령형 언어(imperative programming language)에서 어떤 동작을 수행하는 가장 기본이 되는 요소를 의미하는 반면, Expression은 다른 값을 구하기 위한 하나 이상의 상수, 변수, 연산자, 함수등의 조합을 의미한다.

     

    의미를 잘 살펴보면 return 값을 구해내는 것은 expression이라고 보고, 나머지 것들은 statement라고 보면 될 것 같습니다.


    technote
    Keymaster
    in reply to: 워드프레스의 frontend 와 backend #808

    technote
    Keymaster

    http://www.wpuniversity.com/lesson/wordpress-front-end-vs-back-end

     

    위 링크를 참고하면 frontend는 실제 사용자들이 볼 수 있는 웹페이지 자체를 의미한다.

    반면 backend는 관리자 페이지를 의미한다.

     

    • This reply was modified 3 months, 1 week ago by  technote.

    technote
    Keymaster

    결국은 bbpress에서 tinymce 를 사용할 때 3rdparty tinymce plugin 을 사용할 수 있는 방안을 찾으려고 하는데 쉽지 않네요.


    technote
    Keymaster

    [해결방법] SyntaxError: Non-ASCII character

     

    주석만 한글로 넣어도 문제가 있는 경우가 있는데 python쓰는데 있어 제약이 다소 있는듯 합니다. Python3에서는 다소 낫다고 하는데 어떨지 모르겠습니다.


    technote
    Keymaster

    참고로 ultraedit 와 같은 편집기에서도 ctrl+g 로 줄번호 이동을 할 수 있습니다.


    technote
    Keymaster

    각종 member 의 role과 capabilities 를 설정하는 plugin을 설치해보아도 자신이 작성한 게시글, 답변에 대해서만 삭제하는 것은 어려웠습니다. 아무리 ‘delete_topics’, ‘delete_replies’ 를 선택해도 자신이 작성한 글에 대해서만 삭제하는 것은 동작하지 않았습니다.

    ‘delete_others_topics’, ‘delete_others_replies’ 까지 주면 자신이 작성한 글에 대해서 삭제가 가능하긴 하였지만 다른 사람글 까지 삭제가 되버리는 문제가 있어, 적용이 불가능하였습니다.

    [자신이 작성한 contents 삭제 guide Link]

    위 link에서 원하는 답을 제공하고 있습니다.

    bbPress uses a different model of work with topics and replies privileges comparing to the WordPress posts. While bbPress adds ‘delete_topics’, ‘delete_replies’ it really uses just ‘delete_others_topics’ (includes/topics/capabilities.php, line #180) and ‘delete_others_replies’ (includes/replies/capabilities.php, line #162). So default bbPress permissions model does not allow to a user to delete his own content.

    bbpress topic/reply는 wordpress post와는 다른 모델을 가지고 있고, 결국 bbpress permission model에는 자기 자신이 작성한 content에 대해서만 삭제하는 것은 불가능하다는 것입니다.

     

    따라서 해당 글에서는 추가 코드를 제시하고 있습니다.


    add_filter('bbp_map_reply_meta_caps', 'bbp_delete_own_replies', 10, 4);
    
    function bbp_delete_own_replies($caps, $cap, $user_id, $args) {
      if ($cap!=='delete_reply' || in_array('do_not_allow', $caps)) {
        return $caps;
      }
    
      $_post = get_post( $args[0] );
      if (empty($_post)) {
        return $caps;
      }
    
      if ($_post->post_author==$user_id) {
        $caps = array('delete_replies');
      }
    
      return $caps;
    }
    
    add_filter('bbp_map_topic_meta_caps', 'bbp_delete_own_topics', 10, 4);
    
    function bbp_delete_own_topics($caps, $cap, $user_id, $args) {
    
      if ($cap=='delete_topic' || in_array('do_not_allow', $caps)) {
        return $caps;
      }
    
      $_post = get_post( $args[0] );
      if (empty($_post)) {
        return $caps;
      }
    
      if ($_post->post_author==$user_id) {
        $caps = array('delete_topics');
      }
    
      return $caps;
    }

     


    위 코드를 자신이 적용한 theme 폴더 밑에 functions.php에 추가하기만 하면 자신이 작성한 topic/reply에 대해서 삭제가 가능해 집니다.

    • This reply was modified 3 months, 2 weeks ago by  technote.
    • This reply was modified 3 months, 2 weeks ago by  technote.
    • This reply was modified 3 months, 1 week ago by  technote.
    in reply to: php에서 trim 은 어떻게 사용하나요? #709

    technote
    Keymaster

    test


    technote
    Keymaster

    단순히 http만 사용하는 로그인 페이지를 통해 로그인할경우, 특별한 security 코드가 들어있지 않다면 그대로 외부에 아이디 패스워드가 노출될수 있습니다. TLS를 통해 Https를 적용한 페이지라면 기본으로 encrypt되기 때문에 위험성을 줄일수 있습니다

    • This reply was modified 3 months, 2 weeks ago by  technote.

    technote
    Keymaster

    정보(data)를 암호화해서 송수신하는 프로토콜입니다. SSL(Secure Sockets Layer) 기반 기술로, 정식 명칭은 TLS지만 아직도 SSL이라는 용어가 많이 사용되고 있습니다. 1999년도에 SSL 3.0의 업그레이드 버전으로써 TLS 1.0이 발표되었습니다.

    암호화 통신인 만큼 속도상의 손해가 발생하기 때운에 플래시나 큰 이미지가 많은 사이트에서는 어느 정도 부하가 걸릴슨 있습니다.

    TLS를 사용해 암호화된 연결을 하는 HTTP를 HTTPS (HyperText Transfer Protocol Secure) 라고 합니다. 웹사이트 주소가 HTTPS로 시작되고, 기본 포트는 80번이 아닌 443번을 사용합니다.

    TLS와 HTTPS를 혼용하는 경우가 많은데, TLS는 다양한 종류의 보안 통신을 하기 위한 프로토얹어고, HTTPS는 TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜로 이해하면됩니다.

     


    technote
    Keymaster

    자답이긴 하지만 bbpress shortcode를 이용하면 됩니다.

    [bbp-topic-form forum_id=634] 

     

    위의 예와 같이 bbp-topic-form의 뒤에 forum_id 를 붙여주면 해당 forum_id에 대해서만 글 작성이 가능해지고, 더 이상 forum(게시판)을 선택하지 않아도 됩니다.


    technote
    Keymaster

    GD bbPress Attachments 를 설치하였다가 첨부만 되길래 Inline Image Upload for BBPress 로 바꾸었습니다.

    아래 편집기에서 그림 버튼을 누르고, 

    누르면 뜨는 팝업에서 탑색기 버튼 같은것을 누르면 내컴퓨터에 있는 그림파일을 글에 넣을 수 있습니다. 


    technote
    Keymaster

    워드프레스라기 보다 현재 해당 사이트는 wordpress의 plugin 중 하나인 bbpress로 운영되고 있습니다. 

     

    bbpress에서 사진을 첨부하기 위해서 GD bbPress Attachments 를 설치하였습니다. 

    이제 부터는 사진 업로드가 가능할 것입니다.

    • This reply was modified 3 months, 3 weeks ago by  technote.

    technote
    Keymaster

    원래 하고자 했던 것은 bbpress 상에서 글을 작성하고, 수정하고, 삭제할 수 있는 권한을 주는 것이었는데 wordpress 내 역할은 wordpress 의 글에 대한 권한이지 bbpress 의 topic에 대한 권한이 아니었습니다.

    찾아보니 bbpress의 권한은 다음과 같습니다.

    Keymaster (관리자) : 다 할 수 있는 상태
    Moderator (조정자) : forum을 만들고 편집가능, 다른이의 topic과 replies 를 편집/삭제도 가능.
    Participant (참여자) [기본] : topic과 replies를 작성하고, 수정할 수 있는 상태
    Spectator (관람자) : 작성된 topic과 replies를 읽을 수 있는 상태
    Blocked (차단됨) : 모든게 다 금지된 상태

    기본으로 participant 가 설정되는데, 희안하게 자신이 작성한 topic을 삭제가 되지 않고 있습니다.

    • This reply was modified 3 months, 4 weeks ago by  technote.
Viewing 15 posts - 1 through 15 (of 20 total)