반응형
브라우저 정렬시 가로정렬은 문제가 없는데 세로정렬이 문제가 됩니다.
정확하게 세로가운데 정렬을 지원하는 기능이 없기 때문인데요...
지금 알려드리는 소스는 IE6에서도 잘 작동하는 소스입니다.
삽질하며 알아낸 소스라서 다른 더 좋은 방법이 있는지는 모르겠지만 여튼 공유해봅니다.

일단 소스를 보시죠...





SWF Tag

삽입될 swf는 크기가 960 x 720으로 상정했는데요. 
크기가 고정된 swf가 있어야합니다. 그 크기를 기준으로 가운데 정렬시킬 위치를 알아내기 때문입니다.
그리고 swf 태그를 감싸는 <div> 태그가 있고 그걸 또 감싸는 <div> 태그가 있고,
swf 태그 위에 <img> 태그가 있는데요...
IE6 에서는 top 속성을 %로 지정하면 적용되지 않는 버그가 있습니다. 
그래서 img를 하나 두고 img 높이를 50%로 하면 그만큼 swf를 내리기 때문에 가운데 정렬되는 효과가 있습니다.

자~ 이렇게 하면 가운데 정렬되는 <div>를 얻을 수 있습니다. 그 안에 플래시를 삽입하던 다른 어떤걸 삽입하던 하면 되겠죠?

반응형
반응형

책, 세상을 훔치다 - 6점
반칠환 지음, 홍승진 사진/평단문화사

이 책의 부제는 "우리시대 프로메테우스 18인의 행복한 책 이야기"입니다.
부제에서 알 수 있듯이 18명의 사회저명 인사에게서 듣는 책 이야기인데요...
저는 김난주라는 이름을 보고 이 책을 보게 되었습니다. ^^;
제가 김난주 선생님이 번역한 에쿠나 가오리의 책을 좋아하거든요~

사실 큰 기대를 하고 본 책은 아니지만 여러 사람들의 자신만의 책 이야기를 들을 수 있어서 좋았습니다.
책이 두껍지도 않고 내용이 어렵지도 않기 때문에 수월하게 금방 읽히는 점도 좋았고요~
아래는 인상깊었던 문구만 적어봅니다.

* "독서 자체가 제 삶의 기본이 되었어요." - 장영희
* "남이 그어놓은 밑줄 하나가 사람의 운명을 바꿀 수 있습니다." - 고도원
* "여러 가지 일에서 주와 부의 경계를 없애면 훨씬 알찬 생활을 할 수 있습니다." - 김창완
* "자기 능력을 돈 버는 데만 쓰는 것은 너무 아까워요. 
     나 자신뿐만 아니라 수많은 다른 사람들의 행복을 위해 사는 게 훨씬 행복의 농도가 짙어요." - 한비야
* "제 책은 라면 냄비 받침으로 사용해 주세요." - 홍승우
* "책은 내가 경험하지 못한 세계로 나를 이끌어주고, 내면세계와 상상력을 확장시켜 줍니다." - 김난주
* "마음이 바쁜 법이지 시간과는 상관없는 일." - 백지연
* "촌놈으로 태어나 돈암시장에서 7년간 일한 경험이 내 문학의 뿌리입니다." - 유용주

사실 인상깊은 문가가 책과는 별 상관없는 내용도 있습니다.
왜냐하면 이 책은 책을 통해 그 사람의 삶과 생각을 전달하는 책이기 때문입니다.

이 책을 본 후 전 조금 더 적극적으로 책에 줄을 긋기 시작했고, "고도원의 아침편지" 메일링 리스트에 가입을 했고, 
다음과 같은 책들이 저의 읽을 책 목록에 추가 되었습니다.

  1. 문학의 숲을 거닐다
  2. 나는 사진이다
  3. 삶으로서의 은유
  4. 내 영혼이 따뜻했던 날들   
  5. 이제야 보이네
  6. 남녀열전
  7. 열하일기, 웃음과 역설의 유쾌한 시공간   
  8. 박사가 사랑한 수식
  9. 쏘주 한 잔 합시다
  10. 그러나 나는 살아가리라

