전체보기 106

Android - Button & Toast Message

버튼으로 토스트 보여주기 버튼으로 토스트를 보여주기위해선 다음 3가지 단계가 필요합니다. 목차 1. 버튼 생성 2. 클릭시 실행할 함수 설정 및 생성 3. 클릭 함수에 토스트 메세지 설정 1. 버튼 생성 버튼을 생성하는 방법은 두가지 입니다. 첫번째는 간단하게 위젯 목록에 있는 버튼을 클릭후 배치하고싶은 화면으로 드레그합니다. 처음 접하는 분들은 이 방식이 아주 쉬울 것입니다. (단 드레그하여 위치를 지정할때는 Component Tree에 있는 레이아웃이 ConstantLayout 또는 Absolute Layout이어야합니다) 두번째는 화면 아래에 있는 Text 버튼을 누르고 Button을 직접 타이핑하는 것입니다. 화면을 표시하는 xml파일을 사용하면 버튼의 속성을 더 자세히 설정 할 수 있습니다. 만..

Android 2020.01.18

LinearLayout 정의 및 사용법

LinearLayout 정의 및 사용법 목차 LinearLayout의 특성 layout gravity gravity 1. LinearLayout이란 무엇이고 어떻게 사용할까? LinearLayout이란 가장 간단하면서 유용하게 쓰이는 레이아웃입니다. 대표적인 기능은 텍스트, 버튼같은 뷰를 단순히 가로나 세로 순서대로 배치할 때 자주 사용됩니다. 처음 사용할때 리니어 레이아웃에는 반드시 최소 3가지 조건을 명시해주어야 합니다. 1. 높이 2. 너비 3. 배치의 방향 (세로, 가로) 위 사진을 보면 android:orientation 에서 vertical로 설정해서 추가된 3개의 버튼이 수직으로 하나씩 배치가 된것을 볼수 있습니다. 가로로 설정하고 싶다면 vertical 대신 horizontal을 설정하면 ..

Android 2020.01.18

자료구조1 - Selection Sort(선택정렬) & Bineary search(이진탐색)

Selection Sort(선택정렬) & Bineary search(이진탐색) 목차 선택정렬 설명 & 코드 이진탐색 설명 & 코드 알고리즘 코딩을위한 팁 Selection Sort(선택정렬) 설명 선택정렬이란?: 선택 정렬은 전체배열에서 가장 작은 것(또는 큰것)들을 하나씩 선택하여 정렬을하는방법입니다. 선택정렬을위한 단계 주어진 리스트 중에 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 자 그럼 단계를 알았으니 이것을 C언어로 프로그래밍해보겠습니다. 프로그램은 배열의 크기와 배열을 입력받아서 이를 선택정렬후 출력하도록합니다. 시작하기전 어떻게 코딩을 할것인지 각주를 통해 구상을 해봅시다. 1. 배열을 입력받아야하..

자료구조 3 - Transposing Sparse Matrix ( 희소행렬 대칭이동)

Transposing Sparse Matrix 1. 희소행렬(Sparse Matrix)이란? 희소행렬은 행렬안의 값들 중에서 0이외의 값이 희소한 행렬을 의미합니다. 따라서 대부분 0이라면 모든 값들을 표현하지 않고 0이아닌 값과 그 위치만 알고 나머지는 0이다 라고 표현을 할 수 있습니다. 그러므로 평소에 그리던 행렬을 이런 방식으로 표현할 수 있습니다.(변환 방식은 생략) 2. 희소행렬의 대칭이동 위에서 봤던 간단하게 표현된 행렬을 통해서 대칭이동을 하겠습니다. 단순한 대칭이동은 그저 row와 col값을 교환해주면 간단합니다. 그러나 정렬을 유지 하고싶다면 어떻게 해야할까요? 단순 교환은 정렬이 유지되지 않습니다. 따라서 새로운 방법을 궁리해야합니다. 3. 대칭이동과 정렬 우선 기존행렬을 A, 바뀐 ..

Android- 알림(Toast 커스터마이징 & Snackbar)

Toast & Snackbar 토스트메세지 정의 일반적으로 어떤 알림을 주기위해서 화면의 하단에 잠깐 보였다가 사라지는게 토스트메세지입니다. 여기서는 토스트메세지의 기본보다는 좀더 심화방법에 대해서 다루어 보겠습니다. 1.토스트 메세지의 위치설정 예시 코드를 통해서 설명하도록 하겠습니다. 1 2 3 4 5 6 Toast toast=Toast.makeText(getApplicationContext(),"위치가 바뀐 토스트",Toast.LENGTH_LONG); //기본적인 토스트 메세지를 만들어줍니다. toast.setGravity(Gravity.TOP|Gravity.LEFT,200,200); //setGravity( 처음 기준점, x축 offset, y축 offset)을 사용하여 위치조정 toast.sho..

