[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 고양이파

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

카드뉴스 - 취향저격 여행지 추천

이미지
오늘은 반려동물이 취향저격할 여행지를 추천해드립니다 황금연휴 이용해서 반려동물과 즐거운 시간 보내세요~ 취향저격 여행지 추천 따라오시개~ 개신남~ #멍비치 위치 : 강원 양양군 현남면 광진리 78-20 반려동물 전용 해수욕장이다 보니 주변에 반려동물 동반가능 숙소가 많음. 입장료가 있으니 참고 하시고 가시면 좋을 듯! #달려라 코코 - 애견테마파크 위치 : 경기도 이천시 마장면 덕이로 15-4번길 287-76 덕평휴게소 내 문의/안내 : 070-7730-9979 #동강전망자연휴양림 오토캠핑장 위치 : 강원도 정선군 신동읍 고성리 산17 문의/안내 : 070-4225-2336 #만정캠핑장 위치: 인천광역시 중구 영종순환로 279-20(중산동) 문의/안내 : 032-747-1144 쉬는날 : 동계휴장 #상주은모래비치 위치 : 경남 남해군 상주면 상주로 10-3 문의/안내 : 055-863-3573