본문 바로가기

분류 전체보기100

코틀린 : copyOfRange(), copyOf() copyOfRange() 리스트에서 () 안에 범위만큼 복사해오는 메소드이다. ( start index, end index )인데 주의할 점은 end index에서 마지막 번호를 포함하지 않는다. 아래 예시를 보자 var citations = intArrayOf(3, 0, 6, 1, 5) var answer = citations.copyOfRange(0,2) println( answer.contentToString() ) // [3, 0] 0부터 2까지인데 결과는 3,0,6 이 아니라 3,0이 출력된다. copyOf() 어레이를 복사한다. var citations = intArrayOf(3, 0, 6, 1, 5) var answer = citations.copyOf() println( answer.con.. 2024. 1. 2.
TIL: apply와 also의 차이점 강사님들이 apply와 also는 매우 유용한 함수에요~ 라고 하지만 둘의 차이점을 잘 몰랐었다. 블로그에 요약되있는 글을 봐도 긴가민가 했는데 팀프로젝트를 하면서 차이점에 대한 느낌이 와서 적는다. apply는 {} 안에서 수행하는 코드가 객체에 영향을 미친다. 그래서 초기화를 할 때나 해당 객체를 동적으로 변경할 때 써주면 이만큼 좋은 메소드가 없다. also는 {} 안에서 어떤 일이 나던 원본 객체에는 영향을 미치지 않는다. 그러니 원본은 보존하면서 비슷한 객체를 만들어야할 때 쓰면 편하다. 핵심은 이것이다. apply는 {} 안에 코드가 객체에 영향을 준다. also는 {} 안에 코드가 객체에 영향을 안준다. 2023. 12. 28.
TIL: parcelable 액티비티 간에 데이터를 string, int, long 등 다양하게 넘겨줄 수 있지만 객체를 전해줘야할 수도 있다. 그럴 때는 parcelable을 사용하여 준다. 비슷한 역할을 하는 serializable 도 있다. 성능을 비교하면 parcelable >>> serializable parcelable이 훨씬 나중에 나왔기 때문에 더 최신의 기술이고 그만큼 성능 역시 좋다. 하지만 serializable을 쓴다고 한다. 왜일까? parcelable 은 추상메소드이므로 하나하나 다 오버라이드를 해줘야한다. import android.os.Parcel import android.os.Parcelable class MyParcelableObject(val name: String, val age: Int) : .. 2023. 12. 27.
TIL: 안드로이드 글자수 초과시 말줄임 ... 으로 표시, 라인 수 제한, fatal: unable to access [http주소] The requested URL returned error: 403 텍스트뷰가 너무 길어지면 짤라야할 때가 있다. 하지만 안드로이드는 텍스트가 길어지면 자동으로 줄바꿈하면서 내용을 이어간다. 레이아웃을 위해 텍스트를 제한할 때 쓸 수 있는 속성이다. 해당 코드를 실행하면 텍스트는 두줄까지 나오고 2번째 줄 끝에서 ...으로 말줄임이 될 것이다. 팀프로젝트를 진행하면서 클론을 마치고 푸쉬를 하려는데 아래의 메시지가 뜨면서 푸쉬가 되지 않았다. fatal: unable to access 'https://github.com/dlho1222/Sparta-Week5-Team--SNS.git/': The requested URL returned error: 403 구글을 뒤져가면서 방법들을 찾아보았지만 나랑은 상관없는 것들이였다. 알고보니 답은 정말정말 간단한 것이였다. git 초.. 2023. 12. 26.
warning: in the working copy of "파일경로/파일명" LF will be replaced by CRLF the next time Git touches it 커밋을 하려는데 이런 오류가 떴다. lf가 crlf로 교체된다고? 이게 뭔 소리여? 구글에 검색 ㄱㄱ 결론 띄어쓰기 처리로 인한 문제다. 리눅스와 윈도우는 내부적으로 띄어쓰기를 표현하는 방법이 다르다. 화면상으로는 똑같은 띄어쓰기지만 코드상에서는 다르다. 그래서 git 입장에서는 띄어쓰기 부분이 다르니 어떻게 처리해야할지 몰라서 경고창을 띄우는 것이었다. 해결법 git config --global core.autocrlf true autocrlf라는 띄어쓰기를 '자동으로' 변환해주는 명령어가 있다고 한다. 이 설정을 키면 알아서 바꿔준다고 한다. 설정을 켠 뒤, 커밋을 하니 잘 작동되었다. 2023. 12. 22.
TIL: 정규식,regex,regular expressions 프로그래밍에서 문자열을 다룰 때, 문자열의 일정한 패턴을 표현하는 일종의 형식 언어를 말한다고 나무위키에 써있는데... 뭐 나름 맞는 말 같다. 정리하려고 했는데 마침 보기쉽게 설명해놓은 자료를 발견했다. 다만 엄청난 자료양에 쫄아서 자료를 복붙해왔다. 불펌은 아닌 거 같으니 참고한 블로그 링크를 올려두겠다. 매우 보기 쉽게 잘 정리해줘서 고맙습니다 !https://itstory1592.tistory.com/63#MetaCharacter [Android] 자바 코틀린 (Pattern, Matcher)정규식을 사용하여 패스워드 조건을 만들어보자 동아리 프로젝트 중, 비밀번호 변경을 구현하는 단계에서 정규식을 사용할 일이 생겼습니다. 조건은 '영문, 숫자, 특수문자 중 2개를 사용하여 최소 8자리 이상'의 .. 2023. 12. 21.
이미지와 텍스트가 있는 버튼 만들기 클론ui 중에 이미지와 텍스트가 있는 버튼을 만드는데 이런 버튼을 만들려고 했다. 상당히 쉬워보인다. 그냥 버튼태그 안에 이미지 넣고 글자 넣고 센터 정렬하면 되겠지? 하고 대수롭지 않게 생각하고 구현하는데 생각보다 잘 안됐다. 뭐가 안됐냐면..... 버튼 태그 안에 drawble로 이미지를 넣어도 바깥쪽에 고정되어 있어서 gravity="center" 를 적용하더라도 중앙정렬이 안되는 것이다. text만 중앙 정렬될 뿐 drawble 속성으로 추가된 이미지는 요지부동이였다. 그렇게 검색하고 해본 시도들.... drawbleLeft -> 처음 시도한 방법인데 안됨 drawbleStrart -> 똑같음 button 태그를 textview로 바꾸고 위에 시도를 다시 반복 -> 둘다 실패 . 결과는 똑같음 d.. 2023. 12. 20.
TIL: git hub에 연결 및 올리기 git remote add origin "github https 주소" git push -u origin main 혹시 기본 브랜치가 메인이 아닌 마스터로 설정되있는 경우. ( git branch 했을 떄 *master 로 나올 경우 ) git branch main //main 생성 git switch main //main으로 변경 강제로 업데이트를 해야할 때 = (저장소의 내용과 현재 로컬 프로젝트가 동일하다고 100% 확신할 수 있을 때) git push -u origin main --force 2023. 12. 20.
안드로이드 스튜디오: 이미지 둥근 사각형으로 자르기, 이미지 원형으로 자르기 카톡 프사를 보면 이미지가 원형으로 되어있다. 따라해볼려고 이미지뷰에다가 넣으면 사각형만 나온다. radius 속성도 없다. 상당히 귀찮지만 원형으로 나오게 하기 위해선 xml로 모양을 만들고 클리핑을 해야한다. 아래는 layout.xml 아래는 drawble 의 xml 위에건 원형이고 모서리가 둥근 사각형으로 하려면 이렇게 하면 된다. 2023. 12. 19.