일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MSYS2
- otpkey
- 앨범북
- 안드로이드
- SSL
- 앱스토어
- css
- Nodejs
- albumbook
- Android
- SSH
- fido
- OSX
- SwiftUI
- kmip
- 애플
- MYSQL
- WebAuthn
- 2FA
- FIDO2
- OTP
- appres
- SWIFT
- Xcode
- 앱리소스
- 인증
- apple
- openssl
- git
- MFA
- Today
- Total
목록분류 전체보기 (790)
인디노트
처음에는 git 서버 및 사용자 관리 이 말조차 이해가 안되었다.일단 컴퓨터 한 대는 GIT 전용 서버로 CentOS 6.5를 설치 했고, 고정 아이피로 만들어 두었다.그리고 다른 사용자( 다른 컴퓨터 )들이 같이 프로젝트를 공유하는데 서버에 있는 GIT 저장소를 사용할 것이다. 서버에 git 설치하기. git 서버를 사용할 각 팀들을 위한 계정을 추가. 권한 설정 1_team으로 로그인하고 1_team 계정 만들 때 홈 디렉터리 밑에 만들었음. 그리고 저장소를 만들 차례관례에 따라 .git으로 만든다. 그리고 어떤 서버를 설치하더라도 일단 저장소를 Bare 저장소로 만든다. Bare저장소란 워킹 디렉토리가 없는 저장소이다. --bare 옵션을 주고 init 해주면 된다. 그러면 1_TEAM_PROJEC..
Git 서버다른 사람과 협업하려면 리모트 저장소가 필요하다. 물론 혼자서 저장소를 만들고 거기에 Push하고 Pull할 수도 있지만 이렇게 하는 것은 아무 의미가 없다. 이렇게 하면 항상 집중하고 있어야 다른 사람이 무슨 일을 하고 있는지 간신히 알 수 있을 것이다. 당신 컴퓨터가 오프라인일 때에도 동료가 저장소를 사용할 수 있도록 언제나 이용할 수 있는 저장소가 필요하다. 즉, 공동으로 사용할 수 있는 저장소를 만들고 모두 이 저장소에 접근하여 Push, Pull할 수 있어야 한다. 우리는 이 저장소를 “Git 서버”라고 부른다. Git 저장소를 운영하는데 많은 자원이 필요한 것이 아니어서 별도로 Git 서버를 준비하지 않아도 된다.Git 서버를 운영하는 것은 어렵지 않다. 우선 사용할 전송 프로토콜부..
iOS 앱에서 push를 수신할 때, 앱의 상태는 다음의 세 가지 상태 중 하나에 있다.1. 앱이 실행 상태가 아님( push 수신으로 실행됨 )2. 앱이 foreground( 실행 중 ) 상태에서 push를 수신함3. 앱이 background 상태에서 push를 수신함각각의 상태에서 별도의 다른 동작을 위해 이 상태를 구분할 수 있어야 하고, AppDelegate 내에서 다음의 코드를 통해 구분이 가능하다. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {if (launchOptions && [launchOptions objectForKey:UIApplic..
오랜만에 도서관에 왔다. 그동안 바빠서 오지 못했는데 오늘은 그동안 못했던 인터넷 상의 나의 IT 영토도 정리 정돈할 겸 도서관에 왔다. 나는 여기 도서관을 좋아한다. 냉난방은 물론 읽고 싶은 책들도 많고 인터넷도 빠르다. 특히 조용한게 좋다. 나는 조용한 분위기에서 조용히 코딩 하는걸 좋아한다. 도서관은 특정 인터넷 사이트를 막아놓는다. 하지만 내가 누구인가. ㅋㅋㅋ 막혀있는걸 뚫고 사용하는 재주는 부릴줄 안다. ㅎㅎ. 그래서 여기서 나의 IT 리소스를 관리하고 개인적인 개발 업무(?)를 하기에 충분하다. 특히 조용해서 개발에 집중할 수 있다. 오늘은 그동안 미뤄뒀던 서버들의 정리 정돈을 하려고 한다. ㅎㅎ
한전에서 이천집 전기요금이 4개월 밀렸다고 단전한다고 해서 사무실서 처리하기 좀 그래서 근처 커피점 와서 처리하며 오랜만에 커피다운 커피 한잔 먹고 있다. 아메리카노를 시켰다. 커피는 이렇게 두툼한 커피잔에 담아 먹어야 한다. 커피를 내릴때 잔도 미리 따듯하게 데워놔야한다. 커피 크레마는 이정도가 정상이다. 오늘 운이 좋은가보다. 진짜 좋은 원두를 사용해 만든 아메리카노 커피라고 할 수 있다. 솜씨 좋은 바리스타인가보다. 사진을 첨부한다. 지금 먹는 커피와 비교해 보시면 나름 좋을 듯 하다.
import android.graphics.Bitmap; /** * BitmapUtil Class * * @Author : mcsong@gmail.com * @Date : Mar 11, 2012 9:59:18 AM * @Version : 1.0.0 */ public class BitmapUtil { /** * Bitmap을 ratio에 맞춰서 max값 만큼 resize한다. * * @param src 원본 * @param max 원하는 크기의 값 * @return */ public static Bitmap resizeBitmap(Bitmap src, int max) { if(src == null) return null; int width = src.getWidth(); int height = src.ge..
안드로이드 앱을 설치하면 기본적으로 HOME 화면에 앱아이콘을 생성하지 않는다.따라서, 앱을 개발할 때 해당하는 코드를 넣어야 한다. 우선 manifest 파일에 다음의 권한을 명시한다. 앱을 실행할 때마다 아이콘을 생성하면 사용자가 짜증을 낼 터이니 다음과 같이 체크하도록 한다.public SharedPreferences shortcutSharedPref; public boolean isInstalled;shortcutSharedPref = getSharedPreferences("what", MODE_PRIVATE); isInstalled = shortcutSharedPref.getBoolean("isInstalled", false); Log.e(LOG_TAG + "installed: " + isIns..
Android ViewPager.OnPageChangeListener 의 이벤트 전달 순서이번에 작업하는 UI는 ViewPager의 0번 탭에서 1번 탭으로 이동할 때 특정한 애니메이션을 실행한다. 일반적인 탭이라면 별 복잡한 처리가 필요하지 않겠지만, ViewPager의 특성 상 0번 탭에서 1번 탭 이동이 swipe일 수도 있고, 탭을 꼭 집어 이동하는 케이스도 있다.실제 케이스는 더 복잡하지만 일단 서두는 이 정도로 해 두고, ViewPager의 상태가 어떻게 바뀌어가는지 알아야 하기에 ViewPager.OnPageChangeListner 를 이용했다.이 클래스는 onPageScrollStateChanged(int state), onPageScrolled(int position, float posi..
안드로이드의 프래그먼트를 잘 설명한 문서http://recipes4dev.tistory.com/58
나는 개발툴을 쉽게 바꾸는 편이 아니다. 왠만하면 쓰던거 쓰는 유형이다. 아마 대부분의 개발자들은 그럴거라 생각한다.그동안 안드로이드 개발 툴로 이클립스를 사용해 왔다. 아마도 이번 SI 프로젝트를 고려하지 않았다면 나는 앞으로도 이클립스를 사용했을 것이다.그 이유는 그동안 내가 해 왔던 일이 안드로이드 앱만을 만드는게 아니고 서버쪽 백엔드 소프트웨어등을 만들기도 하고 심지어는 HTML, Javascript, CSS 등도 함께 다뤄야 했기 때문이다.이번에 안드로이드 스튜디오를 사용해야 할 지도 모르는 입장이 되어 버렸다. 그래서 만들고 있던 앨범북 안드로이드 버전을 안드로이드 스튜디오로 옮겼다.옮기는데는 많이 번거롭거나 에러가 발생하거나 하지는 않고 간단하고 깔끔하게 진행되었다.한 2년 전쯤 안드로이드 ..