미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트
The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...
재미있으면 시간이 빨리 간다는 말이 있죠. 개인적으로 저는 스타트업과 비즈니스 성장의 여정에서 재미가 특히 중요하다고 생각합니다. 매주 바쁘게 움직이느라 내면의 에너지 자원이 아무리 많이 소모되더라도 즐겁게 일할 수 있기 때문이죠.
(다음 에피소드에서는 직장 내 유머에 대해 좀 더 자세히 설명하기 위해 직장에서의 유머에 대한 주제를 이어서 다룰 예정입니다. "왜 그렇게 심각해?").
시간 얘기가 나와서 말인데, 지난 번 게시한 지 2주가 지났으니 이제 4번째 에피소드가 나올 때가 되었습니다. #더코드스트 리뷰 시리즈.
풀스택 개발자와 엔지니어링 관리자 팟캐스트에서 뷰 캐싱에 대해 언급한 내용은 제가 직접 작성한 것입니다.
그림판 앱의 대가이자 메르시 초콜릿처럼 1000단어 이상을 말하는 GIF와 밈을 좋아하는 저는 이제부터 여기에 그 맛을 더하기로 결심했습니다. 그리고 그거 아세요?
다스 시디어스 당신은 나를 막을 수 있다고 생각하십니까 GIF 에서 다스시디어스 GIF
지난 시간에는 루비 커뮤니티에서 새로운 신예로 주목받고 있는 StimulusReflex에 대해 집중 조명하기로 했습니다. 자바스크립트 프레임워크를 사용하여 과잉을 피하세요.
참조: StimulusReflex 일명 ReactiveRails
동등한 조건의 싸움을 위해 React가 Stimulus를 상대로 다시 한 번 스윙을 하게 하고 싶었습니다. 저는 항상 제가 말한 대로 행동하고 약속을 지키는 것으로 잘 알려진 명예로운 사람이니까요:
다음 에피소드에서는 Vinted.com의 React 엔지니어의 게스트 포스팅을 소개해드리게 되어 매우 기쁩니다. 빈티드에 대해 들어본 적이 없는 분들을 위해 설명하자면, 빈테드는 리투아니아 빌뉴스에서 시작된 패션 마켓플레이스로 2019년에 유니콘 기업 가치를 달성한 바 있습니다. 이 플랫폼은 프론트엔드 부분의 React로 뒷받침되는 견고한 Ruby on Rails 기반 위에 구축되었습니다.
참고: 아내는 빈티드를 정말 좋아해서 옷장 정리와 중고 옷 판매의 주요 목적지로 OLX 사용을 거의 완전히 중단했습니다(열렬한 팬이었어요) = 여러분은 제대로 하고 있습니다!
시리즈의 첫 번째 게스트 기고자를 맞이하게 되어 영광입니다:
Ugnė Kryževičiūtė - Vinted의 React 엔지니어
최근 LadyBug 팟캐스트의 제목("React에 푹 빠지다")을 읽었을 때, 저는 대부분 React Hook에 관한 내용일 것이라고 예상했습니다. 하지만 이 팟캐스트는 Hook에 대해 자세히 다루지는 않았지만, React용 JavaScript 라이브러리의 기본 사항에 대한 훌륭한 소개를 제공했습니다.
LadyBug 팟캐스트의 알리와 엠마가 라이브러리의 일반적인 레이아웃과 장점부터 구성 요소, 데이터 처리 또는 React 라이프사이클에 대한 활발한 토론에 이르기까지 React의 모든 것을 개인적인 경험을 바탕으로 설명합니다. React의 놀라운 기능을 사용해 볼 기회가 없었던 프론트엔드 개발자라면 꼭 들어볼 만한 가치가 있습니다.
제가 React를 처음 접한 것은 약 3년 전 개발자로서의 여정을 시작했을 때였습니다. 알리와 엠마는 React가 처음에는 혼란스러워 보일 수 있다고 말했지만, 제 경험상 다른 프론트엔드 프레임워크에 비해 비교적 쉽게 시작할 수 있고 발전하기 가장 쉬운 프레임워크라고 생각했습니다. 튜토리얼, 기사, 오픈 소스 라이브러리 및 기타 학습 자료는 어디에나 많이 있습니다. 그러나 이러한 자료를 살펴볼 때 React가 활발하게 개발되고 있다는 사실을 알고 있어야 합니다. 레이디버그의 이번 팟캐스트 에피소드도 예외는 아닙니다. 언급된 일부 측면과 방법은 이미 한동안 더 이상 사용되지 않았습니다. 따라서 Emma가 직접 작성한 조언을 따르고 최신 문서를 살펴보는 것이 가장 좋습니다.
React는 많은 발전과 성숙을 통해 코드 Hook을 사용하면 클래스 컴포넌트를 작성하지 않고도 상태 및 생명주기 메서드를 사용할 수 있어 훨씬 쉽게 작성할 수 있습니다. 그러나 초보자의 경우 - Ali가 정확하게 지적했듯이 - React를 작성하는 다양한 방법(예: 클래스/함수/후크 컴포넌트)으로 인해 복잡성이 가중되며, 때로는 무슨 일이 일어나고 있는지 시각화하기 어려울 수 있습니다. 또한 필요한 것을 추려내고 코드 구현과 관련된 정보를 찾는 것도 어려울 수 있습니다.
React의 주요 장점 중 하나는 컴포넌트 기반이기 때문에 코드 모듈화가 가능하고 다른 개발자와 함께 작업하기가 더 쉽다는 점이라고 Ali는 말합니다. 게다가 JSX를 사용할 수 있다는 점은 JavaScript 코드에서 UI 작업을 할 때 별도의 HTML 파일이 필요하지 않다는 점에서 시각적으로도 큰 도움이 됩니다!
알리와 엠마는 컴포넌트 시스템이 제공하는 유연성에 대해서도 잘 설명해 줍니다. 실무의 훌륭한 예로는 제가 근무하는 Vinted라는 회사가 있습니다. 제품 뿐만 아니라 개발 팀 지난 몇 년 동안 작업해 왔습니다. React는 훨씬 깔끔한 코드를 작성하고 재사용 가능한 UI 구성 요소를 사용할 수 있게 해주었으며 코드를 더 쉽게 테스트할 수 있게 해주는 등 엄청난 이점을 제공했습니다.
전반적으로 이 레이디버그 팟캐스트 에피소드는 React의 주요 측면에 대해 활기차고 매력적인 토론을 제공합니다. React로 여행을 시작하는 모든 분들께 추천합니다. 재미있는 사례와 실생활에 대한 비유로 가득한 이 에피소드는 저를 포함한 모든 청취자의 관심을 완벽하게 '훅' 끌어당겼습니다.
안타깝게도 Rails의 뷰는 시간이 지날수록 느려지고 있습니다. 이는 데이터베이스에 저장된 객체의 양이 증가하기 때문입니다. 이로 인해 쿼리 시간이 길어지고 각 객체로 무언가를 수행하는 경우 당연히 처리 시간이 길어집니다. 이런 일이 발생해도 Rails 뷰 캐싱이 있기 때문에 아무런 문제가 없습니다.
덕분에 데이터베이스가 많은 데이터를 캐시에서 로드(데이터베이스 쿼리 및 객체 처리 대신 저장된 HTML과 유사한 단일 파일 로드)함으로써 많은 시간을 절약할 수 있습니다. 물론 객체가 너무 자주 변경되지 않는다면 다른 부분과 객체의 경우에도 비용을 줄일 수 있습니다. 캐시된 객체를 별도의 부분으로 유지하여 예를 들어 렌더링되는 20개의 글 중 19개(필드가 많을 수 있음)를 저장할 수도 있습니다.
기본적으로 Rails 캐싱은 file_store를 사용하며 캐시된 데이터를 폴더에 보관합니다. 하지만 오래된 캐시 항목(오래 전에 만료되었을 수 있음)은 삭제하지 않습니다. 이로 인해 파일 용량이 넘치거나 서버의 여유 공간이 부족해질 수 있습니다. 다른 방법은 memory_store인데, 이 방법도 캐시가 단일 서버에 보관되므로 몇 가지 단점이 있습니다. 또한 서버에 보관되는 RAM의 양을 초과할 수 있습니다(또는 항상 삭제되는 경우 캐시가 부족할 수 있습니다). 그렇기 때문에 가장 좋은 대규모 캐싱 메커니즘은 멤캐시드/레디스 방식입니다. 이 방법을 사용하면 모든 서버에서 사용할 수 있는 캐시를 별도의 컴퓨터에 보관할 수 있습니다. 덕분에 캐시 부족이나 서버의 디스크 공간 부족 문제가 발생하지 않습니다.
Rails의 캐시는 식별자를 기반으로 유지되며, 식별자는 문자열로 바로 지정하거나 캐시 함수에 객체를 전달할 때 자동으로 생성될 수 있습니다. 객체의 경우 업데이트된_at 속성이 가장 많이 사용됩니다. 객체 매개변수에서 정적 키를 제공할 수도 있습니다.
다른 캐싱 방법은 자바스크립트를 사용하여 하루에 한 번 변경되는 필드를 업데이트하는 것입니다. 이렇게 하면 상당히 방대하거나 실행 속도가 느릴 수 있는 웹사이트를 새로 고치지 않고도 항상 유효한 날짜를 표시할 수 있습니다.
채용 과정에서 엔지니어링 관리자의 역할에 대한 주제를 다룬 패널 토론은 기술 리더가 언제 면접 주기에 들어설지 궁금해하는 모든 분들에게 매우 유익한 시간이 될 것입니다. At Codest우리는 패널들이 설교하는 것을 실천하고 있습니다. CTO 은 지원 엔지니어와의 첫 번째 접점이며, 다음 단계에서는 인터뷰가 진행됩니다. 팀 잠재적인 신규 입사자가 긴밀하게 협력할 관리자를 찾아보세요. 엔지니어링 관리자로서 채용 게임을 업그레이드하기 위해 바로 적용할 수 있는 몇 가지 실행 가능한 조언을 소개합니다:
첫인상은 우수 인재에게 회사가 어떻게 비춰지는지에 중요한 역할을 하므로, 프로세스를 검토하고 가능한 한 빨리 지원자의 첫 번째 접점이 되는 것이 이상적입니다.
조직에서 매우 효과적인 채용 관리자(과거에 여러분을 채용했던 사람일 수도 있습니다)에게 연락하여 그들이 계획한 면접에 쉐도우로 참여할 수 있는지 물어보고, 그들의 기술을 확인하고, 팁에 대해 물어보세요. 보고 배우세요. 지원자에 대한 진정한 호기심을 가지고 모든 면접에 임하세요.
잠재력을 살펴보고 빠르게 성장할 수 있는 잠재력과 능력을 갖춘 인재를 채용하세요.
모든 엔지니어와 구인 광고를 살펴보고 지원 의사가 있는지 물어보세요. 그렇지 않다면 무엇이 아쉬운지 물어보고 그들의 피드백을 구인 게시판에 게시할 2.0 빌드 구인 광고에 반영하세요.
1차 면접을 미래의 잠재적 동료와 좋은 관계를 맺을 수 있는 기회로 삼으세요.
전체 비디오 패널을 시청하는 것이 좋지만 팟캐스트를 좋아하고 운전, 운동 또는 설거지 중에 듣는 것을 좋아한다면 여기에 Spotify도 있습니다. 링크.
읽어주셔서 감사드리며, 여기까지 읽어주신 분들께는 시간 내주셔서 감사드리며, 멋진 피드백(멋진 피드백이든 저를 비방하는 피드백이든)은 언제든지 환영합니다. LinkedIn 또는 내 이메일.
곧 다음 에피소드로 다시 찾아뵙겠습니다!
Yippie I윌 씨 유 곧 댄싱 GIF 에서 이피이윌세유순 GIF
자세히 읽어보세요:
TheCodestReview #3 - 주간 소프트웨어 엔지니어링 주스