작성일시 기준으로 apache의 최신 버전은 2.4.53이지만 ubuntu 20.04 LTS를 깐 상태에서 바로 apache2를 설치하면 2.4.41버전이 설치된다. 최신 버전을 다운로드하기 위해선 apache2의 PPA 저장소를 추가해야 한다. 아래 명령어로 저장소 추가 후 업데이트하도록 한다. sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update 이제 아래 명령어로 설치한다. sudo apt install apache2 아래 명령어로 최신 버전인 것을 확인할 수 있다. apache2 -v 참고로 php도 apache2대신 넣어서 최신 버전 설치가 가능하다. 참고 Ubuntu 20.04 LTS에서 Apache를 업그레이드하는 방법 - Lin..
Ubuntu 20.04 LTS 저장소는 기본적으로 archive.ubuntu.com 또는 kr.archive.ubuntu.com으로 되어있을 것이다. 이는 속도가 느리므로 더 빠른 저장소인 mirror.kakao.com로 변경할 것이다. nano /etc/apt/sources.list 위 명령어로 sources.list파일을 열면 http://저장소주소/ubuntu가 보일 것이다. Ctrl + \ 를 눌러 변경 대상인 저장소 주소를 입력하고 그 다음에 mirror.kakao.com을 입력하고 a를 눌러 저장소 주소를 모두 mirror.kakao.com으로 변경한다. 이후 Ctrl + s눌러 저장하고 Ctrl + x로 나간뒤 아래 명령어 입력해 완료한다.(Ctrl + s로 저장안되면 Ctrl + o 누르고..
리스트 뷰 보기 ScrollView 스크롤 뷰의 최상단에서 위로 올리려고 스크롤하거나 최하단에서 아래로 내리려고 스크롤하면 안드로이드는 동그랗게 이펙트가 나오고 iOS는 최상단 또는 최하단 부분을 넘어서까지 스크롤되는 것을 볼 수 있다. Android MaterialApp -> ScrollConfiguration -> ScrollBehavior -> AndroidOverscrollIndicator.glow(GlowingOverscrollIndicator) -> 로 인해 나오게 된다. iOS MaterialApp -> ScrollConfiguration -> ScrollBehavior -> BouncingScrollPhysics로 인해 나오게 된다. 각 플랫폼의 overscroll 효과를 없애기위해 커스텀..
문제점 화면에 위젯들을 보여줄 공간이 부족해서 발생하는 오류이다. 내 경우엔 Column 위젯에 TextFormField 위젯들을 자식으로 나열한 상태에서 입력을 위해 키보드가 나올 때 세로 공간이 부족해서 발생했다. 해결법 Column위젯의 부모를 SingleChildScrollView로 줘서 위젯들을 렌더링하는데 필요한 세로 크기가 화면 크기보다 크면 스크롤 되어 볼 수 있도록 만들어 해결 return SingleChildScrollView( child: Column( ... ), ) 참고
문제점 switch문에서 case에 뷰 아이디 값인 R.id.뷰아이디를 쓰면 나타난다. 원인은 Gradle 8.0부터 뷰 아이디의 값들에 붙던 final이 붙지않아 상수가 아니여서 case에 사용할 수 없게되므로 경고가 나타난다. 해결법 뷰 아이디 값을 조건문에 비교값으로 쓸 때 switch문 대신 if/else문을 사용한다.
문제점 리사이클러 뷰의 데이터가 변경됐을 때 notifyDataSetChanged()로 UI를 갱신할 경우 발생한다. 해결법 notifyDataSetChanged()를 사용하기 보단 각 상황에 맞는 함수를 사용한다. notifyItemChanged(int) notifyItemInserted(int) notifyItemRemoved(int) notifyItemRangeChanged(int, int) notifyItemRangeInserted(int, int) notifyItemRangeRemoved(int, int) notifyDataSetChanged는 최후의 수단으로 사용할 것을 권한다. 해결법을 보고 든 개인적인 생각으론 notifyDataSetChanged는 리사이클러 뷰에 자식으로 들어갈 전체 데..
Mac(IOS, Android) 설치 바로가기 Window 10(Android) Flutter SDK 설치 stable 버전의 flutter sdk를 압축한 zip파일 다운로드 한 뒤 원하는 경로에 압축 풀기 압축 풀면 flutter 폴더가 생긴다. SDK 설치 링크 작성일시 기준으로 한글로 된 설치 페이지에선 설치 버튼이 비활성화 되어있어 설치가 되지 않는다. 환경 변수 추가 환경 변수에 압축 푼 경로\flutter\bin 을 추가 예시로 난 d드라이브에 압축을 풀었으므로 D:\flutter\bin 를 환경 변수에 추가했다. 환경 변수 설정 방법 링크 환경 변수 설정 확인 cmd 창 열어 flutter 명령어 입력해서 작동 여부를 통해 환경 변수 설정 확인 정상 작동한다면 여러 안내문구와 처음 입력시엔..
문제점 ubuntu 18.04에선 기본적으로 설치되는 파이썬 버전이 3.6인데 이 버전에서 pip 목록 출력 시 발생한다. 이 버전에서의 pip 목록 출력 방식(legacy)은 deprecation 되어서 언제 사라질 지 모르니 주의하라는 것 해결법 홈 디렉터리에 .pip 폴더 생성 후 pip.conf 파일에 아래 내용 작성 후 저장 [list] format=columns 간단하게 명령어 및 작성 내용만 적으면 아래와 같다. cd ~ mkdir .pip nano pip.conf --- pip.conf 내용 [list] format=columns --- 저장 후 닫음 위 명령 수행 및 내용을 작성한 뒤 저장한 후 다시 pip의 목록을 출력하면 현재의 pip 목록 출력 형식으로 보이며 경고가 없어진다. 참고..
문제점 다른 오픈소스 라이브러리를 가져다 쓸 때 빌드 실패하면서 발생했다. 오픈소스의 manifest와 내 앱의 manifest와 병합하는 과정에서 application 태그 내의 android:icon 속성의 값이 서로 달라 오류가 발생한 것으로 보인다. 오픈소스의 값은 @drawable/ic_launcher 내 앱의 값은 @mipmap/ic_launcher였다. 해결법 manifest 태그에 xmlns:tools="http://schemas.android.com/tools" 를 추가하고 applicatoin 태그에 tools:replace="android:icon" 를 추가한다.