티스토리

will come true
검색하기

블로그 홈

will come true

bada744.tistory.com/m

2021.08.01 ~ 2023.05.01 프로그래밍 공부 기록용. Android / Kotlin / Java / Algorithm

구독자
7
방명록 방문하기
공지 [블로그 이전 공지] Velog로 이⋯ 모두보기

주요 글 목록

  • 벨로그(Velog)로 블로그 이전합니다. 2019.11 ~ 2021.08 : 네이버 블로그 2021.08 ~ 2023.05 : 티스토리 2023.05 ~ : 벨로그 티스토리에 게시글 작성 기능에 불편함이 있어서 앞으로 개발관련 공부 및 오류 해결법 등은 벨로그에 게시될 에정입니다. 벨로그 바로가기 haehyunlee (haehyunlee) - velog WIL 2주차 개인 회고 (20230529) 📆 회고 기간 : 05/23 ~ 05/29 👍 Liked (좋았던 점) 오버플로우 예제에서 내가 풀이한 답안이 강사님께서 공개해주신 답안과 거의 흡사했다! 예제 풀이의 경우 나중에 공 velog.io 공감수 0 댓글수 2 2023. 6. 1.
  • WIL 1주차 개인 회고 (20230522) 회고 기간 : 05/15 ~ 05/21 개인 회고에 대해서 여태까지 학습한 내용을 복습하고 요약정리하는 건 해왔으나, 이번에 좋은 기회로 회고 특강을 듣게 되어 학습 내용을 정리하는 것과 '회고'는 다르다는 걸 알게되었다. 내가 해오던 게 단순히 사실(Fact)만을 나열해오던 거라면 회고는 이 사실(Fact)에 기분(Feelings)과 깨달음(Finding)을 추가하는 것이었다. 회고(리뷰) 각 개발주기와 프로젝트가 종료된 시점에 팀원들이 함께 모여 정해진 기간 동안 수행한 업무를 돌아보는 것. 프로젝트를 진행하는 동안 잘한 점과 아쉬운 점을 찾아내고, 이를 토대로 개선을 위한 아이디어와 구체적인 액션 플랜을 도출하기 위한 과정이다. 그러면 매일매일 그 날 학습한 내용과 느낌점 등을 바로 정리하는 게 좋.. 공감수 0 댓글수 0 2023. 5. 23.
  • [Kotlin] 추상클래스 vs 인터페이스 (2023-05-18 초안 -> 수정 예정) 추상클래스를 상속받는 추상클래스⭐ 개념적 분류를 위함. Animal 추상 클래스를 상속받은 MarineAnimal 그러나 아래로 Dolphine, Shark 등 자식 클래스를 더 만들어서 구현화할 예정이기 때문에 MarineAnimal이 최종 자식 클래스가 아니기 때문에 한 번 더 추상클래스 abstract로 선언해준다. 이로 인해 추상 클래스인 MarineAnimal 만으로드는 객체 생성 불가능하다. 만약 MarineAnimal 을 일반 클래스로 선언할 경우 상속받은 Animal 추상클래스의 미완성 추상메서드들을 반드시 MarineAnimal 클래스 내에서 구현해놔야 한다. (추상 메서드의 강제성) 하지만 어차피 해당 추상메서드들은 Dolphine, Shar.. 공감수 0 댓글수 0 2023. 5. 18.
  • [Kotlin] 변수, 초기화, lateinit, lazy, 데이터 타입, Any, Unit, Nothing 변수 var (variable) : 초깃값이 할당된 후에도 값을 바꿀 수 있는 변수 val (value) : 초깃값이 할당되면 바꿀 수 없는 변수 (val을 쓸 수 있는 상황에서는 되도록 val을 많이 사용하길 권장) var 변수명:타입 = 값 변수명 뒤에 콜론(:)을 추가해 타입을 명시할 수 있는데, 대입하는 값에 따라 타입을(타입 추론)할 수 있을 때는 생략할 수 있다. 다만 메서드를 호출해서 반환값을 대입하는 경우에는 되도록 참조변수에 반환 타입을 지정해주는 게 좋다. 동료 개발자들이 이 변수가 무슨 타입인지 직관적으로 확인할 수 있으니까. 초기화 최상위에 선언한 변수나 클래스의 멤버 변수는 선언과 동시에 초깃값을 할당해야 한다. 함수 내부에 선언한 지역 변수는 선언과 동시에 초깃값을 할당하지 않아.. 공감수 1 댓글수 0 2023. 5. 18.
  • [Kotlin] Kotlin 코드와 Java 코드 코틀린 코틀린은 결국 최종적으로는 자바 언어로 변환되어서 JVM에 의해 실행되지만, 코틀린에는 자바에서 지원하지 않는 기법을 제공한다. 그렇기 때문에 자바보다 간결하고 편하게, 좀 더 직관적으로 코드를 작성할 수 있다. 코틀린은 자바와 전혀 다른 언어가 아니며, 자바 코드를 편하게 쓰기 위한 확장 언어라고 생각하면 된다. 자바로 안드로이드 앱을 개발할 수 있다. 코틀린은 자바의 가상머신인 JVM에 기반을 둔 언어이다. 즉, 코틀린으로 작성한 프로그램은 JVM에서 실행할 수 있다. 개발자는 코틀린으로 코드를 작성해도, 코틀린 컴파일러(kotlinc)가 .kt 파일을 컴파일하면 자바 클래스가 만들어지고 이를 JVM이 실행한다. 코틀린은 안드로이드 앱 개발자가 많이 사용하지만 iOS앱, 서버쪽 애플리케이션도 .. 공감수 1 댓글수 0 2023. 5. 18.
  • [Kotlin] UnsupportedClassVersionError / A JNI error has occurred 에러 해결 방법 오류 오류가 날리 없는 간단한 코드를 실행하는데 아래와 같은 에러메시지가 출력된다. C:\Users\bada7\.jdks\corretto-1.8.0_372\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.1\lib\idea_rt.jar=56634:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\bada7\.jdks\corretto-1.8.0_372\jre\lib\charsets.jar;C:\Users\bada7\.jdks\corretto.. 공감수 0 댓글수 0 2023. 5. 11.
  • [Java] 직렬화 (Serialization) 직렬화(Serialization) 객체를 데이터 스트림으로 만드는 것. 객체에 저장된 데이터를 스트림에 쓰기(write)위해 연속적인(serial) 데이터로 변화하는 것을 말한다. 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것을 역직렬화(deserialization)라고 한다. 객체 (개발용) → 직렬화 (데이터를 저장한다) 스트림 (데이터 보관용) ← 역직렬화 (저장된 데이터를 읽어들인다) 객체를 저장하는 방법 실제로 객체는 클래스에 정의된 인스턴스 변수의 집합일 뿐, 클래스변수나 메서드는 포함되지 않는다. 인스턴스 변수는 인스턴스마다 다른 값을 가질 수 있어야하기 때문에 별도의 메모리 공간이 필요하지만 메서드는 변하는 것이 아니라서 메모리를 낭비해 가면서 인스턴스마다 같은 내용의 코드(메서드.. 공감수 0 댓글수 0 2023. 5. 9.
  • [Java] 이클립스 콘솔(Console)창에 예외, 오류 문구가 표시되지 않는 문제 해결 문제상황 예외처리 테스트 과정 중 일부러 오류를 발생시켰음에도 콘솔창에 빨간색 예외/에러 메시지가 표시되지 않는다. 아래 코드는 객체의 아이디를 담지 않고 있는 null 변수에서 객체의 메서드를 호출하고 있기 때문에 본래라면 NullPointerException이라는 런타임 에러가 발생해야 한다. 해결 이 문제를 겪고있는 사람들은 대부분 프로그램을 실행하면 아래와 같이 디버그(Debug) 탭이 활성화 되고 있을 것이다. 다른 IDE의 단축키와 착각해서 혹은 디버깅과 실행의 차이점을 잘 모르는 상태에서 습관적으로 [F11] 단축키로 코드를 실행하는 사람들이 많은데 [F11]은 실행(Run)이 아니라 디버그(Debug) 단축키이다. 코드를 실행(Run)하는 단축키는 [Ctrl + F11] 이다. NullPo.. 공감수 1 댓글수 0 2023. 5. 4.
  • [Java] 변수, 상수, 자료형, printf() 변수 (variable) 단 하나의 값을 저장할 수 있는 메모리 공간 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다. 변수가 '값을 저장할 수 있는 메모리 공간'이라는 하드웨어적 의미이면, 변수명은 이 메모리 공간에 이름을 붙여주는 것이다. 변수는 결국 값을 저장하고 그 값을 다시 읽어들여 사용하기 위한 것. 일정 메모리 공간을 할당한 후 다시 이 공간에 접근하기 위해서는 식별자가 필요하다. 변수의 초기화 변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것이다. 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 쓰레기값이 남아있을 수 있기 때문에 초기화 과정은 필수이다. 타입의 같은 경우 콤파 ','를 구분자로 여.. 공감수 0 댓글수 0 2023. 4. 28.
  • [Java] Java Perspective / 개발 목적에 맞춰 인터페이스 바꾸기 Perspective란? [사전적의미] perspective : 관점, 시각(viewpoint) [이클립스] perspective 각 개발환경에 필요한 프로젝트 매니저, 뷰, 윈도우 창 등을 템플릿 형태로 지정해둔 것이다. 개발목적에 따라 perspective를 임의로 선택할 수 있다. 예) Perspective를 'Java'로 설정하면 해당 목적에 맞춰 Java 개발환경에 필요한 기본 윈도우 창들만 화면에 표시된다. Java Project를 생성하면 Perspective가 자동으로 'Java'로 설정된다. 이클립스 상단 메뉴바 > [Open Perspective] 클릭 > [Open Perspective] 윈도우 활성화 예시 A. [Perspective : Java] 선택시 활성화되는 창 (인터페이스).. 공감수 0 댓글수 0 2023. 4. 27.
  • [Java] 이클립스 The selection cannot be launched, and there are no recent launches 에러 해결 에러 The selection cannot be launched, and there are no recent launches = 선택 항목을 시작할 수 없으며 최근에 시작한 항목이 없습니다. 위 에러 메시지는 이클립스에서 자바 프로젝트를 실행(Run)할 때, 정확히는 이클립스 설치 후 최초로 프로젝트를 실행할 때 나타나는 에러이다. 대부분의 에러는 영문 에러메시지를 한국어로 번역해보면 원인이 바로 나온다. 문장에서 알 수 있듯이 현재 코드가 아니라 '최근에 시작한 항목'을 실행하려 시도하고 있다. 즉, 프로젝트를 실행할 때 현재 보고있는 프로젝트가 아니라 가장 최근에 실행되었던 프로젝트를 자동으로 실행하고 있는 것이 원인이다. 해결 [Window] > [Preferences] > [Run/Debug > .. 공감수 0 댓글수 0 2023. 4. 27.
  • [Java] 이클립스 중단점(break point)에서 안멈추는거 해결 에디터 좌측 라인번호 옆을 클릭하면 중단점(breakpoint)를 걸 수 있고, 이렇게 중단점을 설정해둔채 디버그(Debug) 하면 해당 라인에서 코드 실행이 멈추고 중간값을 살펴볼 수 있다. 중단점을 걸었음에도 코드가 멈추지 않고 끝까지 실행된다면, 아래와 같이 'Skip All Breakpoints' 설정을 꺼주면 된다. 1. 우측 상단 [Open Perspective) 클릭 2. [Debug] 선택 > [Open] 화면 인터페이스를 디버그용으로 전환한다. 3. [Breakpoints] > [Skip All Breakpoints] 클릭 4. 라인번호와 Breakpoints 탭의 중단점 위에 그려져 있던 빨간 취소표시(/)가 사라진다. 이제 다시 디버깅하면 해당 라인에서 코드가 제대로 멈출 것이다. 공감수 0 댓글수 0 2023. 4. 27.
  • 동기(Synchronous)와 비동기(Asynchronous) 동기, 비동기 라는 단어는 데이터 통신 및 네트워크 분야를 공부하다 보면 등장하는 개념이다. 둘 다 데이터를 요청하는 쪽과 요청받은 데이터를 처리·전달하는 쪽 간의 데이터를 주고받는 방식을 일컫으며, 이 데이터 전달 방식의 차이에 따라 동기/비동기가 나뉜다. 두 단어의 사전적 정의는 아래와 같다. 동기(synchronous) 동시 발생[존재]하는 실시간의 (강의가 따로 녹음되거나 미리 올라와 있는 형태가 아니기 때문에 실시간으로 참여해서 운영되는 형태의) 주기적인 운동을 하는 개체들이 서로 영향을 주고받거나 받게 됨으로써, 동일한 주기를 갖게 되는 것. 그러한 현상을 동기현상이라 하고, 동기된 상태를 동기화 되었다고 한다. [통신] 주로 서로 다른 시스템이나 네트워크에서 클럭 주파수나 비트, 프레임, 워.. 공감수 0 댓글수 0 2022. 7. 27.
  • 가산/불가산 명사 영어-한국어에서 명사를 바라보는 관점의 차이 한국어 : 명사의 개념 자체 영어 : 명사의 개수 단어를 들었을 때 1개의 이미지를 떠올릴 수 있는 것 => 셀 수 있는 명사 (Countable noun, [C]) 떠올릴 수 없는 것 = 셀 수 없는 명사 (Uncountable noun, [U]) e.g.) book, chair, desk / water, importance, value 한국어 영어 많은 책 many books 많은 물 much water 적은 책 few books 적은 물 little water 문장에서 사용되는 뉘양스, 떠오르는 이미지에 따라 하나의 명사가 Countable noun, Uncountable noun 두 가지로 기능할 수 있다. The building is built of .. 공감수 0 댓글수 0 2022. 7. 7.
  • 영어 기초 문법 (21) - 해석용 문법 정리(2022/7) 학습 내용 가주어, 가목적어, 강조구문, 부가의문문, 부정의문문, 도치구문 예문 : Dreaming of Flight, Treasure Island, The Olympic Games, The Prince and the Pauper, Little Women 문법 & 예문 현재완료 hava/has + p·p 지금 기준 이전에 일어난 일(완료)이고, 그게 지금 시간까지(현재) 영향을 미치거나 연관되어 있음. 한국어에서 여러 뜻으로 해석될 수 있으나, 과거와 현재가 연결되어 있다는 점은 동일하다. ~한 적 있다 (경험) 쭉 ~했왔다 (계속) ~했다 (결과/완료) start + A + -ing + B : 'A가 ~을 시작하게 하다' These myths started humans thinking about fly.. 공감수 0 댓글수 0 2022. 7. 6.
  • 관사 (a/an, the) 관사 명사 앞에서 그 명사가 하나인지 또는 특정하거나 유일한 것인지 말해주는 것. 명사는 항상 셀 수 있는지 없는지를 따져야 하며, 셀 수 있을 경우 명사가 한개인지 여러 개인지 반드시 밝혀줘야 한다. a(an)- : 하나 -(e)s : 여럿 I eat an apple. : 사과 한개 I eat apples. : 사과 여러개 관사의 종류 a/an(부정관사) : 셀 수 있는 명사 앞에 쓰며, 그 명사가 하나임을 나타낸다. the(정관사) : 셀 수 있는 명사와 셀 수 없는 명사 앞에 모두 쓸 수 있으며, 서로 알고 있는 특정한 것이나 앞에서 말한 것을 다시 가리킬 때 사용한다. There is a book. : 책 한권이 있다. (정해지지 않은 어떤 책 한권) The book is mine. : 그 책은 .. 공감수 0 댓글수 0 2022. 7. 6.
  • 영어 기초 문법 (20) - 해석용 문법 정리 (2022/06) 학습 내용 시제일치, 간접화법, 가정법 예문 : Australia, The World of Spices, The Story of Tea, The adventures of Tom Sawyer, Is There a Santa Claus?, The Gift of the Magi, Saving Endangered Animals 문법 & 예문 help + ~(동사원형) : '~하는 것을 돕다' They helped modernize Australia by building transport systems and towns. 그들은 운송 체계와 마을을 건설함으로써 호주가 근대화하는 것을 도왔다. 시제 일치 : 주절의 시제가 과거형이면 종속절의 현재형 동사도 그에 따라 과거형이 된다. They thought that .. 공감수 0 댓글수 0 2022. 6. 18.
  • 영어 기초 문법 (19) - 해석용 문법 정리 (2022/05) 학습 내용 관계대명사(+관계대명사의 계속적 용법), 관계부사, 분사구문 문장과 문장의 연결, 시제 일치, 화법, 가정법 문법 & 예문 walk out : 작업을 중단하다 walk out (of something) : 나가[떠나]버리다 The next morning, He walked out of the prison. 다음 날 아침, 그는 교도소에서 나왔다. 선행사에 the only, all, 최상급 등의 수식어가 붙으면 관계대명사 that을 사용한다. Jimmy is the only person that can break into safes like that. Jimmy는 저렇게 금고를 털 수 있는 유일한 사람이다. 동사구 : '동사+부사' 형태로, 특정한 의미를 가진다. 동사구가 있는 문장을 수동태로 .. 공감수 1 댓글수 0 2022. 6. 2.
  • [Android/Kotlin] Toast vs Snackbar 차이점 Toast API 1 레벨에 추가된 기능. 기본적으로 액티비티가 필요하지 않다. (안드로이드 홈 화면이나 다른 앱 위에서도 표시 가능) 사용자 입력에 의한 액션을 포함할 수 없다. 스와이프, 클릭 등 사용자 입력을 처리할 수 없다. 스와이프로 스크린에서 지울 수 없다. 사용자에게 정보 메시지를 표시하는 데 적합하다. 시스템 메시지를 표시해야하는 부분에서 사용한다. ex) 앱이 원격 서버에 JSON 데이터를 요청할 때 서버 시간 초과 또는 리소스 없음으로 인해 실패하면 '오류 발생'이라는 오류 메시지를 Toast로 표시한다. SnackBar API 23 레벨에 추가된 기능. 애플리케이션의 액티비티 안에서 표시된다. 액션을 포함할 수 있다. 사용자 입력을 처리할 수 있다. 스와이프로 스크린에서 지울 수 있다.. 공감수 0 댓글수 0 2022. 5. 4.
  • [Android/Kotlin] 퍼미션(Permission) 권한 확인 및 설정하기 퍼미션(Permission) 안드로이드 앱의 특정 기능에 부여하는 접근 권한 (ex: 카메라 촬영 퍼미션, 전화 발신 퍼미션 등) 내가 개발하는 앱이 다른 앱이나 안드로이드 시스템에서 보호하는 특정 기능을 이용할 때 퍼미션 사용을 설정해야 한다. (다른 앱의 보호된 기능을 사용할 때) 또는 내가 만든 앱 기능을 다른 앱에서 사용할 수 있도록 보호하고 권한을 얻은 앱에서만 허용하고 싶을 때 퍼미션을 설정한다. (내 앱의 기능을 다른앱으로부터 보호할 때) 즉, 앱끼리 서로 연동하고 상호작용할 때 필요한 절차이다. 예를 들어, 카X카오톡과 같은 메신저 앱을 만들고 친구 프로필을 누르면 전화번호가 표시되면 내가 만든 앱에서도 [전화걸기] 버튼만 누르면 바로 친구에게 전화가 걸리게 하고 싶다면 안드로이드 시스템으.. 공감수 1 댓글수 0 2022. 5. 3.
  • [Android] 그리기 관련 메서드 - Canvas, Paint, Bitmap, Path, BitmapFactory, RectF 안드로이드에서는 Canvas에 그래픽을 그리고, Bitmap을 이용해서 그래픽을 불러와 화면에 그린다. 또는 Paint에 펜의 스타일을 설정해두고, 이 펜 설정대로 Canvas에 특정한 색상·모양의 도형을 그릴 수 있다. View를 상속받는 CustomView 클래스를 생성한다. Canvas에 그리고 싶은 내용을 onDraw() 에 작성한다. onDraw()는 View로 부터 상속받은 메서드이며 Canvas 타입 객체를 인자로 받는다. 이 Canvas 객체가 해당 뷰의 기본 캔버스이며, 여기에 canvas.drawXXX() 메서드를 사용해 그래픽(선, 도형, 이미지 등)을 그릴 수 있다. onDraw() 안에서 여러 그리기 메서드를 호출하여 Canvas를 새롭게 갱신하는 것이다. Canvas Canvas.. 공감수 0 댓글수 0 2022. 4. 23.
  • 영어 기초 문법 (18) - 해석용 문법 정리 (2022/04) 문법 & 예문 help + 목적어(사람) + 동사원형 : '~(사람)이 ~하는 것을 돕다' English is a very valueable tool to help you connect with people now and in the future. 영어는 당신을 사람들과 이어지도록 도와주는 귀중한 도구이다. By + 동사-ing : '~함으로써' By learning English, you can join a worldwide community of people. 영어를 배움으로써, 당신은 세계 공동체의 사람들과 함께할 수 있다. in the same boat : 같은 배에 탄 = 같은 처지에 있는 You are in the same boat as many other students. 당신은 다른 많은 .. 공감수 0 댓글수 0 2022. 4. 19.
  • [이코테] 이진 탐색 - 떡볶이 떡 만들기 (Java) 문제 오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡볶이 떡의 길이가 일정하지 않다. 대신에 한 봉지 않에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춘다. 절단기에 높이(H)를 지정하면 줄지어진 떡을 한 번에 절단한다. 높이가 H보다 긴 떡은 H위의 부분이 잘릴 것이고, 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14, 10, 17cm인 떡이 나란히 있고 절단기 높이를 15cm로 지정하면 자른 뒤 떡의 높이는 15, 14, 10, 15cm가 될 것이다. 잘린 떡의 길이는 차례대로 4, 0, 0, 2cm이다. 손님은 6cm만큼의 길이를 가져간다. 손님이 왔을 때 요청한 총 길이가 M일 때 적어도 M만큼의 떡.. 공감수 0 댓글수 0 2022. 4. 8.
  • 정렬 알고리즘 개념, 코드 정리 (선택정렬, 삽입정렬, 퀵정렬, 계수정렬) 선택 정렬(Selection Sort) 현재 정렬되지 않은 데이터 중에서 가장 작은 데이터를 앞으로 이동한다. 시간 복잡도 : O(N²) private static void selectionSort(int[] array) { for (int i = 0; i < array.length; i++) { int minIndex = i; for (int j = i + 1; j < array.length; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } int temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } } 삽입 정렬(Insertion Sort) 앞까지의 데이터는 이미 정렬되어.. 공감수 0 댓글수 0 2022. 4. 1.
  • [백준] 13305번 - 주유소 (Java) : 100점 & 58점 코드 문제 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 풀이 N : 도시의 개수 N-1 : 인접한 두 도시를 연결하는 도로의 개수. 처음 도시에서는 기름이 없는 채로 시작한다. 각 도시의 주유소에서 1L당 가격으로 기름을 충전할 수 있다. 도로를 이동할 때 1km마다 1L의 기름을 사용한다. 1. 주유 비용을 최소화하기 위해 리터당 가격이 싼 기름을 넣어야 한다. 2. 그러나 그 도시의 주유소는 해당 도시에 도착해야 이용할 수 있다.. 공감수 0 댓글수 0 2022. 3. 25.
  • 영어 기초 문법 (17) - 가정법 가정법 과거 If 과거형을 사용하여 현재 사실에 반대되는 상황을 나타내는 것. 「만약 ~하다면 …할 텐데」 가정법 과거의 종속절 동사가 be동사인 경우, 주어에 상관없이 'were'를 사용한다. A하지 않기 때문에 B하지 못 한다. → 만약 A하다면 B할 수 있을 텐데. (주절, 종속절에 대해 각각 not 연산 수행) => 기존에 긍정이면 가정법 과거에서는 부정(not)으로, 기존에 부정이면 가정법 과거에서는 긍정으로 변환. Because I don't have time, I will not go with you. → If I had time, I would go with you. (만약 나에게 시간이 있다면, 나는 당신과 갈 텐데.) (현재 상황 fact = 나에게는 시간이 없어서, 나는 당신과 가지 .. 공감수 1 댓글수 0 2022. 3. 25.
  • [Android] ImageView에 테두리(border line) 넣기 ImageView는 기본적으로 src 속성에 지정된 이미지만을 뷰로 표시한다. 그렇기 때문에 아래와 같이 일부 색상이 흰색인 이미지를 출력하면 이미지 경계를 파악하기 어렵게 된다. 이미지에 테두리 효과를 줘서 경계를 한눈에 알아보도록 해보자. 테두리 효과를 준다고는 했지만, 실제로 ImageView에 isBorderLine=true과 같은 편리한 속성은 존재하지 않기 때문에 인위적으로 '테두리가 그려진 drawable 리소스'를 background로 지정하는 방법을 사용해야 한다. 사각 테두리 1. drawable 디렉터리에 XML 파일 작성 (square_backgroud_border_black.xml) 2. ImageView의 background 속성을 설정하고, 너비 만큼의 padding을 준다. .. 공감수 1 댓글수 0 2022. 3. 24.
  • 영어 기초 문법 (16) - 화법(직접화법, 간접화법) 화법 직접화법 : 다른 사람이 말한 내용을 " "을 사용하여 그대로 표현하는 방법 간접화법 : 다른 사람이 말한 내용을 명사절(that ~ 등)을 사용하여 표현하는 방법 She said, "Dad is tired." : 그녀는 "아빠는 피곤하다." 라고 말했다. She said that Dad was tired. : 그녀는 아빠가 피곤하다고 말했다. 직접화법과 간접화법의 차이 직접화법의 " "안의 현재형의 동사는, 간접화법의 종속절에서는 주절의 동사에 따라 과거형이 된다. Mom said, "Julia is tired." : 그녀는 "아빠는 피곤하다."라고 말했다. → Mod said that Julia was tired. : 그녀는 아빠는 피곤하다고 말했다. Alex said, "The tea is t.. 공감수 4 댓글수 0 2022. 3. 17.
  • [Android] res/values/color.xml 파일에 color 리소스 추가 시 오류 해결 : The color _ in values has no declaration in the base values folder 오류 res/values/color.xml 파일에 다음처럼 color 리소스를 추가하는 과정에서 빨간 밑줄이 표시되며 아래와 같은 오류 메시지가 표시된다. The color "colorAccent" in values has no declaration in the base values folder 해결 1. [File] > [Invalidate Caches / Restart...] 캐시 무효화 / 다시시작 *말 그대로 안드로이드 스튜디오를 다시 시작하기 때문에 중요한 파일이 있다면 미리 저장해둔 뒤 클릭하자. 2. 빨간줄이 제거되고, 오류가 해결된다. 공감수 0 댓글수 0 2022. 3. 8.
  • [Android] Windows에서 Android 빌드 속도 향상을 위해 보안 프로그램 대상에서 제외시키기 문제 상황 안드로이드 스튜디오에서 프로젝트 빌드 중 우측하단에 아래와 같은 경고창이 표시된다. Your anti-virus program might be impacting your build performance. Android Studio checked the following directories: C:\Users\{사용자명}\.gradle C:\Users\{사용자명}\AppData\Local\Google\AndroidStudio2020.3 E:\AndroidStudioProjects\android-exercise E:\ProgramData\Android 보안 프로그램이 빌드 속도에 영향을 줄 수 있으니, 해당 경로를 바이러스 검사 대상에서 제외시키길 권장한다는 내용이다. 일부 바이러스 백신 소프트웨.. 공감수 2 댓글수 0 2022. 3. 5.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.