개발자의 작은 기록...

Project/Mobile 2015. 2. 27. 22:03


https://itunes.apple.com/us/app/pics2mov/id788398033?mt=8


2012년 말 회사를 나와서 만 2년 동안 개인 프로젝트에 온 힘을 다했다. 가시적인 결과는 그리 풍성하지는 못하지만 움켜쥐고 있던 것을 잃어가며 배울 수 있었던 점은 감사하게 생각한다. 경험하지 않은 것에 대해 막연한 두려움은 누구나 가지고 있다. 나 또한 그랬다. 누구에게도 들키고 싶지 않았다. 그래서 많은 것을 잃으면서도 초연하려 노력했다. 내 노력의 동력이 무엇인지는 모르겠으나 적어도 선택할 수 없는 환경에서 주어지는 어쩔 수 없는 결과였다고는 생각하지 않는다. 그래야 지금의 나의 만족도 성립할 테니 말이다.


사실 누구나 그렇겠지만, 개인 개발자는 단 하나의 프로젝트로 성과 내기를 기대한다. 돌이켜보면 나 또한 그랬다. 하지만 현실은 냉혹하게도 마냥 이상만을 꿈꾸며 나아갈 수가 없다. 세 개의 프로젝트를 진행하면서 매번 나에게 질문한 것은 ‘나는 발전하고 있는가’였다. 수많은 선택을 통해서 발전을 하고 있는가는 크고 작음을 떠나서 나에게 가장 중요한 질문이었다. 그것은 항상 고민이었고 또한 큰 의문이었다. 


사실, 문제를 문제로 인식하지 못하는 상황, 밖에서 프레임 안을 내려다보지 못하는 상황에서는 이러한 질문이 무의미할 수도 있다. 그것을 인정할 용기가 필요했을지도 모르겠다. 과거의 프레임을 돌아보는 지금의 상황도, 어쩌면 내 인생의 또 다른 프레임일 것이다. 나는 언제나 그 프레임을 깨고 밖에서 바라보는 나를 희망한다. 어떻게 보면 이것이 내가 생각하는 「발전」 일지도 모른다. 


그러니 나는 또 다시 시작할 수밖에 없다.


    

설정

트랙백

댓글

요세미티와 iOS8을 이용해 디바이스 동영상 캡처하기

Programming/Objective-C 2014. 9. 25. 10:55

iOS8 업데이트와 함께 앱스토어에서 앱의 프리뷰 영상을 업로드 할 수 있도록 되었습니다. 기존에는 이러한 앱 영상을 만들려면 시뮬레이터를 이용한 녹화 방법 이외에 딱히 효과적인 방법을 찾기 어려웠습니다. 더욱이 디바이스 전용 하드웨어를 사용하는 앱의 경우에는 난감한 부분이었습니다. 그러나 요세미티의 QuickTime Player에서 디바이스 화면을 녹화할 수 있는 기능을 지원합니다. 


https://developer.apple.com/app-store/app-previews/


아래 링크가 좀 더 이해하기 쉽겠네요.

http://www.macworld.co.uk/how-to/iphone/create-video-for-your-app-on-app-store-3532435/


설명 드리면, 요세미티 베타 버전을 업데이트 하셨다면, 

1. 디바이스를 USB로 맥과 연결하고 QuickTime Player를 실행합니다.

2. 파일->새로운 동영상 녹화 선택

3. 동영상 화면에서 위 사진과 같이 녹화 버튼 옆에 화살표를 클릭.

4. 연결된 디바이스 중에 하나를 선택

5. 녹화

6. 끝.




    

설정

트랙백

댓글

iPhone, iPad : iOS font list

Programming/Objective-C 2012. 10. 5. 17:26


iPhone 4.2

iPad 4.2
Font Families: 40Font Families: 57
Academy Engraved LET
 AcademyEngravedLetPlain
American Typewriter
AmericanTypewriterAmericanTypewriter
AmericanTypewriter-BoldAmericanTypewriter-Bold
Apple Color Emoji
AppleColorEmojiAppleColorEmoji
AppleGothic
AppleGothicAppleGothic
Arial
ArialMTArialMT
Arial-ItalicMTArial-ItalicMT
Arial-BoldMTArial-BoldMT
Arial-BoldItalicMTArial-BoldItalicMT
Arial Hebrew
ArialHebrewArialHebrew
ArialHebrew-BoldArialHebrew-Bold
Arial Rounded MT Bold
ArialRoundedMTBoldArialRoundedMTBold
Bangla Sangam MN
BanglaSangamMNBanglaSangamMN
BanglaSangamMN-BoldBanglaSangamMN-Bold
Baskerville
BaskervilleBaskerville
Baskerville-ItalicBaskerville-Italic
Baskerville-BoldBaskerville-Bold
Baskerville-BoldItalicBaskerville-BoldItalic
Bodoni 72
 BodoniSvtyTwoITCTT-Book
 BodoniSvtyTwoITCTT-BookIta
 BodoniSvtyTwoITCTT-Bold