책이 또다른 책을 낳고, 한 사람의 경험이 다른 사람에게 행동으로 이어질 수 있게 하는 책입니다~
반응형

'Book Story' 카테고리의 다른 글

지식 e  (0) 2010.06.27
잠자기 전 30분  (0) 2010.05.26
Slack 슬랙  (0) 2010.05.18
반응형
마우스를 향하는 화살표 예제입니다. 간단하니 일단 보시죠~


그럼 이제부터 제작 해보겠습니다~
일단 화살표를 그려야겠죠? 아주 간단히 하나 그립니다.
package shape
{
	import flash.display.Sprite;
	
	/**
	 * 화살표 클래스, 오른쪽을 향하는 상태로 그려진다.
	 */
	public class DArrow extends Sprite
	{
		private var m_nWidth:Number;
		private var m_nHeight:Number;
		private var m_uColor:uint;
		
		/**
		 * 생성자
		 * @param p_nWidth 화살표 가로크기(길이)
		 * @param p_nHeight 화살표 세로크기(두께)
		 * @param p_uColor 화살표 색상
		 * @param 
		 */
		public function DArrow( p_nWidth:Number = 50, p_nHeight:Number = 50, p_uColor:uint = 0xffff00  )
		{
			super();
			
			m_nWidth = p_nWidth;
			m_nHeight = p_nHeight;
			m_uColor = p_uColor;
			
			init();
		}
		
		private function init():void
		{
			graphics.clear();
			
			var nWidthHalf:Number = m_nWidth / 2;
			var nHeightHalf:Number = m_nHeight / 2;
			var nHeightQuarter:Number = m_nHeight / 4;
			
			graphics.lineStyle( 1, 0, 1 );
			graphics.beginFill( m_uColor );
			graphics.moveTo( -nWidthHalf , -nHeightQuarter );
			graphics.lineTo( 0, -nHeightQuarter );
			graphics.lineTo( 0, -nHeightHalf );
			graphics.lineTo( nWidthHalf, 0 );
			graphics.lineTo( 0, nHeightHalf );
			graphics.lineTo( 0, nHeightQuarter );
			graphics.lineTo( -nWidthHalf, nHeightQuarter );
			graphics.lineTo( -nWidthHalf, -nHeightQuarter );
			graphics.endFill();
		}
	}
}

이제 위에 만들어진 화살표를 담아서 실행항 메인 클래스를 작성합니다.
package sample.ex_03_trigonometric
{
	import flash.display.Sprite;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	
	import kr.uod.util.CCopyRightPosition;
	import kr.uod.util.FDrawCopyRight;
	import kr.uod.util.FDrawOutLine;
	
	import org.osmf.display.ScaleMode;
	
	import shape.DArrow;
	
	/**
	 * 마우스를 향하는 화살표 예제
	 */
	[SWF(backgroundColor="0xffffff", width="600", height="400", frameRate="30")]
	public class ArrowTowardMouse extends Sprite
	{
		private var m_dArrow:DArrow = new DArrow( 100, 50, 0xff0000 );
		
		public function ArrowTowardMouse()
		{
			super();
			
			stage.scaleMode = StageScaleMode.NO_SCALE;
			 
			init();
		}
		
		private function init():void
		{
			// 스테이지 외곽선 그리기
			FDrawOutLine( this );
			// 카피라이트
			FDrawCopyRight( this, "By LazyArtist" );
			
			// 화살표
			m_dArrow.x = stage.stageWidth / 2;
			m_dArrow.y = stage.stageHeight / 2;
			addChild( m_dArrow );
			
			this.addEventListener( Event.ENTER_FRAME, onEnterFrame );
		}
		
		private function onEnterFrame( e:Event ):void
		{
			var nPosX:int = mouseX - m_dArrow.x;
			var nPosY:int = mouseY - m_dArrow.y;

			// 화살표가 마우스를 향하게 하는 공식
			m_dArrow.rotation = Math.atan2( nPosY, nPosX ) * 180 / Math.PI;
		}
	}
}

