fun main() { println("계산할 첫번째 값을 넣으세요") var num1 = readLine()?.toDoubleOrNull() ?:0.0 // null을 입력받은 경우 0.0반환 println("계산할 두번째 값을 넣으세요") var num2 = readLine()?.toDoubleOrNull() ?:0.0 println("이용할 연산자의 번호를 입력하세요.") println("[1]덧셈 [2]뺄셈 [3]곱셈 [4]나눗셈 [5]종료") var operator = readLine()?.toIntOrNull() ?:5 //연산자 선택 안 할 경우 덧셈 수행 // 변수의 타입을 AbstractOperation4로 선언 -> 이 클래스를 상속한 클래스를 변수에 할당할 수 있다. var abstr..
왕초보일지
안드로이드 스튜디오 저장경로오류로 어제 만든 계산기 통째로 사라졌다....깃헙에 업로드 안해놨으면 어쩔뻔 접근제한자 AccessTestClass 클래스 안에 여러 접근제한자를 적용한 변수를 만들어 놓음 이 클래스를 같은 패키지안의 Test.kr 파일에서 호출할 때 변수 a, b, d 만 호출가능한 것을 확인할 수 있다. public인 a, b 는 당연히 가능하고 internal 로 제한된 변수 d 는 app 이라는 모듈 안에 같이 포함되어있기 때문에 호출가능한 것 AccessTestClass 클래스를 상속받은 AccessTestChildClass 클래스 에서 불러올 수 있는 변수는? private 인 c를 제외하고는 호출이 가능하다. protected인 e 는 부모 클래스를 상속받았기 때문에 Test.k..
Kotlin 으로 Calculator 만들기 Lv1, 2 Lv1 : 더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들고, 클래스를 이용하여 연산을 진행하고 출력하기 Lv2 : Lv1에서 만든 Calculator 클래스에 나머지 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기 각각 연산자의 클래스를 만드는건가? 그럼 그 클래스들과 메인 calculator 는 무슨 관계지? 아니면 클래스 하나에서 네가지 연산을 다 할 수도 있나? 어제 한 Bird class 를 참고해서 class 안에서 다섯가지 연산을 할 수 있게 만들어봤다. fun main() { println("계산할 첫번째 값을 넣으세요") var num1 = readLine()!!.toInt() p..
Kotlin 문법 1주차 기초 헷갈리고 잘 와닿지 않는 것들만 자료형 증감연산자 ++ -- -1을 더하거나 빼는 특수한 경우 var num1 = 10 var num2 = 20 var num3 = 30 // 후위연산자는 println연산을 실행후에 증감해요 println(num1++) // 10 println(num1) // 11 // 전위연산자는 println연산 실행전에 증감해요 println(++num2) // 21 println(num2) // 21 num3++ println(num3) // 31 ++num3 println(num3) // 31 조건문 if/else when -if/else 의 경우 조건이 많아질 때 when 을 사용하는 것이 가독성에 좋다. -if 구문은 최악의 경우 모든 조건을 ..
Git & Github 을 이용해서 파일 올리기 프로젝트 진행하면서도 git 의 중요성을 깨달아서 계속 연습해보는 중이다. 파일 add, commit 하고 저장소연결까지도 아무 문제가 없는데 push 를 하기만 하면 failed to push some refs to ~ 이 오류가 뜬다. 저장소에 내 로컬에는 없는 파일이 있을 때 push 하면 생기는 오류라는데 연결한 저장소에는 아무것도 없는데 왜 안되는 거지? hint 에는 pull 을 하래서 pull 을 시도해봤더니 refusing to merge unrelated histories 이 메시지가 뜬다. 저장소의 프로젝트와 pull 하려고 하는 프로젝트의 기록에 아무런 연관성이 없을 때 뜬다고 한다. 생각해보니 새로 만든 저장소가 아니라 있던거 내용 비..
html 사용자 정의 데이터 속성 data- 방명록의 수정과 삭제 기능을 구현하면서 데이터베이스에 저장되어있는 값을 어떻게 불러오는가 에 대한 고민에 프로젝트 둘쨋날 내내 머리를 싸맸었다. 서치를 하면서 주워온 삭제기능 코드를 하나하나 읽어보는데 안에 class 선언 말고도 이렇게 처음 보는 속성들이 들어있었다. 저 변수들은 여기서 나온 것인데 getDocs 를 통해 collection 속 docs를 불러오고 각각의 doc에서 가져와서 선언한 변수들을 안에 사용자 정의 데이터로서 추가적으로 저장한 것이다. 그리고 수정 과 삭제 버튼을 클릭했을 때도 그 값을 불러올 수 있도록 버튼 각각의 속성에 사용자 정의 데이터로서 붙여넣었다. 이렇게 추가적으로 넣은 값을 수정과정과 삭제과정에서 계속 이용한다. 급한것 ..
팀원분들이 완성한 수정삭제 비밀번호 검사 기능을 병합하니 수정 기능에서 에러가 발생해서 그걸로 시간이 훅 가버린데다가 TIL작성을 까먹어서 허둥지둥 켜보니 캡쳐본도 없고 남은건 console 의 오류뿐... Cannot read propertues of null (reading 'addEventListenter') addEventListener의 파라미터로 따라온 editModal Id 참조가 잘못 되어 있었다고 한다. -> 내가 못본거라 다시 확인해야한다. 그래서 그 아래의 value 값도 안 뜨고 수정버튼을 누르면 모달창이 뜨는데 확인이 실행이 안되는거다... 오늘은 느낀 점이 너무 많다. 새로운 기능을 찾고 다른 것들과 겹치지 않게 조정하는 등등에서 허둥대다가 시간이 다 가버렸다. 그나마 삭제 기능..
css button 꾸미기 hover : 영역에 커서를 올렸을 때 색상이 진해지는 효과 button에 링크 달기 주소 링크 달때처럼 a 태그에 href 하려다가 안돼서 찾아봤더니 버튼에 링크를 달 때는 onclick 속성 이용! 상세페이지각 html 파일에 css는 참조파일로 넣으려고 링크를 넣었는데 다른 건 다 정상적으로 뜨면서 제일 큰 box의 정렬이 풀려버린다!!! 분명 flec-direction : row; 로 적용했고 그 안의 또 다른 부모 컨테이너들은 그 안에서 column 설정 잘 지켜주고 있는데 제일 큰 부모 컨테이너만 적용이 안되니....왜 그런 건지 한참을 이것저것 해봐도 모르겠다 css 파일에 태그를 주고 있었다.................. 저 태그 지우니까 정상적으로 작동된다. ..
교육 개강 날 팀을 소개하는 웹 페이지 만들기 미니 프로젝트를 시작했다. 상세페이지 레이아웃 작업을 하는데 먼저 하나의 상세 페이지를 대략적으로 만들고 그 html 과 css 틀을 그대로 다른 팀원들 상세 페이지에 넣었더니 박스가 제멋대로 찌그러진다. 검사를 이용해서 확인한 margin 의 좌우 양옆값이 -이 아닌 29.~~~로 설정한 것과는 달라져 있었다. margin: 10px auto 10px auto; auto 값이 왜 페이지마다 달랐는지 이해하려면 더 알아봐야겠다. 일단 margin 좌우 값을 0으로 줬더니 다 동일해져서 해결은 됐다. 저번에 로그인 페이지 만들 때 활용했던 display :flex; 속성이 레이아웃 짜기에 정말 편한 것을 느꼈다. 그전엔 grid속성으로 조정해보려했는데 grid..
css - display : flex; 강의를 듣는데 타이틀을 설정할 때 이것만 그대로 복사하면 된다고 한다. 그런데 뭔지도 모르고 복사해서 쓰니 찝찝하다. 아래 블로그에 css의 flex에 관해서 다 정리되어있어서 편하게 봤다. https://narup.tistory.com/210 [CSS] display : flex 정리(flexbox) flexbox(flex) 1. 개요 일반적으로 웹페이지의 레이아웃은 css의 display, float, position 등과 같은 속성을 사용해 구현하는데, 이러한 속성을 사용할 경우 레이아웃을 표현하는 것은 굉장히 복잡해집니다 narup.tistory.com flex는 복잡한 레이아웃을 간단하게 구현할 수 있도록 요소를 효율적으로 배치 분산 정렬 시킬 수 있다. ..