Bodoni 72 Oldstyle
 BodoniSvtyTwoOSITCTT-Book
 BodoniSvtyTwoOSITCTT-BookIt
 BodoniSvtyTwoOSITCTT-Bold
Bodoni 72 Smallcaps
 BodoniSvtyTwoSCITCTT-Book
Bodoni Ornaments
 BodoniOrnamentsITCTT
Bradley Hand
 BradleyHandITCTT-Bold
Chalkboard SE
ChalkboardSE-RegularChalkboardSE-Regular
ChalkboardSE-BoldChalkboardSE-Bold
Chalkduster
 Chalkduster
Cochin
CochinCochin
Cochin-ItalicCochin-Italic
Cochin-BoldCochin-Bold
Cochin-BoldItalicCochin-BoldItalic
Copperplate
 Copperplate
 Copperplate-Bold
Courier
CourierCourier
Courier-ObliqueCourier-Oblique
Courier-BoldCourier-Bold
Courier-BoldObliqueCourier-BoldOblique
Courier New
CourierNewPSMTCourierNewPSMT
CourierNewPS-ItalicMTCourierNewPS-ItalicMT
CourierNewPS-BoldMTCourierNewPS-BoldMT
CourierNewPS-BoldItalicMTCourierNewPS-BoldItalicMT
DB LCD Temp
DBLCDTempBlackDBLCDTempBlack
Devanagari Sangam MN
DevanagariSangamMNDevanagariSangamMN
DevanagariSangamMN-BoldDevanagariSangamMN-Bold
Didot
 Didot
 Didot-Italic
 Didot-Bold
Futura
Futura-MediumFutura-Medium
Futura-MediumItalicFutura-MediumItalic
Futura-CondensedExtraBoldFutura-CondensedExtraBold
Geeza Pro
GeezaProGeezaPro
GeezaPro-BoldGeezaPro-Bold
Georgia
GeorgiaGeorgia
Georgia-ItalicGeorgia-Italic
Georgia-BoldGeorgia-Bold
Georgia-BoldItalicGeorgia-BoldItalic
Gill Sans
 GillSans
 GillSans-Italic
 GillSans-Bold
 GillSans-BoldItalic
Gujarati Sangam MN
GujaratiSangamMNGujaratiSangamMN
GujaratiSangamMN-BoldGujaratiSangamMN-Bold
Gurmukhi MN
GurmukhiMNGurmukhiMN
GurmukhiMN-BoldGurmukhiMN-Bold
Heiti J
STHeitiJ-LightSTHeitiJ-Light
STHeitiJ-MediumSTHeitiJ-Medium
Heiti K
STHeitiK-LightSTHeitiK-Light
STHeitiK-MediumSTHeitiK-Medium
Heiti SC
STHeitiSC-LightSTHeitiSC-Light
STHeitiSC-MediumSTHeitiSC-Medium
Heiti TC
STHeitiTC-LightSTHeitiTC-Light
STHeitiTC-MediumSTHeitiTC-Medium
Helvetica
HelveticaHelvetica
Helvetica-ObliqueHelvetica-Oblique
Helvetica-BoldHelvetica-Bold
Helvetica-BoldObliqueHelvetica-BoldOblique
Helvetica Neue
HelveticaNeueHelveticaNeue
HelveticaNeue-ItalicHelveticaNeue-Italic
HelveticaNeue-BoldHelveticaNeue-Bold
HelveticaNeue-BoldItalicHelveticaNeue-BoldItalic
Hiragino Kaku Gothic ProN
HiraKakuProN-W3HiraKakuProN-W3
HiraKakuProN-W6HiraKakuProN-W6
Hiragino Min ProN
 HiraMinProN-W3
 HiraMinProN-W6
Hoefler Text
 HoeflerText-Regular
 HoeflerText-Italic
 HoeflerText-Black
 HoeflerText-BlackItalic