여기서 가장 중요한 것은 53라인의 공식입니다. 
Math.atan() 처럼 비율을 파라미터로 전달하면 각도를 반환하는 것이 아니라
Math.atan2()는 y, x 파라미터를 받아서 각도(라디안)를 반환합니다. 플래시 좌표체계에 특화된 함수죠...
Math.atan2()를 사용하실때 주의할점은 Math.atan2( y, x ), 이렇게 y 값을 먼저 넣어준다는 점입니다. 
그렇지 않으면 플래시무비가 이상한 동작을 하게됩니다...

참~ 쉽죠잉~ ^^;

반응형
반응형
잠자기 전 30분 - 8점
다카시마 데쓰지 지음, 홍성민 옮김/티즈맵

이 책은 잠자기 전 30분과 아침에 일어나서 30분은 활용하는 방법을 알려주는 책입니다.
사람은 잠을 자면서 그날의 기억과 이전의 기억을 무작위로 대조하여 분류하고 폐기한다고 합니다.
그래서 꿈에서는 말도안되는 상상이지만 엄청나게 창의적인 생각을 할 수 있는 것이지요~
따라서 자기전 30분을 잘 활용하면 그날 학습한 것과 경험한 것을을 내것으로 잘 갈무리 할 수 있다고 합니다.
그렇다고 자기전에 중요한 공부를 해야한다고 하지는 않습니다. 
오히려 자기전에는 편안히 잠들 수 있게 가벼운 주제의 책, 인터넷 서핑, 공상 등을 하라고 일러줍니다.
그리고 중요하고 많은 사고력을 요하는 공부나 문제는 집중력이 높은 아침에 하라고 하네요~

즉, 자기전 30분동안은 폭넓고 얕은 글, 또는 공상하기...
아침에 일어나서 30분동안은 집중력이 필요한 공부 또는 사고를 하라고합니다.

그리고 잠은 적당히 많이 잘 것...
보통 7시간 반에서 8시간 정도를 자는 것이 좋다고 하네요~
그래서 잠자리는 아무리 늦어도 12시에는 들어야하고, 10~11시 경에 자는 것을 추천합니다.
그래야 아침에 일어나 집중력이 필요한 사고를 할 수 있으니까요~

이책에는 뇌과학에 대해 짧지만 흥미로운 내용도 있고, 학습법에 대한 내용도 있기 때문에 
여러가지 면에서 한번쯤 보면 좋은 책입니다.


마지막으로 이 책에 나와있는 3회전 학습법만 간단히 소개합니다.

간단하게 말씀드리면 처음 읽을 때는 중요하거나 흥미로운 부분에 엹은 형광펜으로 줄을 긋습니다.
두번재는 숙독을하며 더 진한 형광펜으로 정말 중요한 부분만 줄을 긋거나 표시를 합니다.
세번째는 중요하게 표시된 부분만 보는 것 입니다.
반응형

'Book Story' 카테고리의 다른 글

책, 세상을 훔치다  (0) 2010.05.30
Slack 슬랙  (0) 2010.05.18
몰입  (1) 2009.04.09
반응형
클라우드의 충격 - 6점
시로타 마코토 지음, 진명조 옮김/제이펍

클라우드 컴퓨팅이 무엇일까요?
간단히 말씀드리면 워드가 필요하다고 워드를 내 컴퓨터에 직접 설치하지 않아도 되고, 
홈페이지 하나 만들겠다고 직접 서버를 구입해서 세팅하지 않아도 되며, 
내 컴퓨터로는 몇년이 걸릴 계산이나 작업을 클라우드 서비스를 이용하여 단 몇일만에 끝내는 것입니다.
즉, 클라우드라는 단어가 말해주듯이 실제 내가 필요로 하는 서비스(작업) 이외의 것은 구름속에 가려서 알 수 없고 알 필요도 없는 서비스입니다.

