본문 바로가기

분류 전체보기

(46)
새로운 사이드 프로젝트 시작 (트레이딩 룸) 안녕하세요 :) 새로운 사이드 프로젝트를 막 시작했어요! 최근 프로그래밍 실력은 크게 늘지 않고, 프로그래밍의 참 재미를 느끼기가 어렵다 생각이 들었어요. 내가 알고 있는 것과, 행동하는 것은 다르다고 하잖아요. 그런 이유로 새로운 사이드 프로젝트를 시작했습니다. 그냥 일단 시작했어요. 확실히 시작을 하고 나니 목표도 생기고 사람이 활기가 생기기 시작했는데요. 사이드 프로젝트를 선정하면서 나에게 도움이 될 수 있고, 내가 자는 동안에도 자동화를 시킬 수 있는 게 있을까? 무엇을 운영해볼 수 있을까 고민을 했어요. 고민을 하면서 결정한 게 나만의 주식 트레이딩 룸을 만들어 보기로 했습니다. 부자가 되기 위해서 트레이딩 룸을 개발하는 것이 아닌, 첫 번째 목표는 직접 운영을 할 수 있는 서비스를 만들어 볼 ..
플러터 튜토리얼 - 화면 이동 (Navigator, routes) 안녕하세요 :) 이번 시간에는 스크린을 이동하는 방법에 대해서 학습을 하도록 하겠습니다. 화면이 몇 개 없는 경우에는 Navigator만을 사용하여 화면 전환을 하셔도 되겠지만, 화면(스크린)이 많아지는 경우에는 routes를 사용하여 화면들을 등록해 놓고 필요에 따라서 호출을 하실 수 있어요. Navigator부터 살펴보도록 하겠습니다. 1. Navigator class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors...
[스프링] Unsupported Media Type 415 에러 안녕하세요. API를 만들고 테스트를 하면서 자주 보는 에러가 있습니다. Unsupported Media Type 415 에러인데요. 데이터를 보낼 때 json 형식의 데이터가 필요한데, json 설정을 하지 않았기 때문에 발생을 합니다. Header 부분에 Content-Type: application/json 설정을 해주시면 문제가 해결이 되겠습니다 :) 감사합니다.
[토비의 스프링 정리] #5 서비스 추상화 리뷰 및 기록 이번 파트는 5장 서비스 추상화 파트를 학습. 아래 코드는 사용자 레벨을 부여하기 위해서 작성된 코드다. public void upgradeLevels() { List users = userDao.getAll(); for (User user : users) { Boolean changed = null; if (user.getLevel() == Level.BASIC && user.getLogin() >= 50) { user.setLevel(Level.SILVER); changed = true; } else if (user.getLevel() == Level.SILVER && user.getRecommend() >= 30) { user.setLevel(Level.GOLD); changed = true; }e..
플러터 튜토리얼 - 리스트, 그리드 레이아웃 (ListView, GridView) 안녕하세요 :) 이번 시간에는 앱을 사용함에 있어 필수 레이아웃인 리스트 형식의 ListView에 대해서 학습을 하겠습니다. 추가적으로 쇼핑몰이나 갤러리 앱에서 자주 볼 수 있는 격자 형식의 GridView까지 배워볼게요. 1. ListView 리스트를 보여주기 위해서 사용되는 ListView 입니다. 이전 시간에 배웠던 Column 위젯이나 Row위젯은 스크롤이 안되었어요. 하지만 ListView를 사용하면 스크롤을 사용할 수 있습니다. @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( appBar: AppBar( title: Text(title) ), body: ListView( childre..
DNS_PROBE_FINISHED_NXDOMAIN 에러 with aws, route 53 도메인 발급, 서버 그리고 프런트 엔드 모두 aws를 사용하여 서비스를 만들고 있었습니다. 그리고 갑작스럽게 사이트 접속이 안 되는 문제가 발생을 하였는데요. DNS_PROBE_FINISHED_NXDOMAIN 에러가 발생을 하였습니다. 접속이 됐다, 안 되었다 간헐적으로 발생을 하다가, 결국에는 접속이 안되고 있었습니다. ec2도 문제는 인가 싶었는데 amplify를 활용한 프런트 까지도 접속이 안되어서 이건 도메인 문제다 싶었습니다. 반나절 정도 삽질과 여러 자료를 찾아보았는데요. 문제는 도메인 발급 시 이메일 인증이 안되어서, 도메인이 중지되었다고 해요. 원인을 알고 나서 많이 당황스럽습니다 😢도메인 발급받을 시 이메일로 접속을 해주세요. 그럼 인증을 위한 이메일이 도착해 있습니다. 알려주는 방법대로..
플러터 튜토리얼 - Text, Icon, Image 위젯 학습 안녕하세요. 이번 시간에 화면에 정보를 줄 수 있는 Text, Icon, Image 위젯에 대해서 학습을 하겠습니다 :) 1. Text @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( appBar: AppBar( title: Text(title) ), body: Container( child: const Center( child: Text("Hello Widget", style: TextStyle(fontWeight: FontWeight.bold)) ), ) ); } Text 위젯은 앞에서의 강의 중 Hello World를 출력할 때 사용을 한 위젯이에요 :) 스타일이 필요한 경우는 style ..
플러터 튜토리얼 - 기본이 되는 필수 Container 위젯 학습 안녕하세요 :) 저번 시간에는 플러터를 구동하고 Hello World를 확인을 했어요. 플러터의 모든 구성 요소는 위젯이라고 설명을 드렸는데요. 기본이 되는 위젯들을 하나씩 살펴볼게요. 이번 시간에 학습을 할 위젯은 Container, Center 위젯 입니다. Container, Center는 플러터의 레이아웃을 담당하는 위젯[0]이에요. HTML/CSS에서 익숙한 BOX 모델을 표현하기 위한 방법이에요. 1. Center Center 위젯은 가운데 정렬을 위한 위젯이에요. child를 중앙 정렬을 시키겠습니다. @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( appBar: AppBar( ti..