Kailasa
KailasaKailasa
Kailasa-BoldKailasa-Bold
Kannada Sangam MN
KannadaSangamMNKannadaSangamMN
KannadaSangamMN-BoldKannadaSangamMN-Bold
Malayalam Sangam MN
MalayalamSangamMNMalayalamSangamMN
MalayalamSangamMN-BoldMalayalamSangamMN-Bold
Marker Felt
MarkerFelt-ThinMarkerFelt-Thin
MarkerFelt-WideMarkerFelt-Wide
Optima
 Optima-Regular
 Optima-Italic
 Optima-Bold
 Optima-BoldItalic
Oriya Sangam MN
OriyaSangamMNOriyaSangamMN
OriyaSangamMN-BoldOriyaSangamMN-Bold
Palatino
Palatino-RomanPalatino-Roman
Palatino-ItalicPalatino-Italic
Palatino-BoldPalatino-Bold
Palatino-BoldItalicPalatino-BoldItalic
Papyrus
 Papyrus
Party LET
 PartyLetPlain
Sinhala Sangam MN
SinhalaSangamMNSinhalaSangamMN
SinhalaSangamMN-BoldSinhalaSangamMN-Bold
Snell Roundhand
SnellRoundhandSnellRoundhand
SnellRoundhand-BoldSnellRoundhand-Bold
Tamil Sangam MN
TamilSangamMNTamilSangamMN
TamilSangamMN-BoldTamilSangamMN-Bold
Telugu Sangam MN
TeluguSangamMNTeluguSangamMN
TeluguSangamMN-BoldTeluguSangamMN-Bold
Thonburi
 Thonburi
 Thonburi-Bold
Times New Roman
TimesNewRomanPSMTTimesNewRomanPSMT
TimesNewRomanPS-ItalicMTTimesNewRomanPS-ItalicMT
TimesNewRomanPS-BoldMTTimesNewRomanPS-BoldMT
TimesNewRomanPS-BoldItalicMTTimesNewRomanPS-BoldItalicMT
Trebuchet MS
TrebuchetMSTrebuchetMS
TrebuchetMS-ItalicTrebuchetMS-Italic
TrebuchetMS-BoldTrebuchetMS-Bold
Trebuchet-BoldItalicTrebuchet-BoldItalic
Verdana
VerdanaVerdana
Verdana-ItalicVerdana-Italic
Verdana-BoldVerdana-Bold
Verdana-BoldItalicVerdana-BoldItalic
Zapf Dingbats
 ZapfDingbatsITC
Zapfino
ZapfinoZapfino

출처 : http://www.michaelcritz.com/2010/04/02/fonts-for-ipad-iphone/

    

설정

트랙백

댓글

NSDate to String

Programming/Objective-C 2012. 7. 23. 19:45

PatternResult (in a particular locale)
yyyy.MM.dd G 'at' HH:mm:ss zzz1996.07.10 AD at 15:08:56 PDT
EEE, MMM d, ''yyWed, July 10, '96
h:mm a12:08 PM
hh 'o''clock' a, zzzz12 o'clock PM, Pacific Daylight Time
K:mm a, z0:00 PM, PST
yyyyy.MMMM.dd GGG hh:mm aaa01996.July.10 AD 12:08 PM




-(void) date1{
      // output : 7/23/12
      NSDate *today = [NSDate dateWithTimeIntervalSinceNow:0];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateStyle:NSDateFormatterShortStyle];
      NSString *dateString = [dateFormat stringFromDate:today];
      NSLog(@"date1 : %@", dateString);
}

-(void) date2{
      // output : 07/23/2012 07:36PM
      NSDate *today = [NSDate date];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateFormat:@"MM/dd/yyyy hh:mma"];
      NSString *dateString = [dateFormat stringFromDate:today];
      NSLog(@"date2 : %@", dateString);
      
}
-(void) date3{
      // output : Monday July 23, 2012
      NSDate *today = [NSDate date];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
      NSString *dateString = [dateFormat stringFromDate:today];
      NSLog(@"date3 : %@", dateString);
}

-(void) date4{
      // output : 7:38 PM, GMT+09:00
      NSDate *today = [NSDate date];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateFormat:@"h:mm a, zzz"];
      NSString *dateString = [dateFormat stringFromDate:today];
      NSLog(@"date4 : %@", dateString);
}

