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

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

 

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

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

 

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

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

3) 둘을 비교한 뒤

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

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

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

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

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

 

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

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

 

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

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

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

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

 

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

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

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

 

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

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

 

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

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

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

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

 

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

  • profile
    모듈의 이름을 코드에서많이 치게됩니다.

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

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

    $oAp_ParserModel = getModel('ap_parser');

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

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

    변수이름도 단순히

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

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

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

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

    parserlink.class.php

    <?php

    class Parserlink extents ModuleObject
    {
    ~~~
    }


    이런식으로 하시면될듯.

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

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

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

  • profile profile
    네, 안 그래도 여러 이름 넣어서 다운 받아보고 있었어요.
    (별 괴랄한 이름으로 많이 다운 받아서 DB에 기록 남았을까봐 부끄럽네요ㅋ)
  • profile profile

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

     

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

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

  • profile profile
    DB에 기록 남기지 않습니다^^
  • profile profile
    남기셔도 되긴 하는데 단지 좀 부끄러울 따름이죠ㅋㅋ
  • profile profile
    PSR 규칙에 대해선 잘 몰랐지만, 기존 자료들 보면 대강 그런 느낌이더라구요. 염두에 놓고 있겠습니다!
  • ?
    ap_userlist
  • ? profile
    ㄴㄴ예용. '탐색기' 느낌이 안 나요ㅋㅋ
  • profile ?
    음.. userfinder 이요..!
  • ? profile
    아, 모듈의 확장성을 생각해보면 list가 낳을 것 같기도 하네요.
    회원 리스트를 출력해주는 서비스 모듈로 컨셉을 잡고, 거기에 검색어 자동완성을 위해 자소분리 컬럼 넣어준 뒤, 위젯에서 알아서 활용하면 오오..
  • ? profile
    기존 모듈에 user_finder가 있더라구요ㅋ
  • profile
    search_user
  • profile profile
    user_search?
  • profile
    memtective, memvestigator
  • profile profile

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

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