본문 바로가기
반응형

Computer Science66

[Programming] Python과 Java 차이점 | 객체지향vs절차지향 면접에서 자주 물어보는 기초 질문이라 한번 정리해보려고 한다. 뭔가 보수적인 회사(?) 또는 코딩테스트가 없어서 개발능력을 팩트체크해보려고 할 때 아래처럼 질문을 받았다. Q: 자주 사용하는 개발언어가 무엇이냐 A: 파이썬입니다 Q: 파이썬밖에 할줄 모르나요? A: 아..자바도 조금할줄 압니다...! Q: 그럼 자바와 파이썬의 차이점은 무엇이죠? 근데 개인적으로 이런질문을 아니 이런질문을 하는 회사는 뭔가 답답한 느낌이 든다랄까.. 솔직히 개발언어는 각자 장단점이 있고, 스타일이 있어서 비교할만한 주제가 아닌것같은데.. (실제로 구글링해도 명확하게 구분한 글이 없네.) 그래도 기본을 짚고 넘어가는 목적으로 한번 알아보자. 자바(JAVA) 1. 객체지향 언어 데이터를 객체로 취급해서 기능들을 하나의 객체로.. 2021. 8. 4.
[Linux] /dev/loop0 가 많아서 용량이 다 찼을때 도커파일을 만들어서 실행하다가 이런 에러를 만났다. space가 없다고? write /var/lib/dpkg/info/libkdb5-9:amd64.list: no space left on device 원인 : 실제로 거의 디스크용량이 다 차고 있었다. 해결방법 하나하나 로그를 찾아서 지우자니 조금 번거롭고, 저 dev/loop를 가 걸리적거렸다. dev/loop 파일시스템이란? 지워도 상관없는건가? sudo apt autoremove --purge snapd 실행 바로정리가 됐따. https://finolo.gy/2019/11/%E8%A7%A3%E5%86%B3ubuntu%E4%B8%8A%E5%9B%9E%E7%8E%AF%E8%AE%BE%E5%A4%87-dev-loop0%E5%8D%A0%E7%94%A8100.. 2021. 7. 6.
[알고리즘] 브루트포스(brute force) 브루트포스(brute force) 무식하게 푸는 방법. 완전탐색으로도 불리기도 하는데 문제를 해결하기 위해 가능한 모든 경우의 수를 계산해서 문제를 해결하는 방법이다. 모두 탐색해서 결과를 찾기 떄문에 100% 정답을 찾는다. 다만 모두 탐색해서 시간이 오래걸린다. 자료구조에 따라 2종류로 나뉜다 선형구조일 경우 순차탐색 비선형구조일경우 BFS,DFS 일단 선형구조일때를 먼저 살펴보자. 주어진 문제를 '선형구조'로 구조화한다 구조화된 문제로 해를 구성할때까지 '순차탐색'한다. 탐색한 해를 주어진 문제의 출력형식에 맞게 정리한다. 언제사용하나? 데이터의 범위가 크지 않을경우 권장한다. 데이터의 범위가 크면 모든 경우의 수를 탐색하는데 시간이 오래걸리기 떄문이다. 사실 내가 코드를 짜는 대부분의 경우가 브루.. 2021. 6. 10.
[Web] 이메일프로토콜 | SMTP ,POP3, IMAP 2021.04.18 - AWS What's new 뉴스레터2 | 이메일 전송 사전준비 및 이해 이메일전송기능을 찾다가 알게된 용어들을 조금더 찾아보았다. 이들은 이메일을 주고받는 프로토콜의 종류들이다. 이메일시스템의 구조 우선, 이메일이 어떻게 전달되는지부터 보아야한다. 크게 메일서버와 클라이언트로 구성된다. 메일서버 위의 그림에서 A,B,C에 해당된다. 이 서버에는 메일주소에 대응하는 Mailbox가 있다. 이건 메일을 주고받는 통?같아서 주고받기 위해 모아두는 곳이다. 예를들어 PC1이 메일을 보내면, 이 이메일은 우선 A메일서버에 도착한다. 그리고 인터넷을 통해서 A메일서버에서 B메일서버로 연결되서 메일이 전달이 된다. B메일서버에 도착한 메일은 PC2에게 전달이 된다. 메일클라이언트 메일의 Mai.. 2021. 4. 18.
[Web] CORS 이슈 | setAllowOrigins Preflight Request 개발하다가 몇시간째 헤맸던 CORS 이슈..도대체 무엇이였나?! 나의 경우는 서버는 localhost:8080번에서 실행하고 있었는데, 리액트는 localhost:3000에서 실행하고 있었다. 나는 단순히 api서버와 통신해서 데이터를 받아오는거니까 별 문제 없다고 생각했는데 웹화면에서 CORS이슈를 만났다. 결론부터 해당오류의 해결방법은 이랬다. 하지만 단순하게 문제와 해결로 넘어가는게 아니라 더 자세하게 알아보기로 했다. CORS란? Cross Origin Resoure Sharing의 약자로 클라이언트와 서버의 오리진(origin)이 다를때 발생하는 이슈이다. CORS관련 이슈는 모두 CORS정책을 위반했을때 발생하는 것이라고 한다. 오리진(origin)이 무엇이길래? 서버의 위치를 나타나는 URL.. 2021. 4. 14.
[Web] Http통신 vs Socket통신 (WebSocket) 네트워크를 통해 서버로 데이터를 가져오기 위한 통신방법 http통신, socket통신 1.Http 통신 Client의 요청이 있을때만, 서버가 응답해서 정보를 전송하고, 곧바로 연결을 끊는 방식 즉, Client가 요청을 보내고 server가 응답하는 단방향통신 (연결상태유지x : stateless) 실시간이 아니라 필요한경우에만 server로접근하는 콘텐츠위주의 데이터를 사용할때 용이 예를 들어 블로그에 들어오는 상황 웹브라우저(Client)가 웹서버로 글에 대한 내용을 보내달라고 요청을 해서, 서버가 전달해주고, 바로 연결종료하는 http통신방식 2.Socket 통신 Client와 Server가 특정port을 통해 연결을 성립하고 있어서, 실시간으로 양방향 통신을 하는 방식 Client가 Server.. 2021. 4. 6.
[Java] LOMBOK(롬복)란? LOMBOK(롬복)란? Java 라이브러리로 반복되는getter,setter,toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리 쓰면 뭐가좋은데? 보통 클래스에서 생성한 멤버변수에 대응되는 getter, setter,toString()메소드,생성자를 하나씩 다 작성해야함. 심지어 코드자체가 반복되는 메소드라 번거롭다. 그런데 롬복을 이용하면 코드도 보기 쉽게 작성할 수 있다! ->반복되는 코드를 줄여줌으로써 가독성UP 어노테이션을 제공하고, 이를 기반으로 코드를 컴파일 과정에서 생성해주기 때문 즉, 코딩과정에서는 롬복과 관련된 어노테이션만 보이고 getter/setter과 같은 메서드는 보이지 않는다. 하지만 그래도 실제로 컴파일된 결과물에는 코드가 생성되어 있다 어떻게 쓰는데? .. 2021. 4. 5.
[Linux 명령어] fdisk 명령어- 파티션 설정하기 https://wlsvud84.tistory.com/14 리눅스 파티션 설정 ( 파티션 만들기 / 파티션 나누기 ) 안녕하세요 롯사입니다. 리눅스를 설치할 때 자동으로 파티션을 구성하여 설치하셨다면 이번엔 리눅스 터미널 환경에서 fdisk라는 명령어를 이용해서 수동으로 파티션을 나누어 보겠습니다. 여� wlsvud84.tistory.com lsblk 명령어 2020. 6. 7.
[OS] 디스크(Disk) /파티션(Partition) / 볼륨(Volum) / 파일시스템 용어정리 1. 디스크(Disk) 시스템에 장착되어 있는 물리적인 저장장치(자기 디스크) 둥근원반에 자성을 가진 물체를 입히고, 표면에 자력을 이용해서 데이터를 기록하고, 자기장의 변화를 통해서데이터를 읽는 방식의 기록매체 디스크종류 1) 고정디스크(HDD,SSD) 메인보드에 직접 연결되어 있는 하드디스크, 주기억장치인 RAM에 생성된 램디스크 2) 이동식 디스크(USB) 시스템에 언제든지 탈부착할수 있는 형식의 디스크 3) 가상 디스크 다른 저장매체에 파일형태로 존재, 언제든지 시스템에 연결/분리 가능 참고) 디스크(Disc) : 광디스크 둥근 원반에 얆은 반사체를 입히고, 레이저를 이용해서 홈을 파서 데이터를 기록하고. 레이저 반사의 변화를 통해서 데이터를 읽는 방식의 기록매체 2. 파티션(Partition) .. 2020. 6. 7.
[Linux 명령어]dmidecode : CPU/Memory 사양확인 테스트 : t2.large 인스턴스 타입 CPU 사양확인 RAM 사양 확인 CPU정보확인 : proc/cpuinfo 하이버 스레딩이 적용되고 있는건가? cpu정보가 2개 보이는데? 출처 http://bahndal.egloos.com/581863 리눅스에서 CPU/RAM 사양 확인하기 리눅스 터미널창에서 간단한 명령어 몇개로 CPU와 RAM 사양을 확인해 볼 수 있다.먼저 CPU 사양을 알고 싶다면 /proc/cpuinfo의 내용을 보면 된다. 출력되는 내용이 많으므로 more와 조합하여 사용하면 � bahndal.egloos.com 2020. 5. 17.
728x90

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });