전체보기

· Basic/Java
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 절차지향언어 지루한 설명보단 간단한 예시를 통해 빠른 이해를 도모해보겠습니다. 자동차를 생산하기 위해 엔진을 만들고, 차체를 만들고 바퀴를 만드는 일련의 순서가 있다고 생각해봅시다. 이 순서는 서로 분리가 되면 안되고 순서도 틀려서는 안된다고 합니다. 이처럼 절차 지향언어는 어떠한 절차에 따라서 순차적인 처리가 중요시되며 프로그램 전체가 유기적으로 연결되는 프로그래밍 기법입니다. 이는 컴퓨터의 작업 방식과 비슷하기 때문에 객체 지향언어보다 빠르게 처리되어 시간적으로 유리했습니다. 객체지향언어객체 지향 언어도 위와 같이 예시를 들어 설명하겠습니다. 자동차를 생산할 때, 바퀴 제작, 차제 제작, 엔진 제작을 순서대로가 아닌 따로 진행하여 조립할 때만 ..
· Basic/C
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 C언어에서 많은 분들이 포인터에서 장벽을 느끼곤 합니다. 필자도 마찬가지이므로 포인터를 내 것으로 만들기 위해 '난 정말 C PROGRAMMING을 공부한 적이 없다구요!' 책을 참고하여 글을 쓰도록 하겠습니다. 포인터란? 포인터에 대해 물으면 대부분 '주소 값을 담고 있는 변수'라고 알고 있을 것 입니다. 일단은 90점인 답 입니다. 이유는 하단부에서 설명하도록 하겠습니다. 메모리의 주소체계 질문 1 '주소 값 하나가 가리키는 메모리 공간의 크기는?' 예를 들어 0xff2314 과 같은 주소 값이 가리키는 메모리 공간의 크기는 얼마냐를 물어보는 것 입니다. 이것은 생각할 것도 없이 약속이므로 1 바이트 크기의 주소 공간을 가집니다. 질문 2..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 안드로이드에서 사용하는 이미지들의 모양과 크기는 다양합니다. 많은 경우 이미지들은 User Interface에서 요구하는 것보다 큰 크기를 가지고 있죠. 예를 들어 '갤러리' 어플리케이션은 당신의 카메라로부터 당신의 디바이스보다 높은 해상도의 사진을 가져와 사용하게되죠. 당신은 주어진 메모리가 한정적이기 때문에, 이미지를 메모리에 로딩할 때 더 낮은 해상도의 이미지를 로딩해야하는 경우가 많습니다. 낮은 버젼의 이미지는 UI 컴포넌트의 사이즈와 맞춰져 디스플레이 되어야합니다. 고해상도를 사용하게 되면 오버헤드가 발생하게 되는 것 입니다. 이번 장에서는 메모리가 작은 서브 이미지를 로딩해 어플의 메모리 제한을 초과하지 않는 방법을 배워보도록 하겠..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 이전에 Thread, Handler, Looper를 통한 Background 처리에 대해서 알려드린 적이 있었는데요, 이번에는 Handler의 사용법을 알아보고자 합니다. Handler에 대한 개념을 잘 모르시는 분은 앞 장을 먼저 보고 오시길 바라겠습니다. 단독 사용한 Handler 저번 포스팅에서 설명드린 간단한 Handler 사용법입니다. 기본 생성자를 통해 Handler를 생성하면, 생성되는 Handler는 해당 Handler를 호출한 스레드의 MessageQueue와 Looper에 자동 연결된다. public class MainActivity extends AppCompatActivity { Handler mHandler = null..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 간단하게 다른 액티비티에 있는 함수를 호출하는 방법을 알아보겠습니다. 방법 [MainActivty.java] public class MainActivity extends TabActivity { public static Context mContext; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab); setupTabs(); mContext = this; } public void method1( ) { } } 위와 같이 public static 으로 mContext를 선언..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 저번 장에서 ListView와 비교하여 RecyclerView에 대하여 알아보았습니다. 이번 장에서는 실제로 RecyclerView를 어떻게 사용할지 예제를 통해서 알아보도록 하겠습니다. 아래와 같이 Linear, Grid, StaggeredGird 형태의 레이아웃으로 유연하게 쉽게 변형할 수 있고, ViewHolder 패턴을 강제함으로서 성능 향상을 이룰 수 있으며, 간단하게 Animation을 사용할 수 있는 RecycleView + CardView 예제를 설명하도록 하겠습니다. 라이브러리 추가 File - Project Structure - Dependecies 에서 + 버튼을 눌러 RecycleView와 CardView를 추가해줍니다...
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 첫 번째로 애플의 스위프트 언어의 개발 도구인 Xcode 설치와 설치한 Xcode를 간단하게 둘러보도록 하겠습니다. 설치방법 설치 방법은 매우 간단합니다. 여러분의 App Stored에서 Xcode를 입력해서 설치하세요. Xcode 둘러보기 설치한 Xcode를 실행시키면 이 화면이 나오게 될 것입니다. Get started with a playground : Swift의 언어 연습장Create a new Xcode project: 새로운 Xcode 프로젝트 만들기Check out an existing project : 이미 만들어진 원격 저장소의 협업 프로젝트를 불러오기 처음 시작이므로 Create a new Xcode project를 눌러줍..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 안드로이드는 진화하는 플랫폼입니다. 5.0(롤리팝) 버전이 ListView 보다 유연하고 성능이 향상된 RecyclerView와 함께 발표되었습니다. 구글에서 밀고 있는 Material Design의 일환으로 List를 표시해주는 ListViewd, GridView도 Material Design을 따라야 했습니다. 하지만 기존의 ListView는 커스터마이징 하기에 힘들었고, 구조적인 문제로 성능상의 문제도 있었습니다. RecyclerView는 ListView의 문제를 해결하기 위해 개발자에게 더 다양한 형태로 커스터마이징 할 수 있도록 제공되었습니다. RecyclerView와 ListView의 가장 큰 차이점은 Layout Manager와,..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 오늘은 자바와 안드로이드에서 사용할 수 있는 Reference Object 에 대해서 설명해보도록 하겠습니다. Reachability GC(Garbage collector)는 reference의 강약에 따라 도달 가능한 객체를 제외하고 모두 쓰레기로 간주합니다. GC의 관점에서는 객체를 참조가 가능한 객체와 참조할 수 없는 객체로 봅니다. 즉, 요 놈을 내가 다시 사용할 수 있냐, 없냐를 보고 없으면 쓰레기 통으로 넣어 버리는 것이죠. Reference Object는 참조의 강약에 따라 Strong Reference, Soft Reference, Weak Reference, Phantom Reference(생략) 으로 나누고 순서대로 참조가 ..
· Basic/Java
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 이번에는 예외 클래스의 계층구조와 Exception 클래스에서 Runtime Exception 클래스를 제외한 Checked Exception 과 RuntimeException인 UnChecked Exception에 대해서 알아보도록 하겠습니다. 예외클래스의 구조 위의 그림은 예외클래스의 구조입니다. 모든 클래스의 조상은 Object 클래스이므로 Exception과 Error 클래스 역시 Object 클래스를 상속 받고 있습니다. Throwable 클래스를 상속 받는 클래스는 Error와 Exception이 있는데 모든 예외의 최고 조상 클래스는 당연히 Execption 입니다. Error 자체는 시스템 레벨의 심각한 영향을 주는 에러이기 때..
에반황
'분류 전체보기' 카테고리의 글 목록 (11 Page)