ko zh ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko ko ko ko ko en ko ko ko ko ko ko ko ko ko ko ko de
나는이 기사를 쓰는 것을 한동안 미루고있다. 나는 그것을 쓸 자격이 있다고 느끼지 못했다.
오늘은 쓸 때라고 생각했습니다. 내가 마침내 기사의 신들에게 합당하다고 생각했기 때문이 아니라 내 견해를 공유해야한다고 느꼈기 때문이다.
훌륭한 개발자가되는 세 가지를 살펴보고 싶습니다. 자, 이것들 만이 세 가지 가 아닙니다 . 그들은 또한 한동안 현장에 있었던 사람들에게 국한되지 않습니다. 그들은 막 시작하든 경험이 많든 모든 단계의 모든 사람에게 적용됩니다. 좋은 개발자가되는 것은 지속적으로 코드를 생성하는 것이라고 생각하지 않습니다. 물론 멋진 코드를 작성하고 하루 종일 커밋을 푸시하고 성공적인 테스트를 실행할 수 있습니다. 그러나 나는 그것에 다른 요소가 있다고 생각합니다. 그 중 세 가지를 오늘 살펴볼 것입니다.
전문성에는 두 가지 측면이 있다고 생각합니다. 사람과 사람을위한 코드입니다. 사람과는 다른 사람을 대하는 방법입니다. 주니어 개발자, 시니어 개발자 또는 클라이언트 일 수 있습니다. 주니어 개발자의 측면에서 보면, 그들이 질문이나 일반적인 아이디어를 가지고 선배 개발자로서 자주 찾아올 것이라는 것을 알게 될 것입니다. 그들은 일반적으로 다른 관점을 가져 오기 때문에 그것을 듣는 것이 중요합니다. 프로젝트에 갇혀있을 수 있습니다. 후배의 말을 듣지 않으면 문제를 해결하는 더 좋은 방법이 있다는 사실을 깨닫지 못할 수도 있습니다.
사람들이 당신에게 도움을 요청할 수도 있습니다. 도움과 멘토링은 하나의 돌로 두 마리의 새를 죽이는 좋은 방법이 될 수 있습니다. 당신은 그들이 더 나은 개발자가되고 더 나은 개발자가되도록 도울 것입니다. 그렇게하면 가르치는 내용을 유지하는 능력도 향상됩니다. 시니어 개발자 측면을 살펴보면, 주니어 개발자로서 기술 책임자가 조언하거나 위임 할 수있는 내용을 듣는 것이 좋습니다. 맹목적으로 팔로우해야한다는 의미는 아닙니다. 질문이 있으면 질문하고 의견을 공유하는 것이 좋습니다.
고객 측면에서 고객은 모두 자신의 비즈니스가 가장 중요한 자산이라고 믿습니다. 그들은 모든 것에 자부심과 노력을 다했습니다. 이것은 그들이 일을 끝내 러 왔을 때 일반적으로 즉시 끝내기를 원할 것임을 의미합니다. 동의한다면 그들의 작업이 우선되어야합니다. 대부분의 개발자는 예산에 따라 다른 프로젝트에 같은 양의 노력을 기울이지 않습니다. 좋은 개발자라면 프로젝트에 관계없이 같은 품질의 작업을해야한다고 생각합니다. 이는 하루가 끝날 때 비즈니스 소유자의 목표를 달성하려고하기 때문입니다.
코드와 관련하여 고려해야 할 몇 가지 사항이 있습니다. 그럼에도 불구하고 나는 기본을 고수 할 것입니다. 일반적으로 읽기 쉽고 인라인 주석이있는 코드를 작성하면 좋은 개발자가 미래에 대해 생각할 수 있다고 생각하기 때문에 일반적으로 트릭을 수행합니다. 이것은 무엇을 의미합니까? 좋은 개발자는 자신의 코드가 미래에 어떻게 서비스를 제공하기를 원하는지 생각합니다. 몇 달 또는 1 년 안에 그것을 읽고 이해할 수 있습니까? 그들이 그것을 읽고 리팩토링해야 할 경우 목업을 만들 수 있습니까? 전부는 아니지만 대부분의 개발자는 이전 코드를 되돌아 보거나 다른 사람의 코드를 보는 것을 싫어합니다. 코드를 재사용 할 수 있고 의미있는 구문을 사용해야합니다.
또 다른 것은 테스트입니다. 코드가 잘 작성 되었다면 요소가 렌더링되는지 확인하는 것과 같은 간단한 테스트를 수행하는 것이 아니라 클라이언트를 고려하고 시스템이 손상 될 경우 코드를 효율적으로 처리 할 방법을 생각하는 것입니다. 이것의 비결은 당신이 당신의 응용 프로그램을 완전히 다루고 있는지 확인하는 것입니다.
약속을 이행 할 수 있습니까? 코드 조각이든 애플리케이션이든 상관 없습니다. 마지막 개발자가 더 많은 돈, 더 많은 시간, 더 많은 세부 사항을 요구했지만 프로젝트가 전달되지 않았다는 비즈니스 소유자의 말을 듣는 것보다 더 나쁜 것은 없습니다. 좋은 개발자는 자신의 기술 스택을 이해하는 사람입니다. 좋은 개발자는 프로젝트에 드는 시간과 비용을 예측할 수 있어야합니다. 또한 도중에 발생할 수있는 모든 문제 (항상 발생하는 문제)를 처리 할 수 ​​있어야합니다. 많은 시간 동안 당신은 여기에서 그것을 보지 못합니다.
책임감의 또 다른 부분은 실수 할 때 소유권을 갖는 것입니다. 버그가있는 코드가있는 것보다 더 나쁜 것은 없습니다. 특히 시간이 제한되어 있다면 더욱 그렇습니다. 나는 우리 모두가 우리 경력의 어느 시점에서나 다른 부분에서 문제가있는 코드를 작성했다고 확신합니다. 그 실수를 인정할 수있는 것은 정말 중요합니다. 어떤 사람들은 완벽한 코드를 생성하지 못했다는 사실을 관리자에게 맡기는 것을 두려워합니다. 때때로 우리는 그렇게 작동 할 것으로 예상되지만 처음 작성할 때 깨끗한 코드는 없습니다. 깨끗한 코드를 작성하는 신화와 그에 대한 방법에 대한 기사가 있습니다. 읽어 보시기 바랍니다.
"깨끗한 코드"를 작성하는 것은 신화입니다
모든 사람이 인간이며 어떤 시점에서 실수를한다는 것을 이해하는 것은 개발에 중요합니다. 실수를 저 지르지 않고 프로덕션에 버그가 있으면 비즈니스와 고객에게 영향을 미칠 것이며 아무도 원하지 않습니다. 오픈 소스 커뮤니티보다 실수에 대한 책임을지는 것이 어떤 것인지 알 수있는 더 좋은 곳은 없습니다. 라이브러리 나 코드를 많은 사람들이 검토 할 수 있습니다. 완벽한 답은 없지만 다른 사람들의 조언을 들으면 많은 것을 배울 수 있습니다. 그들은 일을하는 다른 방법을 가질 것입니다.
여러 측면에서 개선해야하므로 여러 가지 형태를 취할 수 있습니다. 하나는 자기 개선 일 수 있습니다. 즉, PHP 또는 JavaScript 등 기술 스택과 매년 변경되는 방식을 이해해야합니다. 이러한 기술은 동일하게 유지되지 않으며 특정 기술 내에 추가 된 새로운 기능이 있다는 것을 이해해야합니다. JavaScript의 경우 화살표 함수 또는 분해로. 개선하지 않으면 내년 또는 2 년 안에 코드를보고 이해하지 못할 수도 있습니다. 자기 개선은 새로운 도서관을 확인하고 있음을 의미 할 수도 있습니다. 예를 들어 SASS가 나왔을 때 CSS 작성 속도가 거의 두 배나 빨랐습니다. 그 곡선을 앞서지 못한 사람들은 프로젝트를 진행할 때 더 많은 비용이들 것입니다.
개선은 또한 코드가 최신 상태임을 의미합니다. 프로젝트에서 많은 시간 동안 모든 모듈을 업데이트하지 않고 동일한 버전 라이브러리를 유지하고 있다는 점에서 코드를 약간 오래된 상태로 둘 수 있습니다. 이로 인해 응용 프로그램이 손상되지는 않지만 수정해야 할 보안 취약점 및 기타 문제가있을 수 있으므로 코드베이스를 업데이트해야합니다. 코드를 너무 오래 사용하지 않으면 나중에 리팩토링하는 것이 너무 번거롭기 때문에 전체 애플리케이션을 다시 작성하는 것이 좋습니다. 좋은 코더는 최신 변경 사항과 일치하도록 코드를 더 자주 리팩터링해야한다고 생각합니다.
이것들은 제가 생각하기에 좋은 개발자라고 생각하는 세 가지입니다. 분명히 이것에 더 많은 것이 있습니다. 나는 옳거나 틀릴 수 있습니다. 좋은 개발자를 만드는 방법에 대한 의견이나 아이디어가 있다면 여러분의 제안을 기다리겠습니다.
의식이란 무엇인가: 불꽃 은유
의식이란 무엇입니까? 그것은 수세기 동안 철학자들과 과학자들을 어리둥절하게 했던 질문입니다. 어떤 사람들은 그것이 우리 몸과 별개로 진정으로 이해할 수 없는 덧없는 일이라고 말합니다.
블록체인 개발자가 되는 방법
블록체인 개발자가 되기 위한 로드맵.
연간 평균 급여가 $154,000이고 꾸준한 직업 성장을 보이는 지금이 블록체인 개발을 배우기에 이상적인 시기입니다. 블록체인 기술을 만들고 개선하기 위해 블록체인 개발자는 컴퓨터 네트워킹, 암호화, 알고리즘 및 데이터 구조를 포함한 다양한 기술을 연습합니다.
JARM 및 Python을 사용하여 SSL 서버 지문 인식
Python과 함께 JARM을 사용하는 간단한 방법 인 pyJARM을 소개합니다.
2020 년 11 월 초에 SalesForce는 설명 할 수없는 JARM이라는 새로운 활성 TLS 지문 도구를 발표했습니다. JARM의 전제는 다양한 사용자 지정 TCP "클라이언트 hello"패킷을 사용하여 대상 서버를 스캔하는 경우 결과 응답을 결합하고 해시하여 공유 또는 유사한 응용 프로그램 또는 서버를 나타내는 지문을 제공 할 수 있다는 것입니다. 스택.
기술 인터뷰의 사회적 구성 요소
코딩 문제는 스트레스가 많지만 스트레스에 대한 당신의 반응은 당신의 기술적 능력보다 더 크게 말합니다.
기술 업계의 직책을 위해 인터뷰 할 때 일반적으로 제안을 고려하기 전에 최소한 3 차례의 인터뷰를 거치게됩니다. 라운드는 일반적으로 다음과 같습니다. 그렇게 생각하면 잘못된 것입니다.
"실용적인 프로그래머"의 5 가지 필수 사항
역대 베스트셀러 코딩 북의 요점
Pragmatic Programmer는 1999 년에 처음 출판되었으며 이후 역대 최고의 프로그래밍 책으로 선정되었습니다. 저자 Andy Hunt와 David Thomas는 Agile Manifesto의 원저자 중 하나였으며 몇 가지 심각한 자격을 가지고 있습니다.
Redis는 Memcached와 유사하지만 확장 가능한 고성능 웹 애플리케이션을 구축하는 데 사용되는 인 메모리 데이터 구조 저장소이지만 다음과 같은 주요 차이점이 있습니다. Redis는 데이터베이스, 캐시 시스템 또는 메시지 큐 브로커로 사용할 수 있습니다. 1 차-2 차 비동기 복제를 사용하여 서버 그룹에서 사용할 수도 있습니다.