나이가 많은 개발자와 엔지니어라면 LAMP 스택💡을 기억할 것입니다. 비록 리엔지니어링되었지만 모든 것을 기본 으로 제거 하면 우리가 찾고 필요한 것은 다음과 같습니다.
운영 체제
웹 서버
데이터베이스
프로그래밍 언어
오늘 제가 여러분에게 이야기할 내용은 LAMP 스택을 대체 형식으로 어떻게 재구성했는지에 대한 것입니다.
요즘 제가 너무 자주 듣는 말은 "개발자가 되고 싶어요. 어떻게 시작하나요?", "개발자가 되고 싶어요. 나에게 필요한 노트북은 무엇인가요?"입니다. 또는 “개발자가 되려면 최신 MacBook을 구입해야 하나요?” 그리고 솔직히 말해서, 그것이 나에게 다가오기 시작했습니다.
아니요 , 개발자가 되기 위해 최신 기술이나 로켓🚀은 필요하지 않습니다. 프로그래밍 패키지를 설치하고 컴파일할 수 있는 운영 체제만 있으면 됩니다. 할머니의 오래된 노트북을 사용할 수도 있습니다. 그리고 이제 당신은 "어떻게 이럴 수 있지?!"라고 묻습니다.
추억의 길을 따라 짧은 여행을 떠나봅시다. 거의 3년 반 전에 저는 50E 미만부터 시작하는 단일 보드 컴퓨터 인 SBC 를 손보기 시작했습니다. 그리고 지금은 거기에 웹 서버와 데이터베이스가 있고, 한 명당 수백 개의 웹 스크레이핑을 수행하고 있습니다. 그리고 그 외에도 API 엔드포인트 개발 작업을 하고 있습니다.
이 SBC는 해당 범위에서 최신 버전이 아니며 다음을 갖추고 있습니다.
8GB LPDDR4 내부 메모리
1.5GHz 쿼드 코어 ARM Cortex-A72 CPU(2015년 출시) - 2GHz에서 쉽고 안전하게 오버클럭할 수 있습니다(+팬 확장 및 방열판)
이러한 사양에 대해 GPT가 말하는 내용은 다음과 같습니다. 제공한 사양은 특정 유형의 컴퓨팅 작업에는 적합하지만 다른 유형의 컴퓨팅 작업에는 충분하지 않을 수 있습니다. 평가는 다음과 같습니다.
ARM Cortex-A72는 스마트폰, 태블릿 및 기타 모바일 장치에서 흔히 볼 수 있는 유능한 프로세서 설계입니다.
쿼드 코어 구성은 4개의 코어가 있어 여러 작업을 동시에 보다 효율적으로 처리할 수 있음을 의미합니다.
1.5GHz 클럭 속도는 웹 브라우징, 미디어 소비, 생산성 애플리케이션을 포함한 범용 컴퓨팅 작업에 적합합니다.
그러나 게임, 비디오 편집 또는 복잡한 소프트웨어 실행과 같은 보다 까다로운 작업의 경우 더 높은 클럭 속도와 더 많은 코어가 더 나은 성능을 제공할 수 있습니다. 요약하자면, 이러한 사양은 일상적인 생산성, 웹 브라우징, 멀티미디어 소비 등 가벼운 수준에서 중간 수준의 컴퓨팅 작업에 적합합니다. 그러나 보다 까다로운 작업이나 미래 보장을 위해 더 많은 RAM과 더 빠른 CPU를 갖춘 시스템으로 업그레이드하는 것이 좋습니다.
저를 믿으십시오. 처음에는 가볍거나 중간 수준이면 충분합니다. 따라서 Pi 보드를 사용하면 코딩 방법을 배울 수 있는 작업 데스크탑 환경을 쉽게 가질 수 있으며, 프론트엔드뿐만 아니라 Python과 같은 백엔드 프로그래밍 언어도 배울 수 있습니다. , C++(에너지 효율성이 훨씬 더 높음) 또는 javascript.
나는 무엇을 사용합니까?
내 Raspberry Pi에서 다음을 사용하여 코드를 개발하고 있습니다.
Ubuntu 데스크탑 -Desktopify 제공:
서버에 원격으로 연결하는 VSCode
웹을 스크랩하고 CSS 로 구현된 HTML 웹페이지를 구축하는 Python3 스크립트
요청
셀렌
팬더
병렬 처리 - 동시.미래
여기 저기에 PHP 와 Javascript가 결합되어 있습니다.
Sqlite3 데이터베이스에 JSON 형식으로 자동 작성하는 Python3 스크립트입니다.
Flask 앱은 Python에서 웹 애플리케이션을 만드는 데 유용한 도구와 기능을 제공하는 작고 가벼운 Python 웹 프레임워크 입니다.
마지막으로 Flask 엔드포인트 ( RESTful API 엔드포인트)를 호출하는 Javascript 코드 조각입니다.
120E의 확실히 상각된 비용과 매월 < 4E의 전기🔌로 거의 4년 동안 사용할 수 있습니다.
모든 것을 요약하면 BerryNews 시스템 아키텍처는 다음과 같습니다.
여기서 핵심 요소는 Efficient Resource Utilization + Resource Utilization Constraints 입니다.
효율적인 코드를 작성할 수 있는데 왜 돈을 낭비합니까?
모든 것을 요약하면 100달러짜리 컴퓨터에 다음과 같은 표가 나올 것입니다.
범주 | 키워드 |
---|---|
프로그래밍 언어 | Python3, 자바스크립트, PHP, CSS, HTML, SQL |
데이터 형식 | JSON |
프레임워크 | 플라스크, 셀레늄, 동시 선물 |
데이터베이스 | SQLite3 |
네트워킹 | 라우터 구성, DNS |
사이버 보안 | UFW( 방화벽 ), ClamAV( 바이러스 백신 ), Fail2ban( IPS ), 비밀번호 관리, SSH 키, Let's Encrypt( SSL 인증서 ) |
리눅스 | 라즈베리 파이, 우분투 데스크탑, VSCode |
그럼, 아직도 개발자가 되려면 최신 노트북 사양이 필요하다고 생각하시나요?