클라우드 컴퓨팅의 종류에는 HaaS(하드웨어), PaaS(플렛폼), SaaS(서비스) 이렇게 세가지가 있구요~
이 책에서는 이 세가지에 대한 설명뿐만 아니라 대기업부터 중소기업 및 개인 개발자는 어떤 클라우드 서비스를 받아야하는지까지 알려주고 있네요.

이 책에는 클라우드 컴퓨팅의 개념과 발전과정, 기업 및 개인의 이용방안 그리고 현재 클라우드 컴퓨팅 서비스를 하고 있고, 준비중인 기업들의 동향등이 나오는데요.
2008년에 쓰여진 책이라서 지금상황과 안맞는 부분도 있고... 
구글을 제외하면 아직 일반사람들에게 클라우드는 아직고 체감적으로 다가오지 않은것이 사실이지만 앞으로는 분명 달라질 것이라고 생각합니다.
왜냐하면 제가 구글에서 제공하는 서비스들을 너무나 유용하게 사용하고 있기 때문이고,
현재의 모바일앱 시대를 넘어 모바일웹 어플리케이션 시대가 오면 클라우드 컴퓨팅은 점점 더 중요해 질 것이기 때문입니다.

책이 작고 얇기 때문에 클라우드가 무엇인지 알고 싶은 사람은 한번쯤 봐도 좋은 책입니다~
반응형

'DevBook Story' 카테고리의 다른 글

액션스크립트 3.0 완벽 가이드  (0) 2010.08.22
C 언어 프로그래밍  (0) 2010.03.19
플래시 비디오 실전 프로젝트  (0) 2009.09.28
반응형
Slack 슬랙 - 6점
톰 드마르코 지음, 류한석.이병철.황재선 옮김/인사이트

요즘들어 군화끈 조여매고 빡빡하게 살아가는 삶이 결코 좋은 것이 아니라는 생각을 하고 있었는데요...
그 핑계로 설렁설렁 많이 놀기도 했구요~^^;
그런데 저와 생각의 괘를 같이 하는 책을 만났습니다.

이 책은 사람 또는 조직이 발전하기 위해서는 Slack, 즉  여유가 필요하다고 주장하는 책인데요...
기본적으로 기업을 대상으로 쓰여진 책이지만 개인에게도 충분히 적용가능한 좋은 내용이라고 생각합니다.

현재 기업들은 효율성이 최우선입니다.
사람을 뽑아서 100% 활용을 해야하고 100%활용되지 않는 업무에 있는 사람은 다른 일을 더 시키던지 자르던지...
하지만 이런 사고방식 및 경영은 현재만을 봤을 때는 굉장히 효율적이지만 미래를 생각한다면 싹을 자르는 것이라고 할 수 있습니다.
왜냐하면 시장은 항상 변하기 마련이거든요...
즉 변하는 환경에 유연하게 대처하려면 앞만보고 달려가는 빡빡함 보다 주변을 살필줄 아는 여유가 더 필요하다는 말입니다.
기업이 더 이상 새로운 제품을 만들어낼 수 없는건 대게 그 기업의 직원들이 엄청나게 바쁘기 때문이라는 아이러니함...
조직이나 사람이 변화하지 않고 머무르겠다면 슬랙없이 효율성 100%를 추구해도 되지만 시장 및 환경은 변하기 때문이죠...

그리고 이렇게 사람을 100%활용하고 빡빡하게 돌리는 기업은 인재를 유지하기 힘들다고 합니다.
특히 지식근로자들의 경우 회사에 계속 남는 경우와 이직을 하는 경우 둘 다 자기발전이 가장 큰 이유라고 하네요~
(이 책의 내용자체가 10년 전에 쓰여진 내용이라서 지금도 그런지는 모르겠지만요...^^)

경영자 및 관리자뿐만 아니라 저 같은 사원이 봐요 좋은 내용의 책입니다.
여유있는 삶... 말만들어도 멋지지 않습니까? 거기다 앞으로의 경쟁력까지 갖추어진다는데 억지로라도 여유를 만들어야겠네요~

마지막으로 가장 인상깊었던 문구...
"변화할 수 있는 능력은 조직의 일부가 되어야 한다"
반응형

'Book Story' 카테고리의 다른 글

