프로그래밍 381

Git 자주 쓰는 명령어, 이것만 알아두자!

Git 명령어git init : 깃 폴더 설정 git commit -a -m "메시지" : 로컬에 커밋git remote add origin 주소 : 원격 저장소 추가git status : 현재 상태 확인(커밋이 필요한게 있는지 등등)git add * : 깃에서 관리하는 파일/폴더를 전체 추가 git push origin 리모트브랜치명 : 원격에 푸시git pull origin 원격브랜치명 : 원격 브랜치를 로컬에 가져오기 git checkout -b 브랜치명 : 브랜치를 만들고 해당 브랜치로 전환git branch : 현재 브랜치 확인git checkout 브랜치명 : 해당 브랜치로 전환. 단 브랜치가 존재하여야 함

안드로이드 apk 용량 줄이는 효과적인 방법

>> https://blog.getsigneasy.com/engineering/signeasy-android-app-lighter/ 요약하면 이렇습니다. 디테일은 링크를 통해서 알아보세요! 최소한의 라이브러리 사용하기Google API의 경우에 v6.5 이상 부터 선택적으로 라이브러리를 포함시킬 수 있도록 했으니, 사용하는 종류만 골라서 사용하는 것이 좋다. ProGuard 사용하기ProGuard는 앱에서(라이브러리를 포함) 사용하지 않는 클래스나 메소드, 필드들을 지워주는 효과적인 툴이다.만약에 AppCompat-v7 또는 support library-v4를 사용하고 있다면 ProGuard파일에 아래의 2줄이 없도록 해야한다.-keep class android.support.v4.** { *; }-ke..

자료구조 : 큐(Queue) 이해하고, 구현하기 in C++

Queue 1분만에 파악하기! 큐(Queue)은 선입선출 (First In First Out, FIFO) 자료구조이다. 먼저 넣은 자료가 가장 마지막에 나오는 스택(Stack)과는 반대이다. >> 스택에 대한 포스트를 참조 큐에 자료를 넣는 행동은 Put(또는 Enqueue), 꺼내는 행동은 Get(또는 Dequeue)이라고 하며 큐의 제일 앞에 있는 자료를 Front(또는 Head), 가장 뒤의 자료를 Rear(또는 Tail)라고 한다. 또한 큐가 꽉 차서 더 이상 큐에 자료를 넣을 수 없는 경우를 Overflow라고 하고, 큐가 비어있어 자료를 더이상 Get(Dequeue)할 수 없는 경우를 Underflow라고 한다. Queue, 어디에 쓸까? 'Queue'는 줄, 대기행렬이라는 뜻을 가지고 있다...

자료구조 : 스택(Stack) 이해하고, 구현하기! C++

Stack 1분만에 이해하기 스택(Stack)은 후입선출 (Last In First Out, LIFO) 자료구조이다.즉, 제일 늦게 들어온 데이터가 제일 빨리 나간다는 것이다.스택에 데이터를 넣는 행동은 Push(밀어 넣는다), 꺼내는 행동은 Pop이라고 부른다.그리고 스택의 가장 위 데이터를 가리키는 포인터를 top 이라고 하겠다. Stack은 어디에 사용되고 있을까?자료구조를 배우면서 나는 항상 "왜 이걸 만들까..."라는 생각이 제일 먼저 들었다.배울때 스택이 유용하고 널리 쓰인다는 걸 알 수 있다면 좋겠다고 생각해서 이 섹션을 덧붙였다! 워드 프로세서를 이용하다가 되돌리기 버튼을 누르면 이전에 했던 명령이 취소된다.이것은 워드 프로세서가 프로그램의 스택에 명령을 하나 하나 추가하다가,사용자가 되돌..

안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (4)

PHP 파일 공개PHP 파일은 어떻게 되어있는지 궁금해 하시는 분들이 많아코드를 첨부합니다. 저도 DB & PHP를 배우지를 않아서 인터넷 코드를 긁어서 만든거라 JSON 형태로 만든 아웃풋만 봐주시면 될 듯합니다!Android를 위한 JSON Parser는 구글링해서 쉽게 찾으실 수 있을 것입니다.물론 gson 같은 유명한 라이브러리도 있구요!

Polynomial Operation in C++, 다항식 연산 덧셈/뺄셈/곱셈

자료구조 수업을 들으면서 과제로 다항식 연산을 C++코드로 구현하라는 것이 나왔다.C++ 자체가 처음이라 C++부터 공부를 했는데, 다행히도 내가 배운 C와 Java가 섞여있는 언어라배우는데 그다지 오래 걸리지는 않았다. 다항식 연산에서 termArray를 static으로 쓰는 것이 포인트고,매커니즘은 내가 그린 그림과 같다...(이렇게 그림 그려서 코드 작성하니 훨씬 쉬워지는 듯) 곱셈의 경우 추가적인 옵션 과제였는데,나는 한번 곱셈해서 나온 다항식을 계속해서 더하는 방식으로곱셈을 구현했다. 코드가 조금 길긴하지만 아래에 붙여넣도록 하겠다.(다항식 곱셈에 관해서 조금더 효율적이 있는 방법이 있으신 분은 댓글로 같이 공유해봐요!) 12345678910111213141516171819202122232425..

안드로이드 아름다운 인트로 화면 만들기

안드로이드 앱 시작시 로고가 잠깐 떴다 사라지는 화면을 본 적 있을 것이다.인트로 화면에서는 최근 안드로이드 M에서 등장한 퍼미션을 받을 수도 있을 것이고, 로딩바도 구현할 수 있을 것이다.오늘은 그 인트로 화면을 구현해보도록 하겠다.먼저, 해당 layout을 준비한다. 그냥 linearLayout에 이미지 하나 올린 거라도 괜찮다.그 화면을 activity_intro.xml 라고 가정하자. 다음은 IntroActivity.java 를 생성한다.IntroActivity.javaimport android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; /** * Created by..

안드로이드 앱 성능을 최적화 하는 방법 - (1) Render

다음은 Udacity의 Android Performance 강의를 듣고 정리한 내용이다.안드로이드 앱 성능은 가장 중요하다! 유저들은 앱이 느리거나 1초라도 버벅되면 당장 앱을 삭제할 수도 있다.그건 그 사람들의 인내심이 없기 때문이아니라 앱을 애초에 잘못만든 탓이다.나는 내 앱의 성능을 최적화하고 유저들에게 원활한 사용 경험을 제공하기 위해 강의를 수강했다. 첫번째 섹션은 Render 부분이다.안드로이드 기기의 CPU는 그려야 할 것들을 GPU로 보내GPU에게 이러 이러한 것들을 그리라고 명령한다.GPU는 drawable에 있는 파일들을 래스터화 시켜 그림을 그린다. Overdraw이럴때 발생할 수 있는 성능 낭비는 Overdraw가 있다.글자 그대로, 과잉으로 그림을 그린 것이다.태극기의 태극 문양을..