> 백엔드 개발 > 파이썬 튜토리얼 > 회로 기판에서 코드까지: 다중 언어 웹 개발자(및 전기 엔지니어)가 되어 프로그래밍 게임을 강화한 방법

회로 기판에서 코드까지: 다중 언어 웹 개발자(및 전기 엔지니어)가 되어 프로그래밍 게임을 강화한 방법

Susan Sarandon
풀어 주다: 2025-01-16 18:14:42
원래의
925명이 탐색했습니다.

From Circuit Boards to Code: How Being a Polyglot Web Developer (and an Electrical Engineer) Supercharged My Programming Game

다국어 웹 개발자를 만나본 적이 있다면 우리가 이상한 종족이라는 것을 알 것입니다. 우리는 HTML과 JavaScript에만 그치지 않고 Pokémon과 같은 프로그래밍 언어도 수집합니다. 자바? 알았어요. 파이썬? 확실한 것. 녹? 고생하자. 그리고 저처럼 전기 공학에 대한 배경 지식이 있다면 같은 주에 단락 메모리 누수를 디버깅하는 고통을 아실 것입니다.


1강: 디버깅은 회로든 코드든 디버깅입니다

EE 시절에는 회로가 작동하지 않는 이유를 추적하는 데 몇 시간을 보냈습니다. 스포일러:

항상 배선이 느슨하거나 저항이 튀겨져 있습니다. 과정? 모든 부분을 테스트하고 문제를 파악한 후 수정하세요.

웹 개발과 디버깅은 동일한 원칙을 따릅니다. 페이지 로드 시 React 앱이 충돌하나요? 오류 로그에서 시작하여 상태 업데이트를 추적하고 PCB를 조사하는 것처럼 거기에 몇 가지 console.log 문을 입력할 수도 있습니다.

예: JavaScript 문제 디버깅은 회로 디버깅과 묘하게 유사합니다.


function add(a, b) {
  // What are we even adding here?
  console.log("Inputs:", a, b);
  return a + b;
}
console.log(add(undefined, 2)); // Outputs: NaN
로그인 후 복사
로그인 후 복사
회로의 각 노드에서 전압을 테스트하는 것처럼 한 번에 한 단계씩 문제를 격리합니다. 당신의 a는 정의되지 않았으며 이제 당신은 인생 전체에 대해 질문을 던지고 있습니다.


강의 2: 매체에 관계없이 효율성이 핵심입니다

전기공학에서는 효율성이 가장 중요합니다. 부품을 보드 위에 올려 놓고 최선을 다할 수는 없습니다. 부품이 녹거나 전력 비용이 많이 들 수 있습니다. 프로그래밍에도 동일한 규칙이 적용됩니다. 즉, 누군가가 휴대폰에서 코드를 열 때 값싼 회로처럼 깔끔하고 효율적이며 충돌하지 않는 코드를 작성하세요.

다음은 간단한 예입니다. 일부 숫자의 합계를 계산하기 위해 데이터세트를 반복한다고 가정해 보겠습니다. 이렇게 할 수 있습니다:


let total = 0;
for (let i = 0; i < numbers.length; i++) {
  total += numbers[i];
}
로그인 후 복사
로그인 후 복사
그러나 노련한 다국어 개발자라면 항상 더 나은 방법이 있다는 것을 알고 계실 것입니다.


const total = numbers.reduce((sum, num) => sum + num, 0);
로그인 후 복사
로그인 후 복사
이것은 다수의 저항기를 단일 IC로 교체하여 회로를 최적화하는 것과 동일한 소프트웨어입니다. 더욱 깨끗하고 빠르며 코드 리뷰에서 더욱 스마트해 보입니다.


강의 3: 올바른 도구(또는 언어)를 사용해야 하는 시기를 파악하세요

전기공학을 통해 업무에 잘못된 도구를 사용하는 것은 재앙이 될 수 있다는 점을 배웠습니다. 망치로 납땜을 해보면 무슨 뜻인지 알 수 있을 것입니다. 프로그래밍 언어도 마찬가지입니다.

지루한 작업을 자동화하기 위한 빠른 스크립트가 필요하십니까? Python은 당신의 가장 친한 친구입니다:

function add(a, b) {
  // What are we even adding here?
  console.log("Inputs:", a, b);
  return a + b;
}
console.log(add(undefined, 2)); // Outputs: NaN
로그인 후 복사
로그인 후 복사

고성능 앱을 구축하시나요? Rust가 여러분의 선택입니다(고통을 겪을 준비가 되어 있다면):

let total = 0;
for (let i = 0; i < numbers.length; i++) {
  total += numbers[i];
}
로그인 후 복사
로그인 후 복사

간단한 웹페이지만 원한다면? 너무 많이 생각하지 마세요. PHP를 선택하세요:

const total = numbers.reduce((sum, num) => sum + num, 0);
로그인 후 복사
로그인 후 복사

전기 엔지니어는 자신이 원하는 도구와 구성요소를 존중하는 법을 배웁니다. 개발자로서 저는 프로그래밍 언어에 대해서도 동일한 존경심을 배웠습니다. 모두 장점과 단점이 있습니다. 맞서 싸우지 마세요.


4강: 제약이 창의성을 불러일으킵니다

하드웨어에서는 항상 제약을 받으며 작업합니다. 제한된 전압. 제한된 전류. 브레드보드의 공간이 제한되어 있습니다. 이러한 제약으로 인해 창의적으로 생각하게 되며 소프트웨어도 마찬가지입니다.

좋은 호스팅에 대한 비용 지불을 거부하는 고객을 위해 엄청나게 빠른 웹사이트를 구축해야 했던 적이 있습니까? 그때가 제약을 초능력으로 바꾸는 때입니다. 예:

  • 정적 페이지에 React로 오버로드하는 대신 일반 HTML과 CSS를 사용하세요.
  • 이미지를 수동으로 최적화하세요. 게으른 npm 패키지 다운로드가 없습니다.
  • 전기료가 드는 것처럼 JavaScript를 작성하세요.
import os

for file in os.listdir("."):
    if file.endswith(".txt"):
        print(f"Processing {file}")
로그인 후 복사

저전력 회로를 설계하는 것과 같습니다. 불필요한 보풀을 제거하고 요점을 설명합니다.


강의 5: 승리를 위한 시스템 사고

전기 엔지니어는 시스템에 대해 생각하도록 교육을 받았습니다. 회로는 단순한 저항기와 커패시터가 아니라 모든 것이 함께 작동하는 방식입니다. 마찬가지로 웹 개발에서 앱은 단순한 React 구성 요소와 백엔드 API가 아니라 생태계입니다.

다음은 풀 스택 앱의 "시스템 사고"의 예입니다.

  • 프런트엔드: 사용자 입력을 위한 React 구성요소
  • 백엔드: 입력을 처리하는 Node.js API
  • 데이터베이스: 결과를 ​​저장하기 위한 PostgreSQL 테이블.
  • 통합: 모든 것이 REST 엔드포인트로 연결됩니다.

큰 그림을 이해하면 디버깅이 더 쉬워지고 더 나은 솔루션을 설계하는 데 도움이 됩니다. 트랜지스터 하나만 보는 것이 아니라 전체 회로도를 아는 것과 같습니다.


최종 생각: 납땜에서 소프트웨어까지

전기공학 배경을 가진 다국어 웹 개발자가 된다는 것은 때로는 부정행위처럼 느껴질 때도 있습니다. EE에서 얻은 규율, 문제 해결 기술, 효율성에 대한 집착은 소프트웨어 개발에 완벽하게 적용되었습니다. 물론, 오실로스코프를 디버거로 바꿨지만 사고방식은 그대로입니다.

다음번에 멋진 프레임워크가 충돌하거나 코드가 컴파일되지 않으면 기억하세요. 어딘가에서 전기 엔지니어가 오전 3시에 하드웨어와 소프트웨어를 모두 디버깅하면서 왜 더 단순한 직업을 선택하지 않았는지 궁금해합니다.

계속 배우세요. 계속 디버깅하세요. 그리고 항상 코드(및 회로)를 존중하세요.

위 내용은 회로 기판에서 코드까지: 다중 언어 웹 개발자(및 전기 엔지니어)가 되어 프로그래밍 게임을 강화한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