...++
=


제로보드 4가 아직 현역이라는 (실화)공포 스토리를 트위터에 올려 RT좀 받은 게 언젠데 아직도 PHP 4~5의 망령은 가시질 않는다...

MMB라는게 있는 모양이다 일단은 CMS 프레임워크인데... 전해들은 말로는 원작자가 20년전에 손을 놨으며 스킨 개발자는 10년전쯤에 연락 두절됐다는 뭐 그런 소스이다... 그런데 아직도 누군가가 다운받아서 깔아서 쓰고 있다... 아 너무 무섭다...

index.php를 VS Code로 까봤는데 인코딩이 깨진다. 아니나 다를까 다 EUC-KR 인코딩된 파일...
이게 돌아간단 말인가...
암튼 소스를 까봤고...

<?
include "env.php";
include "lib.php";
include "config_data.php";
include "option_data.php";
include "mtype_plugin/extend_lib.php";
include "mtype_plugin/db_admin.php";
include "KDM_skin_data.php";
include "KDM_fontcol_data.php";
include "KDM_tb_data.php";


header ("Pragma: no-cache");

$ad_ico = "<img src='$ad_icon' border='0' onerror=\"this.style.display='none';\">";
$maxleng_w = strlen($max_width);
$maxleng_h = strlen($max_height);
$emowidth = $cfg_emolist*72; //사용하시는 이모티콘의 가로 사이즈가 클 경우 곱셈 값을 올리세요.

//비공개 게시판 모드
if($mem_login=='on')
	{
		if($memberlogin == $cfg_member_passwd);
		else
			{
			gourl("./admin.php?member=1");
			exit;
			}
	}

if($memberpasswd === $cfg_member_passwd)
{
  setcookie ("memberlogin",$memberpasswd,0);
  $isMember = 1;
}
else $isMember = 0;
	// 관리자 패스워드쿠키가 있으면서 관리자암호와 같으면 관리자모드임
if($ckadminpasswd == $cfg_admin_passwd && $ckadminpasswd !="")
{
	$isAdmin = 1;
}

후.. 이 이상은 너무너무 무서워서 생략한다.


제로보드4도 그렇고 사실 이런 류의 CMS Frameworks들은 일관되게 특수한 요구사항들이 몇 가지로 압축된다.

  • no-brainer
    • 시키는 대로만 하면 컴맹도 설치해서 쓸 수 있어야 함.
  • hackable
    • 기능을 넣고 빼고 "커스터마이징"을 할 수 있어야 함.
  • accessorizable
    • "스킨"을 입힐 수 있어야 함.
    • 기본 프레임워크를 그대로 두고 추가 설치하는 것들 - 테마, 플러그인 등으로 흔히 부르는 거 - 을 만들고 배포하고 적용하는 게 가능해야 하며 정말 쉽게 가능해야 함.
  • minimally dependent
    • 의존성은 없을수록 좋음.
    • 무슨 익스텐션이 필수라느니 어디가서 뭘먼저 깔라느니 하는거 질색 팔색이라는 뜻.
    • MMB 는 심지어 DB도 mysql 같은거 안쓰고 자체 파일DB를 쓴다. 그 정도로 의존성이 꺼려지는 것이다. 꼴에 DB라고 쓰기 락까지 구현해 놨던데 진짜 까무러칠 뻔함.
  • compact than extensive
    • 게시물 입력폼, 관리툴 같은 것은 기능이 많지 않음.
    • 딱히 기술적으로 최첨단도 아님.
  • socializing
    • "친목질"이 가능한 수준의 권한관리, 사용자관리, 글-댓글 커뮤니케이션을 제공해야 함.

최근 대부분의 CMS가 반대로 가는 방향성들은 몇 가지 있다.

  • customizing not accessorizing
    • 워드프레스부터 OctoberCMS, 기타 각종 CMS들은 테마, 플러그인 등의 좀더 포괄적이고 기술적으로 타당하고 규모가 큰 개념으로 접근한다.
    • 일반인들에겐 이것조차 장벽인 듯?
  • dependent in the best practices
    • 의존성을 적극적으로 가져가되, 최대한 모범적이고 표준적인 방법으로 가져가는 게 대부분의 추세다. 사실 그게 맞고. (Composer가 왜 나왔겠나?)
    • 뭘 하기도 전에 뭐 먼저 해라 뭐 먼저 깔아라 하는 건 확실히 장벽이긴 하다.
  • extensive than compact
    • 대부분의 CMS는 관리 도구를 주지 못해서 안달이다. 아직도 폐기되지 않고 돌려써지고 있는 프레임워크들과는 반대다.
    • 대신 이런 '프레임워크'들은 입력폼이 정말 단촐하다. 관리툴도 straightforward 하다. 대부분의 최신 CMS들은 사실 "그래서 새글쓰기가 어디야?" 싶은 감이 없지 않다.
    • 뭔가 이 대목이 아주 묘하다. 우리 개발자들은 최첨단의 굴레에 사로잡혀 뭔가 놓치고 있는 것은 아닐까?

이 이상은 생각 정리가 안 되므로 이하 생략

Posted by 엽토군
:

무슨 프로젝트를 진행하고 있다. 이런저런 한국적 조건 때문에 CMS로 부득불 XpressEngine을 선택해서 작업하고 있다. 그런 이유로 조금씩 들여다보기 시작한 XE인데, 무슨 함수 하나 찾으려고 파일 뒤지다가 방금 이런 코드를 봤다.

게시물의 등록시간을 출력하는 함수인 모양인데…







함수 찾아라등록시간() {

  $등록시간 = $현재객체에서->찾아라('등록시간');

  $년 = 문자뜯어와라($등록시간, 0번째글자부터, 4글자만);

  $월 = 문자뜯어와라($등록시간, 4번째글자부터, 2글자만);

  $일 = 문자뜯어와라($등록시간, 6번째글자부터, 2글자만);

  $시 = 문자뜯어와라($등록시간, 8번째글자부터, 2글자만);

  $분 = 문자뜯어와라($등록시간, 10번째글자부터, 2글자만);

  $초 = 문자뜯어와라($등록시간, 12번째글자부터, 2글자만);

  갖다주기 시간꼴로만들어서($시,$분,$초,$월,$일,$시);

}




ㅎㅏ… 네이버와 XE 개발팀은 뭘 먹으면 이런 근자감 쩌는 무대책 코드를 배포하는 거지… 그냥 일단 timestamp를 찍어놓고 변환을 하게 만드는게 옳은 도리가 아닌가… 도대체 DB와의 통신과정에서 저 '등록시간' 필드에 언제나 14자리 숫자가 착실하게 저장되리라는 보장이 어디 있다고… 행여나 DB 꼬여서 테이블 데이터 인코딩 바뀌면 어떡하려고…







모르겠다 입다물고 하던 일이나 해야지

그리고 장차 내가 만들게 될 서비스엔 이딴 로직은 집어넣지 않을 테다. 아니 어떻게 이게 말이 되냐고…

'4 생각을 놓은' 카테고리의 다른 글

의제에 대한 생각 둘  (0) 2016.04.30
AWS로 워드프레스 호스팅시 주의사항  (0) 2015.12.14
백업  (0) 2015.06.16
둠칫둠칫  (0) 2015.05.14
초조함  (0) 2014.12.20
Posted by 엽토군
:

카테고리

분류 전체보기 (799)
0 주니어 PHP 개발자 (6)
1 내 (326)
2 다른 이들의 (252)
3 늘어놓은 (37)
4 생각을 놓은 (71)
5 외치는 (76)
9 도저히 분류못함 (30)

최근에 올라온 글

최근에 달린 댓글

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31