본문 바로가기
반응형

전체 글333

💾 상속, 캡슐화, 다형성 📥 상속 : 부모 클래스의 모든 것을 자식 클래스에게 물려주는 것 목적 : 한 번 정의한 데이터 타입을 필요에 따라서 수정을 하고 다시 재활용해서 반복되는 코드를 줄이고자 하는 것 class Animal(): species = '모르는 동물' def say(self): print(self.species + '입니다.') # Animal이라는 클래스 생성 class Dog(Animal): species = '강아지' class Cat(Animal): species = '고양이' #Animal클래스를 상속받는 Dog, Cat클래스 생성 dog = Dog() cat = Cat() # dog, cat 인스턴스 생성(클래스의 의해 만들어진 객체) dog.say() cat.say() # 강아지입니다. //출력 # .. 2021. 6. 27.
🆒 클린코드 클린 코드 : 읽기 쉬운 코드 간단 명료하지만 굉장히 어려운 일이다. 아직 우리는 많은 코드를 작성하지 않았으니, 지금부터라도 클린코드를 생각하면서 작성을 해보자. 더러운 코드 : 읽기 어려운 코드 긴 메서드 중복 코드 너무 많은 주석 무분별한 전역 변수 사용 재사용 불가능한 클래스 너무나 커서 중복코드가 존재할 법한 클래스 클린코드에 대한 유명 프로그래머들의 의견 기한을 맞추는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 것 이렇게 유지하면 미래에도 코드는 나빠질 확률이 적다 좋은 주석 법적인 주석 : 코드의 저작권과 소유궈넹 대한 정보 정보를 제공하는 주석 의도를 설명하는 주석 의미를 명료하게 밝히는 주석 결과를 경고하는 주석 앞으로의 할 일을 남겨두는 주석 중요성을 강조하는 주석 나쁜 주석.. 2021. 6. 27.
git 깃 명령어 GIT 초기화 부터 시간여행하는 명령어 모음 git init > 현재 디렉토리를 로컬 저장소로 만든다 git status > 커밋하지 않은 변경사항이 있는지 확인한다. ⛔️ commit 하기전에는 항상 하기! git add [filename] > filename 을 stage area에 등록시킨다, untrack 파일을 track 상태로 전환한다. git commit -m “message” > work1 이라는 작업설명을 첨부해서 새로운 버전을 만든다. git log --oneline > git 로그 기록 한줄로 볼 수 있다. Untracked file > 한번도 add 되지 않은 파일(git저장소에는 있지만, git이 관리하고 있지 않은 파일) git restore --staged [filename] .. 2021. 6. 26.
CI/CD CI : Continuos Integration 새로운 코드에 대한 변경 사항이 꾸준히 자동으로 빌드 및 테스트가 되어 여러 개발자가 동시에 작업할 때 문제가 발생하는 것을 방지 안정성 유지 및 시간 절약 자동으로 [빌드 - 테스트 - 머지 - 배포]를 해주는 기능 Gitlab에서는 .gitlab-ci.yml 파일에 CI 기능에 대한 구성/설정을 저장하여 관리 CD : Continuous Delivery or Continuous Deploy build - test - deploy를 코드 베이스로 푸시된 모든 코드 변경시 빌드, 테스트, 배포를 지속적으로 소프트웨어를 더 빠르게, 더 주기적으로 빌드하고 테스트하고 출시하는 것을 목표 소프트웨어가 언제든지 신뢰 가능한 수준으로 출시될 수 있도록 보증하기 위한.. 2021. 6. 25.
개발자 그리고 git 🙌 반갑습니다. 이고잉님 🙌 나를 IT세계로 이끌어 주신 이고잉님의 수업을 들었다. 수업 시작부터 끝날때까지 얼떨떨한 기분이었다. 이상한 강의가 아니다. 그냥 눈 감았다가 뜨면, 사라질 꿈 같은 기분이었다. 이고잉님이 이런 말을 하셨다. 어떤 작업을 하던, pwd로 내가 어디에 있는지 꼭 확인하시는게 좋다 ls 명령어로 현재 위치에 뭐가 있는지 확인하시고 작업을 진행하시는게 좋다 나는 개발 업무를 하기 전에 IDC에서 일을 했었다. 그래서 이고잉님이 말씀해주신게 더욱 와 닿았다. 현업에서 자주 일어나는 실수이지만, 그 결과는 매우 나쁠 가능성이 높다. 가벼운 예시로 '지금 이 폴더는 필요 없으니까 지워야지'라고 내가 어디에 있는지 모르는 상태에서 명령어를 입력하면, 여태 작성한 모든 코드가 들어 있는 파.. 2021. 6. 24.
git 의미 역할 이유 명령어 git : 프로그램등의 소스 코드 관리를 위한 분산 버전 관리 시스템 가볍고 빠르다 모든 작업자가 원본을 가지고있다 가지 치기와 병합 Local에서 대부분의 작업을 할 수 있다. branches/tags/master, 기타 revision이동시 굉장히 빠르다. 혼자 사용할 경우 svn보다 관리포인트가 적다. (그리고 편하다.) git 명령어 git --version git 설치 확인 및 버전 확인 git config - -global user.name “Your name” 이름 지정, 프로젝트마다 다른 이름을 지정하고 싶으면 --global을 빼기 git config - -global user.email “Your email address” 이메일 지정, 프로젝트마다 다른 이메일을 지정하고 싶으면 --g.. 2021. 6. 24.
리눅스 기본 명령어 리눅스 : 윈도우와 같은 컴퓨터 운영체제 중 하나 리누스 토발즈(Linus Torvalds)에 의해 만들어진 컴퓨터 운영 체제 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본 리눅스의 특징 유닉스 기반 멀티 유저와 멀티 태스킹 지원 CLI 및 GUI 모두 지원 다양하고 강력한 네트워킹 기능 Shell : 커널과 사용자 사이를 이어주는 역할 사용자의 명령을 해석하여 커널에 명령을 요청 기초 명령어 1) whoami : 로그인한 사용자 ID를 알려주는 명령어 2) passwd : 로그인한 사용자의 비밀번호를 변경하는 명령어 3) pwd : 현재 디렉토리 위치를 출력 4) ls : 현재 디렉토리의 목록을 출력 5) ls -l : 현재 디렉토리의 목록을 상세히 출력 6) ls -a : 숨겨진 파일이나 디렉.. 2021. 6. 24.
정규 표현식 📌정규 표현식 : 복잡한 문자열을 처리할 때 사용하는 도구 ✔️ 매우 매우 중요하다고 생각한다!!! 데이터 엔지니어 업무를 해보진 않았지만, 데이터 수집, 가공, 저장에서 데이터란 거의 '문자' 혹은 '숫자'일 것이다. 원하는 데이터를 만드는 코드를 줄여 준다. 찾는 자료의 정확성을 높여준다. 개인 프로젝트나 프론트에서 일할 때에도 개발 속도가 단축 되는 경험을 했다. re 모듈의 함수 정규식 검사 함수 함수 이름 기능 re.match(pattern, string) string 시작 부분부터 패턴이 존재하는지 검사하여 MatchObject를 반환함. re.search(pattern, string) string 전체에서 pattern이 존재하는지 검사하여 MatchObject를 반환함. re.findall.. 2021. 6. 23.
디버깅 버그 에러 메세지 예외 ☢️ 버그 : 코드가 원하는 대로 동작하지 않는 경우 프로그램이 죽는 (크래시가 발생하는) 경우 예상한 속도보다 훨씬 느리게 동작하는 경우 잘못된결과를 출력하는 경우 코드 설계 상 일어나면안되는 상황이 일어난 경우 ⛔️ 예외 : 일반적이지 않은 코드의 동작 사용자가 프로그램을 강제 종료하는 경우 분수 분모에 0이 들어가는 경우 열고자 하는 파일이 존재하지않는 경우 인터넷이 불안정한 경우 🐞 디버깅 : 사용/테스트 중 찾아낸 버그를 없애 나가는 과정 버그의 원인을 찾는다 발생한 버그를 해결한다 비슷한 버그의 재발을 방지한다 원인 찾기 : 어떤 상황에서, 빈도는 얼마나, 에러 메세지가 있다면 무엇인지 해결 : 원인 해결, 새로운 코드가 일으킬 버그가 있는지 재발 방지 : 버그를 일으킨 코드가 다른 곳에서 사.. 2021. 6. 22.
파이썬 기초 3️⃣ [메소드, 튜플, 모듈, 클래스, 인스턴스, OOP] 📌 개인적으로 파이썬의 기초라고 생각하는 것 ✏️ 리스트, 시퀀스, 스트링 메소드 list.pop(i) # 인덱스 i의 원소를 제거 후 그 원소를 반환 # (괄호를 비울 시 마지막 원소) my_list = [1, 2, 3, 4, 5] print(my_list.pop(0)) # 1 print(my_list.pop()) # 5 ------------------------------------------ seq.count(d) #시퀀스 내부의 자료 d의 개수를 반환 my_seq = [2, 2, 2, 4, 4] print(my_seq.count(2)) # 3 ------------------------------------------ str.split(c) # c를 기준으로 문자열을 쪼개서 리스트를 반환 # (.. 2021. 6. 21.
반응형