Vue.js #1 시작하기

이미지
Vue.js 란? Vue.js를 시작하기에 앞서 공식 페이지 https://kr.vuejs.org 를 방문하면 다음과 같이 설명하고 있습니다. Vue(/vjuː/ 로 발음, view 와 발음이 같습니다.)는 사용자 인터페이스를 만들기 위한 진보적인 프레임워크 입니다. 다른 single page 프레임워크와 달리 Vue는 점진적으로 채택할 수 있도록 설계하였습니다. 핵심 라이브러리는 뷰 레이어만 초점을 맞추어 다른 라이브러리나 기존 프로젝트와의 통합이 매우 쉽습니다. 그리고 Vue는 현대적 도구 및 지원하는 라이브러리와 함께 사용한다면 정교한 single page application을 완벽하게 지원할 수 있습니다. 간단히 말해 SPA(Single Page Application) 용 프런트엔드 개발을 위한 프레임워크 라고 정의할수 있습니다. < Vue.js 프레임워크 구조 > Vue.js의 프레임워크 구조를 보면 화면의 데이터 표현에 대한 선언적 렌더링을 중점적으로 제공하고 프레임워크 관련한 컴포넌트, 클라이언트 라우팅 기능을 제공하여 라이브러리가 아닌 프레임워크 역할을 수행합니다. Vue.js 장점 일단 초창기에 웹으로 SPA를 개발하기 위해 Angular 및 Ionic을 사용해보았으나 일단 Typescript라는 언어를 새로배워야 하고 초기 기동 시 무겁다는 장점을 발견할 수 있었습니다. 다음으로 Vue.js의 장점을 나열하면, 배우기가 쉽다. HTML, CSS, JavaScript 기초 지식만 있으면 손쉽게 배울수 있스빈다. Angular, React 보다 동일케이스 수행시 더 빠르다고 합니다. 공식페이지에서 나온 내용이지만 일단 체험상 속도는 빨라 보입니다. Angular, React 장점이 랜더링 과 가상돔을 동일하게 이용할수 있습니다. UI 라이브러리 Vue.js 는 UI화면 개발 방법 중 하나인 MVVM 패턴의 화면단 라이브러리 입니다. < MVVM 라이브러리 구조 > MVVM 패턴이란 화면을 Model-View-ViemM

[Android] 변화된 findViewById를 확인해보자

이미지
안녕하세요. 명동콜링입니다. 최근은 아니지만, Android 8.0(Oreo)부터 findViewById 의 생김새가 바뀌었습니다. 예전부터 Activity에서 XML의 View를 매칭하고자 할 때에는 findViewById를 사용합니다. 사용법은 안드로이드 개발자라면 알다 시피, Button b = (Button) findViewById(R.id.btn1); 이런 형태가 되겠습니다. 그러나 개발을 하다보면 여러개의 다양한 컴포넌트를 일일히 타입에 맞게 캐스팅을 해야하는 번거로움이 있습니다. 하지만, 이제 8.0부터는 캐스팅을 하지 않고도 View 매칭을 할 수 있게 바뀌었습니다. Button b = findViewById(R.id.btn1); 위와 같이 Button타입인데도 불구하고 TypeCasting을 하지 않은 findViewById를 사용할 수 있게 되었습니다.  이렇게 바뀜으로써 앞으로 많은 매칭 작업이 더 편해질 것이라 생각이 됩니다. Java에서는 타입 캐스팅을 하지 않는 반면에, Kotlin에서는 어떨까요. Kotlin에서는 View 매칭에 대해 더 간단하게 처리할 수 있습니다. 왜냐하면 View 매칭 작업을 하지 않아도 XML에 정의된 id 값을 바로 사용할 수 있기 때문입니다. 내가 XML에 btn1이라는 ID값을 가진 버튼을 사용하고 싶다하면 곧바로 Activity에서 btn1을 찾아 사용할 수 있게 되었습니다. 이것이 가능해진 이유는 바로 Kotlin Android Extension이라는 Kotlin Library로 인해 가능해지게 된 것인데요. 이 라이브러리에는 View를 바인딩하는 기능이 탑재되어 자동으로  매칭을 시켜줍니다.

(ios) NSMutableAttributedString 이용하여, 특정 텍스트 옵션 변경하기

NSMutableAttributedString는 특정 텍스트의 색상 및 폰트를 변경할 때 사용됩니다. 1. 초기화, 객체를 초기화 하고 변경한 text를 넣어줍니다. NSMutableAttributedString *attributedString = [[ NSMutableAttributedString alloc ] initWithString :text]; ---------------------------------------------------------------------------------------- 2. addAttribute이용하여, 폰트를 변경할 수 있는 NSFontAttributeName 설정해주고,  value 에 변경할 폰트를 적용해 줍니다. range는 변경을 원하는 범위를 적용해주면, 사용자가 원하는 텍스트에 폰트를 변경할수 있습니다   // 폰트 [attributedString addAttribute : NSFontAttributeName                              value : [ UIFont fontWithName : FONT_NanumBarunGothic size : m_contentTextView . font . pointSize ]                               range : NSMakeRange ( 0 , m_contentTextView . text . length )]; ---------------------------------------------------------------------------------------- 3. 폰트 이외에도 다양한 옵션들을 변경할수 있습니다. UIKIT_EXTERN NSAttributedStringKey const NSFontAttributeName NS_AVAILABLE ( 10 _0, 6 _0)

[ios] #태그 감지하고 링크 걸기