-(void) date5{
      // output : 월요일 7월 23, 2012
      NSDate *date = [NSDate date];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
      [dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ko_kr"]];
      NSString *dateString = [dateFormat stringFromDate:date];
      NSLog(@"date5 : %@", dateString);
}


    

설정

트랙백

댓글

스티브잡스의 발언과 플래시의 방향

Programming/Etc 2010. 2. 4. 11:51

Adobe CTO Kevin Lynch 가 Apple 디바이스에 플래시가 탑재하지 않는 것에 대하여 Adobe의 입장을 담았다.

원문 : http://blogs.adobe.com/conversations
/2010/02/open_access_to_content_and_app.html


컨텐츠 및 애플리케이션에 대한 오픈 액세스
게시자: Kevin Lynch, CTO

최근 출시되고 있는 우수한 디바이스에 Flash Player가 탑재되어 있지 않다는 사실에 적잖이 놀랐을 것입니다.
본래 Flash는 시장이 형성되지 않았던 약 15년 전에 펜(Pen) 컴퓨팅 태블릿을 위해 고안되었습니다. 초창기에는 낮은 대역폭의 벡터 그래픽을 지원했지만 지난 십여 년간 새로운 기능을 빠르게 추가해 나가면서, 웹의 틈새 시장을 공략했습니다. 현재는 새로운 활용 방안을 찾는 데 노력을 기울이고 있습니다. 일례로 웹상에서의 애니메이션, 스트리밍 오디오, 풍부한 인터랙션, 임의의 폰트, 양자간 오디오/비디오 커뮤니케이션, 로컬 저장소, 혁신적인 비디오 전달 등이 있습니다.

HTML 기능이 추가된 Flash는 상당히 높은 채택율을 기록하고 있는 가운데, 상위 웹 사이트의 85% 이상에서 Flash 컨텐츠를 사용하고 있으며, 인터넷이 연결된 컴퓨터의 98% 이상에서 Flash가 실행되고 있습니다. Flash는 웹상의 대부분의 캐주얼 게임, 비디오 및 애니메이션에 사용되고 있으며 Nike, Hulu, BBC, Major League Baseball 등 유명 브랜드에서 Flash를 사용하여 10억 이상에 달하는 전세계 사용자에게 매력적인 경험을 전달하고 있습니다.

Flash의 미래에 있어서 지금이 가장 중요한 시기입니다. 현재 PC 외에도 다양한 디바이스들이 하루가 다르게 출시되고 있으며, 많은 수의 디바이스가 인터넷 검색에 사용될 것입니다. 따라서 컨텐츠 및 애플리케이션 제작자와 사용자는 PC에서 Flash를 통해 얻어질 것으로 기대되는 경험, 즉 원활하고 일관되며 풍부한 경험을 디바이스에도 동일하게 전달하기 위해 많은 과제들을 해결해야 할 것입니다. Flash 엔지니어링 팀은 이를 실현하기 위해 다양한 디바이스에서 Flash Player를 철저히 분석해 왔습니다.

이러한 노력의 결과로 Adobe는 시장 선도적인 제조업체를 대상으로 한 스마트폰용 Flash Player 10.1을 선보이려고 합니다. 이러한 제조업체에는 스마트폰 뿐만 아니라 태블릿, 넷북, 인터넷 TV 등 시장을 형성하고 있는 Google의 Android, RIM의 Blackberry, Nokia, Palm Pre, 기타 업체들이 있습니다. Flash를 통해 고객은 전체 웹을 검색할 수 있으므로 브라우저에서 Flash를 사용하고 있는 이러한 디바이스는 경쟁력을 갖추게 됩니다. 이는 사실상 오픈 스크린 프로젝트(Open Screen Project)를 통해 이루어지고 있으며, Adobe는 50여 이상의 파트너와 협력하면서 다양한 디바이스에서 이를 실현하기 위해 노력하고 있습니다. 예를 들어, 최근 선보인 구글 넥서스원(Nexus One)은 Flash Player 10.1을 통해 탁월한 브라우저 경험을 선사할 것입니다.

그렇다면 Apple 디바이스에서 실행 중인 Flash는 어떨까요? Adobe는 Flash 기반으로 iPhone용 독립 실행형 애플리케이션을 구축할 수 있게 함으로써, Flash 기술은 이러한 디바이스에서의 사용을 넓혀 나가기 시작했습니다. 실제로 이러한 애플리케이션 중 일부는 FickleBlox, Chroma Circuit과 같은 Apple App Store(앱스토어)에서 이미 제공되고 있습니다. 이 동일한 솔루션은 iPad에서도 작동될 것입니다. Adobe는 이러한 디바이스의 브라우저에서 Flash를 지원하기 위한 준비를 마친 상태이며 이제 Apple에서 사용자를 위해 이를 허용하는 것만이 남아 있습니다. 그러나 Apple은 지금까지도 어도비의 이러한 협력 요청을 받아들이지 않고 있습니다.

장기적으로 볼 때, Flash에 대한 요구 사항을 대신하게 될 것으로 HTML이 꼽히고 있는 데, 특히 최근 개발된 HTML 5 버전이 출시되면 그 움직임은 본격화될 것으로 전망하는 사람들이 많아지고 있습니다. 그러나 오늘날은 물론이거니와 앞으로도 한 기술이 다른 한 기술을 대체하게 되지는 않을 것으로 예상됩니다.

Adobe는 HTML의 발전을 지원하고 있습니다. 앞으로 HTML이 진화를 거듭할수록 Adobe 소프트웨어에 더 많은 기능이 추가될 것으로 기대하고 있습니다. HTML이 Flash의 기능을 안정적으로 수행할 수 있다면, Adobe는 많은 시간과 수고를 덜 수 있지만, 사실상 그렇게 될 가능성은 거의 없습니다. 비디오 부문의 경우 현재 웹상에 있는 비디오의 75% 이상에서 Flash가 사용되고 있는 데도 불구하고, 브라우저 간 포맷 통일이 이루어질 수 없으므로 사용자와 컨텐츠 제작자는 비호환성이라는 문제를 안게 되고 결국 HTML 비디오 구현은 어두운 뒤안길에 남겨질 것입니다.

HTML의 진보에도 불구하고 Flash의 생산성과 표현 기능은 웹 커뮤니티에서 가희 독보적이라고 할 수 있습니다. Flash 팀은 지난 십여 년간 불가능하다고 여겼던 경험을 구현해 왔던 것처럼 앞으로도 더욱 혁신에 박차를 가할 것입니다. 1년도 채 안 되는 짧은 시간 동안 대다수의 웹 클라이언트를 업데이트할 수 있었던 Flash는 다양한 브라우저 전반에 걸쳐 HTML이 수행하는 것보다 훨씬 빠른 시간 내에 고객에게 이러한 혁신 기술을 선보일 수 있을 것으로 기대를 모으고 있습니다.

Adobe는 시간, 장소, 매체에 구애 받지 않고 아이디어와 정보를 생성하고 전달할 수 있는 방식을 혁신하고 있으며 디자이너와 개발자가 자신의 독창적인 아이디어를 마음껏 펼칠 수 있는 방법을 고안해 내는 데 전력을 다하고 있습니다. 또한 가장 생산성이 우수한 툴과 컨텐츠 및 애플리케이션을 배포할 수 있는 광범위한 기능을 창의적인 관리 방법과 접목시키는 것 또한 Adobe의 미션이라고 할 수 있습니다. Adobe는 고객이 목표를 달성하고 기술 격차를 극복할 수 있는 기술 혁신을 이뤄내는 데 필요한 모든 기술과 포맷을 지원하고 있습니다. Flash와 HTML이 결합되면 최고의 기술이 탄생하게 될 것입니다. 그렇게 되면 누구나 웹상에서 이 기술을 사용하여 최상의 경험을 제공할 수 있게 될 것입니다.

아이디어와 정보를 활용하는 것은 사용자가 선택한 컨텐츠와 애플리케이션을 보고 서로 인터랙션할 수 있는 개방된 에코시스템과 자유가 존재한다는 것을 의미합니다. 이 오픈 액세스 모델은 가장 효율적인 모델로 그간의 여러 시행착오를 거쳐 그 효과가 입증되었습니다. 이와 반대로 폐쇄 모델에서는 사용자가 개별 컨텐츠와 애플리케이션을 보거나 승인 및 거부할 수 있는 사항을 제조업체에서 결정하려고 했습니다. 웹은 디바이스에 상관없이 컨텐츠와 애플리케이션을 일관되게 액세스할 수 있는 개방된 환경으로 존재해야 한다는 데는 이견이 없을 것입니다.

Adobe는 고객들이 최상의 업무 성과를 달성하고 운영 체제, 브라우저 및 다양한 디바이스 전반에 걸쳐 효과적이고 안정적으로 전세계 모든 사용자에게 다가갈 수 있도록 지속적으로 지원해 나갈 것입니다.

번역 : adobe korea


아래 김국현님이 ZDnet에 올린 컬럼 내용이 공감이 갑니다. "후발주자의 입장에서 선두주자에게 타격을 입히는 가장 쉬운 방법은 게임의 룰을 바꿔 버리는 것이다."

http://www.zdnet.co.kr/Contents/2010/02/04/zdnet20100204092647.htm



    

설정

트랙백

댓글