JavaRush /Java Blog /Random-KO /우리의 경험을 공유합시다. Windows에서 Ubuntu로의 전환

우리의 경험을 공유합시다. Windows에서 Ubuntu로의 전환

Random-KO 그룹에 게시되었습니다
초보 프로그래머는 Microsoft Windows가 아닌 Linux에서 작업하는 것이 권장되는 경우가 많습니다. 여기에는 Linux의 구조와 논리, 보안, 애플리케이션 라이센스와 관련된 여러 가지 이유가 있습니다. Windows에서 Linux Ubuntu로 전환한 경험을 공유하는 DataGen Technologies 의 공동 창립자이자 CTO 인 Ofir Chakon의 기사 번역을 알려드립니다 . 이 기사는 Linux의 세계에 대해 거의 모르는 초보자를 대상으로 작성되었습니다.
우리의 경험을 공유합시다.  Windows에서 Ubuntu로 전환 - 1
컴퓨터에서 대부분의 시간을 보내는 사람들은 때때로 자신의 기본적인 컴퓨터 습관에 대해 자문해 볼 필요가 있습니다. 우리 각자가 매일 사용하는 운영 체제에 대해 이야기할 것이라고 이미 짐작하셨을 것입니다. Windows는 이제 데스크톱 컴퓨터의 90% 이상에 설치되어 있습니다! 사용자는 다양한 이유로 Windows를 선택합니다.
  1. Windows는 기본적으로 거의 모든 PC와 함께 제공됩니다.

  2. 수년 동안 Windows를 사용해 왔으며 버전만 변경했다면 익숙해졌을 가능성이 높으며 이러한 전통을 깨기가 어렵습니다.

  3. 대부분의 경우 귀하의 환경에서는 Windows 사용자와 MacOS 사용자만 볼 수 있으므로 대안을 눈치채지 못할 수도 있습니다. 대부분의 사람들은 Windows가 PC의 유일한 옵션이라고 생각합니다.
인정해야 할 점은 Windows가 잘 설계되어 있고 사용자 친화적이며 대부분의 사용자 작업에 적합하고 정기적으로 업데이트된다는 것입니다.
우리의 경험을 공유합시다.  Windows에서 Ubuntu로 전환 - 2
제가 이야기하려는 Windows 대안은 Linux 입니다 . 이것은 "Linux 커널"이라고 불리는 커널 기반 운영 체제 제품군입니다. Linux는 Unix와 유사합니다. 즉, 이 운영 체제는 Unix 기반 시스템 (예: MacOS)과 동일한 원칙을 기반으로 합니다. 대부분의 Linux 빌드는 완전 무료이며 커뮤니티에서 개발되고 오픈 소스이며 배포판 형태로 배포됩니다. 그중에는 Ubuntu , CentOS , Debian 등이 있습니다. 배포판은 장치에서 작업할 준비가 되어 있는 편리한(대부분의 경우) 설치 프로그램이 포함된 프로그램 세트입니다. 각각에는 장단점이 있으며 많은 응용 분야가 있습니다. Linux는 리소스 소비 측면에서 상당히 "가벼운 OS"이므로 임베디드 시스템, 스마트 홈 장치, IoT("사물 인터넷") 등에 사용됩니다. 안드로이드 OS 역시 리눅스 기반이다. 저는 소프트웨어 개발 및 데이터 과학 분야에서 7년 이상의 경험을 보유한 기술 기업가입니다. Windows에서 Ubuntu로 전환한 결과 제 경력 중 가장 중요한 생산성 향상 중 하나가 이루어졌다는 점을 인정해야 합니다.

내가 어떻게 이 일을 하기로 결정했는가?