텍스트뷰나 라벨에서 해시태그를 감기 하기 위해선, 정규 표현식이 필요합니다. Objective-C 에서는  NSRegularExpression를 통해서 정규식 표현을 하고 감지를 할수 있습니다. ------------------------------------------------------------------------------------------------------------------------------------------- 1.  NSRegularExpression 객체를 생성하고,  regularExpressionWithPattern에 정규식을 넣습니다.   NSError *error = nil ;   NSRegularExpression *regex = [ NSRegularExpression regularExpressionWithPattern : @"#(\\w+)" options : 0 error :&error];      ------------------------------------------------------------------------------------------------------------------------------------------- 2. enumerateMatchesInString :text 함수를 이용하여, 매칭되는 객체는  NSTextCheckingResult에 저장되고, 사용할수 있습니다. [regex enumerateMatchesInString :text                             options : 0                               range : NSMakeRange ( 0 , [text length ])                          usingBlock :^( NSTextCheckingResult *match, NSMatchingFlags flags, B

[ubuntu] 신규 계정에 sudo 권한 추가하기

이미지
NCP 에서 신규 서버를 생성하면  AWS 와는 다르게 root 계정과 패스워드를 발급해 줍니다. 해당 계정정보를 잘 보관한 후 실제 사용할 계정을 생성해서 서버를 관리하게 됩니다. 1. 우선 ubunbu 에서 신규 계정을 생성  합니다. # adduser namsan cs namsan 이라는 계정을 생성하고 패스워드를 설정하였습니다. 2. 신규 생성된 계정으로 전환 후 명령어를 실행해 봅니다. su 명령어를 통해 신규 생성 계정으로 전환 합니다. # su namsan cs sudo 명령어를 실행해 보겠습니다. # sudo date cs “namsan is not in the sudoers file.  This incident will be reported.” cs sudoers file 에 해당계정이 포함 되어있지 않다는 메시지가 출력됩니다. /etc/sudoers 에 신규 계정이 추가 되어 있지 않아 표출되는 에러 메시지 입니다. 다시 root 계정으로 전환하여 sudoers 파일을 수정해보겠습니다. su 명령어를 통해 다시 root 계정으로 전환 합니다. # su root cs 3. vi 명령어를 통해  /etc/sudoers 파일을 편집합니다. # vi /etc/sudoers cs # User privilege specification 항목에 아래와 같이 신규 생성된 계정 정보를 추가합니다. root  ALL=(ALL:ALL) ALL namsan  ALL=(ALL:ALL) ALL cs 이제 신규 생성된 사용자로 전환하여 sudo 명령어 실행 시 정상적으로 작동하는 것을 확인 할 수 있습니다.

[NCP] 사용 중인 서버 이미지 생성 및 복원

이미지
NCP (Naver Cloud Platform) 서비스에서 AWS 와 동일하게 이미지 생성을 통한 오토스케일링 기능이 적용 되는지 알아보기 위한 첫번째 단계로 사용 중인 서버의 이미지를 생성 및 복원 작업을 진행해 보도록 하겠습니다. 1. 콘솔에 로그인 로그인 후 Server > Server 항목으로 이동합니다. 2. 스냅샹 생성 스냅샷 생성을 원하는 서버를 선택 후 “내 서버 이미지 생성” 버튼을 선택합니다. AWS 와 같이   No Reboot  옵션이 나타나길 기대 했지만 아직  제공되지 않네요 팝업창을 닫고 서버를 중단한 후 다시 시도 해 봅니다. 서버 이미지 이름을 필수로 입력하고 생성 버튼을 선택합니다. 이미지를 생성하면 요금이 부과 된다고 하네요 알고 있는 내용이니 “확인” 을 선택합니다 3. 생성된 이미지 확인 Server > Server Image 화면으로 이동합니다. 이미지 생성이 완료 되면 상태값이 “생성됨” 으로 변경 됩니다. 4. 이미지 복원 이미지 생성이 완료 되었으면 해당 리소스를 사용한 서버 생성이 가능합니다. 조금 전 생성된 이미지를 선택한 후 “서버생성” 버튼을 선택 합니다. 서버 생성시 기본 서버 타입이 Standard 로 설정되므로 무료 서버 생성을 원하시면 반드시 Compact 로 변경해 주셔야 합니다.   인증키와 네트워크 접근설정 (ACG) 을 설정하고 나면 서버 생성이 가능합니다. <참고사항> 이미지 생성 : 현재 서버와 동일한 환경의 서버 복제본을 생성 합니다. 스냅샷 생성 : 스토리지 단위로 볼륨  복제본을 생성 합니다 . 유사서버 생성: 현재 서버와 동일한 OS 및 사양의 서버를 추가로 생성합니다.  (복제본 서버와 다름) 이상으로 서버 이미지 생성 및 복원 과정에 대해 간략히 살펴 보았습니다. 다음 포스팅에서는 생성된 이

강아지파 VS 고양이파

이미지
아래 그림을 보면 뭐가 먼저 보이시나요?  이 그림을 보고 강아지나 고양이 중 어떤 것을 떠올렸냐에 따라서 내가 키우기 좋은 동물이 누구인지 간단하게 알 수 있는 테스트라고 해요 ㅎㅎ (그..그냥 재미로 보는 거죠 ^^;;)  만약 그림에서 강아지를 봤다면 당신은 인간관계에서 신실함과 따뜻함을 중요하게 생각하는 사람이다. 당신은 사랑하는 사람이 행복해하면 스스로 행복을 느낀다. 매일 파트너를 행복하게 해줌으로써 행복한 가정을 만들기 위해 노력한다. 또 인간관계에서 여러 번 배신을 당한 경험이 있음에도 여전히 진정한 사랑을 믿는다.  ▶개선점  관계를 완전히 통제하려고 노력하지 않아야 한다. 긴장을 풀고 다른 사람이 자신에게 베풀 기회를 줄 필요가 있다.  그림에서 고양이 두 마리를 봤다면 당신은 관계에서 상호 존중과 서로에 대한 관심을 중요하게 생각하는 사람이다. 당신은 관심과 애정을 베풀만한 가치가 있는 사람을 선택한다. 이 때문에 아는 사람이 많더라도 소수의 사람들과만 친한 관계를 유지한다. 처음에는 사람을 믿지 않지만, 한 번 믿기 시작하면 가능한 모든 것을 해주기 위해 노력한다.  ▶개선점  더 많은 사람이 자신에게 접근할 기회를 주어야 한다. 모든 사람은 불완전하며 실수를 한다는 사실을 받아들여야 한다.