전체 글 261

테크커리어 / 돈 존스 / 길벗 / 개발자

* 길벗의 개발자 리뷰어로 선정되어 도서를 제공받았습니다. 테크 커리어 저자: 돈 존스 출판: 길벗 쪽수: 512쪽 구매처: 교보문고, 리디북스 공유하고싶은 내용 인생 정의, 즉 내비게이션의 목적지를 내 앞에 확고히 두고 그곳에 가기 위해 무엇이 필요한지 알아내야 한다. 채용공고를 꼼꼼히 살펴보는 것은 경력 계획을 만드는 훌륭한 방법이다. 당신도 기여할 수 있다. 기여할 자격 가치 있는 기여의 범위가 얼마나 넓은지 고려하지 않았을 가능성이 높다. 가면 증후군을 약하게 앓고 있을 수도 있다. 자기가 가장 능력 없는 사람이고 사람들의 이목을 끌었다가 자신의 실체를 알아챌 거라고 생각하는 해로운 감정을 말한다. 기여할 시간이 있다. 다른 사람의 기여를 소비할 시간이 있다면 자신이 받은 선행을 다른 이에게 나누..

Choi solyi/책 2023.08.28

[자기개발] 어른의 문장력 / 김선영 / 더퀘스트 / 독서 / 글쓰기

* 기록을 위해 작성한 포스트입니다. 어른의 문장력 매일 쓰는 말과 글을 센스 있게 만드는 법 저자 : 김선영(글밥) 출판사 : 더퀘스트 출간일 : 2022년 11월 쪽수 : 228쪽 리디북스 리디셀렉트 교보문고 독서 노트 정갈한 '어른의 문장'은 다음 세 가지를 갖췄다. 1.대화 목적 2.타깃 3.배려 괴태의 에는 갈등이 일어나는 이유가 술수나 악의를 써서라기보다는 오해나 태만 때문이라는 표현이 나온다. 일부러 나쁜 의도를 갖고 상대방을 속이려는 게 아니라 서로의 말을 이해하려는 노력이 부족했다는 뜻 아닐까. 오늘 일을 내일로 미루는 것만 게으름이 아니었다. 대화할 때 오해를 만들지 않으려는 애씀도 필요하다는 생각이 들었다. 나 말고 남을 위한 글을 써보는 게 어떨까. 남을 생각하며 글 쓰는 일은 생각..

Choi solyi/책 2023.08.09

