Programming
-
구름level 파이썬 코딩테스트 연습Programming/코딩공부 2023. 5. 23. 00:56
일단 기존에 연습하던 프로그래머스 IDE와 비슷한듯 다르다. 가장 큰 차이점은 python코드 테스트 할 때 input 코드도 같이 작성해야 한다는 점이다. 미리 구름에서 연습하지 않았으면 실전에서 굉장히 당황했을수도....... input이 뭉터기(?)로 주어지기 때문에 아래 코드처럼 readline을 사용하여 한 줄씩 parsing해준다. import sys input = sys.stdin.readline n1, n2 = map(int,input().split()) d = int(input()) 그리고 테스트 케이스가 자동입력이 아니라서 왼쪽에 복사하고 붙여넣기 하여 인풋을 입력해야 한다. 그리고 프로그래머스처럼 테스트 케이스가 여러개 있는게 아니라서...테스트 케이스를 직접 추가하라는데욥...! 개..
-
[TIL] 230522 - Hash 해시에 대해Programming/Computer Science 2023. 5. 22. 19:16
해시 🙋♂️관련 문제 in 프로그래머스 완주하지 못한 선수🔥 전화번호 목록🔥🔥 베스트 앨범🔥🔥🔥 처음에 인덱스로 풀다가 시간 복잡도에서 시간초과했다. 해시로 풀어야 하는것을 알게 되었다. dict 형태로 저장해놓으면 값을 서치할때 빠르게 찾고 비교할 수 있다. 특히 두가지 list 값들을 비교할 때는 O(n^2)이 걸리기 때문에 → a list i개, b list j개 → i*j번 연산 Q. dictionary가 왜 인덱스보다 빠른지? 검색 속도: 딕셔너리는 해시 테이블을 사용하여 키를 해시 함수로 변환하고 해당 키의 값을 검색합니다. 이 과정은 평균적으로 O(1)의 시간 복잡도를 가지며, 매우 빠른 검색 속도를 제공합니다. 반면에 인덱스를 사용하는 경우, 리스트나 배열을 순차적으로 탐색해야 하므로 O..
-
[TIL] 230519 - 운영체제 / 프로세스 스레드 / CPU 스케줄링Programming/Computer Science 2023. 5. 19. 00:20
운영체제 사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스. 컴퓨터 자원, 하드웨어, 소프트웨어 등을 관리함 프로세스 관리, 스케줄링 → CPU를 관리함. 저장장치 관리 - 메모리, 가상 메모리 → 하드디스크, 파일로 저장 네트워킹 - TCP/IP 사용자 관리 - 계정, 접근권한 프로세스와 스레드 code data : 전역변수, 정적변수, 배열,,, heap : 동적 할당 stack : 지역변수, 매개변수, 리턴 값 프로세스 독립된 메모리 영역 할당받음 → 그래서 다른 프로세스의 자원에 접근 못함 ex 유튜브와 카카오톡 서로 데이터 알지 못함 스레드 프로세스 안에서 실행되는 여러 흐름 단위 프로세스 내에서 할당받은 자원을 이용해 동작하는 실행 단위 code, data, heap 메모리 영역을 공유함..
-
개발자 멘토링 내용 정리Programming/Etc. 2023. 5. 18. 00:35
AI 비전을 다루는 기업의 가장 큰 고민은 : 비용 절감 annotation 비용 줄이기, 자동 labeling.... 주 업무 : 경량화, 프로세스 타임 체크 , 딥러닝 효율화 등 취업관련 - 직무와 관계없어도 최대한 연관 지어서 작성하기 - 해당 직무에 유사 경험 쌓기 - 유형별로 풀기 - 가고싶은 회사의 기출문제 사이트 풀어보기 (삼성, 현대 ,,,,) - CS 면접 - 질문 리스트 거의 비슷 → 답안 정리 후 암기 - 면접은 보면 볼수록 실력이 는다 - 인성면접 : 최대한 일반적으로 답변 석사 이상 알고리즘을 단순히 써본 것 이상으로 단점을 알고 내가 그 문제를 해결한 스토리 필요 (이 알고리즘은 왜 썼어요?) 프로젝트에 대한 질문도 많았음. 어떤 알고리즘을 썼는데 어떤 문제점을 어떻게 개선했다 ..
-
[TIL] 230517 - cloud computing, Iaas/Paas/SaaSProgramming/Network & cloud 2023. 5. 18. 00:26
cloud computing 클라우드 컴퓨팅은 인터넷으로 가상화 된 IT 리소스를 서비스로 제공하는 것을 의미한다. (AWS 같은..) 클라우드 컴퓨팅 서비스는 관리 주체와 수준에 따라 IaaS, PaaS, SaaS로 구분된다. (아이아스, 파스, 사스 이렇게 읽는듯) 💡잘 정리된 글 클라우드 서비스 이해하기 IaaS, PaaS, SaaS | 와탭 블로그 (whatap.io) 클라우드 서비스 이해하기 IaaS, PaaS, SaaS | 와탭 블로그 회사에 클라우드를 도입해야 한다면 어떤 클라우드 서비스 종류를 선택해야 하는지 알려드립니다. www.whatap.io Iaas (Infrastructure as a Service) : 물리적 자원 → 빠른 변화를 원하거나 하드웨어 비용을 아끼기 위해 개발사에 제..
-
[TIL] 230516 코딩테스트, 시간복잡도Programming/Computer Science 2023. 5. 17. 00:28
코딩 테스트 🔽참고 강의 https://blog.encrypted.gg/921 [실전 알고리즘] 0x00강 - 오리엔테이션 안녕하세요, 바킹독입니다. 리뉴얼을 완료해서 다시 강의를 올립니다. 혹시 코딩테스트를 대비하고자 하는 목적으로 검색하다가 이 강좌를 보게 된거라면 지금 이 강좌가 정말 큰 도움이 된다 blog.encrypted.gg ✔중요한 세가지 능력 배경지식 문제해결능력 구현력 나의 경우 문제 해결 능력에는 자신있으나 컴공 출신이 아니어서 배경지식이 부족하다. 사실 챗지피티나 구글링을 통해 이 부분을 채울 수 있다고 생각하는데, 코딩 테스트나 기술면접을 통과하려면 어쨌거나 배경지식도 잘 갖추어야한다. 취업을 위해서 뿐만 아니라 배경지식을 잘 습득해야 그것을 머릿속에서 잘 끼워맞춰서 응용할 수 있..
-
[Linux] 리눅스 우분투 파이썬 가상환경Programming/Ubuntu 2023. 4. 18. 23:22
👀가상환경을 왜 사용할까? 모듈간 충돌 방지를 위해! 여러 모듈을 설치하다보면 충돌이 나는 경우도 있고, A 프로젝트에서는 M모듈 2.0버전이 필요해서 설치했는데 B 프로젝트에서는 3.0버전이 필요한 경우 시스템에 설치된 M모듈의 버전을 매번 변경하는 것은 비효율적이다. 가상환경에 해당 프로젝트에서 필요한 모듈의 버전을 받아놓으면 편하게 사용가능하다. venv venv가 뭔가 싶었는데, environment의 env였다! 🚩가상환경 사용 방법 (venv) venv 설치 sudo apt-get update sudo apt-get install python3-venv 설치 후 가상환경 생성할 디렉토리로 이동 python3 -m venv 가상환경이름 가상환경 활성화 source 가상환경이름/bin/activa..
-
인공지능 개발을 일정기간 중단하자는 제안?Programming/Etc. 2023. 3. 31. 11:46
1천 명의 IT 전문가들, 인공지능 개발 6개월만 중단하자 제안 (boannews.com) 1천 명의 IT 전문가들, 인공지능 개발 6개월만 중단하자 제안 1천 명 이상의 테크 분야 전문가들이 인공지능 개발을 잠시 중단해야 한다고 목소리를 높였다. 여기에는 트위터의 CEO인 일론 머스크(Elon Musk), 애플의 공동 창립자인 스티브 워즈니악(Steve Wozniak), www.boannews.com 본 기사에서 저명한 IT 개발자들도 서명에 동참한 것을 보고 놀랐다. 물론 인공지능의 발전으로 나는 일의 효율성을 높이고 있긴 하지만, 나또한 이 서명에 동의하는 입장이다. 일단 현재도 법과 규제가 기술 발전 속도를 따라가지 못하는 실정이다. 그런데 인공지능의 지수함수적인 발전속도에 인간이 따라갈 수 있을..
-
프롬프트 엔지니어Programming/Etc. 2023. 3. 17. 19:52
미드저니, chatGPT 등 최근에 내가 직접 써본 AI 툴들은 굉장한 성능을 보여주고 있다. 이런 AI 툴의 발전에 맞춰서 등장한 새로운 직업, 프롬프트 엔지니어. 프롬프트 엔지니어는 무슨 일을 하는가? - AI모델이 이해하기 쉽고 구체적이며, 입력자의 의도를 잘 반영하는 명령어를 작성한다. 번역가와 같은 역할이다. 언어번역은 어떻게 번역하는지에 따라 굉장히 다른 의미를 가지게 된다. 프롬프트 엔지니어도 마찬가지이다. 직접 chatGPT와 midjourney를 사용하면서 어려웠던 점을 생각해봤다. 일단 미드저니의 경우에 문장으로 그림을 표현해야 하기 때문에 프롬프트 작성 난이도가 굉장히 높다. 한번의 시행만으로는 원하는 그림을 얻기 힘들다. 최소 3번정도는 해야 하는듯… 10번을 해도 내가 원하는 그림..
-
Unit test 시 고려해야 할 사항Programming/Debug 2023. 3. 13. 21:30
업데이트 버전 배포를 앞두고, Unit test를 새로 설계할 필요성을 느꼈다. 기왕 새로 만드는 김에 Unit test에서 고려할 사항에 대해 차근차근 짚어보기로 했다. 아래는 chatGPT에게 unit test에서 고려할 사항을 질문한 답변이고, 색깔로 표시된 문장은 나의 추가적인 생각이다. 💻💬 Unit test는 개발자가 작성한 코드의 동작을 검증하는데 사용되는 테스트입니다. 코드를 변경하거나 수정할 때, 기존 코드가 제대로 작동하는지 검증할 때, 또는 새로운 코드가 올바르게 작동하는지 확인할 때 Unit test를 사용할 수 있습니다. 다음은 Unit test를 작성할 때 고려해야 할 사항입니다. 1. 테스트 대상 모듈 결정 Unit test를 작성할 때는 테스트 대상 모듈을 먼저 결정해야 합니..