뇌피셜로 그저 이야기를 풀어보자면
그누보드6가 만약 개발된다고 하면, 현재의 레거시코드, 절차적인 코드를 벗어나서 모던 웹개발에서 지향하는 MVC 모델이나 노드 진영의 웹프레임워크 구조를 채택해서 발전시키는 것이 좋을것 같습니다.
https://edykim.com/ko/post/legacy-php-to-modern-php-split-views/
아니라면 위 게시글에서 나온 것처럼 php의 자체 기능과 템플릿 엔진을 사용해서 구축 할수도 있겠죠
(언젠가 그누보드를 Composer 를 사용해서 설치할 수 있게 발전되면 더 좋을지도요)
아무래도 현재 그누보드에서 가장 필요한 것이 뷰와 로직의 분리, 코드의 유지보수성 이라고 생각합니다.
아직은 구름 잡는 이야기라도 이런 방향으로 발전되었으면 좋겠네요
댓글 12개
베스트 댓글
저도 이곳을 둘러본지 1년여 가량밖에 안되지만...
그렇게 발전할 가능성은 적습니다.
많은 사람들이 수 많은 이야기를 했지만 사용자가 그런걸 원치 않습니다. 일단 파일이 class로만 작성되어도 어려워하고 거부합니다.
어떤 변화들이 오래된 유저가 쌓아온 경험에 해가 되는듯 사용자들이 변화를 거부하고 발전되지 않기를 바라는 것같습니다.
개발자 매뉴얼 없냐고 불만을 이야기하니까 사용자들이 피의 쉴드를 치면서 처음 배우려고 시작하는 사람에게 개발자 매뉴얼을 직접 쓰라고 말하는 곳입니다. 개빡쳐서 코드 다 까보고 커밋로그 싹다 뒤져보고 게시판에서 10년 넘은 게시물까지 다 검색해보고 플러그인과 테마도 직접 만들어보면서 진짜 쓰기 시작했습니다. https://g5guide.github.io/developers/polluted_variables.html
여긴 글렀습니다.
그렇게 발전할 가능성은 적습니다.
많은 사람들이 수 많은 이야기를 했지만 사용자가 그런걸 원치 않습니다. 일단 파일이 class로만 작성되어도 어려워하고 거부합니다.
어떤 변화들이 오래된 유저가 쌓아온 경험에 해가 되는듯 사용자들이 변화를 거부하고 발전되지 않기를 바라는 것같습니다.
개발자 매뉴얼 없냐고 불만을 이야기하니까 사용자들이 피의 쉴드를 치면서 처음 배우려고 시작하는 사람에게 개발자 매뉴얼을 직접 쓰라고 말하는 곳입니다. 개빡쳐서 코드 다 까보고 커밋로그 싹다 뒤져보고 게시판에서 10년 넘은 게시물까지 다 검색해보고 플러그인과 테마도 직접 만들어보면서 진짜 쓰기 시작했습니다. https://g5guide.github.io/developers/polluted_variables.html
여긴 글렀습니다.
@nooree MVC는 바라지도 않으니 로직 좀 분리해줬으면 좋겠어요.
글을 저장하려면 write_update.php에 있는 로직 대부분을 복사해다 써야 제 기능이 동작하니까요. 함수로 빼놓기만해도 API 만들기가 수월해질텐데요. 로직 복사해다 쓰면 유지보수 너무 힘들어요.
write_update($bo_table, $write);
이런 함수 하나로 로직 분리하고 결과 받아서 api에서 json으로 success를 응답하든 write_update.php에서 alert()/go_url() 함수를 써서 페이지를 이동 시키든 결과 처리는 알아서 하면 되지 않겠습니까.
거의 대부분의 CRUD가 특정 파일에만 나열된 코드에서 이뤄지고 처리가 완료되면 페이지를 이동시켜버리고 json 요청이고뭐고 html로 뭔가를 출력해버리고... 이런 부분은 로직을 분리시켜줬으면 좋겠네요.
충분히 분리되어있지 않아요.
https://github.com/gnuboard/g5-update/compare/master...test/flutter#diff-ebafb542846173373ae63e27ef98344b70845adc617019b550e0004cc157a21c
냑 개발자분이 플러터 연동 테스트로 만들어보신 것같은데 로그인처리하는 함수조차도 없어서 저렇게 세션을 만들고 쿠키를 굽고하는 그누보드 로그인 처리 로직을 코드 복붙으로 해결하고 있어요. 심지어 로그인 로직 중 극히 일부입니다. 패스워드 확인, 차단되거나 탈퇴되었는지 확인해도 해야하고 로그인시 포인트도 적립해줘야하고... 등 주요 로직은 전부 빠진상태입니다. 물론 개념 확인 용도니까 그게 없는게 문제라는게 아니라 제대로 기능을 붙이려면 수 많은 로직을 복붙해다 써야한다는거죠. login() 함수와 hook으로 로직을 분리해놨으면 앱을 연동하든 ldap나 다른 솔루션과 연동을 하든 여러방면으로 확장하기 편리하지 않겠습니까?
그누보드는 내가 필요한 API를 찾아서 그 사용법만 알면 되는게 아니라 로직을 분석해서 구현해내야 합니다. alert()으로 오류를 띄우면 그거 hook으로 잡아서 중단시키고 json 응답으로 바꿔서 출력시키는 작업도해야하고요. 그누보드 코드를 까보지 않고서 거기에 훅을 사용해서 alert() 함수의 응답을 바꿀 수 있는지 누가 알겠습니까. API 문서는 커녕 개발자 가이드도 없는데요. 그누보드로 뭔가를 하려면 API 찾아 쓰는 것 이상을 해야만 합니다.
그거 이렇게 저렇게하면 되지 않겠냐 싶다면... 이런 예시는 극히 일부일 뿐입니다.
정말 충분히 분리되었다고 생각하시나요?
글을 저장하려면 write_update.php에 있는 로직 대부분을 복사해다 써야 제 기능이 동작하니까요. 함수로 빼놓기만해도 API 만들기가 수월해질텐데요. 로직 복사해다 쓰면 유지보수 너무 힘들어요.
write_update($bo_table, $write);
이런 함수 하나로 로직 분리하고 결과 받아서 api에서 json으로 success를 응답하든 write_update.php에서 alert()/go_url() 함수를 써서 페이지를 이동 시키든 결과 처리는 알아서 하면 되지 않겠습니까.
거의 대부분의 CRUD가 특정 파일에만 나열된 코드에서 이뤄지고 처리가 완료되면 페이지를 이동시켜버리고 json 요청이고뭐고 html로 뭔가를 출력해버리고... 이런 부분은 로직을 분리시켜줬으면 좋겠네요.
충분히 분리되어있지 않아요.
https://github.com/gnuboard/g5-update/compare/master...test/flutter#diff-ebafb542846173373ae63e27ef98344b70845adc617019b550e0004cc157a21c
냑 개발자분이 플러터 연동 테스트로 만들어보신 것같은데 로그인처리하는 함수조차도 없어서 저렇게 세션을 만들고 쿠키를 굽고하는 그누보드 로그인 처리 로직을 코드 복붙으로 해결하고 있어요. 심지어 로그인 로직 중 극히 일부입니다. 패스워드 확인, 차단되거나 탈퇴되었는지 확인해도 해야하고 로그인시 포인트도 적립해줘야하고... 등 주요 로직은 전부 빠진상태입니다. 물론 개념 확인 용도니까 그게 없는게 문제라는게 아니라 제대로 기능을 붙이려면 수 많은 로직을 복붙해다 써야한다는거죠. login() 함수와 hook으로 로직을 분리해놨으면 앱을 연동하든 ldap나 다른 솔루션과 연동을 하든 여러방면으로 확장하기 편리하지 않겠습니까?
그누보드는 내가 필요한 API를 찾아서 그 사용법만 알면 되는게 아니라 로직을 분석해서 구현해내야 합니다. alert()으로 오류를 띄우면 그거 hook으로 잡아서 중단시키고 json 응답으로 바꿔서 출력시키는 작업도해야하고요. 그누보드 코드를 까보지 않고서 거기에 훅을 사용해서 alert() 함수의 응답을 바꿀 수 있는지 누가 알겠습니까. API 문서는 커녕 개발자 가이드도 없는데요. 그누보드로 뭔가를 하려면 API 찾아 쓰는 것 이상을 해야만 합니다.
그거 이렇게 저렇게하면 되지 않겠냐 싶다면... 이런 예시는 극히 일부일 뿐입니다.
정말 충분히 분리되었다고 생각하시나요?
게시글 목록
| 번호 | 제목 |
|---|---|
| 1717629 | |
| 1717626 | |
| 1717625 | |
| 1717621 | |
| 1717619 | |
| 1717611 | |
| 1717610 | |
| 1717609 | |
| 1717607 | |
| 1717601 | |
| 1717598 | |
| 1717591 | |
| 1717590 | |
| 1717583 | |
| 1717575 | |
| 1717572 | |
| 1717568 | |
| 1717566 | |
| 1717549 | |
| 1717545 | |
| 1717533 | |
| 1717512 | |
| 1717511 | |
| 1717508 | |
| 1717495 | |
| 1717479 | |
| 1717473 | |
| 1717470 | |
| 1717463 | |
| 1717452 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기