[C#] JWS 생성 (JSON Web Signature) / 검증 / RS256

용어 설명 JWT (JSON Web Token) JSON 형식 토큰의 표준 [RFC-7519] 장점: 권한 부여, 정보 교환시 유용 형식: header, payload, signatrue의 3가지로 구성되어 있다. 사이에 점을 추가해서 header.payload.signature로 표현된다. const token = base64urlEncoding(header) + '.' + base64urlEncoding(payload) + '.' + base64urlEncoding(signature); JWS (JSON Web Signature) JSON Web Signature 를 의미한다. [RFC-7515] JWT와 JWS의 차이 JWT는 클레임 기반의 웹 토큰으로 사용자의 인증, ..

ASP.NET 2023.08.08

flutter에서 firebase auth 사용하기

flutterfire 깃허브에서 샘플을 제공한다. 아래 urld의 main.dart / auth.dart 를 복붙하기만 하면.. 샘플 화면이 짜잔~~ 물론 코드 복붙하기 전에 firebase Authentication 에 구글로그인, email 로그인 등을 추가해두어야한다. https://github.com/firebase/flutterfire/blob/master/packages/firebase_auth/firebase_auth/example/lib/auth.dart https://github.com/firebase/flutterfire/blob/master/packages/firebase_auth/firebase_auth/example/lib/main.dart

flutter 2023.06.06

[error / flutter] There was an error while trying to get your package certificate hash.

flutter에서 firebase 인증 세팅을 했는데 오류가 발생 [There was an error while trying to get your package certificate hash.] firebase에 등록했던 인증서 (certificate)가 플레이스토어에서 받은 sha1 이었다..ㅎ android 폴더에서 ./gradlew signingReport 명령어를 입력해서 debug key를 확인할 수 있다. Variant: debug Config: debug 1. 자바가 안깔려있어서 자바 설치했고 2. gradle.properties 에서 jvmargs를 수정(Xmx512x)로 3. 11버전 이상이어야 된다고 해서 다시 설치 후 안드로이드 스튜디오에서 버전 수정 4. ./gradlew signi..

flutter 2023.06.06

Vite + React + tailwind css + firebase 초기세팅

// vite 프로젝트 생성 $ npm create vite@latest 명령어 입력시 선택항목 표시 이름:solyi(프로젝트명) -> 선택:react -> 선택:JavaScript // 프로젝트로 이동 $ cd solyi // 폴더 열기 $ code . -r // tailwind 설치 $ npm install -D tailwindcss // 테스트 실행 $ npm run dev // firebase 설치 $ npm i firebase // firebase-tools 설치 (node version 14.18.1) $ npm install -g firebase-tools@9.2.0 // login $ firebase login $ firebase init 명령어 입력시 선택항목 표시 -> firestore..

React 2023.05.13

[ERROR]노마드 코더 / xhr poll error / socket.io / admin ui

노마드 코더 줌 클론 강의를 그대로 진행하다보면 socket.io의 admin ui 를 실행했을때 xhr poll error 가 발생합니다. 1. https://admin.socket.io 에 접속한다. 2. 아래와 같이 세팅한다. Server URL : http://localhost:3000 * 맨 끝 슬래시가 있으면 안됩니다. [X] http://localhost:3000/ Advanced options: 체크 WebSocket only?: 체크 Admin namespace: /admin (기본설정) 설정 코드는 다음과 같습니다. import { Server } from 'socket.io' import { instrument } from '@socket.io/admin-ui' ... const ht..

ERROR 2023.01.26

python 8일차 / indeed / selenium / chromedriver / beautifulsoup / None (data-type)

from requests import get from bs4 import BeautifulSoup from extractors.wwr import extract_wwr_jobs # function 을 import # from 폴더명.파일명 import function명 # jobs = extract_wwr_jobs("python") # print(jobs) # base_url = "https://kr.indeed.com/jobs?q=" # search_term = "python" # response = get(f"{base_url}{search_term}") # print(response) # if response.status_code != 200: # print("Fail") # else: # prin..

Python 2023.01.10

python 7일차 웹 스크래핑 / beautifulsoup 4 / find / find_all / requests / response status_code

# 5.0 웹 스크래핑 # beautiful soup (웹사이트의 데이터를 받아올 수 있게 해주는 python 라이블러리) # 5.1 다운로드 # $ pip install beautifulsoup4 # https://www.crummy.com/software/BeautifulSoup/bs4/doc/#quick-start # 5.2 주의사항 # 웹스크래핑으로 상업적 이용시 주의해야한다. from requests import get from bs4 import BeautifulSoup base_url ="https://weworkremotely.com/remote-jobs/search?term=" search_term ="vue" reseponse = get(f"{base_url}{search_term}")..

Python 2023.01.10

[vue]컴포넌트 자세히 알아보기

1. 섹션 소개 컴포넌트 등록 및 스타일에 대해 Component Registration & Styling 컴포넌트를 스타일링 하는 방법과 특정 스타일이 특정 컴포넌트에만 영향을 미치도록 하는 방법도 알아본다 슬롯과 동적 컴포넌트 Slots & Dynamic Components 컴포넌트 이름과 프로젝트 폴더 구조 Naming & Folder structure 2. 전역 컴포넌트Global Components와 지역 컴포넌트Local Components main.js에서 app.component('the-header', TheHeader); 처럼 설정하는건 vue앱의 전역에서 사용할 수 있는 컴포넌트다. 하지만 컴포넌트를 등록하는 방법 중에서 가장 좋은 방법은 아니다. 한가지 잠재적 단점이 있다. 모든 컴..

vue 2023.01.10

python 6일차 / for ~ in ~ / for loop / requests / status_code

# 4.5 For Loops websites = ( "google.com", "airbnb.com", "https://twitter.com", "facebook.com", "https://tictoc.com" ) websites[0] # tuple 의 갯수만큼 반복 for website in websites: print("Hello", website) # 일반적으로 tuple이나 list를 만들 때 복수형으로 만든다 # websites, movies, users, photos ,... # for 에서는 단수형으로 쓴다. # website, movie, user, photo # 4.6 URL Formatting for website in websites: if not website.startswith("h..

Python 2023.01.06

python 5일차 / method / list / tuple / dictionary

# 4.0 Methods # python 에는 3가지 데이터 구조가 있다. # list # tuple # dictionary # 자료구조 Data structure란 무엇일까? # 데이터를 구조화 하고 싶을 때 사용한다. # list # days_of_week = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] # print(days_of_week) name = "solyi" print(name.upper()) # 대문자로 출력 # upper() 외에도 엄 청 많 은 function 들이 결합되어있다. # "solyi"는 string 인데 내부에 많은 function 을 가지고 있다. # 이것들을 function 이 아닌 method 라고 부른다. # capita..

Python 2023.01.05

console.log / console.table / console.error / console.info / console.debug / console.warn /

console.log() console.group() console.groupEnd() console.table() console.dir() console.error() console.info() console.debug() console.warn() console.clear() const arr = [ { name: 'solyi', birthday: '5/15' }, { name: 'may', birthday: '11/7' } ] console.table(arr) console.info("인포메세지~"); console.debug("디버그~~"); console.warn("와닝와닝~"); console.error("에러메세지~"); console.debug 는 상세 메세지에서 따로 볼 수 있다.

Frontend 2023.01.04

python 3일차 / if / elif / else

# 3.0 if # if condition: # "write the code to run" if 10 == 10: print("True!!") a = "solyi" if a == "solyi": print("YES!") # 3.1 Else & Elif if 10 > 5: print("True") # else 는 옵션이다 무조건 사용해야하는 것은 아님 password_correct = False # True if password_correct: print("Here is your money.") else: print("Wrong password.") # elif (== else if) # else와 마찬가지로 반드시 써야하는것은 아님 winner = 10 if winner > 10: print("winne..

Python 2023.01.02

python 2일차 / function / def / parameters / arguments / return values / format / f""

# 2.4 Functions # function 을 정의할 때 def 를 쓴다. # 변수와 마찬가지로 숫자로 시작하면 안되고 스네이크 케이스를 쓴다 def say_hello(user_name, user_age): # parameter print("hello", user_name, "how r u ?") print("you are", user_age, "years old.") # 2.5 Identation # python에선 공백이 매우 중요하다. # 코드를 두칸 띄워줘야 그 코드가 어떤것 안에 들어가 있는걸 알수있다. def say_bye(): print("bye~") say_bye() # 2.6 Parameters # parameter: function의 괄호 안에서 쓰는 인자 # argument: f..

Python 2023.01.02

Python 1일차 / 변수 / string / bool

# 2.0 Hello world print("Hello world!") # 2.1 Variables 변수 a = 2 b = 3 c = a + b c = 1 #파이썬은 위에서 아래로 코드를 읽는다. print(c) # 변수는 숫자나 기호가 아닌 글자로 시작 해야한다. # 변수명에는 띄어쓰기를 사용할 수 없다. # python에서는 스네이크 케이스로 작성한다. myAge = 77 # camelCase는 javascript에서 많이 사용된다. my_age = 77 # python 에서는 스네이크 케이스를 많이 쓴다. print(myAge) print(my_age) # 2.2 Booleans and Strings my_name = "solyi" print(my_name) # True, False 는 첫 글자를 ..

Python 2023.01.02

[vue]컴포넌트 통신

세션8: 컴포넌트 통신 Component Communication & Reusable 1. 이번 세션 학습 컴포넌트로 UI를 구성하는 방법 어떻게 컴포넌트끼리 통신하는지, 컴포넌트 사이에서 어떻게 데이터를 주고 받는지 어떤 접근법이 있고, 어떻게 선택 해야하는지 2. 외부에서 데이터 받아오기 중요!같은 컴포넌트를 여러번 사용할때 매번 다른 데이터로 설정한다는 개념 props property의 약자로 커스텀 html 속성을 의미한다. props 로 설정한 것을 vue가 인식하게 하려면 받는 component 에서 props 를 추가해주어야한다. 가장 단순하게 받는 방법은 [ ] array 이다. props: [], 그 다음 모든 커스텀 속성을 추가해준다. props: [ 'name', 'phoneNumbe..

vue 2023.01.02

[책]혼자 공부하는 컴퓨터구조 + 운영체제

* 한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. * 이 책을 선택한 이유 나는 경영학과 출신으로 국비학원에서 6개월간 교육을 받고 웹 개발자로 취직하여 3년 차에 접어든다. 전공자들은 대체로 1, 2학년 때 컴퓨터 구조나 운영체제에 대해 필수로 학습한다고 들었다. 남들이 하도 필수 과목이다, 개발자라면 반드시 알아야하는 개념이다라는 말을 많이 해서 학점은행제로 컴퓨터 구조와 운영체제 과목을 이수했지만, 학점 은행제 특성상 재밌는 수업과는 거리가 멀어 흥미를 느끼지 못했다. 그 결과, 내 머릿 속에 남은 개념은 zero에 가까운 상태였다. 하지만 가슴 한켠엔 언젠간 공부해봐야지..라는 생각만 갖고 있던 차에 이 책을 만났다. * 이 책의 구성 핵심 키워드나 말풍선, 좀 더 알아보기, 핵심포인..