[카테고리:] Computer Science

  • [Python3] Pycharm requirements.txt 설명 및 활용 방법

    [Python3] Pycharm requirements.txt 설명 및 활용 방법

    들어가는 썰 현재 프로젝트 진행 중에 개발 도구로 PyCharm을 사용하고 있다. ​Python은 인터프리터 방식으로 C++, C# 등의 기존 컴파일러 방식의 언어와는 차이가 있다. PyCharm은 JetBrains 에서 만든 Python 전용 IDE로 기존 컴파일러 방식의 프로그래밍을 배운 사람에게 매우 친숙한 환경을 제공한다. ​잡설은 넘어가고… requirements.txt가 뭔데? Pycharm 내에는 requirements.txt에 해당 프로젝트에서 사용하는 추가 라이브러리들을 Syntax에 맞게 기록해…

  • [Python2] Pycharm Github Push failed 오류 해결

    [Python2] Pycharm Github Push failed 오류 해결

    오류 로그 오후 1:33 Push failed Git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 파이참(PyCharm 다운로드: JetBrains가 만든 전문 개발자용 Python IDE)에서 git push 시도 시 다음과 같은 오류가 발생함. 해결 방법은 두 가지가 있는데 이번에 알아볼 방법은 HTTPS 방식이다.…

  • [Docker2] Windows에서의 Docker 활용

    [Docker2] Windows에서의 Docker 활용

    Windows와 태생이 다른 Linux 기반의 Docker Docker는 태생이 Linux 기반이다. 그래서 순수한 Windows에서는 Docker를 활용할 수 없다. 하지만 Windows 10에서 WSL을 출시했다. Windows Subsystem Linux로서 “Windows 환경에서 Linux를 활용”할 수 있도록 도와주는 기능이다. 이를 이용하여 Docker를 활용할 수 있게 되었다. WSL2가 출시되면서 더 native하게 Windows 환경에서 Linux를 이용할 수 있게 되었고 이에따라 Docker의 활용도 더…

  • [Docker1] 내가 느낀 Docker – 특징, 장/단점

    [Docker1] 내가 느낀 Docker – 특징, 장/단점

    Docker의 가장 큰 장점 : 경량화 Docker: Accelerated Container Application Development Docker의 가장 큰 장점이라고 느낀 점은 경량화 VM이라는 것이다. 이전의 VM이라고 하면 새로운 VM을 만들고 그 위에 OS를 설치하고, 필요한 설정들을 복잡하게 해야 했다. 물론 이미지를 만드는 등 나름 재사용에 용이하도록 다양한 기법들이 나왔지만, 그래도 이는 매우 힘든 작업이었다. Docker는 이를 극적으로 개선 시켜준다.…

  • [기술요약6] wsl, wsl2 윈도우 서브시스템 리눅스 알아보기

    [기술요약6] wsl, wsl2 윈도우 서브시스템 리눅스 알아보기

    WSL Windows Subsystem Linux 윈도우의 서브시스템 리눅스 윈도우 개발자를 위한 리눅스 WSL 1 개발 시장이 리눅스로 편중되어 있다 보니까 윈도우 OS만으로는 개발하기가 힘든 세상이 되었다. 마이크로소프트도 이에 대한 애로사항을 알고 윈도우의 하위 시스템, 말그대로 윈도우 안에서 돌아가는 리눅스를 출시했다. 그게 wsl 1이다. 윈도우 안에서 돌아간다는 의미는 완벽한 리눅스 OS가 아니고, 윈도우에 호환되도록 만들어진 리눅스라는 의미이다.…

  • [기술요약5] HTTPS란 무엇인가?

    [기술요약5] HTTPS란 무엇인가?

    HTTPS HyperText Transfer Protocol Secure 보안된 하이퍼텍스트 전송 프로토콜 HTTP와 HTTPS의 차이점 개인키와 공개키 HTTPS의 동작방식 이전글 다음글

  • [기술요약4] 애자일(Agile)은 뭘까?

    [기술요약4] 애자일(Agile)은 뭘까?

    개발의 사이즈가 커지고, 한 프로젝트에 배정인원이 많아지면 이 프로젝트를 어떻게 진행시켜 나갈 수 있을까? 고민하게 된다. 이를 소프트웨어 개발 방법론이라고 한다. 여기에는 워터폴, 애자일 등 종류가 다양하게 있다. 애자일은 이런 소프트웨어 개발 방법론 중에 하나다. 애자일은 기민하다는 의미를 담고 있는데 기민함을 추구하며 개발하는 방식을 의미하는 것이다. 애자일은 이전의 개발방식인 워터폴이 수직적이고 선형적인 재미없으며 함흥차사고, 고객과의…

  • [Python 1] 파이썬 인터프리터란?

    [Python 1] 파이썬 인터프리터란?

    1등 언어가 된 Python TIOBE 언어 순위를 보면, 어느 새 파이썬이 1위를 차지했다. 무너지지 않을 것 같던 자바의 아성은 무너져가고 있고, 새로운 패러다임으로 함수형 언어가 결국 1위를 차지할 것이라고 했지만 여전히 지지부진이다. 성능이 확실한 놈 또는 개발이 너무나도 쉬운 놈의 양극화가 이뤄지고 있는 과정인 것 같다. 1등이 된 이유 각설하고, 파이썬은 어떻게 1위를 차지하게 된걸까?…

  • [C# WinForm1] Main Thread/GUI Thread, Invoke

    [C# WinForm1] Main Thread/GUI Thread, Invoke

    ​ 왜 C# 윈폼을 선택했는가 Windows Forms를 활용한 사내 프로그램을 제작할 일이 있는데, GUI 프로그램의 전체적인 작동 원리를 공유하고자 글을 쓴다. 본인이 다니는 회사의 IT 조직은 .NET 기반의 Visual Basic.NET을 기반으로 사내 GUI 프로그램을 개발한다. 우리 팀은 IT와는 동떨어진 조직이라 언어를 그대로 차용하지는 않지만 그래도 같은 Framework을 사용해야 호환성도 고려해볼 수 있고, VB.NET과 C#은 사실상…

  • [기술요약3] 프로그램은 어떻게 만드는가? – 코딩, 빌드/컴파일 과정

    [기술요약3] 프로그램은 어떻게 만드는가? – 코딩, 빌드/컴파일 과정

    코딩과 프로그래밍 코딩은 개발자가 원하는 대로 컴퓨터가 동작하도록 만드는 명령어 문구인 코드를 작성하는 일이다. 코딩의 목적은 무엇일까? 결국 사람이 컴퓨터에게 원하는 동작을 하는 일련의 코드를 실행하는 프로그램을 만드는 것이다. 하지만 코딩을 통해 만든 코드만으로는 컴퓨터가 알아들을 수 없다. 왜냐면 사람이 작성한 코드는 기계에게 내리는 명령이지만, 사람만이 알아볼 수 있는 언어로 작성되어 있는 것이다. 결국 이를…