본문 바로가기

전체 글

(129)
[Android] option menu, context menu, popup menu: Menu 모음 및 사용 안드로이드에서 제공하는 메뉴는 크게 3가지 형태이다. 1. option menu : action bar에 달려있는 기본 메뉴 -> 앱 전체에 작용한다. 액티비티에 종속되기 때문에 액티비티별로 메뉴가 다르게 설정할 수도 있음 2. context menu : view 를 길게 누르면 나타나는 메뉴 -> 현재 선택된 view에만 작용한다. 3. popup menu : view를 클릭하면 나타나는 메뉴 -> 현재 화면에 있는 모든 view에 작용한다. menu 사용하기 1. option menu 크게 두개의 메서드를 오버라이딩해서 구현해야 한다. - onCreateOptionsMenu - onOptionsItemSelected (1) onCreateOptionsMenu: Menu 정의 public boolean..
os system structure operating system structure는 다음과 같다. 사용자가 보는 user mode와 os의 영역인 kernel mode로 구분하고 이 둘을 연결하는 것이 system call interface이다. function call은 사용자가 만든 함수를 호출하는 것이지만 system call은 os가 만든 함수 즉 kernel mode로 진입하게 한다. 윈도우에서는 api라고 부르지만 리눅스는 sys call이다. 그럼 언제 운영체제가 system의 controll을 가져가는가? 1. bootstraping: 전원이 켜질때 전원이 켜질 때는 명령어들을 메모리에 올리고 실행해야 한다. 이때 최초의 명령어 주소가 0xffffff0이다. 전원이 꺼져도 남아있어야 하므로 rom bios에 저장된다. 정상..
2020 상반기 설리번 프로젝트 활동 회고하기 --------------------------------------- 다른 블로그에 썼던 내용을 여기에 옮긴다. 최초 작성 날짜: 2020. 8. 29. 20:46------------------------ 왠지 모르지만 2019년에 번아웃이 왔는데 2020년은 나에게 다른 귀감이 될 무언가가 필요했다 ​ 또 번아웃이 왔다고 아무것도 안하고 쉬기에는 고등학교 3년내내 길러온 노예근성이 말을 듣지 않았다 ​ 학기 중이지만 공부 말고 뭔가 refresh할만한 활동이 필요하다 생각했다 그러다 설리번 프로젝트를 봤다 ​ https://sullivanproject.io/ 설리번 프로젝트 설리번 선생님과 함께, 만들고 싶은 것을 코딩으로 만들어요! sullivanproject.io 이번에 설리번 프로젝트는 기술 ..
[C] 왜 문자열은 포인터와 배열을 섞어서 쓰는 것일까? (두 개의 차이점) C를 programming language structure 적으로 분석해보면 writability가 쓰레기인 언어라서 string을 primitive data로 지원하지 않는다. 하도 욕을 먹어서 C++에서 생긴 것인가? 아무튼 그래서 C에서 string을 표현하고자 할때는 그냥 char를 배열로 나열해서 쓰는 수 밖에 없다. 음 역시 writability 쓰레기! 근데 또 짜증나는 부분은 여기다... 아니 뭐 그래서 string를 배열로 표현하라며 근데 왜 포인터로도 가능한데? 라는 것이다. 이걸 설명하자면 programming language structure적으로 분석할 수 있다. 일단 C에서 array와 pointer는 왔다 갔다리 개발자 마음대로 쓸 수 있음 근데 왜 그럴까? 왜 C에서는 포인..
[swift] swift의 optional을 슈뢰딩거의 고양이라고 생각하는 방법 swift에서 변수가 항상 값이 있을 수도 있지만, 또 값이 없는 경우가 있을 수 있다. 그럴 때는 어떻게 나타내야 할까? A: nil이 값이 없음을 나타내니까 변수에 nil을 넣어보자! 라고 할 수 있다. 그럼 한번 넣어보자 var Value: String = nil 위 코드는 돌아갈까? 정답은 컴파일 오류다. 왜냐하면 우리는 선언할 때부터 swift에게 Value 변수는 String 타입이라고 알려줬는데 swift 입장에서 nil은 용납할 수 없기 때문이다. 그래서 swift는 optional 타입을 제공한다. optional 쉽게 말하면 슈뢰딩거의 고양이다. optional 키워드를 지정함으로써 이 변수에 값이 있을 수도 있고, 없을 수도 있다는 것을 swift에게 알려준다. 마치 상자 안을 관찰하..
[swift] 데이터 타입부터 함수까지 알아보기 swift 언어의 특징 세개를 합쳐서 SEF 으로 말할 수 있음 SAFE, EXPRESSIVE, FAST 여태까지 공부했을 때 safe는 인정하겠는데 expressive는 뭐 그렇다는데? 라고만 말할 수 있겠다.. 딱히 느껴지지 않음 자바스크립트를 별로 좋아하지 않았기 때문일까? 어쨌든 swift 기본 문법을 정리해서 ios 개발 가보자고 1. 변수와 상수 어느 프로그래밍 언어를 배우든지 가장 처음에 하는 것은 변수 선언과 데이터 타입이다. 변수(variable): 값이 변할 수 있음 상수(constant): 값이 변하지 않음. 고정된 값 상수는 let 키워드를 쓰고 변수는 var 키워드를 쓴다. 변수나 상수 이름을 써주고 반드시 콜론을 쓰고 띄워써야함 그 뒤에 데이터 타입을 써주면 된다. // (let..
Android Studio로 기분 통계 일기 앱 만들기 1. TODAY WRITE 안드로이드 버전으로 만든 기분을 종합하여 비율별로 통계를 내는 일기 앱. 내가 쓸려고 만들었지만 생각해보니 나는 ios 유저라서 못쓰게 되었고 공기계에서만 쓰는 슬픈 사실 날씨와 위치정보를 받아와서 자동으로 기록해주고 요일 별 기분과 비율을 통계 도표를 사용해서 시각적으로 제시함 총 2주 정도 걸린 것 같은데 깃헙 commit이랑 push 가 귀찮아서 안했더니 처음이자 마지막 commit&push 가 되었다 Tools Android Studio API 30 Weather API xml parsing GPS location SQLiteDatabase 그림판 (무려 직접 디자인...) 2. Screenshots 3. APP DESIGN 디자이너를 못구해서 결국 직접 해야하는 상황이..
[오류 일기] android.view.InflateException: Binary XML file line ___ - bottomnavigationview inflate 오류 하단 탭 bottomnavigationview를 사용하던 와중에 갑자기 오류가 났다 디버그 실행을 하니까 menu의 xml 파일에 문제가 있는 걸로 보였다 그래서 여러 번 코드를 추가하고 삭제하는 과정을 통해서 실험을 몇번 했는데 item에 onclick 속성이 들어가면 오류가 뜨는 것이었음 구글 안드로이드 개발자 문서를 좀 찾아봤는데 ?? 이게 무슨 소리지 onClick에 메서드를 쓰라고? 해서 메뉴 리소스 문서를 더 찾아봤다 메뉴 리소스 | Android 개발자 | Android Developers button 때문에 onClick은 true, false만 해두고 처리는 Mainactivity에서 하는 줄 알았는데 onClick에는 실행될 메서드를 쓰는 거였다 이거 때문에 꽤나 고생했네 하.. 결론:..