어느 시점부터 Windows 컴퓨터에서 Android Studio IDE 및 Android 시뮬레이터 와 같은 주요 작업 도구를 사용하면 지연 시간이 거의 진전되지 않는다는 사실을 깨닫기 시작했습니다. 하드웨어 문제인 줄 알고 16GB RAM과 512GB SSD 하드 드라이브를 갖춘 Lenovo Y50-70으로 업그레이드하기로 결정했습니다.
우리의 경험을 공유합시다.  Windows에서 Ubuntu로 전환 - 3
프로젝트 개발을 계속하는 데 필요한 소프트웨어를 설치한 후 완전히 새로운 컴퓨터에서 비슷한 문제가 다시 발생한다는 것을 깨달았습니다. 내 작업에는 RAM을 많이 사용하는 애플리케이션이 많지 않았기 때문에 자연스럽게 새 PC가 로켓선처럼 작동할 것이라고 기대했습니다. 하지만 그런 일은 일어나지 않았고, 전략을 바꿔야 한다는 것을 깨달았습니다. 나는 문제가 하드웨어 구성 요소가 아니라는 자연스러운 가정을 갖고 프로그램에 대한 접근 방식을 찾기 시작했습니다. 나는 대학 시절 한동안 Linux를 사용해 일했고 이제 이 옵션을 더 자세히 살펴보기로 결정했습니다. Ubuntu는 이 PC용 운영 체제의 가장 인기 있는 배포판입니다. 클라이언트 "사용자" 버전과 서버 버전으로 사용할 수 있습니다. 클라이언트와 서버 OS가 모두 필요했기 때문에 Ubuntu를 선호하게 된 것은 바로 이러한 이중성이었습니다. 저는 인터넷에서 “Linux냐 Windows냐”, “Windows 대 Windows냐” 같은 토론이 있던 많은 자료를 연구했습니다. 우분투". 많이 이해했지만 그래도 뭔가를 기다리고 있었어요... 일종의 '위에서 오는 신호'라던가. 이 표시는 바이러스 공격으로 밝혀졌고 이로 인해 모든 파일의 백업 복사본을 만들고 하드 드라이브를 포맷한 다음 작업을 시작해야 했습니다. 이번에는 Ubuntu 운영 체제를 사용합니다 . 원활한 전환을 위해 Windows와 Ubuntu를 동시에 설치하는 것이 가치가 있다는 생각이 들었습니다. 이제는 그러지 않아서 다행이에요. 제가 Windows를 완전히 포기한 이유는 Windows로 돌아갈 가능성 없이 Ubuntu에 완전히 몰입하고 싶은 마음 때문이었습니다. 다음은 Windows에서 Linux로 전환하는 동안 배운 몇 가지 교훈입니다 . 모든 사용자가 관심을 가질 수 있지만 주로 개발자, 코더, 프로그래머 및 코드를 작성하거나 제품을 만드는 모든 사람을 대상으로 합니다.

성능

Linux는 경량 아키텍처 덕분에 Windows 8.1 및 Windows 10보다 빠르게 실행됩니다. Linux로 전환한 후 Windows에서 사용한 것과 동일한 도구를 사용하면 속도와 성능이 크게 향상되는 것을 느꼈습니다. Linux는 많은 강력한 개발자 도구를 지원하며 이를 쉽게 관리할 수 있습니다.

안전

리눅스는 오픈소스 소프트웨어이다. 이론적으로 모든 사람은 무언가를 개선하고, 기능을 추가하고, 버그를 수정하고, 위험을 줄이는 등의 작업을 위해 자신의 코드를 여기에 기여할 수 있습니다. 당연히 모든 대규모 오픈 소스 프로젝트에는 모든 측면을 연구하는 관찰자가 있습니다. 따라서 보안 관점에서 볼 때 Linux는 당연히 Windows보다 더 안전합니다. 또한 해커의 주요 노력은 특히 Microsoft에서 제조한 운영 체제를 겨냥하고 있습니다. 바이러스 백신 및 타사 맬웨어 제거 도구를 설치하는 대신 권장 리포지토리만 사용하면 문제가 없습니다.

소프트웨어 개발

Linux의 터미널은 이 운영 체제의 비장의 카드입니다 . 터미널을 사용하면 프로그램 설치, 애플리케이션 및 서버 구성, 파일 시스템 관리 등 거의 모든 작업을 수행할 수 있습니다. 글쎄, 개발자에게 터미널은 토템 아이돌과 같습니다. 동일한 터미널 창에서 서버를 실행하고, 기계 학습 모델을 교육하고, 원격 시스템에 액세스하고, 스크립트를 컴파일 및 실행하는 것보다 더 편리한 것은 없습니다. 이로 인해 생산성이 크게 향상됩니다!
우리의 경험을 공유합시다.  Windows에서 Ubuntu로 전환 - 4

모듈성

Linux를 사용하면 개발자는 엄청난 모듈화 기회를 얻을 수 있습니다. 무엇이든 쉽게 구성하고, 컴퓨터 구석구석에 액세스하고, 프로세스를 제어하고, 다양한 프로젝트에 대한 가상 환경을 관리할 수 있습니다. 서버가 Linux를 기반으로 할 가능성이 높으므로 동작을 에뮬레이트하고, 유사한 소프트웨어 및 패키지를 사용하고, 배포 프로세스를 위한 워크플로를 자동화하는 것이 더 쉽습니다.