Android 2020.01.18

Android - Alert(알림 창)

Alert 대화 알림상자 설명: 대화알림상자는 흔히 봐왔던 작은 경고창(예, 아니오)를 의미합니다. 이번에는 대화알림상자에서 1. 만드는법 2. 제목, 아이콘 그리고 메세지 내용의 설정 3. 예, 아니오 버튼의 추가와 설정 에 대해서 설명하겠습니다. 직관성을 위해서 코드에 주석을 달아 한번에 설명합니다. 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 32 33 34 //이 함수는 MainActiyity.java 클래스에 포함된 함수입니다. //어디에 쓰이는지 알고싶다면 아래의 예시 코드를 참조하시기바랍니다. public void showMessage(){ final AlertDialog.Builder ..

Android 2020.01.18

Web - Event & EventListener

웹 페이지 화면에서 클릭이나 드래그 등의 동작에 반응을 주고 싶을 때 사용하는것이 이벤트 리스너이다. 여기에서는 간단하게 클릭한 정보를 콘솔에 출력하는 실습을 할 것이다. 이벤트: 이벤트는 브라우저가 받는 활동들을 의미한다. Example : 보통 화면이나 요소를 클릭, 드래그, 휠 조정등 다양한 입력들을 이벤트라고한다. 이벤트 리스너(핸들러): 특정한 이벤트가 일어났을때 해당 이벤트에 대한 반응을 의미한다. Example : 검색버튼을 클릭, 로그인버튼을 클릭 등등 다양하다. 학습을 위해서는 아래의 코드를 통해 브라우저로 실행한뒤 직접클릭해보면서 코드를 이해하는게 좋다 JS 파일 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var el = document.querySelector("..

Web 2020.01.18

Ajax 통신 정의, 필요성, 예제

Ajax 통신 정의 Ajax 통신은 비동기적인 웹 어플리케이션의 제작을 위한 웹 개발 기법이다. *여기서 비동기적인이란 서버에 웹페이지를 요청할 때 정식루트로 데이터가 오가든 말든 서버에 요청을 따로 요구할 수 있다는 것이다. 쉽게 얘기하면 한 페이지에서 어느 부분에 대한 변화를 요청한다면( 예시: 네이버 메인에서 웹툰, 푸드 카테고리 변화) 그 부분에 대해서만 통신하여 결과를 변화로 반영하는 형식이다. Ajax 통신의 필요성 단적으로 말해서 Ajax 통신이 없다면 페이지의 한 부분만 변화시키고 싶어도 항상 서버와 클라이언트사이에는 전체 페이지의 데이터를 주고받아야한다. 이는 중복되는 데이터를 계속주고 받음으로써 대역폭낭비를 야기하고 대역폭 낭비는 곧 금전적 손실과 속도 하향 등 많은 문제를 야기한다. ..

Web 2020.01.18

JSP(Java Server Page) - 정의, 문법

JSP란? JSP(자바 서버페이지)는 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. - 위키백과 위의 정의를 쉽게 설명해보겠습니다. 서버에서 요청에 따라 동적으로 처리하는 건 PHP와 매우 유사합니다. 사실상 자바로 동적 웹을 제어하기 위해서 만들어진것이 JSP입니다. 대부분 서블릿과 JSP를 비교하는데 차이점을 알아두시는게 좋을 것같습니다. 서블릿: 자바를 기반으로 하여 웹페이지를 동적으로 제작함 -> 자바문법을 따라야 하며 HTML태그및 코드들을 일일이 다 출력해줘야함 -> 페이지를 디자인하고 작성하는데 불편함 JSP: HTML 표준에 따라서 작성하고 PHP처럼 중간에 삽입이 가능함 -> 디자인에 효율적 JSP의 실행 구조 JSP는 Tomcat과 같은 내..

Web 2020.01.18

Scope (유효변수)에 대하여

서문 웹 프로그래밍에서 데이터를 다루는 부분은 아주 다양합니다. 예를 들어 페이지 안에서만 하는 경우, 브라우저가 처리하는 경우, 서버가 다루는 경우 등 여러 범위에 퍼져있기 때문에 웹 프로그래밍 전체에서 데이터의 범위를 표현하기위해서 Scope라는 개념을 사용합니다. Scope란? 변수의 유효범위(접근성)과 생존기간을 뜻합니다. 범위의 종류는? 기본적으로 4가지 scope를 사용하여 표현합니다. page Scope < request Scope < Session Scope < Application Scope 순서대로 점차 넓은 범위를 가지게 됩니다. 4가지 Scope는? Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용 Session : 웹 브라우저 별로 변수가..

Web 2020.01.18