<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Webactually Korea &#187; Sass</title>
	<atom:link href="http://www.webactually.co.kr/archives/tag/sass/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webactually.co.kr</link>
	<description>expand your network</description>
	<lastBuildDate>Mon, 29 May 2017 05:36:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Sass 프로젝트를 위한 아키텍처</title>
		<link>http://www.webactually.co.kr/archives/13106</link>
		<comments>http://www.webactually.co.kr/archives/13106#comments</comments>
		<pubDate>Tue, 19 Aug 2014 10:16:08 +0000</pubDate>
		<dc:creator>webactually</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS 전처리기]]></category>
		<category><![CDATA[CSS 코드 관리]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[sass 구조]]></category>
		<category><![CDATA[Sass 아키텍처]]></category>
		<category><![CDATA[scss 파일 나누기]]></category>

		<guid isPermaLink="false">http://www.webactually.co.kr/?p=13106</guid>
		<description><![CDATA[저자인 휴고 기로델은 Sass 프로젝트의 아키텍처 "개념"을 얘기합니다. 이는 실전 프로젝트에서 적절한 아키텍처를 만들 수 있는 응용력을 갖추도록 하기 위함입니다.  Sass 프로젝트에 맞는 아키텍처를 만들기 위해 기초 개념을 잡아 보세요! ]]></description>
			<content:encoded><![CDATA[<div class="msgbx"><div></p>
<p>&#8220;1+1은 무엇일까요?&#8221;라는 질문을 자주 듣습니다. 산수 시간에 말하는 정답은 2가 되겠죠. 세상에는 그 너머 다양한 정답이 존재할 수 있습니다. 어떤 관점으로 생각하느냐에 따라 다른 정답이 나오죠. </p>
<p>저자인 휴고 기로델은 이 글에서 독자에게 &#8216;Sass 프로젝트의 아키텍처란 바로 이것이다&#8217;라고 정답을 알려주지 않습니다. 대신 다양한 정답이 나오도록 Sass 프로젝트의 아키텍처 개념을 얘기합니다. 이 글을 읽고 여러분의 Sass 프로젝트에서 멋지게 창의력을 가미한 아키텍처를 만들어 보시기 바랍니다. ^^    </p>
<p>[편집자주]<br />
</div></div>
<p>예전의 단순했던 CSS만으로 일했던 그때를 기억하시나요? 사용한 CSS 파일은 단 하나지만 (코드의 줄은) 잠 못 이루는 밤보다 더 길었습니다. (대게 서툴게 작성된) 셀 수 없이 많은 줄과 거기서 알려지지 않고 좌절스럽기만한 IE 버그를 고치고자, 변경할 값 하나를 찾으려고 애썼죠. </p>
<p>여러분, 이제 그런 날들은 과거가 되었습니다. CSS를 다루는 것은 더 흥미로워지고 더 복잡해집니다. 아마도 흥미로워지니 복잡해지겠죠(역자:다양하게 표현할 수 있는 코드가 쏟아지므로 더 복잡해진다는 의미). 멋진 이들이 얘기하는 CSS 전처리기, 반응형 웹 디자인, 점진적 향상<sup>progressive enhancement</sup>, 적절한 낮춤<sup>graceful degradation<a href="#ref1">[1]</a></sup>, 그 외의 것들이 있어서 CSS는 어느 때보다 더 강해지고 있습니다. </p>
<blockquote><p>
CSS는 더 흥미롭고 더 복잡해지고 있습니다.<br />
— 저자
</p></blockquote>
<p style="clear:both;">
<p>다루어야 할 것이 너무 많기에 체계적인 상태를 유지하는 것이 중요합니다. 그게 항상 수월하지 않다는 것에 대해 동의하실 거예요. 이 글에서 저는 여러분에게 생각하는 법(구현방법이 아닌←이것은 여러분께 맡길게요)을 터득하도록 도움을 드리고자 합니다. </p>
<h4>내 구조 만들기</h4>
<p>CSS 전처리기를 사용해서 얻는 혜택 중 하나는 성능에 영향을 주지 않고 코드를 나누어 여러 개의 파일에 담을 수 있다는 것입니다. Sass의 @import 지시자 덕분에 개발 환경에서 원하는 만큼 많은 파일을 만들 수 있습니다. 실시간 환경에서 모든 파일이 하나의 파일로 컴파일 될 것입니다.</p>
<blockquote><p>
다중 파일은 개발 환경에서, 하나의 파일은 실시간 환경에서.<br />
— 브루스 리<sup>Bruce Lee</sup>
</p></blockquote>
<p style="clear:both;">
<p>CSS를 여러 파일과 폴더에 적절히 나누어 넣는 것에서 정리가 시작됩니다. 저의 은사 중 한 분이 이런 말씀을 하시곤 하셨어요. “모든 것은 그것에 맞는 장소가 있고, 모든 장소에는 그에 맞는 것이 있다.” 그 말씀대로 제가 여기서 하고자 합니다!</p>
<h5>폴더는 훌륭하기에 이것을 사용하라</h5>
<p>폴더가 없어서는 안되죠. 여러분은 집에서 모든 문서를 상자 하나에 다 넣지 않죠. 아마도 서류철들<sup>folders</sup>이 있겠지요. 집/아파트용 서류철, 은행용 서류철, 영수증용 서류철 등등.</p>
<div id="attachment_13125" class="wp-caption align left" style="width: 410px"><img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/1393307247whatif-meme-folder.jpg?0b529f" alt="" title="1393307247whatif-meme-folder" height="400" class="size-full wp-image-13125" style="width:400px;text-align:center;margin-left:auto; margin-right:auto;" /><p class="wp-caption-text">제가 모든 SASS 파일을 같은 폴더에 넣을 필요가 없다고 말한다면요?</p></div>
<p style="clear:both;">
<p>CSS 구조를 설계하는 것도 정확히 같습니다. 모든 Sass 파일들을 같은 폴더에 넣지 않습니다. 그것들을 분류하세요.</p>
<p>아래는 파일들을 구조화하는 것을 보여줍니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/sass-structure.png?0b529f" alt="" title="sass-structure" width="600" height="870" class="alignleft size-full wp-image-13484" /></p>
<p style="clear:both;paddint-top:10px;">
<p>보다시피 루트<sup>root</sup>에 Sass 파일(main.scss) 한 개만 있습니다. 나머지 다른 파일들은 적당히 나누어져 폴더에 들어 있습니다. 파일명 앞에 밑줄(_)이 붙은 것은 Sass에게 파셜<a href="http://sass-lang.com/documentation/file.SASS_REFERENCE.html#partials" target="_blank"><sup>partial</sup> .scss 파일</a>이라고 말해주는 것이에요. 파셜 .scss 파일은 .css 파일로 컴파일 되지 않습니다. 파일을 불러오고 합치는 <a href="https://gist.github.com/HugoGiraudel/8615243" target="_blank">기본 파일<sup>base file</sup></a>의 역할을 수행합니다.</p>
<blockquote><p>
모든 파일을 통치하는 파일 하나,<br />
파일들을 찾는 파일 하나,<br />
모든 파일을 가져오는 파일 하나,<br />
그들을 Sass 방식으로 합쳐라.<br />
— J.R.R. 톨킨<sup>Tolkien</sup>
</p></blockquote>
<p style="clear:both;">
<p>위의 파일 구조에서 폴더를 하나씩 보지요. </p>
<h5>Base</h5>
<p>base/ 폴더에 일명 프로젝트용 표준 문안<sup>boilerplate<a href="#ref2">[2]</a></sup> 관련 내용이 있습니다. 거기에서 reset(아니면 Normalize.css나 그에 유사한 무엇이든) 코드를 찾을 수 있습니다. 아마 프로젝트에 따라 타이포그래피를 다루는 소스나 다른 소스를 발견할 수 있을 것입니다.<br />
<article class="list2">
<ul>
<li>_reset.scss나 _normalize.scss</li>
<li>_typography.scss</article></li>
</ul>
<h5>Helpers</h5>
<p>helpers/ 폴더(때론 utils/로 부르는)에 모든 Sass 툴과 프로젝트 여기저기서 사용할 헬퍼들이 모여있습니다. 기능이 포함됐나요? 믹스인? 다 이 폴더에 넣으세요. 이 폴더에는 _variables.scss(때론 _config.scss로 부르는) 파일도 있어 프로젝트에 대한 모든 글로벌 변수(타이포그래피, 색 구성<sup>color schemes</sup> 등)를 이곳에 담고 있습니다.<br />
<article class="list2">
<ul>
<li>_variables.scss</li>
<li>_mixins.scss</li>
<li>_functions.scss</li>
<li>_placeholders.scss (흔히 _helpers.scss로 부르는)</article></li>
</ul>
<h5>Layout</h5>
<p>layout/ 폴더(때론 partials/로 부르는)에 보통 파일이 많이 들어 있습니다. 개별 파일에서 레이아웃(헤더, 푸터 등)의 주요 부분에 관한 스타일을 정의합니다. _grid 파일도 있어서 이 레이아웃을 만드는데 그리드 시스템이 사용된다는 것을 알 수 있습니다.<br />
<article class="list2">
<ul>
<li>_grid.scss</li>
<li>_header.scss</li>
<li>_footer.scss</li>
<li>_sidebar.scss</li>
<li>_forms.scss</article></li>
</ul>
<p>이 폴더에 네비게이션 파일을 넣는 것이 이치에 맞을 수 있습니다. 저는 이 파일을 components/(다음 내용에서 보실거예요)에 넣지만요. /layout 폴더에 넣는 것이 더 좋을 수 있다고 생각하지만 결정은 여러분 몫으로 할게요.</p>
<h5>Components</h5>
<p>좀 더 작은 구성요소를 위한 components/ 폴더(흔히 modules/로 부르는)가 있습니다. layout/을 (전역적<sup>global</sup> 와이어프레임을 정의하는) 매크로라고 치면 components/는 좀 더 마이크로입니다. 슬라이더, 로더<sup>loader</sup>나 그런 유형의 특정한 모듈을 담을 수 있습니다. 여러분의 사이트가 거의 작은 모듈들로 이루어졌기에 보통 components/에 많은 파일들이 있습니다.<br />
<article class="list2">
<ul>
<li>_media.scss</li>
<li>_carousel.scss</li>
<li>_thumbnails.scss</article></li>
</ul>
<h5>Pages</h5>
<p>페이지에 특정화된 스타일이 있다면 pages/ 폴더에 그 스타일을 넣고 페이지명과 파일명을 일치시키는 것이 좋을거라 생각합니다. 예를 들면 Home 페이지에 독특한 스타일을 적용하는 일은 흔하죠. 이 스타일을 처리하려고 pages/ 폴더에 _home.scss 파일을 넣을 수 있습니다.<br />
<article class="list2">
<ul>
<li>_home.scss</li>
<li>_contact.scss</article></li>
</ul>
<p>여러분의 배포 과정에 따라 이 파일들은 별도로 호출될 수 있는데 이는 출력되는 스타일시트에서 다른 파일과 합쳐지는 것을 방지하기 위함입니다. 여러분 결정에 달렸습니다. 저의 회사에서는 그것을 partials로 만들지 않기로 결정했습니다. 그것을 요청하는 페이지에만 포함시키도록 하려는 목적이었습니다. 예를 들어 Home 페이지에 특별한 레이아웃이 있고 대략 200줄 되는 CSS를 컴파일한다고 하죠. 모든 페이지에서 그 규칙이 로딩되는 것을 막고자 그 파일을 Home 페이지에만 넣었습니다.  </p>
<h5>Themes</h5>
<p>저처럼 여러 테마를 다루는 규모가 큰 사이트에서 작업한다면 themes/ 폴더가 있는 것이 이치에 맞습니다. 테마/디자인과 관련된 스타일 모두 거기에 넣으세요. 완전히 프로젝트에 특화된 것이어서 여러분이 필요를 느낄 때만 파일을 넣으면 됩니다.<br />
<article class="list2">
<ul>
<li>_theme.scss</li>
<li>_admin.scss</article></li>
</ul>
<h5>Vendors</h5>
<p>마지막이지만 중요한 것으로 여러분은 아마 외부 라이브러리와 프레임워크(부트스트랩, jQueryUI, jQuery에서 제공하며 잘 다듬어진 캐로셀 슬라이더<sup>FancyCarouselSliderjQueryPowered</sup> 등)에 포함된 모든 CSS 파일을 vendors/ 폴더에 넣을 것입니다. 파일들을 별개의 폴더에 넣는 것은 좋은 방법으로 “이봐, 이건 내가 작성한 파일이 아니고, 내가 짠 코드도 아니며, 내 책임이 아니야”라는 것을 알려줍니다.</p>
<p>예를 들면<br />
<article class="list2">
<ul>
<li>bootstrap.scss</li>
<li>jquery-ui.scss</li>
<li>select2.scss</article></li>
</ul>
<p>게다가 저희 회사에서 vendors-extensions/ 폴더도 있었는데 여기에 벤더 파일을 일부 덮어쓰기하는 파일을 넣었습니다. 예를 들어 _bootstrap.scss 파일을 거기 넣어서 부트스트렙에 있는 구성요소 일부를 바꾸는데 사용했습니다. 벤더 파일 자체를 편집하지 않으려고 했습니다. 그것은 좋은 생각이 아닙니다.  </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>이게 전부입니다. 프로젝트에 따라 구조가 달라질 수 있겠지만 여러분이 이 개념을 이해했다고 확신합니다. 폴더 안에 폴더를 중첩하는 것에 관해 항상 반대하진 않지만 그렇다고 선호하지도 않습니다. 대부분의 경우 단일 레벨<sup>single level</sup> 구조가 너무 복잡해지지 않고 파일을 깔끔하고 정돈된 상태로 유지할 수 있다는 것을 알게되었습니다. 그렇더라도 프로젝트에서 하위 레벨 구조가 필요하다고 생각한다면 그렇게 하시기 바랍니다. </p>
<p>전문가 조언: 여러분이 scss 폴더를 본 누군가가 파일 구조를 명확히 이해할 수 없다고 생각한다면 구조 전체를 설명하는 README.md 파일을 만들어 (main.scss와 나란히) 루트 레벨에 넣는 것을 고려해 보세요. </p>
<h5>파일도 훌륭해!</h5>
<p>제가 자주 받는 질문은 “얼마나 많아야지 너무 많은 파일이라고 말하나요?”입니다. 저는 너무 많은 파일은 절대 없습니다고 답변합니다. 작업을 몇몇 파일로 쪼개는 것은 코드를 정리하려는 목적입니다. 여러분이 무언가 더 많은 파일로 나눠야겠다고 느끼면 그렇게 밀어붙이세요! </p>
<p>크리스 코이어가 그의 <a href="http://css-tricks.com/sass-style-guide/" target="_blank">Sass 스타일 가이드</a>에서 말했듯이</p>
<blockquote><p>
이해될 때까지 작은 파일로 나누세요.<br />
- 크리스 코이어<sup>Chris Coyier</sup>
</p></blockquote>
<p style="clear:both;">
<p>저는 단일 구성요소를 다수의 파일로 폭발적으로 증가시키는 데 반대하는 편입니다. 그렇게 하는 타당한 이유가 없는 한 말이죠. 일반적으로 저는 더도 덜도 말고 파일당 모듈 하나를 넣고 모듈의 의미를 알 수 있는 이름을 짓습니다. 이 방식으로 저는 서브라임 텍스트<sup>Sublime text</sup>에서 코드를 찾고자 할 때 빠른 찾기<sup>go to<a href="#ref3">[3]</a></sup>를 할 수 있습니다. </p>
<h4>요약</h4>
<p>이 글에서 제안한 모든 내용은 저의 개인적 경험을 근거로 작성되었습니다. 저는 프랑스에서 규모가 큰 은행 그룹 중 하나인 크레디 아그리꼴<sup>Crédit Agricole</sup>사의 웹기반 지사<sup>web-based branch</sup>에 근무하는 단 한 명의 프론트엔드 개발자입니다. 아마 여러분의 환경과 경험에 맞는 다른 접근방법이 있을 것입니다.</p>
<p>Sass 프로젝트의 아키텍처에 관한 황금률<sup>Golden Rule</sup>을 뽑으라고 하면  다음과 같이 단순할 수 있습니다. 말이 되는 것을 뽑으세요. 여러분이 프론트엔드 팀에서 일을 하면 모든 팀원들이 선택한 구조에 대해 편히 느끼는지 확인하세요. 그렇지 않으면 어딘가에 문서화하고 공개해서 누구나 파일구조가 어떻게 구성되어 있는지 이해하도록 해주세요.</p>
<p>Sass 구조에 대해 의견이나 제안이 있으신가요? 여러분의 견해를 기다립니다. </p>
<blockquote><p>
큰 힘에는 언제나 큰 책임이 따른다.<br />
— 아쿠아맨<sup>Aquaman</sup>
</p></blockquote>
<p style="clear:both;">
<div class="msgbx"><div>이 글은 SitePoint의 블로그 글을 번역한 것으로, 웹액츄얼리 북스팀이 SitePoint로부터 허가를 받고 올린 자료입니다. 원본은 <a href="http://www.sitepoint.com/architecture-sass-project/?utm_content=bufferac1fc&#038;utm_medium=social&#038;utm_source=facebook.com&#038;utm_campaign=buffer%22%20%5Ct%20%22_blank" target="_blank">“Architecture for a Sass Project”</a>에서 확인할 수 있습니다.</p>
<p>※ 내용중에 오번역, 오탈자를 발견하신 경우에는 알려주세요.</p>
<p>※웹액츄얼리 북스팀에서 웹 디자인 관련 영문 번역이나 윤문을 해주실 분을 찾고 있습니다. 관심 있으신 분은 메일 보내주세요. <a href="mailto:books@webactually.com" target="_blank">books@webactually.com</a></p>
<p>[편집자주]</div></div>
<p><div class="Infobx"><div><img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/729edf889ced7863dedba95452272bca.jpeg?0b529f" alt="" title="729edf889ced7863dedba95452272bca" width="96" height="96" class="alignleft size-full wp-image-13157" style="width:96px;"/><strong>휴고 기로델 Hugo Giraudel</strong><br />
트위터 <a href="https://twitter.com/HugoGiraudel" target="_blank">@HugoGiraudel</a><br />
GitHub <a href="https://github.com/HugoGiraudel" target="_blank">HugoGiraudel</a><br />
구글플러스: <a href="https://plus.google.com/101697878480386449961/posts" target="_blank">+Hugo Giraudel</a></p>
<p><a href="http://hugogiraudel.com/" target="_blank">휴고 기로델</a>은 프랑스에 거주하는 프론트엔드 개발자이며 재미 삼아 Sass를 하며 시간을 보내는 것을 즐깁니다. 그는 <a href="https://sassylists.com/" target="_blank">SassyLists</a>, <a href="https://github.com/HugoGiraudel/SassyJSON" target="_blank">SassyJSON</a>, <a href="https://github.com/HugoGiraudel/SassyMatrix" target="_blank">SassyMatrix</a>, <a href="https://github.com/HugoGiraudel/SassyCast" target="_blank">SassyCast</a>, <a href="https://github.com/HugoGiraudel/SassySort" target="_blank">SassySort</a>, <a href="http://browserhacks.com/" target="_blank">Browserhacks</a>를 만든 제작한 저작자입니다.</div></div><br />
</p>
<ul>
<li><a name="ref1">[1]</a> 적절한 낮춤(graceful degradation): 먼저 최신 기술기반 혹은 최신 기기에서 동작하는 기능을 만들고 나서 오래된 기술기반 혹은 오래된 기기에서도 유사하게 (성능을 낮춰서라도) 동작하도록 하는 것</li>
<li><a name="ref2">[2]</a> 프로젝트용 표준 문안(boilerplate): (사업상 서류・법률적 합의안 등의) 표준 문안</li>
<li><a name="ref3">[3]</a> 서브라임 텍스트 빠른 찾기(go to): 원하는 파일이나 코드를 빠르게 찾아주는 일종의 검색기능</li>
</ul>
<article id="postbanner-sass" class="bookbn bn_res_book inpost">
<div class="th">
			<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/banner-book-sass.png?0b529f" alt="" title="banner-book-sass" class="alignleft size-full wp-image-12865" />
		</div>
<div class="cont">
<p class="author">댄 시더홈 <span>Dan Cederholm</span> </p>
<p class="tit">웹디자이너를 위한<br />
<strong>SASS</strong></p>
<p class="stit">CSS 마스터, 댄 시더홈이 전수하는 SASS 노하우!<br />
<strong>SASS로 스마트한 CSS 고수가 되자!</strong></p>
</div>
<div class="btns"><span class="btn"><a  href="http://shop.uniqcase.com/shop/shopdetail.html?branduid=223300&#038;special=1&#038;GfDT=Zm13UQ%3D%3D" target="_blank">책 구매하기</a></span><span class="btn"><a href="http://books.webactually.com/wp-content/uploads/preview/Sass_preview.pdf" target="_blank">책 미리보기</a></span><span class="btn"><a title="책 상세설명" href="http://books.webactually.com/sass-for-web-designers/" target="_blank">책 상세설명</a></span></div>
</article>
]]></content:encoded>
			<wfw:commentRss>http://www.webactually.co.kr/archives/13106/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>윈도우에서 SASS 설치하기</title>
		<link>http://www.webactually.co.kr/archives/12121</link>
		<comments>http://www.webactually.co.kr/archives/12121#comments</comments>
		<pubDate>Sat, 09 Aug 2014 07:58:18 +0000</pubDate>
		<dc:creator>webactually</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ruby website]]></category>
		<category><![CDATA[rubyinstaller]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[Sass 설치]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[루비온레일스]]></category>
		<category><![CDATA[윈도우에서 SASS 설치]]></category>

		<guid isPermaLink="false">http://www.webactually.co.kr/?p=12121</guid>
		<description><![CDATA[Sass의 공식 웹사이트에서는 Sass를 윈도우에서 작업하려면 윈도우용 루비 인스톨러(Ruby Installer)를 먼저 설치할 것을 권장하고 있습니다.  설치가 어려울 것 같다고 지레 겁을 먹고 좌절하지 마세요! Sass 설치과정은 생각보다 훨씬 쉽고 빨리 끝납니다. ]]></description>
			<content:encoded><![CDATA[<p><div class="msgbx"><div>Sass의 공식 웹사이트에서는 Sass를 윈도우에서 작업하려면 윈도우용 루비 인스톨러(Ruby Installer)를 먼저 설치할 것을 권장하고 있습니다. Mac OS X와 달리 윈도우에는 루비(Ruby) 프로그램이 설치되어 있지 않기 때문이지요. 나머지 과정은 맥과 윈도우 모두 같습니다. 설치가 어려울 것 같다고 지레 겁을 먹고 좌절하지 마세요. Sass 설치과정은 생각보다 훨씬 쉽고 빨리 끝납니다.</p>
<p>《웹디자이너를 위한 SASS》의 감수자인 야무님께서 주신 의견을 수렴하여 작성된 글입니다. 소중한 의견을 주셔서 감사 드립니다.               </p>
<p>[편집자주]<br />
</div></div><br />
일반 애플리케이션(예: 포토샵, MS 워드 등)과 달리 윈도우에서 Sass를 단 한번에 설치할 수는 없습니다. Sass는 단독으로 설치 가능한 애플리케이션이 아닌, 루비온레일스(Ruby On Rails)라는 오픈 소스 웹 프레임워크에 속한 패키지 프로그램이기 때문입니다. 먼저 루비를 설치하고 그다음 Sass를 설치합니다. 설치과정이 복잡하다고 미리 포기하지 마세요! 이 모든 과정을 5분 안에 마칠 수 있습니다. 아래의 설명을 보면서 천천히 따라해보세요.<br />&nbsp;<br />
※ 웹 브라우저 유형이나 윈도즈 버전에 따라 설치방식이 달라질 수 있음을 알려드립니다. </p>
<h4>루비 인스톨러(Ruby Installer) 설치</h4>
<p>
루비인스톨러 설치 파일을 다운로드하기 위해 <a href="http://rubyinstaller.org/downloads/" target="_blank">해당 페이지</a>로 이동합니다. </p>
<h5>루비인스톨러 파일 다운로드 하기</h5>
<p>이동한 페이지에서는 루비인스톨러 실행 파일을 버전별로 나열해서 보여줍니다. 최신 버전을 설치할 것이므로 Ruby 2.0.0-p481를 클릭합니다. 클릭하자마자 파일이 자동으로 다운로드되기 시작합니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_1-3_600_0803.png?0b529f" alt="" title="click_1-3_600_0803" width="600" height="300" class="alignleft size-full wp-image-12621" /></p>
<h5>루비 인스톨러 설치하기</h5>
<p>다운로드가 끝나면 실행 파일을 클릭합니다. 설치가 시작되고 언어옵션을 선택하는 화면이 보입니다. 아쉽게도 한글을 지원하지 않습니다. 영어(English)를 선택하고 동의(OK)버튼을 누르세요.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_1-6_600_0803.png?0b529f" alt="" title="click_1-6_600_0803" width="600" height="193" class="alignleft size-full wp-image-12627" /><br />
다음 화면에 루비프로그램 설치 및 사용을 위한 라이선스 동의서가 보입니다. ‘I accept the License(라이센스를 수락합니다)’ 라디오 버튼을 클릭하세요. 수락하지 않으면 다음 단계로 넘어갈 수 없습니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_1-7_600_0803.png?0b529f" alt="" title="click_1-7_600_0803" width="600" height="439" class="alignleft size-full wp-image-12631" /><br />
다음에 나오는 화면이 정말 중요합니다. 이 화면에서 설치폴더를 눈으로 확인하고(기본으로 보여진 폴더를 변경하지 마세요) 바로 아래에 있는 체크박스 옵션 3개 중에서 가운데 옵션(Add Ruby executable to your PATH &#8211; 실행할 루비 파일경로를 환경변수에 추가)에 체크하세요. 체크한 후 실행(Install) 버튼을 누릅니다. 설치가 본격적으로 진행됩니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_1-8_600_0803.png?0b529f" alt="" title="click_1-8_600_0803" width="600" height="439" class="alignleft size-full wp-image-12633" /><br />
설치가 끝나면 설치를 완료했다는 화면이 보입니다. 마침(Finish) 버튼을 누르세요.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_1-10_600_0803.png?0b529f" alt="" title="click_1-10_600_0803" width="600" height="439" class="alignleft size-full wp-image-12635" /></p>
<h4><br/>SASS 설치</h4>
<p>루비를 설치했으므로 그 다음 단계인 Sass를 설치하겠습니다. Sass는 명령 프롬프트(Command prompt)에서 직접 명령어를 입력해서 설치합니다. 예전에 도스(DOS) 시절을 아시는 분은 명령 프롬프트가 친근하겠지만 처음 들어보시는 분은 낯설 것입니다. 겁부터 먹지 마세요. 화면에서 명령어 한 줄만 입력하면 됩니다.  </p>
<h5>명령 프롬프트 찾아서 실행하기</h5>
<p>명령 프롬프트는 어디에서 찾을까요? 2가지 방법이 있습니다. 우선 왼쪽 하단에 있는 ‘시작’ 버튼을 눌러 나오는 ‘모든 프로그램’ 메뉴를 보세요. 보조프로그램 폴더를 클릭해서 펼치면 그 안에 명령 프롬프트가 있습니다. 다른 방법은 ‘시작’ 버튼을 눌러 나오는 화면 하단에 ‘프로그램 및 파일 검색’이라는 검색 입력박스에 ‘cmd’를 입력하고 엔터키를 누르면 명령 프롬프트가 실행되면서 화면에 나옵니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_2-1_600.png?0b529f" alt="" title="click_2-1_600" width="600" height="500" class="alignleft size-full wp-image-12640" /><br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_2-2_600.png?0b529f" alt="" title="click_2-2_600" width="600" height="140" class="alignleft size-full wp-image-12641" /></p>
<h5>SASS 설치하기</h5>
<p>명령 프롬프트는 아래와 같이 검정 화면에 텍스트만 있습니다. 단순하죠. 여기서 명령어 한 줄 입력해서 Sass를 설치할 것입니다. 지금 어느 디렉터리에 있든 상관없이 gem install sass를 입력하고 엔터키를 누르세요.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_2-3_600.png?0b529f" alt="" title="click_2-3_600" width="600" height="144" class="alignleft size-full wp-image-12646" /><br />
Gem은 루비의 패키지 설치 및 관리 프로그램으로 위의 명령행을 실행하면 Sass 패키지(버전 3.3.8)를 자동으로 다운로드 받아 설치합니다. 설치된 결과는 아래와 같이 보입니다.<br />
<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/click_2-4_600.png?0b529f" alt="" title="click_2-4_600" width="600" height="204" class="alignleft size-full wp-image-12647" /></p>
<p>축하합니다! 여러분은 지금 윈도우에서 Sass 설치하는 작업을 완료했습니다.</p>
<article id="postbanner-sass" class="bookbn bn_res_book inpost">
<div class="th">
			<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/banner-book-sass.png?0b529f" alt="" title="banner-book-sass" class="alignleft size-full wp-image-12865" />
		</div>
<div class="cont">
<p class="author">댄 시더홈 <span>Dan Cederholm</span> </p>
<p class="tit">웹디자이너를 위한<br />
<strong>SASS</strong></p>
<p class="stit">CSS 마스터, 댄 시더홈이 전수하는 SASS 노하우!<br />
<strong>SASS로 스마트한 CSS 고수가 되자!</strong></p>
</div>
<div class="btns"><span class="btn"><a  href="http://shop.uniqcase.com/shop/shopdetail.html?branduid=223300&#038;special=1&#038;GfDT=Zm13UQ%3D%3D" target="_blank">책 구매하기</a></span><span class="btn"><a href="http://books.webactually.com/wp-content/uploads/preview/Sass_preview.pdf" target="_blank">책 미리보기</a></span><span class="btn"><a title="책 상세설명" href="http://books.webactually.com/sass-for-web-designers/" target="_blank">책 상세설명</a></span></div>
</article>
]]></content:encoded>
			<wfw:commentRss>http://www.webactually.co.kr/archives/12121/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>《웹디자이너를 위한 SASS》를 출간하며…</title>
		<link>http://www.webactually.co.kr/archives/12809</link>
		<comments>http://www.webactually.co.kr/archives/12809#comments</comments>
		<pubDate>Fri, 08 Aug 2014 01:09:59 +0000</pubDate>
		<dc:creator>webactually</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS 전처리기]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[웹디자이너를 위한 SASS]]></category>

		<guid isPermaLink="false">http://www.webactually.co.kr/?p=12809</guid>
		<description><![CDATA[웹액츄얼리 아름다운 웹사이트 만들기 시리즈 제10탄 《웹디자이너를 위한 SASS》가 출간되었습니다. 여러분의 CSS 작업이 점점 복잡해지고 관리하기 힘들지 않으신가요? 이제는 코딩지수를 높일 때입니다. CSS 코드를 보다 쉽고 편리하게 작성/관리하게 해주는 SASS를 만나보세요!  ]]></description>
			<content:encoded><![CDATA[<p>독자 여러분, 안녕하세요? 아름다운 웹사이트 만들기 시리즈 열 번째 책, 《웹디자이너를 위한 SASS》를 소개합니다. 이 책을 선택하신 여러분은 CSS의 미래에 대해 관심을 가지고 있으며 시대에 앞선 기술을 터득하고자 노력하는 전문가이거나 앞으로 전문가가 될 분입니다. Sass가 바로 그런 기술이기 때문입니다.</p>
<p>1996년 첫 CSS1이 공식적으로 권고되었고 CSS3까지 발전했으며 이 순간에도 CSS3의 새 규칙이 소개되고 있습니다. 웹 개발에서 CSS 업무의 비중이 커지고 있습니다. 브라우저 호환성을 맞추고 반응형 디자인을 적용하는 작업 등 CSS의 몫이 큽니다. 이에 따라 스타일시트 문서는 길어지고 용량도 커집니다.</p>
<p>이렇게 된 주요 원인 중 하나는 코드의 반복입니다. 전 세계 웹 디자이너들에게 인기 있는 CSS-Tricks의 블로그 운영자인 크리스 코이어<sup>Chris Coyier</sup>는 “CSS에는 추상화 개념이 없고 코드의 반복만 있습니다. 이런 이유로 CSS가 널리 채택되고 사용되었지만 이제는 관리하기가 어려워졌습니다”라고 말합니다.</p>
<p>코드의 반복으로 인해 CSS 작업자는 파일에 산재해 있는 코드를 찾고 수정하는 데 많은 시간을 보냅니다. 코드를 관리하는 것은 어려워지고 그 효율성도 시간이 갈수록 떨어집니다. CSS를 작성하고 관리하는 분이라면 누구나 공감할 것입니다.</p>
<p>과연 이 문제를 해결하기 위한 좋은 방안은 없을까요? 물론 있지요! CSS의 전처리기가 바로 그것입니다. 전처리기는 위에 언급된 문제에 대해 해결안을 제시합니다. CSS 작업자에게 전처리기는 선택사항입니다. 그럼에도 전 세계 웹 관련 종사자들의 전처리기에 대한 관심은 높습니다. 그들은 여러 전처리기를 비교·분석하고 본인에게 맞는 전처리기를 찾는 데 열심입니다. 마치 이런 변화의 흐름과 거리가 먼 듯 국내에는 아직 그 불꽃이 일어나지 않은 상태입니다.</p>
<p>이 책의 저자인 댄 시더홈은 유명한 웹 디자이너이자 프론트엔드 개발자입니다. 글로벌 웹 디자인계에서 실력 있는 최고 전문가들이 참여해서 저술하는 A Book Apart의 두 번째 책인 《웹디자이너를 위한 CSS3》의 저자입니다. CSS를 10년 이상 직접 손으로 코드를 작성해온 댄은 본인만의 노하우가 담긴 CSS 작업 방식을 고집스럽게 지켜왔습니다. 그렇기에 그는 CSS 전처리기인 Sass에 대해 처음부터 호의적이지 않았다고 고백합니다. Sass를 사용하면서 그의 불신은 강한 믿음으로 완전히 바뀌었고, 이제는 열성적인 Sass 전도사가 되었습니다.</p>
<p>독자 여러분을 위해 댄은 Sass를 처음 접하는 독자의 눈높이에서 복잡하고 어려운 Sass의 용어와 문법을 쉽게 풀어서 설명해줍니다. 그가 제시하는 가상 웹사이트 프로젝트와 예제 코드는 글로 설명할 수 없는 내용을 여러분의 머릿 속에서 쉽게 구체화해줄 것입니다. 댄과 함께 재미있는 Sass 여행을 떠나보세요.</p>
<p>독자 여러분의 많은 관심과 격려 바랍니다.</p>
<p>웹액츄얼리 북스팀</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webactually.co.kr/archives/12809/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sass의 @extend로 Bootstrap을 시맨틱하게 확장</title>
		<link>http://www.webactually.co.kr/archives/12127</link>
		<comments>http://www.webactually.co.kr/archives/12127#comments</comments>
		<pubDate>Wed, 25 Jun 2014 08:13:41 +0000</pubDate>
		<dc:creator>webactually</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[@extend]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[부트스트랩]]></category>
		<category><![CDATA[부트스트랩에서 Sass 사용]]></category>
		<category><![CDATA[시맨틱]]></category>
		<category><![CDATA[의미론적]]></category>
		<category><![CDATA[확장하기]]></category>

		<guid isPermaLink="false">http://www.webactually.co.kr/?p=12127</guid>
		<description><![CDATA[오픈 소스 프론트엔드 툴킷인 부트스트랩(Bootstrap)이 버전 3.1.1로 업그레이드 되었다. 최신 버전에는 이미 지원중인 LESS와 함께 Sass가 새롭게 지원된다. 이 글에서 저자인 브래드 바로우는 HTML의 구조를 시맨틱하게 변경하고 Sass의 @extend 기능을 사용해... ]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.webactually.co.kr/wp-content/uploads/2014/06/sass_less_post.png?0b529f" alt="" title="sass_less_post" width="600" height="280" class="alignnone size-full wp-image-12195" /><br />
<div class="msgbx"><div>트위터 UI 디자이너 마크 오토<sup>Mark Otto</sup>와 개발자 제이콥 쏜톤<sup>Jacob Thornton</sup>이 제작한 오픈 소스 프론트엔드 툴킷인 부트스트랩<sup>Bootstrap</sup>이 버전 3.1.1로 업그레이드 되었습니다. 최신 버전에는 이미 지원중인 LESS와 함께 Sass가 새롭게 지원됩니다. 이제 Sass를 사용하는 프론트엔드 개발자도 부트스트랩을 사용해 편하게 개발할 수 있습니다.  </p>
<p>이 글에서 저자인 브래드 버로우<sup>Brad Barrow</sup>는 HTML의 구조를 시맨틱하게 변경하고 Sass의 @extend 기능을 사용해 스타일을 적용하는 방법을 알려줍니다. 물론 이 방법은 부트스트랩에 한정되지 않고 그와 유사한 프레임워크에도 응용할 수 있습니다.</p>
<p>[편집자주]<br />
</div></div></p>
<p>부트스트랩<sup>Bootstrap</sup>은 작업자가 초보자이든 전문가이든 상관없이 최근 사이트나 앱의 구조<sup>scaffold</sup>를 빠르고 쉽게 생성할 수 있는 소스 코드를 제공합니다. 점점 더 많은 개발자들이 개인 툴박스에 이 프레임워크를 넣고 있습니다.</p>
<p>부트스트랩에는 어두운 이면도 있습니다. 정리되지 않고 시맨틱하지 않으며 재사용 할 수 없는 마크업을 쉽사리 작성할 수 있습니다. 이렇게 작성해도 모든 브라우저에서 제대로 보여지긴 하지요.     </p>
<p>저는 이 글에서 부트스트랩을 사용해 견고하고 시맨틱한 코드를 작성하는 방법에 대해 설명할 것입니다. 부트스트랩의 최신 버전에는 <a href="https://github.com/twbs/bootstrap-sass" target="_blank">Sass를 공식적으로 탑재</a>하고 있습니다. 이 글의 목적을 달성하고자 Sass의 가장 강력한 기능 중에 하나인 <a href="http://sass-lang.com/documentation/file.SASS_REFERENCE.html#extend" target="_blank">@extend 지시자</a>를 사용할 것입니다.</p>
<h4>시맨틱에 관하여 </h4>
<p>우선 무언가를 ‘시맨틱’하게 만든다는 말이 무슨 뜻인지 알아봅시다. HTML 문서는 정보의 계층구조적 관점에서 콘텐츠를 묘사합니다. 누구나 코드를 읽고 무엇을 말하고 있는지 알 수 있어야 합니다. 어떻게 보이는가는 해당하지 않습니다.     </p>
<p>CSS 특히 CSS 프레임워크의 인기가 높아지면서 독자/개발자의 입장보다 CSS 문서 자체에 신경을 쓰며 HTML을 작성합니다. 요즘 웹사이트 소스 코드에서 이와 같이 작성된 HTML 마크업을 보는 것은 흔한 일이죠.</p>
<div class='codepen'  data-height='430' data-theme-id='6465' data-slug-hash='wqxfJ' data-default-tab='html' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/wqxfJ/'>wqxfJ</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script>
<p>부트스트랩의 CSS 파일은 위의 코드가 무엇을 할지 압니다. 열이 모두 2개 있고, 한 열에 행이 3개 있으며, 나머지 열에 100% 너비가 적용된 행 1개가 있다는 것을 말이지요. 부트스트랩을 다뤄본 개발자라면 이것을 쉽게 파악합니다. 하지만 이 프레임워크를 사용해 본 경험이 없는 사람이 보았다면 어떨까요? 위의 HTML 코드들은 왜 있는 걸까요? 어떤 정보가 담겨 있죠? 이 마크업은 쓸만한 정보를 보여주지 않습니다.      </p>
<p>시맨틱 마크업은 보이는 외관보다 콘텐츠를 설명하는 코드입니다. 위의 코드를 다음과 같이 의미가 담긴 코드로 작성할 수 있습니다.<br />
<div class='codepen'  data-height='389' data-theme-id='6465' data-slug-hash='cxqDt' data-default-tab='html' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/cxqDt/'>cxqDt</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script><br />
전체 코드가 바뀐 것은 아니지만 위의 코드는 각 엘리먼트가 왜 있는지 다른 엘리먼트와 어떤 관계가 있는지 즉시 알려줍니다. 여기서 잃은 것이 있다면 시각적으로 어떻게 보일지 알 수 없다는 것이지요. 어쨌든 그것은 HTML의 목적은 아닙니다.</p>
<h4>부트스트랩이 시맨틱한 스타일을 어떻게 반영할까?</h4>
<p>여러분은 내장된 클래스없이 어떻게 부트스트랩을 사용할지 궁금해할 것입니다. Sass @extend 기능의 힘을 사용해서 이것을 해결할 수 있습니다. </p>
<p>Sass 문서:   </p>
<blockquote><p>@extend는 <strong>확장된<sup>extended</sup> 선택자가 있는 스타일시트 안에 어디에서나 확장하는<sup>extending</sup> 선택자를 넣어서 작동합니다.</strong></p></blockquote>
<p>&nbsp;<br />
이는 시맨틱한 선택자를 사용하면서 부트스트랩의 선택자를 확장할 수 있는 장점을 취한다는 의미입니다. 어떻게 적용하는지 봅시다.<br />
<div class='codepen'  data-height='516' data-theme-id='6465' data-slug-hash='cFGqb' data-default-tab='html' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/cFGqb/'>cFGqb</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script><br />
@extend의 마술로 부트스트랩의 선택자와 우리가 만든 선택자가 컴파일 된 스타일시트에 서로 껴 맞춰 집니다. 컴파일 된 코드를 검사해보면 알 수 있듯이 확장된 클래스와 정확하게 동일한 속성이 선택자에도 있습니다. 예를 들면, 컴파일 된 CSS 코드 중에 이것이 보입니다. </p>
<p><div class='codepen'  data-height='189' data-theme-id='6465' data-slug-hash='rnmey' data-default-tab='html' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/rnmey/'>rnmey</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script><br />
<a href="http://sassmeister.com/gist/9422986" target="_blank">여기서</a> 컴파일 된 CSS 코드와 Sass를 나란히 함께 볼 수 있습니다. 깔끔하지 않나요?</p>
<h4>재사용성<sup>Reusability</sup></h4>
<p>이 방법의 또 다른 장점은 가독성과 재사용성 모두를 가진 구성요소<sup>components</sup>를 만든다는 것입니다. 예를 들어 행과 열 밖에서 필요할 때마다 author 구성요소를 반복해서 만들지 않아도 됩니다. 대신 구축하기 쉽도록 구성요소 각 부분의 이름을 알기 쉽게 지어주세요. 전체 사이트에서 일관적으로 보이는지 부트스트랩을 통해 확인할 수 있습니다.</p>
<h4>이식성<sup>Portability</sup></h4>
<p>부트스트랩이 최고의 프레임워크들 중에 하나일지라도 나중에 다른 프레임워크로 이전하거나 아예 자체 프레임워크를 제작할 때가 올지 모릅니다. 위에 대략 서술한 방식으로 이와 같은 작업을 할 수 있습니다. 왜냐하면 CSS에서 여러분의 마크업을 군더더기 없이 깔끔하게 분리할 수 있기 때문입니다. </p>
<h4>툴벨트<sup>toolbelt</sup>를 매세요.</h4>
<p>부트스트랩의 Sass 버전을 아직 사용해보지 않았다면 반드시 사용해 보세요. <a href="https://github.com/twbs/bootstrap-sass" target="_blank">Github 페이지</a>에서 시작하는 것이 좋습니다.  </p>
<p>Sass가 유일하게 놀 거리는 아닙니다. HTML과 CSS에서 다음 단계의 시맨틱을 진정으로 알고 싶다면 <a href="http://bem.info/method/" target="_blank">BEM</a>이나 <a href="http://smacss.com/" target="_blank">SMACSS</a> 같은 명명법<sup>naming convention</sup>을 권해드립니다. 여러분은 이것으로 선택자를 표준화하고 기억하기 쉽게 만들 수 있습니다.   </p>
<h4>이제 나가서 확장하세요</h4>
<p>부트스트랩에 놀랍도록 강력한 스타일 세트가 있습니다. 그렇다 하더라도 코드를 대충 꿰 맞추어서 마크업의 품질을 상실할 수도 있습니다. Sass의 @extend 지시자를 사용하면 콘텐츠와 개발자 모두를 위해 의미를 명확히 전달할 수 있는 마크업을 작성할 수 있습니다.<br />
<div class="msgbx"><div><img src="http://www.webactually.co.kr/wp-content/uploads/2014/06/brad-barrow-pic.png?0b529f" alt="브래드 바로우" title="brad-barrow-pic" style="width:96px;" class="alignleft wp-image-12169" /><strong>브래드 바로우 Brad Barrow</strong></p>
<p>트위터 <a href="https://twitter.com/foxwisp" target="_blank">@foxwisp</a><br/><br />
브래드 바로우는 호주 멜버른에 거주하는 프론트엔드 개발자이고 디자이너이며 SitePoint팀과 함께 작업하고 있다. 아침 식사로 자바스크립트/CSS를 먹으며 계속 변화하는 프론트엔드 세계의 정상에 서있고자 노력한다.<br />
</div></div><br />
<div class="Infobx"><div>이 글은 SitePoint의 블로그 글을 번역한 것으로, 웹액츄얼리 북스팀이 <a href="http://www.sitepoint.com/about-us/" target="_blank">SitePoint</a>로부터 허가를 받고 올린 자료입니다. 원본은 <a href="http://www.sitepoint.com/sass-semantically-extend-bootstrap/" target="_blank">http://www.sitepoint.com/sass-semantically-extend-bootstrap/</a>에서 확인할 수 있습니다.<br />
※ 내용중에 오번역, 오탈자를 발견하신 경우에는 알려주세요.</p>
<p>※ 웹액츄얼리 북스팀에서 웹 디자인 관련 영문 번역이나 윤문을 해주실 분을 찾고 있습니다. 관심 있으신 분은 메일 보내주세요.<br />
books@webactually.com</p>
<p>[편집자주]<br />
</div></div></p>
<article id="postbanner-sass" class="bookbn bn_res_book inpost">
<div class="th">
			<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/banner-book-sass.png?0b529f" alt="" title="banner-book-sass" class="alignleft size-full wp-image-12865" />
		</div>
<div class="cont">
<p class="author">댄 시더홈 <span>Dan Cederholm</span> </p>
<p class="tit">웹디자이너를 위한<br />
<strong>SASS</strong></p>
<p class="stit">CSS 마스터, 댄 시더홈이 전수하는 SASS 노하우!<br />
<strong>SASS로 스마트한 CSS 고수가 되자!</strong></p>
</div>
<div class="btns"><span class="btn"><a  href="http://shop.uniqcase.com/shop/shopdetail.html?branduid=223300&#038;special=1&#038;GfDT=Zm13UQ%3D%3D" target="_blank">책 구매하기</a></span><span class="btn"><a href="http://books.webactually.com/wp-content/uploads/preview/Sass_preview.pdf" target="_blank">책 미리보기</a></span><span class="btn"><a title="책 상세설명" href="http://books.webactually.com/sass-for-web-designers/" target="_blank">책 상세설명</a></span></div>
</article>
]]></content:encoded>
			<wfw:commentRss>http://www.webactually.co.kr/archives/12127/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sass 배낭 꾸리기</title>
		<link>http://www.webactually.co.kr/archives/11931</link>
		<comments>http://www.webactually.co.kr/archives/11931#comments</comments>
		<pubDate>Tue, 03 Jun 2014 11:16:09 +0000</pubDate>
		<dc:creator>webactually</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS 전처리기]]></category>
		<category><![CDATA[CSS 코드 관리]]></category>
		<category><![CDATA[Marshal Norman]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[Sass 구조화]]></category>
		<category><![CDATA[Sass 배낭꾸리기]]></category>
		<category><![CDATA[SMACSS 방식]]></category>
		<category><![CDATA[마셜 노만]]></category>
		<category><![CDATA[스파크박스]]></category>

		<guid isPermaLink="false">http://www.webactually.co.kr/?p=11931</guid>
		<description><![CDATA[이 글에서 마셜은 처음 Sass를 알게 되었을 때 거부 반응을 보였죠. “왜 이것을 써야 하지? CSS로 충분한데?” 그는 Sass를 사용하게 된 동기와 그것을 구조화하는 방식을 배낭여행을 가기 위해 짐을 싸는 방법에 비유해 재미있고 쉽게 설명해 줍니다.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.webactually.co.kr/wp-content/uploads/2014/06/sass-package-marshall-norman-01.jpg?0b529f" alt="SASS 배낭꾸리기" width="600" height="400" /><br />
<div class="msgbx"><div>“열심히 CSS를 배워 이제 좀 익숙해지고 편해지려 하는데 또 다른 언어라니! 도대체 SASS가 뭔데?”라고 SASS를 의심하는 분이 계실 겁니다. 현재 작업과정을 떠올려 보세요. CSS 코드에서 속성값 하나 바꾸는 데 많은 시간을 보내지 않나요? 이렇게 답답함을 느끼면서도 계속 Ctrl+C 키와 Ctrl+V 키를 누르고 있지 않나요? 이제 현명하게 코드를 관리해야 할 때입니다.</p>
<p>이 글의 저자이자 웹 개발자인 마셜 노만도 여러분과 같은 경험을 했습니다. 처음 SASS를 알게 되었을 때 그는 거부 반응을 보였죠. “왜 이것을 써야 하지? CSS로 충분한데?”라고 생각했죠. 그런데 지금 그는 SASS를 사용하고 있습니다. 이 글에서 마셜은 SASS를 사용하게 된 동기와 그것을 구조화하는 방식을 배낭여행을 가기 위해 짐을 싸는 방법에 비유해 재미있고 쉽게 설명해 줍니다. 여러분도 SASS와 함께 떠날 준비를 해볼까요?</p>
<p>[편집자주]<br />
</div></div><br />
경험이 풍부한 배낭여행 전문가는 배낭을 꾸리는 방법이 평소에 신는 신발만큼이나 중요하다고 말합니다(아예 신지 않으면 모르지만, 만일 그런 사람들 중 하나라면요). 저는 예전에 스타일 코드를 작성하며 Sass의 구조를 잡는 것이 마치 배낭을 꾸리는 것과 비슷하다는 것을 알았습니다.</p>
<p>장거리 도보 여행을 가려고 짐을 쌀 때 모든 것을 가방에 차곡차곡 챙깁니다. 무게가 많이 나가고 자주 꺼내지 않는 물건을 먼저 넣습니다. 침낭, 취침용 패드, 해먹(hammock) 같은 것이죠. 위로 올라오면서 꺼내기 쉽고 가방 안에서 옮기기 편한 물건을 넣습니다. 옷가지, 취사 도구, 과자, 응급처치 도구, 콤파스, 지도 같은 것 말이죠.</p>
<h4>인터넷에서 이야기해 보죠</h4>
<p><a href="http://www.vanillacss.com/">바닐라(Vanilla) CSS</a> <sup>[1]</sup>에 의존했던 때가 있었어요. 작은 코드 하나라도 직접 작성해야 했습니다. 첫 작업은 늘 자랑하고 싶고 끝내주게 멋진 작품이 될 수 있었습니다. 하지만 불가피하게 개선사항이 나오자 여기 저기에서 코드를 수정하고 클래스나 섹션을 추가해야 했습니다. 그러면서 코드는 엉기기 시작했죠.</p>
<p>위에서 아래로 써 내려가는 융통성 없는 CSS의 특성 때문에 코드를 잘 정리된 상태로 유지하기가 힘들었습니다. 그때부터 저는 이상한 작업을 하기 시작했죠. 자주 반복하는 CSS 규칙 섹션을 임시 문서에 담고 문서를 열어 놓은 채 필요할 때마다 복사하기와 붙여넣기를 해서 코드를 원본 파일에 넣었습니다. 앞서 말했던 것처럼 악몽 같은 유지보수 작업이었습니다.</p>
<h4>Sass와 함께</h4>
<p>거의 1년 6개월 전만 해도 저는 “전처리기(preprocessors)”에 대해 몰랐습니다. 그 후에 Sass에 대해 듣게 되었는데 그때만 해도 “왜 이것을 써야 하지? CSS로 충분한데?”라고 생각했습니다. 그런데 결국 Sass를 사용했습니다. 대세가 바뀌었죠.</p>
<p>Sass는 Syntactically Awesome Style Sheets의 약자로, 우리에게 많은 툴을 줍니다. 클래스 이름을 장황하게 쓰지 않고 스타일을 중첩(nest)할 수 있습니다. 믹스인과 extends 같은 기능을 사용해 코드를 체계적이고 신속하게 만듭니다.</p>
<p>Sass는 모듈식으로 되어 있는데 이것이 짐을 쌀 때 배낭의 웨빙(webbing)<sup>[2]</sup>과 어떻게 유사한지 자세히 설명할 수 있습니다. 하지만 여기서는 여러분이 이 툴에 대한 기본 지식을 가지고 있다고 가정합니다.</p>
<h4>수준 높은 구조화</h4>
<p><a href="http://seesparkbox.com/" target="_blank">스파크박스(Sparkbox)</a>의 개발자들은 <a href="http://smacss.com/" target="_blank">SMACSS</a>식의 사고를 가지고 웹사이트 각 부분에 해당하는 개별 .scss 파일을 만듭니다.</p>
<p><strong>예:</strong> <code style="white-space: pre-wrap; color: #3a7478;">_fonts.scss, _colors.scss, _header.scss, _footer.scss, _blog-listing.scss, _hero.scss</code></p>
<p>스타일을 이처럼 관리하기 쉬운 작은 덩어리로 나눌 수 있습니다. 보통 나눠진 파일에 150줄 정도의 코드가 있습니다. 파일에서 특히 글꼴과 색상 같이 스타일 전체에 영향을 주는 코드는 배낭에 넣는 텐트와 침낭에 비유할 수 있습니다.</p>
<p>전체에 영향을 주는 코드를 먼저 설정하세요. 작성하는 모든 코드의 기준이 되고 그것으로부터 코드가 계속 확장될 것입니다. 일단 배낭 안에 넣어두면 여러 번 꺼낼 필요가 없거든요.</p>
<blockquote><p>만일 스타일시트에 작성된 코드가 200줄이 넘게 되면 그 파일을 나누어야 할지, 일부 코드를 리팩토링(refactoring)<sup>[3]</sup> 할지 고려해야 합니다.</p></blockquote>
<h4 style="padding-top: 30px;">양이 적은 코드</h4>
<p>Sass를 작성할 때 각 엘리먼트에 규칙을 더해가듯 구조를 만듭니다. 양이 적은 코드는 이동이나 접근이 쉽고 나중에 수정하기도 편합니다. 마치 배낭 위에 물건을 올려놓는 것처럼요. 예를 들면 작은 믹스인 코드가 있습니다. 클래스 이름이 .warm이고 모든 엘리먼트의 배경색을 덮어씁니다. 플리스(fleece)<sup>[4]</sup> 담요처럼 말이죠.</p>
<p>스타일이 적용될 엘리먼트<br />
<div class='codepen'  data-height='99' data-theme-id='6465' data-slug-hash='uipLn' data-default-tab='css' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/uipLn/'>uipLn</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script></p>
<p>믹스인을 먼저 넣습니다.<br />
<div class='codepen'  data-height='136' data-theme-id='6465' data-slug-hash='gzKCd' data-default-tab='css' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/gzKCd/'>gzKCd</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script></p>
<p>만일 작업하는 데 필요한 믹스인이 없다면 글꼴, 레이아웃, 글꼴 색상에 관한 스타일을 각각 작성합니다.<br />
<div class='codepen'  data-height='168' data-theme-id='6465' data-slug-hash='fctAg' data-default-tab='css' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/fctAg/'>fctAg</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script></p>
<p>만약 미디어 쿼리를 고려해야 할 상황이라면 다음에 추가합니다. 스파크박스의 글인 <a href="http://seesparkbox.com/foundry/structuring_and_serving_styles_for_older_browsers" target="_blank">‘Sass mixin으로 미디어 쿼리 활용하기’</a>를 읽어보시기 바랍니다. 이것은 믹스인의 위치를 정하는 규칙에서 벗어난 예외사항이긴 합니다.<br />
<div class='codepen'  data-height='125' data-theme-id='6465' data-slug-hash='yDIFn' data-default-tab='css' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/yDIFn/'>yDIFn</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script></p>
<p>자, 중첩 스타일을 작성할 준비가 되었습니다. 구조 안에 동일한 규칙을 보여주는 코드를 다음에 넣으세요. CSS를 중첩할 때 2~3단계 이상 깊게 들어가지 않도록 합니다. 더 많은 단계로 들어가며 코드를 작성하게 되면 그때 차라리 스타일을 나누세요. 그게 안전합니다.<br />
<div class='codepen'  data-height='172' data-theme-id='6465' data-slug-hash='vBKxq' data-default-tab='css' data-animations='stop-after-5'>
See the Pen <a href='http://codepen.io/chon3/pen/vBKxq/'>vBKxq</a> by jin ah chon (<a href='http://codepen.io/chon3'>@chon3</a>) on <a href='http://codepen.io'>CodePen</a>.</div>
<script async src="//codepen.io/assets/embed/ei.js?0b529f"></script></p>
<h4>여행을 떠나세요</h4>
<p>이와 같은 방법으로 코드를 빨리 훑어보고 편하게 이동하며 유지보수가 쉬운 Sass 파일을 만들 수 있습니다. 물론 모든 사람이 사용해야 하는 규칙은 아닙니다. 단지 제 작업 방식일 뿐이죠. 그래도 형식을 구조화하는 것이 그렇지 않은 것보다 낫다고 믿습니다.</p>
<article class="list3"><br />
<strong>주석</strong></p>
<ol>
<li>바닐라 CSS: html 엘리먼트만 넣어 놓은 스타일시트.</li>
<li>믹스인: CSS 스타일 블록을 정의하고 재사용할 수 있도록 하는 Sass의 기능.</li>
<li>웨빙: 다양한 물건을 담아두거나 붙들어 둘 수 있고 쉽게 떼어낼 수 있도록 가방에 부착된 끈.</li>
<li>리펙토링: 중복된 코드를 제거해 보다 보기 쉬운 코드로 변경하는 것.</li>
<li>플리스: 다른 옷 위에 덮어 쓸 수 있는 매우 따뜻한 직물.</li>
</ol>
<p></article>
<div class="msgbx"><div><img class="size-full wp-image-11983 alignleft" style="width: 100px;" title="sass-package-marshall-norman-032" src="http://www.webactually.co.kr/wp-content/uploads/2014/06/sass-package-marshall-norman-032.jpg?0b529f" alt="마셜 노만" width="100" height="100" /><strong>마셜 노만 Marshall Norman</strong></p>
<p>트위터 <a href="https://twitter.com/marshall_norman" target="_blank">@marshall_norman</a><br />
드리블 <a href="https://dribbble.com/marshall-norman" target="_blank">https://dribbble.com/marshall-norman</a></p>
<p>마셜 노만은 오하이오주 데이톤에 위치한 스파크박스의 웹 개발자이다. 본인이 운영하는 싱글 세일(<a href="http://www.singlesail.net/" target="_blank">Single Sail</a>)에서 웹사이트를 구축하고 디자인 프로젝트를 진행하고 있다.<br />
</div></div>
<div class="Infobx"><div>이 글은 <a href="http://seesparkbox.com/" target="_blank">Sparkbox</a>의 블로그 글을 번역한 것으로, 웹액츄얼리 북스팀이 Sparkbox로부터 허가를 받고 올린 자료입니다. 원본은 <a href="http://seesparkbox.com/foundry/sass_packing" target="_blank">http://seesparkbox.com/foundry/sass_packing</a>에서 확인할 수 있습니다.<br />
<strong>※ 내용중에 오번역, 오탈자를 발견하신 경우에는 알려주세요.</strong></p>
<p>※ 웹액츄얼리 북스팀에서 웹 디자인 관련 영문 번역이나 윤문을 해주실 분을 찾고 있습니다. 관심 있으신 분은 메일 보내주세요. <a href="mailto:books@webactually.com">books@webactually.com</a></p>
<p>[편집자주]<br />
</div></div>
<article id="postbanner-sass" class="bookbn bn_res_book inpost">
<div class="th">
			<img src="http://www.webactually.co.kr/wp-content/uploads/2014/08/banner-book-sass.png?0b529f" alt="" title="banner-book-sass" class="alignleft size-full wp-image-12865" />
		</div>
<div class="cont">
<p class="author">댄 시더홈 <span>Dan Cederholm</span> </p>
<p class="tit">웹디자이너를 위한<br />
<strong>SASS</strong></p>
<p class="stit">CSS 마스터, 댄 시더홈이 전수하는 SASS 노하우!<br />
<strong>SASS로 스마트한 CSS 고수가 되자!</strong></p>
</div>
<div class="btns"><span class="btn"><a  href="http://shop.uniqcase.com/shop/shopdetail.html?branduid=223300&#038;special=1&#038;GfDT=Zm13UQ%3D%3D" target="_blank">책 구매하기</a></span><span class="btn"><a href="http://books.webactually.com/wp-content/uploads/preview/Sass_preview.pdf" target="_blank">책 미리보기</a></span><span class="btn"><a title="책 상세설명" href="http://books.webactually.com/sass-for-web-designers/" target="_blank">책 상세설명</a></span></div>
</article>
]]></content:encoded>
			<wfw:commentRss>http://www.webactually.co.kr/archives/11931/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 1/17 queries in 0.004 seconds using disk: basic
Object Caching 457/523 objects using disk: basic

 Served from: www.webactually.co.kr @ 2026-04-15 07:08:32 by W3 Total Cache -->