전체 글 161

스벨트킷(sveltekit) 넷틀리파이 호스팅하기

스벨트를 사용하면 쉽게 웹사이트를 만들수 있다. 호스팅은 하는법은 1. netlify.toml 파일을 만든뒤 다음을 입력 [build] command = "npm run build" publish = "build/" functions = "functions/" 2. 패키지 설치 npm i -D @sveltejs/adapter-netlify@next 3. svelte.config.js 파일 수정 /** @type {import('@sveltejs/kit').Config} */ import adapter from '@sveltejs/adapter-netlify' const config = { kit: { // hydrate the element in src/app.html target: '#svelte', ..

[플러터] 플러터 장점과 단점.

웹개발을 했었고 자바는 전혀 모르고 자바스크립트와 파이썬만 알았다. vuejs 와 svelte만 쓰다 보니 플러터가 자꾸 손에 익지 않았다. 그나마 좀 익은 시점에 글을 써본다. (플러터가 업데이트 하는 속도가 엄청 빠르다. 8개월 적은 글인데 오래된 얘기가 된것들이 많다. 2011/12월 다시 한번 체크 하였으며 이전의 단점들이 더 이상 큰 단점이 아니거나 단점이 아니다. 결론은 아직도 웹에 비해 더 어렵다는 생각이 들지만 앱을 만들기에 좋고 편리하다.) 일단 단점부터 적자면 (주관적임) 1. HTML로 레이아웃을 만드는 것에 비해 가독성이 떨어진다고 생각됬다. 리액트도 클래스안에 UI를 만드는 것이지만 로 UI가 구별되는게 나에겐 더 쉬웠다. (2021/12 가독성도 그렇지만 html tailwind..

플러터 처음 빨리 시작하기~

1. 폴더구조 플러터개발시작시 유튜버들이 많이 사용하는 폴더구조 2. 스타일에 사용될 상수 만들기 디자인과 관련된 상수를 가진 색상 클래스, 엘리먼트 형태관련 클래스를 만들어서 디자인을 쉽게 하기 3. 데이터 모델 만들기 사용할 데이터의 형태를 지정하기 위해 데이터 모델만들기 4. 실제 사용하거나 UI디자인/테스트를 위한 데이터 만들기 개발중 데이터를 제공할 파일을 만듬 5. 여러개의 스크린을 불러올 수 있는 스크린콜랙션파일 생성 (Optional) 6. 여러개의 위젯을 불러올 수 있는 위젯콜렉션파일 생성 7. 웹을 위한 반응형 위젯 만들기 8. 데이터 오브젝트나 오브젝트 리스트를 json으로 바꾸기 9. 스트링으로 된 Json을 리스트로 바꾸기 10. GetX로 상태관리 GetX를 통해 state를 관..

[플러터] stateless 위젯에서 controller 사용하기

stateful widget을 사용하면 편하긴 한데 stateless widget을 사용하여 컨트롤러를 등록하고 스코를의 위치를 얻어내려고 하였다. 보통은 공식문서에서도 적혀있듯 stateful widget을 사용한다. class MyStockScreen extends StatelessWidget { final MyStocksCtr controller = Get.put(MyStocksCtr()); final ScrollController scrollController = ScrollController(); @override Widget build(BuildContext context) { scrollController.addListener(() => print(scrollController.positio..

플러터에서 자식 위젯의 메서드 부모에서 호출하기

플러터는 위젯으로 구성되어 있다. 그렇기 때문에 위젯간의 소통을 할 수 있는 방법을 아는 것이 중요하다. 위젯간의 소통 방법들을 공부하지 않으면 분리되지 않은 거대 위젯으로 앱이 구성이 될 것이다. 부모의 버튼을 눌렀을때 자식 스크롤 위젯이 자동으로 맨 밑까지 내려오게 하는 기능을 구현해야 했다. 위젯이 나누어지지 않았을 때는 문제가 없었지만 위젯이 부모와 자식으로 나누어 지면서 버튼과 리스트가 분리 되었다. 이때 부모가 자식의 메서드를 호출해서 그 메서드가 자식을 움직이게 만드려면 어떻게 해야 할까? StackOverflow에서 두가지 방법을 찾을 수 있었다. 첫번째는 메서드를 초기화한 클레스의 인스턴트를 전달하는 방법 1. 클레스에 메서드를 초기화 해서 자식 위젯에 인스턴트를 전달한다. 2. 자식위젯..

[호주워홀이야기 2] 호주 퍼스?? 거길 왜가?

1편 infocentre.tistory.com/109 적어도 하루를 머물 곳을 찾아야 했다. 가장 저렴했던 하이브 더 호스텔로 향했다. 지금와서 생각해보면 그렇게 돈을 쓰는데 인색하지 않았으면 더 재밌게 놀았을 수 있었을텐데 생각이 들지만... 그때는 워킹홀리데이로 와서 일도 못 구하고 돈만 쓰고 빈털털이로 실패하면 어떻게 하지 하는 두려움이 컸다. 낯설음 그리고 두려움, 금새 어두워졌고 대충 인도네시아가져온 컵라면으로 때웠다. 평소에도 추위에 약한 사람인데 후드에 두껍지 않은 이불을 덥고 자야했다. 따뜻한 인도네시아가 갑자기 그리워졌다. 모든게 낯설고 두려웠다. 여긴 여행만이 아니라 1년 동안은 일하고 돈도 벌고 영어도 익히면서 알아가야 하는거 아닌가. 6인실 도미토리에서 자야했는데 옆에서 코고는 소리..

Life 2021.04.02

[호주워홀이야기 1] 호주퍼스도착

코로나가 언제까지 계속될지 모르는 지금, 나는 동남아에 작은 나라에 갇힌듯 살아가고 있다. 상황에 따라 세월에 따라 생각이 자꾸 바뀌는 것 같다. 정처 없이 모험하듯 여기저기 돌아다니며 살아가다 더는 늦어지면 취업이 어려워질 것 같다는 두려움에 일을 시작하고, 반복되는 생활을 하다보니 20대 후반 내 인생에 가장 소중한 선택이였던 호주워킹홀리데이를 했던 날들이 그리워 진다. 2017년 29살 이십대 초반에 꿈꿔왔던 호주를 가기로 결정했다. 워킹홀리데이를 가기 위해 내가 선택해야 했던 것들이 있었다. 1. 일 그만두기 대학교를 늦게 졸업하고 개발자(파이썬/장고)로서 일을 시작한지 6개월도 안되서 회사를 그만 뒀다. 29살에 일 그만두고 호주에 간다고 하니 이해가 안된다는 선임도 있었다. "프로그래머로서 일..

Life 2021.03.28

[생각] 재사용 컴포넌트에 구현에 대한 생각

리액트의 프레젠테이션 컴포넌트와 컨테이너 컴포넌트를 보고 컴포넌트의 재사용에 대한 방식을 생각해 보았다. 이렇게 재미있는 방식을 왜 아직도 몰랐었나 싶다. 개념이 재미있어 그림으로 그려보려고 한다. 재활용 할 수 있는 프레젠테이션 컴포넌트에 각각 목적에 다른 데이터를 넣어주면 용도에 맞는 컴포넌트가 만들어진다. 만약 컨테이너 없이 로직과 데이터를 메인에서 재사용할 컴포넌트에 넣어주게 된다면 메인공간이 지저분해 질 것이다.

[svelte] 스벨트 패키지 만들기

자신이 만든 패키지를 다른 사람과 공유할 수 있다면 만든거에 대한 보람을 느낄 수 있을 것 같다. 그리고 좋은 패키지들이 많이 생기면 스벨트에 더 많은 유저들이 관심을 가질 수 있을 것이다. 그래서 패키지를 만드는 방법을 찾아봤다. 정보가 많지 않았지만 좋은 블로그 포스팅이 있어서 테스트 해본 뒤 안되는건 수정해서 작성하였다. 아래의 블로그를 참고 하여 작성함 dev.to/agustinl/creating-a-package-for-svelte-262n 1. 패키지 파일 생성 npm init -y 이 명령어를 사용하면 package.json파일을 생성할 수 있다. 2. 패키지 파일 정보 채우기 { "name": "", "version": "1.0.0", "description": "", "main": "in..

[Svelte] firebase로 svelte 호스팅하기

netlify를 사용해서 호스팅을 할까 firebase로 호스팅 할까 생각하다. 더 익숙한 firebase로 호스팅을 해보기로 하였다. 1. firebase tools 설치 하기 npm install -g firebase-tools 2. 호스팅 관련 정보 초기화 (init) 하기 firebase init hosting 이렇게 클릭하면 질문들이 나온다. (1) Are you ready to proceed? (진행 준비가 됬나요?) 엔터 (2) use an existing project 이미 프로젝트가 있는경우 Create a new project 프로젝트를 새로 만들경우 선택 (3) What do you want to use as your public directory?(퍼블릭디렉토리로 사용할 것은?) 퍼..