Q&A

어떤 욕심과 어떤 곤란이 만나면 어떻게 되는지 아세요?

저는 모듈을 기웃거리게 되더군요ㅜ

 

회원 검색 위젯을 만드는데요. https://xetown.com/resources/1027330

닉네임을 초성/중성/종성 분리로 검색을 하게 하려다보니 대강 ...

 

1) DB를 가져와서 초/중/종성 분리하고

2) 검색어를 초/중/종성 분리해서

3) 둘을 비교한 뒤

4) 일치하는 닉네임을 가져오고

5) DB 컬럼값에서 검색어에 해당 길이만큼 하이라이트 표시

- 근데 여기서 ''만 입력되면 추출되는 닉네임은 가지, 다, 디, 람, 바보디, 행기 등으로 하이라이트 표시가 되어야 합니다.

- 그리고 ''이라고 입력되면 다, 디, 아쓰기, 기 등으로 표시되구요.

6) 결과값을 유사도 순으로 재정렬한 뒤 최종 출력

 

... 이런 식으로 나오게 하면서도 + 회원수가 10000만개 넘는 대형 사이트의 경우(예. skyo님의 그 사이트)에도 속도 문제를 해결하려면..

결국 DB에 자소 분리가 된 닉네임 컬럼이 따로 있어야겠더라구요ㅠㅠ

 

그래요. 욕심 때문이에요ㅜ

심지어 욕심이 이게 다가 아니에요.

가급적이면 회원 검색 결과가 팔로워나 팔로우 회원를 우선 순위로 하고, 그 외에는 검색어와 유사도 순으로 나오면 좋잖아요?

하아, 욕심이지요. 제 실력에...

 

아마 개발에 실패할 것 같은데요.

그래도 이런 기능을 시도라도 해보려면 결국 모듈 제작이겠더라구요.

근 2년 동안 모듈 제작만은 샥샥 피해 다녔는데, 결국 막다른 길에 다다른 느낌입니다;;;

 

아, 아, 하소연은 아니구요.

본론으로 가서 질문 드리려고 합니다.

 

이런 기능을 위젯으로 구현하게끔 해주는 모듈 제목은 뭐가 좋을까요?

한글 제목은 '회원 탐색기' 정도로 생각하고 있는데요.

모듈 폴더 제목이 딱히 맘에 드는 게 없네요.

제 prefix를 붙여서 apmemberㅋ, 한글 제목을 직역해서 membernavigator나 memberbrowser, 조금 줄여서 memnavi, 아니면 문법파괴 신조어로 membering ㅋㅋ

 

요약. 모듈 이름을 뭘로 하면 좋을까요?

윤삼 Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.