잠자기 전 30분  (0) 2010.05.26
몰입  (1) 2009.04.09
보랏빛 소가 온다  (0) 2007.03.18
반응형
iTistory를 이용해 아이폰에서 블로깅 테스트입니다.

간단한 글 쓸때 편리하겠네요




사진 넣기가 직관적이지 못하지만 그런데로 쓸만한듯 하네요


iPhone 에서 작성된 글입니다.
반응형
반응형
정식버전 출시되기를 기대하고 있었는데요...
현재 trial버전으로 설치해본 결과 실망입니다.
기존에 사용하던 편리한 기능들이 사라졌어요~
변수, 메서드 찾아주기와 디자인 모드 그리고 Help 기능...
젝일 망했습니다... ㅜㅜ;;

아이폰 신경쓰다가 정식제품을 이렇게 엉망으로 만들다니...


Previous, Next (변수, 메서드 찾아주기)
Previous, Next는 현재 열린 파일에서 동일한 변수, 메서드, 클래스 등을 찾아주는 기능입니다.
커서를 변수, 메서드, 클래스등에 위치시키면 아래와 같이 하일라이트가 표시되구요...






Previous, Next를 실행하면 이전, 다음 변수, 메서드, 클래스등으로 커서가 이동되는 기능입니다.
사용해보면 굉장히 편리해서 많이 쓰는 기능중 하나인데요... 
베타에서부터 생긴기능이라서 아주 잘 쓰고 있었는데... 정식버전에서 사라지다니... 
환경설정 단축키 지정에서 보면 항목은 있으나... 단축키를 지정하면 Previous Anotation, Next Anotation의 단축키로 지정되어 경고메시지를 찾아주는 행동을 합니다.
그래서 일단 Find Previous, Find Next를 사용하고 있는데요... 다시 Flex Builder 3로 돌아간 느낌이 드네요~ 
사라졌는지... 버그인지... 이름이 바뀌었는지... 작동안됩니다... ㅜㅜ;


Design Mode
Souce Mode 에서 Design Mode로 변경하면 화면이 바로 뜨지 않고 한번 클릭해줘야 컴포넌트들을 볼 수가 있습니다...
속도도 베타보다 느려진듯한 느낌도 들고... 이건 뭐... ㅡㅡ;


Help (Reference)
이것도 심각합니다.
정식버전에서는 아래와 같은 Adobe Community Help라는 Air로 만들어진 Help 시스템을 쓰더군요...


처음엔 별상관이 없다고 생각했지만... 이게 왠일...
클래스만 찾아주고... 변수, 메서드 등을 찾아주지 못합니다.
특히 인스턴스의 메서드를 못찾는건... 정말이지... 어이없습니다.
물론 베타에선 잘 작동했습니다.
그리고 Air로 만들어져서인지 무척이나 느리고 결정적으로 문서내 검색이 안됩니다.
그래서 환경설정에서 Open Help in browser를 지정하면 일단 브라우져에서 열리니 검색은됩니다.
참고로 다시 Adobe Community Help로 열려면 C:\Program Files\Adobe\Adobe Help 에서 Adobe Help.exe를 실행해서 환경설정을 다시 바꿔줘야하네요... 빌더에서는 어디서 설정해줘야 하는지 없네요...
암튼 Help 완전 바보됐네요...

Adobe나 개발자나 이게 왠 삽질인지... 어이가 없네요... 쓸데없는데 Air를 사용하다니...



좋아진 점
빌드 속도가 빨라진듯한 느낌이 든다는 것과...
ctrl + PageUp, ctrl + PageDn 했을 때 문서이동하다가 .mxml 파일을 만나면 Design, Source 모드 토글되는 버그(?)는 수정됐네요...


지못미 Adobe
가뜩이나 외부상황도 안좋은데... 
이렇게 베타보다 더 베타스러운 정식버전을 출시한 Adobe의 내부상황이 보이는 것 같아 씁쓸합니다.

이거 회사에 사달라고 해야 될지... 말아야 될지... 에휴~
반응형

+ Recent posts