-
하고 싶은 일들2024.11.04
필요한 일들을 적어두자 - 작업한 코드 정리 - 자바스크립트 공부 (소규모 프로젝트)- C 문법 괜히 꼬아서 더 힘들고 어렵게 하지 말고가능한 시간에 마음 편히 실행할 것!
004 몇 개의 의상 조합이 가능한지 찾기2024.10.0111패션 마을의 옷장 마법사옛날 옛적, 패션 마을이라는 곳에 아리라는 이름의 옷장 마법사가 살고 있었습니다. 아리는 마을 사람들에게 멋진 옷을 조합해주는 특별한 능력을 가지고 있었죠.어느 날, 마을에 새로운 옷들이 도착했습니다. 아리는 이 옷들을 잘 정리하고, 마을 사람들에게 다양한 스타일을 제안하기로 마음먹었습니다. 옷들은 각각 종류가 있었는데, 예를 들어 "노란 모자"는 머리장식, "파란 선글라스"는 액세서리, "초록 터번"도 머리장식에 속했죠.아리는 먼저 각 종류별로 옷의 개수를 세기 시작했습니다. 머리장식에는 노란 모자와 초록 터번, 액세서리에는 파란 선글라스가 있었습니다. 그러고 나서, 각 종류별로 하나를 선택하거나 선택하지 않는 경우의 수를 계산했습니다. 예를 들어, 머리장식은 2가지 선택지(노란..
003 소수 찾기2024.09.294문제 출처 : https://youtu.be/m3kCKV8oc1g?si=WTrr9omSekICyslD 한 자리 숫자가 적힌 종이 조각이 흩어져 있습니다. 흩어진 종이조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. Loop 활용 1. 숫자 조합 2. 소수가 아닌 수 제거 : 에라토스테네스의 체 사용3. permutation, map, set 등을 활용하여 손쉽게 확인 from itertools import permutationsdef solution(numbers): prime_set = set() # 1. Make all possible number combinations from the given numbers for i in range(len(numbers)): ..
002 전화번호 목록2024.09.27전화번호에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인해야 함 접두어이면 False, 아니면 True 전화번호부에 적힌 전화번호를 담은 배열phone_book이 solution 함수의 매개 변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 False를 그렇지 않으면 True를 return 하도록 solution 함수를 작성해 주세요. : 왜 하필이면 전화번호 목록이지? 접두어가 있는지 확인할 일이 뭐가 있지.. 비교할 첫 번째 전화번호를 선택하고, 비교할 두 번째 전화번호를 선택하고, startswith 함수를 사용해 서로가 서로의 접두어인지 확인한다. def solution(phone_book): # 1. Sort the phone book ..
CNN, Convolution, Kernel, Pooling 이미지들2024.09.256이런 그림들 너무 좋다..🥰 합성곱(合成-), 또는 콘벌루션(convolution)은 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음, 구간에 대해 적분하여 새로운 함수를 구하는 수학 연산자 Pooling으로 Overfitting을 방지한다고 한다. 출처 : https://hobinjeong.medium.com/cnn%EC%97%90%EC%84%9C-pooling%EC%9D%B4%EB%9E%80-c4e01aa83c83 출처: https://brunch.co.kr/@gdhan/7 출처: https://www.analyticsvidhya.com/blog/2022/01/convolutional-neural-network-an-overview/..
001 Did not finish2024.09.24완주하지 못한 한 선수를 찾아야 한다. 마라톤에 참여한 선수들의 이름이 담긴 배열이 주어질 때, 완주하지 못한 선수의 이름을 반환하도록 soloution 함수를 작성하자 마라톤 경기에 참여한 선수의 수는 1명 이상, 100,000명 이하이다. completion의 길이는 participant의 길이보다 1 작다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있다. 참가자 중에는 동명 이인이 있을 수 있다. participantcompletionreturnc, a, bb, ca a를 찾으시오. 1. sorting / loop을 활용2. hash를 활용3. collections.Counter 활용 1. sorting 두 리스트를 정렬하여 completion list의 lengt..
Ubuntu에 Apache 앱 서버 설치2024.08.022집에 있는 안 쓰는 컴이 있어서 우분투 서버로 만들어 연습용 웹페이지를 띄워볼까 싶었다동네 컴퓨터 수리점에서 3만원짜리 고물 모니터랑 랜케이블 사옴 많은 분들이 정보를 상세하게 공유해 주셔서 새삼 감동약간의 오류와 함께 순조롭게 진행하고 있지만, 아직 개념도 안 잡혔고 몇 번 더 해봐야 이해할 수 있을 것 같다아래는 도움 된 링크들 목표는 Gpt보단 직접 검색으로 울집 컴에 리눅스 서버 구축, 웹페이지 플라스크로 띄우고 CRUD 구현 이제 DB 셋팅하고 웹앱만 만들면 됨 (? 주말까지 할 수 있을까..)아직까진 뭐가 뭔지 몰라도 재밌음 그런데 오래된 컴이긴 하지만 멀쩡한 걸 버릴 뻔 했다 ;램 문제인지 슬롯 문제인지2번째 램 슬롯을 비우니까굉음도 안 나고 뭐든지 된다 ㅋㅋ라즈베리파이 귀여워서 갖고 싶..
struct 구조체2024.07.08* 글 아래의 링크를 들으며 기록한 내용입니다. 링크에서 자세한 내용을 확인하세요. 구조체는 C, C++ 언어 문법 전체에서 가장 중요한 개념객체지향 언어인 C++은 구조체에서 확장된 클래스를 기반으로 문법이 추가된 것구조체를 잘 활용하면 가독성이 좋고 효율적인 프로그램이 가능하며, 실무 프로젝트에서 많이 사용함구조체를 이용하면 내가 원하는 자료형을 만들어 사용할 수 있음 프로그램이 깔끔하고 편하다고 계속 말씀하심 변수 : 단독주택 ㅋint x; // 4평(byte) 짜리 단독주택 1가구 정수 int, 실수 double, 문자 char, 문자열 char *, 문자열 char 배열 배열 : 같은 평수로 구성된 아파트 ㅋㅋㅋint x[5]; // 4평짜리 5가구 동일한 형(type)의 데이터들을 하나의..
Trail of 20242024.05.022024. 09. 16.휴가 때 집에서 빡세게 놀고 나서 복귀해서 넘 피곤해서 좀 후회했다 ㅎㅎ한 달 동안 바쁘기도 하고 넘 피곤한데, 압력만 오지게 받고 보람이나 배움이 없었던 것은 아니지만 알 수 있는 일과 할 수 있는 일에 한계가 느껴져서 아쉬웠다. 이번 명절에는 좀 쉬고, 지속적으로 스스로를 도울 수 있는 일들을 시작하자고 마음 먹음그대로 실행되지 않는 계획은 싫지만, 될 때까지 시도해야 하는 것들이 있으니.. 올해 이제 3개월 밖에 안 남았다 아껴 쓰자 2024. 08. 07.열심히 일한 보람도 좀 있고, 하고 싶었던 일을 하는 휴가라 즐겁다.. 얼마만의 정신적 쾌적함인지 ㅠㅠ 기쁘다 그런데 푹 빠져서 뭘 하기에 3~4일은 좀 짧은 느낌이 든다어쩌면 지금 같은 방식으로는 한 달, 일 년도 ..
SQL injection 예방2024.04.01유튭 동영상 보다가 무서워서 메모하고 감 ㅊㅊ https://youtu.be/FoZ2cucLiDs?si=MAJzTlaCBnEwXEiu 1. Parameterized query 이렇게 쓰면 큰일남ㅜㅜ pool.query('SELECT * FROM users WHERE id=' + 유저가보낸거); pool.execute('SELECT * FROM users WHERE id=' + 유저가보낸거); 이렇게 써야 됨 pool.query('SELECT * FROM users WHERE id=?', [유저가보낸거]); pool.execute('SELECT * FROM users WHERE id=?', [유저가보낸거]); 2. Stored procedure 프로시저 문법, 이런 방법도 있다. 코드 양이 많아지는 단점...
PASCAL VOC(PASCAL Visual Object Classes Challenge)2024.03.17이미지 인식 Image recognition 나무라는 추상적인 개념 선택적 주의 집중 selective attention 문맥 context 종합적 이해 '픽셀을 읽어들여 어떻게 문맥 정보를 추출하고 이들을 어떻게 종합하여 이해할 것인가' '인간이 이미지를 인식하는 매커니즘을 밝혀내고, 이를 기계로 하여금 모방하도록 해 보자' 요인 Feature를 정의하여 사용하고, 이들을 종합하고 이해하도록 하기 위해 Learning model과 Learning algorithm을 사용하여 이를 머신 러닝 차원으로 해결하고자 하였다. 이런 이미지 인식 시도를 통해 자신감을 얻은 공학자들은, 기계의 이미지 인식 성능의 Benchmark로 삼을 수 있는 데이터셋들을 만들기 시작함. 그 중 초창기 이미지 인식 대회 중 가장..
C 배열 Array, 함수 Function2024.03.11Array 배열 Array는 이런 식으로. 인덱스로 호출할 수 있다. 인덱스를 사용해 값을 수정할 수 있다. 10개의 숫자가 들어가는 Array에 1번 인덱스로 80 넣고 출력할 수 있다. 그런데 이렇게 넣으면 이런 8이 나옴 내가 넣은 것이 아님.. 그냥 그 메모리 주소에 우연히 놓여져 있던 값이 불려온 것이라 함.. (쓰레기 값 garbage value) 암튼 0번 인덱스에도 값을 넣어주면 정상적으로 출력이 됨. 지금 Array에 데이터 타입을 정해주고, [] 대괄호 안에 들어갈 숫자로 크기도 지정해준 것임 배열을 선언할 때 크기를 정해주면 좋은 점은 1. 코드 읽는 사람에게 배열의 크기와 의도를 즉시 알려줘서 코드 가독성을 높여주고, 2. 컴파일러가 배열 크기를 기반으로 메모리 할당량을 결정하고, ..
C Calculator, Mad Libs Game2024.02.29간단한 Calculator 하지만 이걸로는 소수를 처리할 수 없으니 변수를 double로 바꿔주고 scanf()에서는 %lf printf()에서는 %f로 변경해 줌 하지만 문자열 입력하면 황급히 끝내버림 Building a Mad Libs Game [20]처럼 감당해야 하는 메모리의 양 정해준다.. scanf()에서 문자열에는 변수 앞에 &가 안 필요함 그런데 역시 여기서도 이름 넣는데 띄어쓰기 넣어서 두 가지 쓰면 하나밖에 안 나온다. 그래서 이런 방법을 씀 여기서 만약 Zendaya만 입력하고 엔터를 클릭하면 프로그램이 다음 글자열을 입력받기를 기다리고 있는 것을 볼 수 있다. 기본적으로 C는 사용자가 입력하는 내용에 대해 매우 구체적으로 설명하도록 강제한다고 한다.
C 사용자 입력 받기 Getting user input2024.02.28scanf("형식지정자", &변수명); 사용자가 입력한 숫자를 받아서 변수에 저장해준다. double의 경우 char 문자열의 경우 변수 옆에 대괄호를 붙이고 안에 숫자를 넣어 저장할 수 있는 메모리의 크기를 정한다. 그런데 scanf는 이렇게 문자열을 띄어 쓸 경우, 앞의 것만 접수하심 그래서 fgets(변수명, 길이, 스트림);을 사용해 데이터를 입력받는다. stream 스트림은 데이터의 흐름을 추상화한 개념으로 데이터가 연속적으로 이동하는 경로나 채널을 의미한다고 함 스트림을 사용함으로써 데이터 처리 과정을 단순화하고 일관성을 유지할 수 있다고 함 추상화: 스트림은 데이터의 실제 저장 매체(예: 파일, 메모리, 네트워크 연결)로부터 데이터를 읽고 쓰는 방법을 추상화합니다. 이로 인해, 개발자는 데이..
C의 상수2024.02.262Constants in C 이 프로그램을 실행하면 정수 5를 출력한 후 새로 입력해 준 8의 출력을 수행한다. 내 컴 왜 이렇게 느리지 하지만 여기서 num을 변경되지 않는 값으로 만들고 싶다면 const 를 붙여준다. num 변수에 const를 붙여 상수가 되었기 때문에 빌드 · 실행 버튼을 누르면 오류나고 실행이 되지 않는다. 9번째 줄 앞에 빨간색 오류 표시가 뜨고 'num'은 읽기 전용 변수로 할당됨 이라는 오류 메시지가 뜬다. 그래서 위에는 FAV_NUM이라는 상수로, 아래는 num이라는 변수로 변경해주면 더이상 같은 변수는 아니지만 오류도 나지 않는다. 아무튼 상수는 아래 열에서 변화시킬 수 없음 그리고 상수는 보통 대문자와 _로 변수를 선언해서 만드는데, 개발자들이 보고 아 상수구나 싶게 그..
Bounding box, Labeling 책갈피2024.02.23Roboflow https://blog.roboflow.com/how-to-draw-a-bounding-box-label-python/ How to Draw a Bounding Box Prediction Label with Python In this article, we show how to use the cv2 library to draw bounding box prediction labels in Python. blog.roboflow.com 자동 라벨링 및 딥러닝 플랫폼 서비스를 제공하는 곳임 ♣ Here is the code we'll need to draw our bounding boxes and add labels above each bounding box: import cv2 predicti..
C 형식지정자, 함수, 연산자2024.02.22Format Specifier 형식지정자 특정 데이터 유형의 값을 출력할 때 형식을 지정해야 한다. 이 때 사용해야 하는 문자, 또는 문자열 %d: 10진 정수를 출력할 때 사용 %f: 부동 소수점 수를 출력할 때 사용 %s: 문자열을 출력할 때 사용 %c: 문자 하나 출력할 때 사용 #include int main() { int num = 42; float pi = 3.14; char letter = 'A'; printf("정수: %d\n", num); printf("실수: %f\n", pi); printf("문자: %c\n", letter); return 0; } d 를 보면 integer를 출력하고 싶어한다는 걸 알 수 있다는~ 연속 사용 시 변수 넣기도 당연 가능 Number Types 소숫점이 ..
C Code::Blocks 설치 및 Hello world2024.02.202* 글이 좀 많아지면 카테고리 만들어서 이동시킬 계획 Code::Blocks install 코드블록은 C, C++, 및 Fortran의 통합개발환경(IDE) 오픈소스이다. C언어의 컴파일러인 GCC (GNU Compiler Collection)를 기본적으로 지원한다 설정 딱히 손대는 것 없이 그대로 설치함 Console application create : This is like there's a basic C project that you can run on your computer. int main(){}에서 main은 Method라고 하시고, printf는 함수라고 하심 (지피티한테 물어보니 객체지향 프로그래밍에서 주로 메소드라고 부르고 절차적 프로그래밍이나 함수형 프로그래밍에서는 함수라고 한다는데..
정처기 공부 중2024.02.17다양한 교재로 내용 익히는 거 괜찮은 듯 🥪 Software 소프트웨어 상품성, 복잡성, 변경 가능성, 복제성 System 시스템 기본요소 : 입력 처리 출력 제어 피드백 Software Crisis 소프트웨어 위기 - 개발비용 증가 - 개발 기간 지연 - 개발 인력 부족 인건비 상승 - 성능 및 신뢰성 부족 - 유지보수의 어려움과 유지보수의 엄청 큰 비용 Software Engineering 소프트웨어 공학 - 현대적인 프로그래밍 기술 - 신뢰성 높아야 - 사용 편리성, 유지보수성 높아야 - 지속적인 검증 시행 소프트웨어 공학 기본원칙 - 품질 높은 Software 상품 개발 - 지속적인 검증 시행 - 결과에 대한 명확한 기록 유지 Software Reengineering 소프트웨어 재공학 - Soft..
YOLO 책갈피2024.02.13You Only Look Once — 다.. 단지 한 번만 보았을 뿐이라구! 이번 포스팅에서는 객체 탐지(Object Detection)분야에서 많이 알려진 논문인 “You Only Look Once: Unified, Real-Time Object Detection (2016)”을 다룬다[1]. 줄여서 흔히 YOLO라고… medium.com Machine Learning / Yolo3 카테고리가 있는 블로그 https://ctkim.tistory.com/entry/YOLOYou-Only-Look-Once YOLO(You Only Look Once)란? ☞ 문서의 내용은 가장 하단 참고문헌 및 사이트를 참고하여 필자가 보기 쉽도록 정리한 내용입니다. ☞ 틀린 내용 및 저작권 관련 문의가 있는 경우 문의하시..
데이터 과학 플랫폼들 (링크)2024.02.132사이트 구경만 해도 신기하다ㅎㅎ 약간 멋지고 비싼 가구 전시장에서 구경하는 기분 Azure Machine Learning 마이크로소프트 애저 머신러닝 https://azure.microsoft.com/ko-kr/products/machine-learning Azure Machine Learning - ML as a Service | Microsoft Azure Azure에서 기계 학습 플랫폼을 사용하여 간소화된 방법으로 기계 학습 모델을 빌드하세요. MLaaS(Machine Learning as a Service)를 사용하면 접근성 및 효율성이 향상됩니다. azure.microsoft.com SAS Viya SAS 바이야 https://www.sas.com/ko_kr/software/viya.html S..
폴더 파일 다루기 Python os, shutil, collections...2024.02.07os.mkdir() : 디렉토리 생성 os.makedirs() : 인자로 받은 경로에 디렉토리 생성 (모든 경로 디렉토리 없으면 생성함) import os if os.path.exists('ex_folder'): print('The folder already exists.') else: os.mkdir('ex_folder') print('The folder has been created.') os.makedirs('ex_folder/20240206') shutil.copy() : 파일 복사 shutil.copytree() : 디렉토리 복사 import shutil shutil.copytree('D:\ex_folder', 'ex_folder') import shutil shutil.copy('ex_fold..
OpenCV 살짝..2024.02.05Computer Vision 및 기계 학습과 관련된 다양한 알고리즘을 지원하는 오픈 소스 라이브러리. 2000년 출시. (1999년 Gary Bradsky, Intel + Vadim Pisarevsky + Willow Garage 지원) https://docs.opencv.org/4.x/d0/de3/tutorial_py_intro.html OpenCV: Introduction to OpenCV-Python Tutorials OpenCV OpenCV was started at Intel in 1999 by Gary Bradsky, and the first release came out in 2000. Vadim Pisarevsky joined Gary Bradsky to manage Intel's Russ..
Computer vision libraries / 작성 중2024.02.016OpenCV (Open Source Computer Vision Library) C++, Python, Java 등 다양한 언어에서 사용 가능한 가장 널리 사용되는 오픈소스 머신 비전 라이브러리 중 하나. 이미지 및 비디오 처리, 객체 감지, 얼굴 인식, 기계 학습 등 다양한 기능 제공. https://opencv.org/ Home OpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI). opencv.org https://pypi.org/projec..
데이터 분석가, 데이터 사이언티스트, 데이터 엔지니어2024.01.31데이터 분석가(애널리스트) - 데이터 분석, 처리 및 비즈니스에 유의미한 결과 창출 - 분석 도구를 활용해서 데이터 보고서 설계 및 작성 프로모션 KPI 수립, 비즈니스 의사결정에 필요한 데이터 분석 업무 도메인 지식 매우 중요함 문제 제대로 파악해야 함 어떤 데이터가 필요할 지 정의 데이터를 분석, 개선안 마련해야 함 데이터 시각화, 커뮤니케이션 능력 매우 중요 데이터시각화 Tool: Power BI, Tableau, Google Analytics 데이터 분석 가공 업무를 위한 SQL, Python, R 등의 언어로 프로그래밍 학습 필요함 데이터 사이언티스트 - 과거 패턴으로부터 미래 예측 - 비즈니스에 여러 알고리즘 적용시켜 새로운 분석 모델 및 머신러닝 모델 수정/개발 특정 비즈니스 도메인 안에서 ..
[책] Python과 SQL을 활용한 실전 데이터 전처리2024.01.272"실세계에 존재하는 데이터는 때로는 값이 존재하지 않고 때로는 뒤틀려 있어 분석 알고리즘을 바로 적용할 수 없는 경우가 많다. 그래서 데이터 분석 전에 반드시 데이터 전처리 과정을 거쳐야 한다. 데이터 전처리를 통해 비어 있는 데이터를 채우기도 하고, 잡음 섞인 데이터를 정제하기도 하고 분석하기 좋은 모양(구조)로 바꾸기도 한다. 때로는 분석할 데이터량이 너무 많아 분석 대상 데이터를 줄이거나 수많은 분석 차원에서 핵심요소만 뽑아야 하는 경우도 있다." [목차] 머리말 여는 장 개발환경구축 제1장 데이터 전처리 개요 제2장 데이터 정제 제3장 데이터 통합 제4장 데이터 축소 제5장 데이터 변환 제6장 Case Study: 취업률 관점에서의 대학정보 부록 데이터 전처리 방법론 : 정제/통합/축소/변환 Py..
애자일 선언 Manifesto for Agile Software Development2024.01.24Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value..
20240121 책 목록 ☞2024.01.216개인적으로 시의적절하고 맘에 드는 구성이다 ✨️ 다 기억하기도 어렵고 이해가 다 될 리도 없으니 스트레스 많이 받지 말고 이런 게 있구나 하면서 눈에 익히고 넘어가기 대신 가급적 의식을 날리지는 말고 끝까지.. 한두 번 더 읽어야 할 것 같은 책은 사자 인덱스 지성사의 가장 위대한 발명품, 색인의 역사 데니스 덩컨(지은이), 배동근(옮긴이) arte(아르테) 도판 차례 008 서문 011 1장 서열화의 취지: 알파벳순 배열에 대하여 037 2장 색인의 탄생: 설교와 교육 081 3장 그것이 없었더라면 어떻게 되었을까?: 쪽 번호가 만든 기적 133 4장 지도냐 실제 영토냐: 시험대에 오른 색인 173 5장 “토리당 녀석에게는 절대 내 『영국사』 색인을 맡기지 마오!”: 색인을 둘러싼 논쟁 209 6장 소..
데이터 마이닝 Data Mining2024.01.113Data Mining 데이터 마이닝 (두산) 많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여, 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다. 데이터베이스로부터 과거에는 알지 못했지만 데이터 속에서 유도된 새로운 데이터 모델을 발견하여 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다. 즉 데이터에 숨겨진 패턴과 관계를 찾아내어 광맥을 찾아내듯이 정보를 발견해 내는 것이다. 여기에서 정보 발견이란 데이터에 고급 통계 분석과 모델링 기법을 적용하여 유용한 패턴과 관계를 찾아내는 과정이다. 데이터베이스 마케팅의 핵심 기술이라고 할 수 있다. 예를 들어, 한 백화점에서 판매 데이터베이스의 데이터를 분석하여 금요일 오전에는 어떤 상품들이 잘 팔리는..
Python FastAPI Framework 참고2024.01.10구상하고 있는 홈피에 적용해볼까 싶음 https://fastapi.tiangolo.com/ko/ FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi.tiangolo.com FastAPI 파이썬으로 간단하게 웹 API 만들기 FastAPI 파이썬으로 간단하게 웹 API 만들기 - 오픈소스컨설팅 테크블로그 % FastAPI는 Python을 기반으로 개발된 현대적이고 빠른 웹 프레임워크 입니다. FastAPI의 기본 개념과 특징, CRUD 예시를 통해 간단한 REST API 구현 까지 다뤄보았습니다. tech.osci.kr https://lsjsj92.tistory.com/648..