Flutter 소소한 정보 Flutter를 하다보니, 확실히 Java 로 레이아웃을 만들때보다 정렬이라던가.. 구성하는게 훨씬 간편하다는걸 느끼고 있습니다. 하지만 아직 부족한 공부탓에(?) 원하는 레이아웃구조를 짜다보면 상당히 지저분하게 느껴져서 고민입니다...ㅜ Google 검색 > 코드 추가 > Google 검색 > 코드 짜집기... 그러던 중 이번에는 AlertDialog 창을 띄우고, 그 창안에는 List 아이템을 크기만큼만 보여주고자 하는데 Column 위젯을 사용하니 높이가 화면 가득 차지하는 문제 발생 Column 높이 조절하기 위해선, 아래와 같은 속성을 추가해주면 됩니다. mainAxisSize: MainAxisSize.min // 코드 생략 Column( mainAxisSize: Ma..
클린코드 : 애자일 소프트웨어 장인 정신 최종 업데이트 : 2022.04.04 검색하기 쉬운 이름을 사용하라 - 문자 하나를 사용하는 이름과 상수는 텍스트 코드에서 쉽게 눈에 띄지 않는다는 문제가 있다. 이름 길이는 범위 크기에 비례해야 한다. 만약 변수 이름을 MAX_CLASSES_PER_STUDENT는 검색하기 쉽지만, 문자 e 를 변수명으로 하면 모든 문장에 포함된 e 단어를 찾아내기 때문에 검색할 때는 긴 이름이 짧은 이름보다 좋다. 인코딩을 피하라 - 유형이나 범위정보까지 인코딩에 넣으면 이름을 해독하기 어려워 진다. 헝가리식 표기법 + 멤버 변수에 접두어를 붙일 필요는 없다.
에러 상황은 다음과 같습니다. 1. Falsk 웹 페이지 개발 중, AJAX를 통해 데이터 요청함. 2. 요청이 들어오면 MySQL 쿼리문으로 데이터 검색 후, 결과 값을 Json 타입으로 반환해서 return 3. 이때 에러 발생! TypeError: Object of type 'Decimal' is not JSON serializable 이상한건, 쿼리문이나 검색 결과를 print()로 로그로 찍어봤을 땐 아무런 문제가 없었다는 것... 에러 내용은 TypeError: 'Decimal' 형식의 개체는 JSON을 직렬화할 수 없습니다. 인데 검색결과는 잘나오니까 뭐가 문제지?? 싶었다.그런데 쿼리 검색 결과를 로그로 잘 찍어보니, 검색내용 중에 곱하기 나누기등을 사용해서 퍼센트 구하는 공식이 있었는데 ..
사용 예 ... 태그 속성 설명 action : 서버 스크립트 파일명 작성 ex) action="http://localhost:8080/main.jsp" name : 폼 이름 지정 ex) name="form_name" method : 폼 전송방식 종류 : GET, POST ex) method="POST" target : 서버로 부터 받은 응답방식 지정 종류 _blank : 새로운 윈도우나 탭(tab) _self : (기본값) 현재 프레임 _parent : 현재 프레임의 부모 프레임 _top : 현재 윈도우 전체 ex) target="_self" enctype : 인코딩타입 * method 속성이 POST인 경우에만 사용 가능 종류 application/x-www-form-urlencoded : (기본값)..
Flask 로 소켓 테스트 중, 콘솔에 400 에러가 발생해서 보니 다음과 같이 적혀있었습니다. (해결하는데 한참 걸렸는데.. 생각보다 너무 간단해서 역시 개발 초보단계에선 에러 로그를 꼼꼼히 확인하는게 중요하다는걸 새삼 느꼈습니다...^^) "The client is using an unsupported version of the Socket.IO or Engine.IO protocols" 해결방법 1) install 패키지 버전 확인 >> pip3 freeze Flask == 2.0.1 Flask-Cors == 3.0.10 Flask-SocketIO == 5.1.1 python-engineio == 4.3.1 python-socketio == 5.5.2 pip3, 혹은 pip freeze 명령어로 설..
이번에는 날씨 API을 json 형식으로 받아오는 작업과, 그 앱 계속 동작중이라는 것을 알 수 있도록 로딩화면을 적용해보겠습니다. (만약, 데이터를 받아오는 시간이 오래걸리는데 아무런 애니메이션이나 변화가 없다면 사용자들은 앱이 멈췄다고 생각하겠죠?) https://colalove5562.tistory.com/52?category=1036672 Flutter 날씨 앱 만들기(2) - 프로젝트 생성, 위치 권한 확인, 위치정보 받아오기, API Key 발급 1. 폴더 구조 소개 전체 적인 폴더 구조는 사진과 같습니다. 기본적으로 프로젝트를 생성하면 작성되는 main.dart 파일이 있고, data, model, screens 3개의 폴더를 추가로 생성하여 각각의 파일들을 관리 colalove5562.ti..