댓글 28

  • 2018.08.01 09:55 #1031135
    모듈의 이름을 코드에서많이 치게됩니다.

    따라서 치기편한 모듈이름이랑 그에맞는 뜻을유지하면좋을것같아요.

    불필요한 prefix붙이고 믿줄긋고그러면.. 코딩하실때 상당히 피로쌓입니다
  • 2018.08.01 10:07 #1031146
    접두어는 빼야겠네요. 뭔가 시그니처를 넣고 싶었는데... ㅋㅋ
  • 2018.08.01 10:15 #1031154
    붙이고 코딩하다보면..

    $oAp_ParserModel = getModel('ap_parser');

    이런식으로 코드가..ㅠㅠ

    그래서 별로 실용적이지 않고요

    변수이름도 단순히

    $user_list 와같이 언더바를 쓰지말고 파스칼이나 낙타기법을 사용하는것으로 연습해보세요.

    이게 적응하고나면 엉청 도움되요..ㅎㅎ

    파스칼 : $UserList
    낙타 : $userList
  • 2018.08.01 10:26 #1031169
    언더바가 확실히 너저분하긴 하네요;;
    낙타로 하면, 모듈 폴더 이름이나 php파일 이름들도 낙타로 해야 하나요?
    (제 뇌가 좀 순수합니다ㅎㅎ)
  • 2018.08.01 10:28 #1031174

    모듈이름은 전부 소문자를 쓰시면되요.
    ex)

    parserlink.class.php

    <?php

    class Parserlink extents ModuleObject
    {
    ~~~
    }


    이런식으로 하시면될듯.

    class 이름은 제일 첫문자만 대문자를 사용해주시면 됩니다.

    https://www.poesis.org/tools/modulegen/

    기진님의 모듈생성기로 모듈생성해서 써보세요 ㅎㅎ

  • 2018.08.01 10:32 #1031178
    네, 안 그래도 여러 이름 넣어서 다운 받아보고 있었어요.
    (별 괴랄한 이름으로 많이 다운 받아서 DB에 기록 남았을까봐 부끄럽네요ㅋ)
  • 2018.08.01 10:52 #1031197
    DB에 기록 남기지 않습니다^^
  • 2018.08.01 11:10 #1031208
    남기셔도 되긴 하는데 단지 좀 부끄러울 따름이죠ㅋㅋ
  • 2018.08.01 10:50 #1031189

    PSR 규칙에 따르면 클래스명은 파스칼, 클래스 메소드와 속성은 낙타, 클래스 속성이 아닌 일반적인 변수명은 소문자+언더바를 사용하는 것이 정석이지만... XE에서는 쓸데없는 접두사도 많이 붙고 변수명에 낙타를 쓰는 일도 종종 있지요.

     

    생각해 보니 흔히 사용하는 변수명도 $logged_info, $module_info, $document_list 등 언더바 형태가 좀더 많은 것 같습니다. DB 컬럼 이름도 모두 언더바를 사용하기 때문에, 일반적인 변수명은 아무래도 언더바로 통일하는 쪽이 더 설득력이 있네요.

    XE에서 모듈명을 제대로 인식하려면 중간에 대문자가 들어가면 안 된다는 제한이 있습니다. 그 밖에는 최대한 간결하게 (불필요한 prefix는 배제하고) 그리고 일관성있게 쓰기만 하면 됩니다.

  • 2018.08.01 11:12 #1031212
    PSR 규칙에 대해선 잘 몰랐지만, 기존 자료들 보면 대강 그런 느낌이더라구요. 염두에 놓고 있겠습니다!
  • 2018.08.01 09:55 #1031138
    ap_userlist
  • 2018.08.01 10:08 #1031150
    ㄴㄴ예용. '탐색기' 느낌이 안 나요ㅋㅋ
  • 2018.08.01 10:22 #1031157
    음.. userfinder 이요..!
  • 2018.08.01 10:23 #1031165
    기존 모듈에 user_finder가 있더라구요ㅋ
  • 2018.08.01 10:22 #1031161
    아, 모듈의 확장성을 생각해보면 list가 낳을 것 같기도 하네요.
    회원 리스트를 출력해주는 서비스 모듈로 컨셉을 잡고, 거기에 검색어 자동완성을 위해 자소분리 컬럼 넣어준 뒤, 위젯에서 알아서 활용하면 오오..
  • 2018.08.01 10:47 #1031185
    search_user
  • 2018.08.01 11:04 #1031203
    user_search?
  • 2018.08.01 11:22 #1031219
    memtective, memvestigator
  • 2018.08.01 11:26 #1031225

    memplorer, membrowser.... 말로만 보면 memtector, memigator도 괜찮아 보이네요.

  • 2018.08.01 11:41 #1031231
    findme 가 심플하고 이뻐요^^
    그나저나 윤삼님도 모듈에 손 대셨으면 ^^
  • 2018.08.01 11:48 #1031235
    오, 최곱니다. something 같은 걸 찾고 있었어요!
    모듈은 손은 대보는데 성공 가능성이 안 보여요;;;
  • 2018.08.01 12:29 #1031254
    모듈은 클래스 호출개념, 함수 작동 개념 등등 이부분만 이해하시면 나머지는 다 같아요.
  • 2018.08.01 13:29 #1031285
    일단은 기존의 유사 모듈을 뜯어보면서 공부하는 겸해서 만들어봐야겠어요~
  • 2018.08.01 12:59 #1031276
    윤멤버모듈이요 ㅋ yoonmember
  • 2018.08.01 13:30 #1031290
    ㅋㅋㅋㅋ 아예 야심차게 user 이럴지도 몰라요.
    (읭, 좋은데요?)
  • 2018.08.02 05:24 #1031736
    yuser 유-저
    어때요?ㅋㅋ
  • 2018.08.02 06:18 #1031777
    야심차게 user로 작업하고 있어요ㅋㅋㅋ
    (근데 손볼 게 너무 많네요;;; 모듈제작자님들께 새삼 감사한 마음이 들고 있습니다ㄷㄷ)
  • 2018.08.04 14:51 #1032977
    이런건 진짜 어떻게 ...