Computer 관심 68

sveltekit에서 프린팅 하는 노하우 (scoped css)

웹으로 회사전산 시스템을 만들때 필연적으로 문서를 프린팅을 해야하는 기능이 필요하다. 스벨트킷에서 프린팅 기능을 만들때 필요한 CSS태그를 알아보자 내가 원했던 방법은 특정 요소만 프린팅을 하고 싶었다. div가 두개가 있는데 하나는 인풋용 하나는 출력용 프리뷰인 셈이다. 또한 출력할 화면에는 내가 원하지 않는 Navigation bar가 들어있었다. 인터넷을 찾아보니 아래와 같은 방법이 있었다. function printDiv(divName) { var printContents = document.getElementById(divName).innerHTML; var originalContents = document.body.innerHTML; document.body.innerHTML = printCo..

pythonanywhere에서 DB 마이그레이션(migration) 하기

https://flask-migrate.readthedocs.io/ 로컬 마이그레이션 set FLASK_APP=main.py 1. 마이그레이션 폴더를 추가함 flask db init 2. 마이그레이션 파일 생성 (생성된 파일을 잘 봐야 한다고 함. 왜냐면 테이블 이름이나 칼럼 이름을 바꿀경우 수동으로 수정 필요) $ flask db migrate -m "Initial migration." 3. 마이그레이션 적용 $ flask db upgrade 깃 커밋 1. 깃 커밋 후 푸쉬 파이썬 애니웨어에 적용 1. 파이썬 애니웨어에서 git pull (이를통해 적용을 시킬 파일까지 불러 올 수 있다.) 2. 파이선 애니웨어에서도 마이그레이션 적용 $ flask db upgrade ※ 호스팅한 서버의 마이그레이션 파..

sqlalchemy 사용시 db object를 jason으로 바꾸는 방법

디비에서 얻어온 객체는 딕셔너리 형태로 바꿔줘야 한다. 여러가지 방법을 시도했는데 가장 쉬운 방법은 아래와 같다. 플러터에서 객체를 json을 바꾸는 방법과 비슷하다. 디비모델에 as_dict함수를 추가한다. class User(db.Model): def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns} 그리고 바꾸려는 객체.as_dict()를 하면 response를 할 수 있다. 이 방법을 안쓰면 하나하나 {'name':instant.value}와 같은 방식으로 딕셔너리를 만들어서 전달해야한다.

2) 플라스크 api pythonanywhere MYSQL DB와 연결하기

이전글에서 말했듯 그냥 SQLite 를 디비서버 대신 사용하려 했었다. sqlite 파일이 파일루트에 생성된 것도 볼 수 있었는데 문제는 쓰기에서 파일의 변형으로 보아서인지 쓰기 동안 읽기도 불가능 한줄알았다. (알고 보니 그게 문제는 아니였다.) MYSQL DB로 옮겨보려고 한다. * sqlite에서 mysql로 옮기면서 디비를 만들때 디비설정에서 여러에러 발생한다. 1) sqlite에서 string에 size를 정해줄 필요가 없었는데 mysql에서는 정해 줘야한다. 2) default에 false 대신 0를 넣어줌 3) server_default에서는 스트링만 받는다. 4) 데이터 입력시 엑셀에 빈칸은 nan으로 되어 pandas (nan can not be used with MySQL 에러가 발생)..

1) 플라스크 api 서버 pythonanywhere에 배포

그냥 과정을 나열하면 복잡하다고 느낄 수 있기 때문에 4개의 섹션으로 나누었다. 1. 파일준비 2. 파이썬애니웨어에 파일설치 3. 파이썬애니웨어에 앱생성 4. 세팅(앱과 파일연결) 자신의 컴퓨터에서 해야할 부분 1. 파일준비 1) requirements.txt생성 2) 커밋한뒤 깃허브에 푸쉬하기 섹션 1 파일준비 끝 파이썬애니웨어에서 해야할 부분 2. 파일설치 1) 콘솔에 들어가 가상환경설치 (가상환경의 이름을 myvenv로 만듬) mkvirtualenv myvenv --python=/usr/bin/python3.8 2) 깃에서 클론하기 git clone https://github.com/깃이름/프로젝트이름.git 깃허브의 아이디와 비밀번호를 입력하라고 하는데 비밀번호 대신에 엑세스토큰을 붙여 넣는다. ..

[생각] 코딩에 대한 생각의 전환

프로그래머가 아닌 많은 일반인들이 프로그래밍을 배우고 있다. 심지어 5살짜리 애기도 코딩에 대해 배운다고 하는 말을 듣고 굳이 그렇게 일찍 배울 필요가 있나 싶은 생각도 들었지만 코딩이 기초학문이 되어가고 있는 것을 느낄 수 있었다. 심지어 아이들의 교육을 걱정하는 부모님까지 코딩에 대해 기본은 알고 싶다는 이야기도 들었다. 문득 코딩이 글쓰는 것과 비슷한 것 같다는 생각이 들었다. 글 쓰는 것은 기본적으로 모든 사람이 배우지 않는가. 그런데 코딩도 비슷한 것 같다는 것이다. 나는 직업이 프로그래머가 아니지만 '간단한 코드를 만든다.' 반복되는 작업을 자동으로 하는 10줄 정도의 간단한 코드이다. 다른 직원에게 설명해주고 싶지만 배우려는 의지도 없어보인다. 그들의 생각은 '너는 프로그래머 였으니까...'..

스벨트킷(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', ..

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

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

[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?(퍼블릭디렉토리로 사용할 것은?) 퍼..