질문은 잘 안하는 편이지만 오늘은 질문해봅니다; 정보
질문은 잘 안하는 편이지만 오늘은 질문해봅니다;본문
안녕하세요 엔피씨입니다~
오늘은 급작스러운 질문을 좀 할까합니다.
일단 요점을 간추려 질문을 하자면,
확장자가 CSS인 파일을 PHP파일로 바꾸고, 그 PHP파일안에 header 함수를 이용해서 text/css 선언해주면 CSS파일이됩니다.
그러면, 이 파일을 그누보드 head.sub.php에
<link rel="stylesheet" href="[경로]/style.css.php" />
위와같이 불러들일경우, 사이트에 부하를 주게 됩니까~?
-------------------------------------------
라는게 질문입니다.
이 질문을 하는 이유는 제가 요즘, 스타일시트들을 다 모아서 head안에 선언해주려고
삽질하다 보니 그렇게 되었습니다.
일단 아래의 간단(하다해놓고 엄청 복잡)한 샘플트리로 말씀드릴게요
--------------------------------------------
[root]
├ style.css : 그누기본 stylesheet
├ head.sub.php : 메타정보, 스타일시트, 자바스크립트가 선언된 파일
├ [css] : 이번에 엔피씨가 새로 만든 디렉토리
│ └ skin.css.php : header값을 css로 선언해준파일
└ [skin] : 그누보드스킨들
└ [latest]
└ [npc_board]
├ skin.css.php : header값을 css로 변경한 파일
└ latest.skin.php : 최신글을 불러오는 스킨 파일
--------------------------------------------
일단 저위와 같은 형식으로 작업을 하였는데요.~
스킨을 불러내기 위해 head.sub.php 에 아래와 같이 적어주었습니다.
<link rel="stylesheet" href="<?=$g4['path']?>/css/skin.css.php?skin_type=latest&skin_name=npc_board&bo_table=notice" />
그렇게 하면, skin.css.php에서 해당경로에 있는 스킨을 스타일시트 불러오는 명령인
@import "경로/skin.css.php"; 형식으로 가지고옵니다.
이런식으로 응용작업하면, 스킨관련 css파일도 head 영역에 모아서 호출할 수 있고 중복도 없앨 수 있어1서 웹표준화 코딩하시는 분이라면 편하게 쓰실 수 있습니다.
여하튼 저런식으로 부르게 되면 제가 생각했을 때 문제가 되는것이.
"화면에 뿌려주는 최신글 스킨등이 10개가 넘을 경우, 부하가 클까?" 라는 생각이 되어서
그누고수님들께 여쭈어봅니다.
- - - - - - - - - - - - - - - -
보충 1 : 아까 스킨불러올때 bo_table 명을 가지고 왔는데요. 실제 해당스킨의 skin.css.php파일을 열어보면 아이디값 (# 이 붙는 것들)에 이런식으로 선언됩니다
#<?=$_GET['bo_table']?>_latest_title -> #notice_latest_title
0
댓글 15개

/css/skin.css.php?skin_type=latest&skin_name=npc_board&bo_table=notice
파일을 다운받아보니.
딱 한문장들어있습니다.
@import "/skin/latest/npc_board/skin.css.php";
음 부화만 없으면 웹표준화 작업하시는 (특히 validator 사용하시는)분은 css 관련위치를 고민하지 않아도 될것같아요.
스킨을다운받은경우, 스킨파일(latest.skin.php)에 따로 스타일시트선언안해도되고, <link rel="stylesheet" />선언도 생략해도 되니까요~
이정도되면 '스킨'만 관리하는 플러그인 만들어도 될까요 ~?

저역시 이런 고민했었는데요. css로 만들다보니 소스가 너무 길어지고 관리하기도 힘들어지죠.
그래서 나름 알아봤는데. 제가내린 결론은 관리가 편해지면 느려지고, 느려지는걸 감안하면 빠른로딩이 가능하다는것.
대형 포털사이트나 잘 만들어진 사이트들 가보니 공통점은 common.css 파일 하나에 거의 의존적이더라구요. 또는 몇개안되는 css파일.
link 와 @import에 대한 실험결과가 있네요.
http://www.stevesouders.com/blog/2009/04/09/dont-use-import/
음 관리적 측면이냐, 속도적 측면이냐로 자세히 실험된 사이트도 보니 좋네요!!
일단 제가 이 글을 적은 것은
'웹표준화 그누보드 작업하시는 분'일 경우에는 그누보드 스킨을 배포하시는 분도 있던데, 폴더만 업로드하면 자동으로 '스킨용css'를 로딩하는 것을 구현하다가 문득 이런 생각이 들어서 적었어요~ 그누보드는 일단 'GPL'이기 때문에..ㅎㅎ 모두가 해당스킨디렉토리에 스킨을 넣어두면, 해당스킨에만 (다른 스타일시트와 혼동하지않고) 붙일 수 없을까 해서..ㅎㅎㅎ

느려지는걸 감안하면 빠른로딩이 가능하다는것. >> 느려지는걸 감안하면 관리하기 좋다.
엔피시님 말씀에서 한발더 나가면
스킨을 올리는 사람이 폴더채로 올리는것이 아니라 css 파일만 올리면 되는게 맞나요?
그렇게 되면 스킨css 메뉴가 생겨야 되겠는데요? ㅋㅋ 아이디어 굿입니다. ㅋㅋ

캐슁처리가 안되는 경우 서버 부하는 발생합니다.(상황에 따라 미미할수도 있겠네요.)
캐쉬처리도 그렇고, 당연 부하가 생기겠죠.
더군다나, 편의상 일괄적인 것을 염두 할려고, 서버스크립트인 php 에다가 담는 다는 것은 불필요 한 일이고 좀 황당한 작업입니다.
서버스크립트인 php 에도 담기 싫어 html 확장자를 이용하는 데 말이죠.....
제로,그누보드 같은 경우 skin 을 바꾼 수 있다는 명목하에, 중복되는 class name 이 난무 한데요.
이것은 잘못된 것입니다.
진정 웹표준이니, 최적한 사이트를 만드는 일이에는, 현재 제로, 그누보드를 사용자가 개조 해야 합니다.
그냥 ^^;; 드루팔쓰는게 낫지않나요^^;
현재의 그누보드가 개조되기 힘들기때문에, 또 다수의 사용자가 이미 사용하기에,
이런 삽질이라도 하고있습니다 : )
그냥 그누에서 스킨을 받거나 하는 작업이 아니라 순수 그누보드 파일에 자신의 커스터마이징을 하는경우에야, 캐논협주곡님말씀처럼 하는게 낫지요,
하지만 프레임워크라면 현재 바로 할 수 없기에 이렇게 생각도해본것입니다^^
답변감사합니다 : )
---------------------------
아 그리고한가지,
부담스러워서 css도 html파일안에서 style로 지정하신다하셨는데^^;
그것보다는 link rel='stylesheet'로 지정하시는 편이 더 최적화되고 빠릅니다.
엔피씨 님처럼, 한곳에 집어 넣어서, 불러 드린다면, 사용되지 않는 class 속성값이 가 정의 되지 않는 페이지에서도 사용 됨으로 이것이 바로 최적화가 안되는 것이죠.
예로, 우리나라 포탈싸이트를 뒤집어 보시면 아실 것 같습니다.
막대한 트래픽 문제 때문에 필요한 페이지에 css 를 정의했습니다.
그리고, 드루팔 쓰라는 말이 아니라, 애초에 구누가 그럴 수 밖에 없음으로, 커스터마이징이든, 뭐든 개조를 할 수 밖에 없다는 이야기입니다. 또 개조도 그리 복잡한 것은 아닙니다. 조금만 연구하면 될 수 있을 것입니다.
캐논협주곡님 말씀처럼 사용하지 않는곳에서도 불러들이는 문제도 있네요.
그런경우에 대해서 조건을 작성한다면 코드가 늘어날테고..;
음.. 역시 이런건 같이 의논해야하는 건가봅니다.ㅎㅎㅎ
감사합니다^^

해당보드를 사용하시는분들에 실력이 뒷바침되지 않으면 절대 불가능한일이죠
레이아웃이 100프로 표준이라도 안에들어가는것들이 표준이 아니면 표준이 아닌게 되니까요
재가생각할때는 처음에는 속도부분은 처음부터 신경쓰실부분이 아닌거같습니다.
속도부분까지 신경쓸정도에 사이트면 그정도 금액이 벌어드릴테고 그럼 맞쳐서
수정작업정도는 어느정도 할여건이 된다고생각합니다.
최소한으로 물이없이 돌아가면 된다고 생각합니다.
좋은 말씀 감사합니다 : )
네이트는 안보이시고 이번엔 뭘 개발하시나요? ㅋㅋ
저 이제 막 야근시즌 끝나서 한가해요~ 저 한발짝만 끼워;;;
하고싶은 말들이 너무 많습니다. ㅎㅎㅎㅎ
요즘 이것저것 안만지고 딱 두가지만 개인프로젝트로 구성하는게 있어서.ㅎㅎ
조만간 만납시다^^!