전체보기111 NullPointerException이 발생하는 이유 본 글은 oracle의 자료에서 발췌했으며, 추후 NullPointerException을 겪으면 업데이트 하겠습니다. NullPointerException은 RuntimeException을 확장한다. - 응용 프로그램 null이 객체가 필요한 경우 사용하려고 할 때 발생한다. - null 객체의 인스턴스 메서드를 호출한다. - null 객체의 필드에 액세스하거나 수정한다. - null의 길이를 배열인 것처럼 취한다. - null을 예외처리 한다. - null을 통해 동기화 한다. 2020. 8. 11. [VS Code] Integrated Terminal Terminal keybindings 다음은 통합 터미널 내에서 빠르게 탐색 할 수있는 키보드 단축키다. 터미널 보기 및 켜기 : Ctrl +` 터미널 인스턴스 추가 (새 터미널 만들기) : Ctrl + Shift +` 위로 스크롤 : Ctrl + Alt + PageUp 아래로 스크롤 : Ctrl + Alt + PageDown 페이지 위로 스크롤 : Shift + PageUp 페이지 아래로 스크롤 : Shift + PageDown 맨위로 스크롤 : Ctrl + Home 아래로 스크롤 : Ctrl + End 터미널 지우기 : 할당되지 않음 복사 및 붙여넣기 - Linux : Ctrl + Shift + C 및 Ctrl + Shift + V - macOS : Cmd + C 및 Cmd + V - Windows .. 2020. 8. 6. <input> 요소의 속성 지난 글에서 의 유형에 대해 알아봤는데, 이번 글에서는 을 컨트롤하는 속성에 대해 알아보고자 한다. 의 유형 input 요소는 웹 기반 양식에서 사용자의 데이터를 받을 수 있는 대화형 컨트롤을 생성한다. input 요소는 다양한 종류의 입력 데이터 유형과 컨트롤 위젯이 있어, HTML에서 제일 강력하고 복잡한 요 hyoni-k.tistory.com 요소의 속성 input에는 다음과 같이 다양한 속성들이 있다. 다양한 속성 중에서도 조금 더 알아볼 속성은 autocomplete과 input:focus이다. 사용자가 텍스트를 입력하기 위해 입력 필드를 클릭하면 아래 이미지에서 보이는 것처럼 선이 생기거나, 자동완성을 허용한 상태로 입력 필드가 뜬다. 이러한 특성을 제어하고자 한다면 다음의 속성을 사용해보자... 2020. 7. 27. 레이아웃 속성과 배치 : 버튼의 영역과 위치 설정하기 레이아웃 속성을 이용하여 버튼의 영역과 위치를 지정해보자. 1. 우선 버튼을 둘러싼 영역을 선택하고 레이아웃의 너비와 높이를 설정해보자. match_parent을 선택하면 부모의 크기인 화면를 기준으로, wrap_content을 선택하면 컨텐츠인 버튼들의 크기에 맞추는 것을 확인 할 수 있을 것이다. 2. 다음은 특정 버튼을 클릭하여 LinearLayout 속성을 지정해보자. layout_gravity 에서 위치를 선택하면 1번에서 지정한 영역안에서 배치를 하게된다. 1에서 match_parent 했기 때문에 버튼을 bottom하니 아래의 그림처럼 내려갔다. 3. 버튼을 클릭한 뒤 LinearLayout 속성의 layout_weight 의 크기를 키우면 여백에서의 가중치를 늘린다. 따라서 여백을 확인해가.. 2020. 7. 23. 레이아웃 리소스 추가 : Layout Editor로 버튼 추가하기 1. res 폴더에 Layout XML File 추가 2. 추가하면 다음과 같이 Layout Editor가 뜬다. (상단우측의 모드를 선택해가며 사용하면 된다.) 3. 버튼을 드래그하여 스크린에 넣으면 버튼이 추가된다. 좌측 메뉴에 LinearLayout을 클릭하면 우측에 속성 창이 뜬다. (LinearLayout는 수평이 기본 속성인데 속성 창에서 수직으로도 설정 가능하다.) 2020. 7. 22. Activity에 여러개의 뷰를 추가 (코드로 버튼 추가하기) Activity가 창의 틀이라고 한다면, 유리창에 해당하는 윈도우가 View이다. 뷰에 여러개의 버튼을 넣어볼텐데, 우선 (Layout Editor를 쓰지 않고) 코드를 작성하여 버튼을 추가해보자. Activity에 여러개의 뷰를 추가하려면 ViewGroup을 이용한다. ViewGroup에는 여러가지의 레이아웃 기법이 있는데, 하나를 골라 사용한다. LinearLayout으로 버튼을 추가해보면 아래의 예처럼 작성할 수 있다. 이렇게 코드로 작업 하지 않고, 레이아웃 리소스를 추가하는 방법을 써서 보다 쉽게 버튼을 만들 수 있다. 미리볼 수 있는 Layout Editor를 활용하여 버튼을 추가하고 위치를 지정해보는 것은 다음 글에서 다루도록 하겠다. 2020. 7. 22. 밀도로부터 독립적인 DP(DIP) DIP (Density-Independent Pixels) 기기의 물리적인 디스플레이 해상도에 영향을 받지 않고 독립적으로 크기를 지정할 수 있도록 하는 가상적 Pixel의 단위이다. dp 또는 dip를 단위로 지정하면, 다양한 크기의 디바이스 스크린이지만 동일한 비율로 출력할 수 있다. 즉, 밀도 독립성은 픽셀 밀도의 편차를 줄인다. DIP는 160DPI(Dots per inch, 픽셀 밀도: 화면의 실제 영역 내에 있는 픽셀의 수)의 디스플레이 해상도를 기준으로 한다. (위키피디아) Android는 밀도 독립성을 실현하도록 돕기 위해 밀도로부터 독립적인 픽셀(dp 또는 dip)을 측정 단위로 제공한다. 따라서, 레이아웃 단위는 픽셀(px)이 아닌 밀도로부터 독립적인 픽셀(dp 또는 dip)을 써야한다.. 2020. 7. 22. 안드로이드 스튜디오 설치와 가상 머신 만들기 - AVD와 Activity 설치 안드로이드 스튜디오를 접속하여 상단의 버튼을 눌러 다운로드 한다. 다운로드한 .exe 설치 파일을 실행하고 모두 next버튼을 누른다. 누르다보면 다크모드 등의 테마를 선택할 수 있으니 선택 후 (다크모드를 선택 안할경우 모두 다음 버튼) 계속해서 다음 버튼을 누르고 설치를 완료한다. AVD Android Virtual Device(AVD)는 Android Emulator에서 제작 중인 앱을 시뮬레이션을 할 수 있다. AVD Manager는 Android 스튜디오에서 실행할 수 있는 인터페이스로 AVD를 만들고 관리한다. 가상 기기 만들기 우측 상단의 Devices를 클릭하여 AVD Manager를 열고 디바이스를 추가한다. 추가할 디바이스의 해상도를 설정 한 후 다음 버튼을 클릭한다. Recomm.. 2020. 7. 21. 코틀린의 코드 스타일 코틀린(Kotlin)은 2011년에 JetBrains가 공개한 JVM에서 동작하는 프로그래밍 언어이다. 아래는 간략한 출력 코드인데, 자바스크립트나 자바를 썼던 분이라면 다음과 같은 차이를 확인 할 수 있다. - 세미 콜론은 표기하지 않는다. - 코틀린에서 출력 코드는 pintlin(" ")으로 작성한다. - 코틀린에서 변수는 var로, 상수는 val로 선언한다. 자바와 마찬가지로 상수(val)는 값을 변경 할 수 없다. val aa: Int = 20 // val 상수명: 자료형 = 값 - 함수는 (자바의 메서드에 해당) 다음과 같이 선언한다. fun 함수명(str: String) { // 자바와 다르게 자료형은 뒤에 기재 println(str) } Kotlin 코드 스타일 그 외의 사항으로 코틀린 프로.. 2020. 7. 21. HTML Text Content Text content HTML 텍스트 콘텐츠를 사용하여 여는 와 닫는 태그 사이의 블록이나 컨텐츠 구획을 정리할 수 있다. 해당 콘텐츠의 목적이나 구조 판별하는데 사용하기 때문에 접근성과 SEO(검색 엔진 최적화)에 중요하다. 출처 MDN 텍스트 구조와 목록을 만드는 등의 방법을 알고 싶다면 아래를 참고 HTML text fundamentals That's it for now! This article should have given you a good idea of how to start marking up text in HTML, and introduced you to some of the most important elements in this area. There are a lot more sem.. 2020. 7. 17. HTML 컨텐츠 요소와 <article> Content sectioning 컨텐츠 구획 요소를 사용하면 문서의 콘텐츠를 논리적인 조각으로 체계화할 수 있다. 요소는 문서, 페이지, 애플리케이션, 또는 사이트 안에서 독립적으로 구분해 배포하거나 재사용할 수 있는 구획을 나타낸다. (사용의 예로 게시판, 매거진, 뉴스 기사 등이 있다.) 하나의 문서가 여러 개의 을 가질 수 있다. 예컨대 사용자가 스크롤하면 계속해서 다음 글을 보여주는 블로그의 경우, 각각의 글이 요소가 되며, 그 안에는 또 여러 개의 이 존재할 수 있다. 요소의 특성과 사용 : 전역 특성(Global attributes)이 있어 HTML에서 전역으로 사용할 수 있는 특성이 있다. 각각의 을 식별할 수단이 필요하며, 주로 제목(~) 요소를 의 자식으로 포함하는 방법을 사용한다. 요.. 2020. 7. 17. cmd (Command / 명령 프롬프트) 명령어 모음 cmd / 명령 프롬프트 : Windows에 기본으로 제공되는 프로그램 cmd.exe 켜기 및 시작 : 윈도우 + R → 실행 창에 'cmd' 입력 후 Enter 명령어 cd(Change Directory/작업 디렉토리 이동 명령어)등으로 explorer.exe 없이 파일들을 탐색 - 홈디렉토리로 이동 : cd - 최상위 root 디렉토리(/)로 이동 : cd / - 현재 디렉토리 경로 확인 : cd . - 현재 디렉토리의 파일 확인 : ls - 한단계 상위 디렉토리로 이동 : cd .. color등의 명령어로 간단히 프롬프트 디자인 변경 화면 최대화 : Alt+Enter (윈도우 XP 이하와 윈도우 10에서 가능) 명령 프롬프트의 명령어 종류 ASSOC 파일 확장명 연결을 보여주거나 수정합니다. ATT.. 2020. 7. 16. animation과 @keyframes CSS의 animation은 스타일과 애니메이션을 적용하고, 애니메이션의 중간 상태는 @keyframes을 이용해서 변화를 준다. animation MDN animation @keyframes @keyframes는 애니메이션 중간중간의 특정 지점들을 거칠 수 있는 키프레임들을 설정함으로써 CSS 애니메이션 과정의 중간 절차를 제어할 수 있다. 브라우저가 자동으로 애니메이션을 처리하는 것 보다 더 세밀하게 중간 동작들을 제어할 수 있다. MDN keyframes 다음은 animation과 @keyframes를 이용해 간단히 만들어본 애니메이션이다. 360도 무한 회전하는 애니메이션 예제 : 2020. 7. 15. background-size와 attachment : 페이지 스크롤 시 배경 이미지 고정 background-size 배경 이미지의 사이즈를 지정한다. background-size에 대한 자세한 내용은 여기를 참고 background-attachment 배경 이미지의 위치가 고정되어 있는지의 여부를 지정한다. scroll : 내용을 스크롤하면 배경 이미지는 고정된 상태로 스크롤 된다. fixed : 뷰포트(현재 문서가 전체 화면 모드로 표시되는 경우, 화면)를 기준으로 고정된다. 요소에 스크롤 메커니즘이 있어도 배경은 내용과 함께 움직이지 않는다. local : 요소의 내용을 기준으로 고정된다. 요소에 스크롤 메커니즘이있는 경우 배경은 내용과 함께 스크롤된다. 그리고 배경의 이미지 영역과 위치 지정 영역은 내용의 스크롤 가능 영역에 상대적이다. 즉, 아래 두가지 코드는 다르게 표현된다. ba.. 2020. 7. 14. background-position : 배경 이미지 위치 background-position은 이미지나 영상을 배경으로 둘 때, 위치를 지정하는 속성이다. background-position initial : 기본값으로 둘 때 inherit : 부모 요소의 속성값을 상속받고자 할 때 top, right, bottom, left, center, length(길이 단위), percentage(%) .. CSS 속성마다 배경 이미지의 수평 및 수직 위치를 정할 때 아래의 속성을 사용한다. position-x는 수평 위치를, position-y는 수직 위치를 설정하며, 설정한 레이어를 기준으로 위치하게 된다. background-position-x background-position-y 적용 예시 : 2020. 7. 14. 이전 1 2 3 4 5 6 7 8 다음 반응형