Discourse 백엔드에 대해 더 알아보기

Discourse가 많이 업데이트되어 오래된 자료들을 많이 찾았습니다. 성공에 이르기까지의 과정을 읽는 것이 좋았습니다.

저는 개발자가 아니지만, 저만큼(물론 Discourse에서는 아닙니다) 1/10 수준으로 일하는 '개발자’들에게 꽤 많은 돈을 지불해 왔습니다. 그래서 더 배우기 위해 여기에 있습니다 :slight_smile:

주요 이유는 제가 규율, 책임감, 또는 무언가를 해내는 동기부여가 부족했던 나라에서 태어났기 때문입니다. 그리고 기억이 나기 시작한 이래로 '해내는 것(doing)'은 제 몫이었습니다.

저는 DOS 시절부터 컴퓨터를 사용해 왔으며, 초기 Windows 3.1 PC를 사용했습니다. 그래서 아마도 저와 비슷한 많은 분들이 처음에는 취미로 시작하다가 결국 자신만의 기술 관련 커뮤니티와/또는 비즈니스에 관여하게 된 것이겠죠.

저는 코드의 기본적인 줄을 읽을 수 있고, 학교 시절 논리력에서 매우 뛰어났지만, 더 이상의 배경 지식은 없으며 그것이 충분하지 않다는 것을 알고 있습니다.

저는 10년 넘게 Linux를 사용해 왔기 때문에, 우리의 Discourse 인스턴스와 몇 가지 앱을 Linux에 설치했습니다.

저는 터미널과 백엔드에서 항상 편안함을 느꼈습니다. CSS는 두통을 유발하므로, 이제 예술가(!)들에게 그 부분을 넘기려는 단계에 있습니다.

임시 프리랜서들은 혼자서 문제를 일으키는 것보다 더 나쁘며, 10~15개 항목의 할 일 목록에서 특정 문제를 해결하기 위해 2,000~5,000달러를 지불하는 것은 저에게는 사업이 확장되거나 몇 년이 지나기 전까지는 너무 비쌉니다.

저는 ENFJ 유형이며, 만약 이곳의 진정한 엔지니어들이 이 말에 대한 이단이나 트롤링으로 저를 밴하지 않는다면, 일종의 *거리 엔지니어(street engineer)*라고 할 수 있습니다 :joy::folded_hands:

핵심

제 IT 배경이 매우 부족한 상황에서, Rails를 배우고 Discourse가 구축된 API와 백엔드 앱을 사용할 수 있을까요?

당신들은 Sidekiq를 사용하며 Rails에서 모든 것을 검색, 수정 및 삭제하는 방법을 알고 있고, 저도 정말로 같은 것을 원합니다.

수정: 오해하지 마세요. 개발자가 되는 방법을 묻는 것이 아니라, 개발자들과의 협업을 개선하기 위해 더 이해하고 싶습니다.

Discourse 백엔드에 경험이 없는 개발자(요즘에는 매우 흔합니다)를 이끌기 위한 기초 지식을 아는 것은 저에게 필수적이며, 배우고 싶습니다.

읽어주셔서 감사합니다!

Data Explorer 플러그인으로 시작하는 것이 좋을 수도 있습니다. 데이터베이스에서 인터랙티브하게 쿼리를 구성하여 흥미로운 결과를 얻을 수 있다면, 전체적인 그림이 보이기 시작할 것입니다. 그런 다음 Rails 콘솔에서, 또는 (아마도) API를 통해 해당 쿼리를 직접 실행할 수 있습니다. 하지만 그 시점에는 이미 저보다 앞서 있게 될 것입니다.

저의 경우, 데이터베이스 테이블을 통해 데이터 모델을 이해하는 것이 첫 단계라고 생각합니다. 하지만 더 쉬운 진입 경로가 될 수 있는 API 사용법이 있을 수도 있습니다.

(당신의 목적을 위해 Docker 컨테이너 내부에서 실행되는 기술 스택을 이해할 필요는 없다고 생각합니다.)

Discourse 플러그인 개발 - Part 1 - 기본 플러그인 만들기 주제를 참고해 보세요. Rails에 대한 깊은 이해 없이도 할 수 있는 작업이 꽤 많습니다. 다만 프론트엔드 작업을 하려면 JavaScript를 확실히 다룰 수 있어야 합니다. 제 경우에는 Ruby나 Rails보다 JavaScript를 익히는 것이 훨씬 어려웠습니다.

디스커스의 테마 컴포넌트와 플러그인을 개발하기 전, 저는 CSS 코드를 한 줄도 작성해 본 적 없고, 자바스크립트 프론트엔드 개발 경험도 없었으며, 루비(Ruby) 언어는 생애 처음으로 접하는 것이었습니다. IT 교육 배경? 그 당시 저는 대학 합격 통지서조차 아직 기다리고 있었습니다. 그래서 저는 모든 것이 가능하다고 생각합니다.

제 경험에 따르면, 포럼 관리자로서 디스커스가 일반 관리자에게 제공하는 대부분의 기능을 이해한 후, 디스커스의 공식 테마 컴포넌트를 수정하는 것부터 시작해야 합니다. 처음에는 정말 고통스럽습니다. 하지만 console.log를 몇백 번쯤 출력해 보면, api의 각 함수가 어떤 목적을 가지고 있는지 금방 이해하게 됩니다. 다음 단계는 디스커스 소스 코드의 다양한 폴더에 무엇이 저장되어 있고, 어떤 작업이 이루어지는지 이해하는 것입니다. 솔직히 현재까지 얼마나 이해하고 있는지 단정 짓기는 어렵지만, 제 포럼용 플러그인을 개발하기에는 충분한 수준입니다.