반응형 전체 글86 [MongoDB] 중복 문서 제외하고 bulkWrite하기 (createIndex 사용) MongoDB에서 고유 인덱스 생성하는 방법중복되는 값은 건너 뛰고 삽입하기 위해서는 자동으로 생성되는 _id 필드 외 키값을 정해주어야 한다. 이럴 때 사용하는 문법 중에는 createIndex가 있다. db.collection_name.createIndex({ name: 1 }, { unique: true }) 위 쿼리는 collection_name이라는 컬렉션에서 name 필드에 고유 인덱스를 생성한다. 두 개의 필드 조합으로 고유 인덱스를 생성하려면 아래와 같이 사용하면 된다. db.collection_name.createIndex({ field1: 1, field2: 1 }, { unique: true }) 중복된 문서를 제외하고 삽입하는 방법MongoDB에 여러 개의 문서를 한 번에 삽입하는 .. 2023. 7. 14. [Flutter] 텍스트 길이가 길 경우 말 줄임표 사용하는 방법 Flutter에서 말 줄임표 사용하는 방법아래 그림과 같이 Text가 너무 길 경우 말 줄임표로 나타내는 방법에 대해서 알아보도록 하겠습니다. 코드 Text( itemList[index]['title'].toString(), style: const TextStyle( fontSize: 24.0, color: Colors.black, ), overflow: TextOverflow.ellipsis, ) 코드 설명 overflow: TextOverflow.ellipsis 부분은 텍스트가 위젯의 경계를 벗어날 경우 어떻게 처리할 것인지를 정의합니다. TextOverflow.ellipsis는 텍스트가 해당 영역을 벗어날 경우, 벗어나는 부분은 생략되고 대신에 말줄임표 (...)가 표시됩니다. 이렇게 하면 사용자는.. 2023. 7. 13. [Flask] 이미지 반환하는 라우터(url 호출시 이미지 반환하는 방법) Flask에서 이미지 반환하는 라우터 작성 방법 아래 이미지는 포스트맨을 캡쳐한 사진이다. http://127.0.0.1:5000/api/image/sample이라는 주소를 전송하면 sample이미지가 보여진다. 위 예시와 같이 Flask에서 특정 url을 호출했을 때 이미지를 반환하는 방법에 대해 설명해보겠습니다. 코드는 아주 간단합니다. from flask import Flask, jsonify, request from flask import Blueprint from flask import send_file class ImageRouters: @staticmethod def get_blueprint(mongodb): api_blueprint = Blueprint('api', __name__) @ap.. 2023. 7. 13. [Flutter] 이미지 없을 때 기본 이미지로 대체하기 이미지 없을 때 기본 이미지로 대체하기 위 그림처럼 이미지가 없으면 기본 이미지를 보여주는 예제는 아래와 같다. import 'package:flutter/material.dart'; class HomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State { final PageController _pageController = PageController(); int _currentPage = 0; String img_url_o = 'http://127.0.0.1:5000/api/image/sample'; String img.. 2023. 7. 12. [Apache POI] 숫자형 텍스트 지수로 변환되는 문제 JAVA에서 POI 라이브러리로 엑셀을 읽을 때 숫자형 텍스트가 지수로 변환되는 문제 해결하기문제10020880 이런 식의 텍스트 데이터가 1.002088E7 와 같이 지수로 표현되는 문제 발생.해결String.valueOf(cell.getNumericCellValue()) 대신 String.format("%.0f", cell.getNumericCellValue())을 사용하여 문제 해결. 아래는 코드입니다.public String getCellValue(Cell cell) { String value = ""; // 셀 내용의 유형 판별 if(cell != null) { switch (cell.getCellType()) { case NUMERIC: if (DateUtil.isCellDateFormatte.. 2023. 7. 12. [Flutter] 포커스에 따른 input 박스 색상 변화 구현 플러터를 활용한 검색창 UI 개선: 포커스에 따른 컬러 변화 구현 TextField와 InputDecoration 위젯을 사용한 검색창 UI 구현 이번 글에선 플러터를 활용해 검색창의 사용자 경험을 개선하는 방법에 대해 이야기하려고 합니다. 이번 포스팅의 핵심은 바로 "검색창의 포커스에 따라 아이콘과 테두리 색이 변화하는 기능"입니다. 이 기능을 통해 사용자는 검색창이 현재 활성화되어 있는지 쉽게 파악할 수 있게 됩니다. 첫 번째로 보실 부분은 `_SearchPageState` 클래스 내부에 선언된 `_focusNode`라는 인스턴스입니다. 이는 `FocusNode` 클래스의 인스턴스로, 해당 위젯이 현재 포커스를 가지고 있는지 아닌지를 판단하는 역할을 합니다. 초기에는 `initState()` 메소드에.. 2023. 7. 9. Flutter로 웹 앱 실행하기: 사용자 지정 호스트네임과 포트 설정 방법 Flutter 웹 앱 실행하기: 사용자 지정 호스트네임과 포트 설정 방법 flutter run -d edge --web-hostname 192.168.0.100 --web-port=8080 Flutter는 웹, 모바일, 데스크톱 등 다양한 플랫폼에서 애플리케이션을 개발하는데 사용되는 오픈 소스 프레임워크이다. 이번 포스팅에서는 Flutter로 개발한 웹 애플리케이션을 사용자 지정 호스트네임과 포트를 이용해 실행하는 방법에 대해 알아보겠습니다. Flutter 프로젝트를 실행하기 위해 flutter run 명령어를 사용합니다. 이때 -d 옵션은 사용할 디바이스를 선택하는 옵션으로, 이 예제에서는 'edge'를 사용했는데, 이는 Edge 브라우저에서 앱을 실행하겠다는 것을 나타낸다. -d 옵션에 대해 더 자세.. 2023. 7. 8. The method of() is undefined for the type List 오류(@Builder) * The method of() is undefined for the type List 오류가 발생하는 이유 * 개발환경: 이클립스, 스프링 부트 롬복 어노테이션 전부 오류가 생기면 모르겠지만 @Builder에만 생긴다면 jdk 버전 문제일 확률이 높다. @Builder 내부에선 List.of() 문법을 쓰는데, 이 문법이 jdk 1.8에선 지원되지 않기 때문이다. 따라서 @Builder 어노테이션을 쓰고 싶다면 jdk 버전을 올리는 수 밖에 없다. JDK 버전 바꾸는 방법 1. 프로젝트 우측 클릭 > Properties 2. Java Build Path > Libraries 탭 선택, JRE System Library > Edit 3. jdk 1.8보다 높은 버전으로 올려준다. 2023. 7. 7. [Flutter] ListView 재사용하기(재사용 가능한 Widget 만들기) Flutter에서 ListView 재사용하기 똑같은 형태의 Widget을 구현할 때는 Widget을 재사용 할 수 있다. bottomNavigatior로 탭하여 화면을 바꾸는 것은 아래 링크에서 확인해주세요. 2023.07.05 - [공부기록/Flutter] - [Flutter] AppBar, BottomNavigator 구현(상단,하단은 고정 & body만 바뀌도록) 이번 글에서는 Widget을 재사용하는 방법에 대해 알아보겠습니다. verticalList.dart `VerticalListWidget`은 StatefulWidget이다. 이 위젯은 수직 스크롤이 가능한 리스트를 생성하며, 각 아이템은 제목, 기간, 장소/날짜 정보, 그리고 이미지로 구성된다. `initState` 메서드에서는 `widge.. 2023. 7. 5. [Flutter] AppBar, BottomNavigator 구현(상단,하단은 고정 & body만 바뀌도록) Flutter에서 상단 바, 하단 네비게이션 구현하기 main.dart MainPage 위젯을 통해 구성된 애플리케이션이다. 애플리케이션의 전체적인 테마와 페이지 구성을 설정하고, 페이지 간 이동을 관리한다. MyApp: MaterialApp을 생성하여 애플리케이션 전체의 테마와 기본 설정을 지정. title은 애플리케이션의 제목을 설정하고, theme은 전체적인 테마 설정을 담고 있음. MainPage: StatefulWidget를 상속하여 페이지 이동과 BottomNavigationBar를 관리하는 위젯 _currentIndex 변수를 사용하여 현재 선택된 페이지 인덱스를 관리하며, _onItemTapped 함수는 탭 이벤트를 처리하여 _currentIndex를 업데이트 _pages 리스트에는 홈페이.. 2023. 7. 5. [Flutter] 반응형 모바일 배너 만들기(슬라이더) Flutter로 반응형 모바일 배너 만들기(슬라이드 형식) main.dart import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'My Mobile App', theme: ThemeData( primarySwatch: Colors.blue, appBarTheme: AppBarTheme( backgroundColor: Colors.white, // 기본 색상 )), home: MyHomePage(), ); } } class MyHo.. 2023. 7. 4. [Flask] MongoDB에서 TypeError 문제(_id) 1. id를 제외하고 직렬화를 시키거나 2. id를 직렬화할 수 있게 따로 조치하거나 둘 중 하나의 방법을 사용할 수 있다. 1. id를 제외하고 직렬화 시키기 from flask import Flask, jsonify, request from pymongo import MongoClient client = MongoClient('localhost', 27017) db = self.client['mydatabase'] collection = self.db['mycollection'] jsonify(list(self.collection.find({}, {'_id': 0}))) 2. id를 포함하여 직렬화 str() 함수를 사용하여 _id 값을 문자열로 변환한 뒤 json.loads() 함수 사용하여 jso.. 2023. 7. 4. 이전 1 2 3 4 5 ··· 8 다음 728x90 반응형