원격 Linux 서버 작업

전체 인터넷을 구동하는 대부분의 서버는 여기에 나열하지 않은 여러 가지 이유로 Linux를 기반으로 합니다. Linux는 확장 가능하고 안전한 서버를 개발하는 데 필요한 모든 도구를 제공합니다. 따라서 서버 설정 및 유지 관리를 위해 Linux를 마스터하는 것은 엔드투엔드 애플리케이션을 관리하는 모든 IT 기업가에게 필수입니다. 이러한 상황에서는 로컬 컴퓨터에서 Windows로 작업하는 동안 PuTTY와 같은 타사 도구를 사용하여 원격 Linux 기반 서버에 연결하고 상호 작용해야 하는데 이는 그리 편리하지 않습니다. 예를 들어, 파일을 복사하려면 Windows를 사용할 때 다른 도구를 다운로드해야 합니다. 로컬 Linux 기반 시스템으로 작업할 때의 가장 큰 장점은 터미널에서 실행되는 한 줄을 사용하여 원격 서버에 연결할 수 있다는 것입니다. 호스트는 SSH 키 및 사용자 이름뿐만 아니라 파일에 저장할 수 있으므로 SSH를 통해 연결하기 위해 수행해야 할 작업은 다음과 같습니다. SSH 서버 그리고 그게 다입니다. 연결되었습니다! 비밀번호가 필요하지 않습니다. 이는 로컬 Linux 기반 시스템을 사용하여 Linux 기반 서버를 구성하고 지원하는 데 사용할 수 있는 다양한 옵션 중 하나에 대한 간단한 데모입니다. 가장 널리 사용되는 클라우드 제공업체에는 간편한 통합을 위한 CLI(명령줄 인터페이스)도 있습니다.

낮은 수준의 OS 원칙 소개

Windows 구현은 매우 높은 수준입니다. 즉, 운영 체제 자체의 내부 문제와 구현이 거의 발생하지 않습니다. Linux에서는 그 반대입니다. Linux를 사용할 때 파일 편집, 스케줄러 작업 추가, 소프트웨어 업데이트, 드라이버 설치 등을 통해 터미널에서 수행해야 하는 설정을 자주 접하게 됩니다. Ubuntu로 작업할 때 AskUbuntu.com이 여러분의 친구입니다. 개발자로서 더 많은 기회를 얻을 수 있을 뿐만 아니라 문제 해결 방법, 기계의 잠재적인 문제 모니터링 방법, 다양한 구성 요소 구성 방법 등을 (때로는 어려운 방법으로) 배우게 됩니다.
우리의 경험을 공유합시다.  Windows에서 Ubuntu로 전환 - 5

모든 것이 완벽하지는 않지만 그래도

  1. Ubuntu 사용자가 되려면 학습 곡선이 필요합니다. Windows에서 자동으로 수행된 일부 작업은 이제 구성해야 하며, 아마도 AskUbuntu.com을 사용하여 구성해야 할 수도 있습니다. 컴퓨터에 GPU와 같은 특수 하드웨어가 있는 경우 조작이 필요합니다.

  2. 나는 모든 IT 기업가가 약간의 디자이너이거나 최소한의 그래픽 디자인 기술을 갖추어야 한다고 믿습니다. 안타깝게도 Adobe는 Linux 사용자를 위한 제품을 출시하지 않았으므로 직접 실행할 수 없습니다. 우분투의 대안은 김프(GIMP)입니다. 이것은 개발자-디자이너의 모든 기본 요구 사항(그리고 그 이상)을 충족하는 무료 소프트웨어입니다.
단점에도 불구하고 Linux로 전환한 것을 후회하지 않습니다. 지금은 항상 Ubuntu를 사용하여 작업하고 있으며 몇 년 전에 Ubuntu로 전환하지 않은 것을 후회하기도 합니다.

결론

리눅스는 모든 사람을 위한 것이 아닙니다. 위에서 언급했듯이 일상적인 필요에 맞는지 확인해야 합니다. 그러나 자신을 IT 기업가, 개발자, 컴퓨터 과학자 또는 단순한 프로그래머(코드 작성과 관련된 기술 자료를 조정하거나 상호 작용하는 사람)라고 생각한다면 Ubuntu를 시도해 보아야 합니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION