본문 바로가기
반응형

분류 전체보기373

서버리스 앱만들기 - 1. CockroachDB Serverless 데이터베이스 시작하기 모든 서비스 클라우드에서 구동하기를 해보려고, 이번엔 Database를 찾고 있습니다. 이번에도 역시 무료가 어느정도 가능한 서비스를 찾다보니 CockroachDB라는 것을 찾게 되었습니다. Cockroach Labs, the company building CockroachDB Cockroach Labs, the company building CockroachDB CockroachDB is a distributed database with standard SQL for cloud applications. CockroachDB powers companies like Comcast, Lush, and Bose. www.cockroachlabs.com Cockroach라면 우리말로 바퀴벌레인데요, 단어를 알게.. 2023. 5. 18.
머신러닝(ML) 알고리즘 알고리즘 카테고리 분류 - 지도학습, 비지도학습, 강화학습 머신러닝 알고리즘은 크게 지도학습, 비지도학습, 강화학습으로 분류됩니다. 각 카테고리에 속하는 주요한 알고리즘들을 간단히 살펴보겠습니다. 1. 지도학습 (Supervised Learning) 지도학습은 입력 데이터와 정답(label) 쌍을 통해 학습하는 방법입니다. 주어진 입력에 대해 정확한 출력을 예측하는 모델을 학습합니다. 주요한 지도학습 알고리즘으로는 다음과 같은 것들이 있습니다: 1. 선형 회귀 (Linear Regression) 2. 로지스틱 회귀 (Logistic Regression) 3. 의사결정 트리 (Decision Trees) 4. 랜덤 포레스트 (Random Forests) 5. K-최근접 이웃 (K-Nearest Neighbors) 6. 서포트 벡터 머신 (Support Vector.. 2023. 5. 18.
엑슨 모빌(ExxonMobil, XOM) 종목분석 주식 분석 이런거 하나도 모르고, 아주 어릴적에 주식 책 한권 읽은게 전부인데... 하나하나 글을 써 나간다는 것 자체가 내가 알지 못하는 무언가 도움이 될 수 있다고 생각하고, 써 나가려 합니다. 엑슨 모빌은 사실 들어본적도 없는 회사인데, 최근에 알게 되었습니다. 세계에서 가능 큰 에너지 회사중 하나라는데, 경제에 너무 무관심했나봅니다. 엑슨모빌은 오랫동안 세계 석유 및 가스 산업에서 중요한 역할을 해왔습니다. 에너지 환경이 발전하고 환경에 대한 우려가 커짐에 따라, 엑슨 모빌의 전략을 이해하는 것은 투자자와 업계 관찰자 모두에게 중요할 것입니다. 비즈니스 개요: 엑슨 모빌은 1870년에 미국에서 창립된 세계적인 석유 및 천연가스 기업입니다. 현재는 석유와 천연가스의 탐사, 생산, 정제, 운송, 유통.. 2023. 5. 18.
무료 백엔드 서버 Qoddi 시작하기 - Node(Express)서버 올리기 무료로 구동할 수 있는 백엔드용 서버 서비스를 찾아 찾고 찾았는데, 저도 마찬가지로 Heroku를 사용하고 있었죠. 이젠 그게 유료화되면서 어쩔수 없이 유료로 가야하나 고민하고 있던 차에 Qoddi라는 서비스를 알게되었습니다. https://app.qoddi.com Login to Qoddi - PaaS Premium cloud hosting solution Login to Qoddi and start building! From code to live in 30 seconds app.qoddi.com 이번엔 Qoddi 서비스를 이용하여 Node서버를 구동하기까지 진행해보려고 합니다. 1. Node(Express) 서버 구축 간단하게 Express를 설치하고 구동하는 앱을 만들어줍니다. import exp.. 2023. 5. 17.
Python 머신러닝 라이브러리 비교 : Scikit-learn, TensorFlow, Keras 및 PyTorch 파이썬은 기계 학습 및 데이터 과학에서 가장 인기 있는 언어 중 하나로 부상했습니다. 다양한 기능을 제공하고 다양한 요구를 충족하는 풍부한 머신 러닝 라이브러리 생태계를 제공합니다....라고 하는데. 한번 시작해볼까 하다가도 라이브러리가 너무 많이 존재해서 뭐가뭔지 잘 모르겠네요. 그래서 그 중 가장 유명한 네 가지 파이썬 머신러닝 라이브러리인를 비교해보고자 합니다. 1. Scikit-learn: Scikit-learn은 전통적인 기계 학습 작업에 널리 사용되는 라이브러리입니다. 데이터 전처리, 피쳐 추출, 모델 선택 및 평가를 위한 포괄적인 도구 세트를 제공합니다. Scikit-learn의 주요 기능은 다음과 같습니다: - 간단하고 직관적인 API를 제공하므로 다양한 수준의 전문 지식을 가진 사용자가 .. 2023. 5. 16.
Vue todolist 만들기 - 8. Backend 연동을 위해 Frontend 수정하기 1. store/store.js 수정 store.js 파일에 url request가 가능하도록 각 기능마다 axios 기능을 추가해줍니다. 아울러, 최초 Load시에는 DB의 정보들을 불러올 수 있도록 onLoad함수를 추가해주었습니다. import { createStore } from 'vuex'; import axios from 'axios'; axios.defaults.baseURL = 'http://localhost:3000'; axios.defaults.headers.post['Content-Type']='application/json;charset=utf-8'; axios.defaults.headers.post['Access-Control-Allow-Origin']='*'; export con.. 2023. 5. 5.
Vue todolist 만들기 - 7. Express로 Backend 구성하기 이번에는 Express.js를 이용해서 Backend를 구성해보도록 하겠습니다. Backend 서버는 Express지만, 그 외에도 추가로 MongoDB에 적당한 클러스터 생성이 필요합니다. 그리고 Kakao 로그인 연동을 위해 Kakao Developers 사이트에서 앱 생성이 필요합니다. 이부분은 많은 지문을 필요로 하는 부분이라 여기서 다루지는 않겠습니다. 1. 환경파일(.env) 생성 Backend 프로젝트 폴더에 .env 파일을 생성해서 비밀 환경정보 등을 저장합니다. PORT=3000 NODE_ENV='development' MONGO_URI='mongodb+srv://몽고디비ID:몽고디비PW@cluster0.juisc.mongodb.net/test' KAKAO_ID=00sdfsdf6432sd.. 2023. 5. 5.
Vue todolist 만들기 - 6. Kakao 로그인 구현 Kakao 로그인을 프론트에서 작업하고, 사용자 정보 중 이름, 메일주소 등 몇가지만 백엔드에 등록하는 방식으로 진행하겠습니다. 이를 위해서는 우선 main.js에 아래의 코드를 추가해야 합니다. 1. main.js import { createApp } from 'vue' import App from './App.vue' import { store } from './store/store.js' import router from './router' createApp(App) .use(router) .use(store) .mount('#app') // 아래 추가 window.Kakao.init('ce8a7d7f75e0322350135c938a5f7182'); 2. components/KakaoLogin.vu.. 2023. 5. 4.
Vue todolist 만들기 - 5. Post 수정기능 Post를 수정하는 기능을 구현하겠습니다. 1. components/EachofPost.vue 수정 v-if 기능을 이용하여 edit모드인지 아닌지에 따라 다른 화면을 보여주도록 구성합니다. v {{ id }} {{ titleOfPost }} v x {{ bodyOfPost }} by {{ creator }} 2. store/store.js import { createStore } from 'vuex'; import axios from 'axios'; axios.defaults.baseURL = 'http://localhost:3000'; axios.defaults.headers.post['Content-Type']='application/json;charset=utf-8'; axios.defaults... 2023. 5. 4.
Vue todolist 만들기 - 4. Store 적용하기...Post추가/삭제 Store를 적용해보겠습니다. npm i vuex axios // axios는 나중에 backend 통신을 위해 미리 설치 1. store/store.js 기본 post 리스트를 생성하고, 포스트 추가/삭제기능을 구현해놓는다. 기능은 추후 Backend와의 연동을 위해 actions에 구현해놓습니다.import { createStore } from 'vuex'; // import axios from 'axios'; export const store = createStore({ // export default createStore({ state:{ posts: [ {_id: '1', title: 'apple', body: 'Im apple', creator: 'apple'}, {_id: '2', title.. 2023. 5. 4.
Vue todolist 만들기 - 3. Vue 프로젝트 상세구성 1. router/index.js 수정 불필요한 라우팅을 삭제합니다. import { createRouter, createWebHistory } from 'vue-router'; import Home from '../views/HomeView.vue'; const routes = [ { path:'/', name: 'Home', component: Home } ] const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes }) export default router; 2. 불필요한 view도 삭제합니다. views/AboutView.vue --삭제 3. App.vue 수정 4. views/HomeView.vue.. 2023. 5. 4.
Vue todolist 만들기 - 2. Vue 프로젝트 만들기 1. Vue 프로젝트 생성 vue_front 폴더로 이동하여 vue_프로젝트를 생성합니다. cd vue_front npm i -g @vue/cli // vuejs 프로젝트가 처음일 경우 글로벌로 vue cli를 설치해줍니다. vue create . // 현재의 폴더에 vue 프로젝트를 생성합니다. 2. Vue-router 설치 vue-router를 설치하면 프로젝트 구조가 조금 달라집니다. 따라서 vue-router를 먼저 설치하고 진행합니다. vue add router 3. vuex / axios 설치 및 port 설정 npm i vuex axios package.json의 scripts 부분을 수정하여 4000번 포트에서 서비스하도록 수정합니다. "scripts": { "serve": "vue-cli.. 2023. 5. 4.
Vue todolist 만들기 - 1. 환경세팅 Vue.js를 이용해 백엔드/로그인 연동까지 가능한 Todolist를 만들도록 하겠습니다. 폴더구조는 아래와 같이 하나의 프로젝트 폴더에 backend와 frontend를 모아놓고 시작하겠습니다. TODO_APP - express_back - vue_front 2023. 5. 4.
Flutter 단순 apk파일 만들기 1. 생성방법 flutter build apk --release --target-platform=android-arm64 2. no sound null safety 추가하기 flutter build apk --release --no-sound-null-safety --target-platform=android-arm64 3. 위치 project folder > build > app > outputs > flutter-apk 2023. 3. 30.
폴더 내 파일 리스트 추출 폴더 내 파일 리스트 추출하는 명령어(Windows) dir /a-d /b /s > list.txt /a-d: 폴더제외 /b: 파일명만 추출 /s: 현재 폴더 및 하위 폴더 포함 >list.txt: 결과 리스트를 list.txt파일에 저장 2023. 3. 3.
Flutter 시작하기 2 일차 : splash screen 정렬하기 우선 색상코드를 바꿔줍니다. color: Colors.orange, --> color: Color(0xFFF99231), Center위젯을 Colum위젯으로 바꾸고, CircularProgressIndicator 반영하기 이미지를 높이방향으로 가운데 정렬하기 이미지의 사이즈를 200px로 줄이고 가운데 정렬하기 프로그레스 이미지를 흰색으로 변경하기 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override W.. 2023. 3. 3.
Flutter 시작하기 1 일차 : splash screen 코드팩토리의 플러터 프로그래밍 - Splash Screen 우여곡절 끝에 플러터 설치를 마치고, 혼자 공부하다 잘 안되어 책을 구매하게 되었습니다. 기본 문법은 대충 보고, 첫번째 예제부터 따라해보기로 했습니다. import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body:.. 2023. 3. 3.
Windows에서 Visual Studio없이 플러터(flutter)설치하기 Flutter를 한번 해보려고 합니다. 그런데 Flutter Doctor라는걸 실행하니까, Visual Studio가 안깔려있다네요???? 모바일 개발할건데 웬 Visual Studio? ㅠㅠ 그래서 포기할까도 생각해봤지만 여기저기 찾아다니다가 알아냈습니다. Windows에서 모바일만 개발할 계획인데 굳이 무거운 Visual Studio를 깔고싶지 않다면 아래와 같이 실행하여 설정을 변경해 줄 수 있습니다. 그러면 Visual Studio 관련 부분이 사라집니다.^^ flutter config --no-enable-windows-desktop flutter doctor (ps) Unable to find bundled Java version 에러 C:\Program Files\Android\Android.. 2023. 2. 27.
C#(WPF) - Datagrid 멀티라인 추가하기 아래와 같이 xaml에서 직접 작성할 수 있습니다. 아래와 같이 C#코드로 작성할 수도 있습니다. /* * Created by SharpDevelop. * User: wijkim * Date: 2023-02-13 * Time: 오후 2:56 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents;.. 2023. 2. 14.
파이썬 폴리움(folium) 라이브러리 시군구별 데이터 표시 시군별 평균수입/총수입 자료를 지도에 매핑해서 나타내보도록 하겠습니다. 아래의 자료는 시군별 평균수입/총수입 자료입니다. 한가지 추가로 필요한 파일이 시군구 지형자료입니다. 아래의 파일도 같은 프로젝트 폴더에 저장하고 실행합니다. import folium as g import json import webbrowser import pandas as pd g_map = g.Map(location=[37.4, 127], tiles='cartodbpositron', # tiles = 'Stamen Terrain', zoom_start=7) geo_data = json.load(open('skorea_municipalities_geo_simple.json', encoding='utf-8')) df = pd.rea.. 2023. 2. 13.
파이썬 Folium으로 주피터 노트북 없이 지도 표시하기..chatGPT가 도와줌 오늘은 파이썬의 Folium 라이브러리로 지도를 그려보도록 하겠습니다. 보통의 예제들이 주피터 노트북을 이용해서 지도 결과물을 표시하도록 되어있었는데, 불행히도 제 PC에는 아직 주피터 노트북 설치를 안했네요. 그래서 한참동안 그냥 결과물을 보려고 고생을 하다가 갑자기 그녀석이 생각났습니다. chatGPT~!!! ㅋㅋㅋㅋ 한번 이용해봐야겠습니다. 첨엔 folium 결과를 matplotlib로 내보낼 수 있을까 하고 한참을 고민했는데, chatGPT도 실패를 했습니다. IPython을 깔기도 하고, 별의별 라이브러리를 다 갖다가 붙여놨는데, 결론은 이미지 파일로 만들어서 픽셀단위로 matplotlib에 뿌리더군요. 이건 좀 아니지 않나 싶어서 간단히 html로 만든 결과물을 브라우저로 자동으로 오픈시켜주는.. 2023. 2. 12.
만자로(Manjaro) 리눅스 듀얼부팅 - 파티션 및 한글(ibus, uim) 적용 오랫만에 어떤 리눅스를 골라 설치할까 하다가 다시 만자로 리눅스를 설치해보기로 했습니다. 물론 Windows와 듀얼부팅으로요. 버전은 manjaro-gnome-22.0.2 입니다. 1. 파티션 다른 부분은 사실 거의 Next만 눌러줘도 되지만, 항상 어려웠던 부분이 바로 파티션이 아닐까 합니다. 요즘은 UEFI 방식의 BIOS지원으로 이를 적용하고자 뭔가 좀 더 복잡해진 것 같아...애를 먹었습니다. 그런데 사실 힘들었던 부분은 UEFI(GPT)방식이냐 옛날방식(MBR)방식이냐가 아니라... 부트로더를 제대로 설정하지 못해서 생긴 문제였습니다. - 윈도우즈에서 우선 리눅스를 사용할 공간을 마련합니다. 추가로, 부트로더 8MB를 위한 파티션을 현재 부팅하드인 C드라이브에 함께 추가합니다. 리눅스는 D드라이.. 2023. 2. 5.
피그마(figma) 시작하기 일전에 figma.com의 피그잼(figjam)에 대해 간단히 소개한 포스팅이 있었는데요, 피그마 사이트에서는 피그마가 기본이겠죠. 피그마는 웹디자인 등 디자인 분야에서 협업툴로 현재 각광받고 있는 툴입니다. 최근에는 어도비에 28조원에 인수되었죠. 어도비 입장에서도 그만큼 강력한 기능으로 무장한 경쟁자였고, 그래서 인수하게 된 것으로 알려져있습니다. ​ 저는 디자이너는 아닌 관계로 "그냥 무료로 편하게 사용할 수 있는 낙서장" 정도의 용도로 사용하고 있습니다만, 어떻게 사용하는지 한번 말해볼까 합니다. ​ 시작하기 Figma.com에 접속하여 등록을 하면 곧바로 사용할 수 있습니다. 정상적으로 로그인이 되었으면 아래 그림과 같이 초기 화면이 나타납니다. 상단에 새 디자인파일 또는 Figjam파일을 시작.. 2023. 1. 22.
Golang - 파일명 일괄 변경하기 회사 동료 PC에서 파일명을 일괄 변경시켜줘야 하는 일이 발생했습니다. 예를들면 앞부분에 특정 구문을 붙인다던지, 뒷부분에 날짜를 일괄 붙인다는지 하는 식으로 말이죠. 검색해보면 여러가지 툴/방법이 있긴 합니다만 오랫만에 직접 프로그램을 짜서 도움을 줘볼까 합니다. 그래서 이번엔 쉽게 실행파일 생성이 가능한 Go언어를 이용해서 만들어보기로 했습니다. Java나 C#은 가상머신 세팅에서 약간의 까다로움이 발생하거나 괜히 덩치만 커질 수도 있었고, Python은 친구 PC에 Python을 굳이(개발자도 아닌데) 깔아야 하는 번거로움이 있고, Javascript는...음....?? Go언어 설치나 세팅 부분은 다른 글들에도 많으니까 패스하도록 하겠습니다. src 폴더 하위에 신규 폴더하나를 생성하고, 파일명은.. 2022. 11. 11.
전세계 로켓 발사 사이트 Visual Capitalist에서 전 세계의 로켓 발사 사이트를 지도에 표시했습니다. 원본은 링크에서 확인하시기 바랍니다. 위의 목록은 고정 된 위치를 다루며 SpaceX의 자율운전 바지선(드론선박)은 포함하지 않습니다. 현재 3척의 드론 선박이 활동 중이며, 하나는 로스앤젤레스 근처에 기반을 두고 있고 다른 2척은 플로리다주 포트 커내버럴에 기지를 두고 있습니다. 목록에서 가장 유명한 발사 장소 중 두 곳은바이코누르 우주비행장 (Baikonur Cosmodrome, 카자흐스탄)과 케이프 커내버럴 (Cape Canaveral, 미국)입니다. 전자는 소련 우주 프로그램의 작전 기지로 건설되었으며 지구 최초의 인공위성인 스푸트니크 1호의 발사 지점이었습니다. 후자는 NASA의 주요 작전 기지였으며 1969.. 2022. 11. 8.
2022년 브랜드파워 세계 100대 기업 - Visual Capitalist 우연히 웹서핑 중 Visual Capitalist라는 곳을 알게되었습니다. 이곳에는 경제/과학/헬스 등 여러 흥미로운 분야의 데이터를 이용한 시각화 자료를 제공하고 있습니다. 흥미로운 인사이트를 얻을 수 있으니 한번 방문해보시는 것도 좋을 것 같습니다. https://www.visualcapitalist.com/ Home Data-driven visuals that help explain a complex world www.visualcapitalist.com Brand Finance에서 2022년 세계에서 가장 높은 가치의 브랜드 100개를 선정한 보고서를 만들었습니다. 그리고 Visual Capitalist에서는 이 데이터를 기준으로 브랜드파워를 도식화하였습니다. Apple은 총 브랜드 가치가 3,3.. 2022. 11. 5.
파이썬으로 폴더 내 파일명 일괄 수정하기 특정 폴더의 파일 전체에 대해서 일괄 수정하는 기능을 구현해 보았습니다. add_string 함수는 파일명에 접두사와 접미사를 붙여서 출력하는 기능이고, change_string 함수는 파일명에 특정 문자열을 다른 문자열로 바꾸는 기능입니다. 우선은 파일명을 확인하는 부분까지만 구현하고, 실제 변경하는 부분은 주석 처리하였습니다. 사용하실 분은 해당 부분 주석 해제후 사용하세요. import os def add_string(path, prefix, suffix): for filename in os.listdir(path): name_only, ext = filename.split('.') # 파일명과 확장자로 분리 print(name_only, ext) new_name = prefix + name_onl.. 2022. 11. 5.
프론트엔드 프레임워크 비교 (Angular / React / Vue / Svelte) 프론트엔드 프레임워크 하면 Angular / React / Vue 그리고 최근 부각되고 있는 Svelte가 있는데요. 전문 개발자는 아니지만 조금은 손대본 경험을 토대로(Angular제외..) 특성을 알아보도록 하겠습니다. Stackoverflow Ranking에서 여러 프로그래밍 언어 및 프레임워크에 대한 점유율, 선호도 등 자세한 정보는 확인하실 수 있습니다. 해당 정보에 따르면 웹 프레임워크의 점유율은 아래 그래프와 같습니다. 이 중에 프론트엔드 프레임워크만 보면 React가 제일 상단에 있고, jQuery, Angular, Vue 그리고 한참 아래쪽에 Svelte가 있네요 역시 Stackoverflow Ranking에 따르면 이번엔 Svelte가 제일 위에 있고, 그다음 React,.. 2022. 11. 1.
Django - Gitlab - Heroku CD/CI 배포 와 Freenorm DNS연결 Django앱을 Gitlab에 올리고, Heroku로 자동 배포하는 방법, 그리고 Freenorm의 무료 DNS를 적용하는 방법을 알아보겠습니다. 순서는 아래와 같습니다. django 앱 생성 (본문은 Django의 사용법을 다루는 글이 아니므로, 기본적인 앱은 만들어져 있어야 합니다.) Heroku repo 생성 Gitlab repo 생성 CD/CI설정 (Gitlab 추가설정 및 파일 추가 생성) 추가 설정 (오류 점검) 외부DNS(Freenom) 적용 1. Django 앱 생성 기본적인 앱이 구현되어있겠지만, 앱을 배포하기 위해서는 추가적인 라이브러리 설치가 필요합니다. pip install gunicorn whitenoise django-herok # gunicorn: 위에서 설명한 파이썬 HTTP.. 2022. 10. 9.
.NET6(dotnet6)에서 entity framework 설치하기 (ef명령어 오류) dotnet core3.1 쓰다가 업그레이드 된 닷넷이 있다고 하여 dotnet6를 설치하고 스캐폴딩을 수행해보겠습니다. 1. 필요한 라이브러리를 설치하고(Oracle DB) 2. 스캐폴딩......근데, 스캐폴딩하다가 에러가 발생했습니다. dotnet ef dbcontext scaffold "User Id=abc;Password=1234;Data Source=abcd.efghijk.com:1521/dbname;" Oracle.EntityFrameworkCore -t TBL_ITMAN_AUTH -t TBL_ITMAN_CONSUMABLE -t TBL_ITMAN_ERP -t TBL_ITMAN_OH_UPLOAD -t TBL_ITMAN_PRT_MDL -t TBL_ITMAN_PRT_MST -t TBL_ITMAN_.. 2022. 9. 14.
반응형