Drupal의 AI는 더 이상 필요한 사람이 그때그때 갖다 붙이던 벤더별 컨트리뷰트 모듈의 산개가 아닙니다. 지금은 추상화 계층을 밑에 깔고 있는 하나의 조율된 프로젝트이고, 보안팀이 관리하는 릴리스 주기를 가지며, Drupal CMS 안에서는 설치 도중에 일부를 켤지 물어보는 완성된 제품으로 묶여 있습니다. 물어야 할 질문은 Drupal이 AI를 할 수 있느냐에서, 어느 부분을 켤 만한 가치가 있느냐, 그리고 편집자 네 명이 매 근무일 그것을 쓸 때 각 기능이 얼마나 드느냐로 옮겨갔습니다. 대부분의 글은 데모에서 멈춥니다. 누군가 프롬프트를 입력하면 페이지가 생기...
게시글
모든 게시글을 한곳에서 확인하세요. AI, 프로그래밍, 보안, 인프라, 웹 개발 관련 튜토리얼과 심층 글, 가이드, 업데이트를 제공합니다.
“Drupal은 느리다”는 평판의 출처는 대부분 호스팅이며, 그것은 거의 언제나 소프트웨어의 문제가 아니라 구매 결정의 문제입니다. 사이트는 제대로 만들어지고, 그다음 PHP 파일 몇 개짜리 소개용 사이트를 기준으로 가격이 매겨진 요금제 위에서 오픈합니다. 그 결과 진지한 렌더 파이프라인을 가진 콘텐츠 관리 시스템이, 스스로 바꿀 수 없는 메모리 한도 안에서, 스스로 통제할 수 없는 오피코드 캐시 위에서, 자기 도구를 돌릴 셸도 없이 돌아가게 됩니다. 사람들이 머릿속에서 비교 대상으로 삼는 것은 WordPress이고, 그 비교가 틀렸습니다. WordPress가 거의 ...
Drupal 보안은 오픈소스 CMS 세계에서 공개된 절차가 플랫폼의 평판보다 나은 몇 안 되는 영역입니다. Drupal 보안팀은 정해진 공개 일정에 따라 움직이고, 모든 권고문에 문서화된 수치 척도로 점수를 매기며, 코어와 수만 개의 컨트리뷰트 프로젝트에 걸쳐 수정을 조율합니다. 현장의 기록은 그 절차가 받아 마땅한 평가보다 나쁩니다. Drupal 사이트는 실제로 침해당하고, 그 원인이 아무도 몰랐다는 것인 경우는 거의 없습니다. 권고문은 제때, 어느 수요일에 공개되어 있었습니다. 패치는 그다음 주에야 운영 환경에 도착했습니다. 이 글이 다루는 것은 바로 그 간격이...
Drupal SEO에는 실력에 비해 과한 평판이 따라붙습니다. 주변에 물어보면 Drupal은 설치만 해도 검색에 강하다는 답이 돌아오는데, 대개는 다른 플랫폼에 대한 십오 년 전 기억과 비교하면서 하는 이야기입니다. 기본 상태의 Drupal 11 설치본에는 메타 디스크립션 필드가 없고, XML 사이트맵도 없으며, URL이 바뀔 때 자동으로 걸리는 리다이렉트도 없습니다. 그리고 편집자가 직접 별칭을 입력하기 전까지 콘텐츠는 /node/123에서 응답합니다. 이것은 프로젝트에 대한 비판이 아닙니다. 코어는 의도적으로 자기 영역을 좁게 유지하고, 견해가 갈리는 것은 모두 ...
CMS 마이그레이션은 기술 작업이 완벽하게 굴러가도 결과는 재앙일 수 있는, 몇 안 되는 종류의 프로젝트입니다. 사이트는 일정에 맞춰 공개되고, 보기에 더 좋아지고, 더 빨리 뜨는데, 트래픽은 절반으로 떨어집니다. 수백 개의 주소가 모양을 바꾸었는데 아무도 그 대응표를 만들지 않았기 때문입니다. 트래픽 손실을 일으키는 것은 새 플랫폼이 아닙니다. 단절이 일으킵니다. 예전에는 응답하던 주소가 이제 응답하지 않고, 식별 가능하던 페이지가 새 페이지처럼 보이며, 옛 주소에 몇 년간 쌓여 있던 이력은 옮겨 갈 곳을 잃습니다. 그래서 순위는 공개 당일이 아니라 몇 주에 걸쳐 ...
포스트모템은 열기는 쉽고 쓸모 있게 만들기는 어렵습니다. 회의가 열리고, 문서가 작성되고, 액션 아이템 네 개가 기록되고, 그리고 여섯 달 뒤에 똑같은 장애가 다시 일어납니다. 그 무렵 누군가가 전혀 다른 것을 찾다가 그 오래된 문서를 우연히 발견하게 됩니다. 이 주제를 이야기할 때 관심은 대부분 무비난이라는 단어에 쏠립니다. 그 원칙은 실제로 중요하지만, 실패가 일어나는 지점은 거기가 아닙니다. 아주 철저하게 무비난 원칙을 지키면서도 아무것도 바꾸지 못하는 회고를 돌리는 조직이 대단히 많습니다. 회고 자체를 결과물로 취급했고,...
비밀번호 저장은 소프트웨어에서 진짜 정답이 존재하는 몇 안 되는 영역이다. 그 정답은 이미 공개되어 있고, 꾸준히 갱신되며, 돈 한 푼 들지 않는다. 그런데도 가장 꾸준히 틀리는 영역이기도 하다. 틀린 답들이 한때는 옳은 답이었고, 그 뒤로 아무도 다시 들여다보지 않았기 때문이다. 실패는 좀처럼 특별하지 않다. 2012년에 통하던 조언을 따라 2016년에 만들어진 시스템이 여전히 돌아가고, 여전히 로그인을 받아들이고 있으며, 그 함수를 작성한 사람이 회사를 떠난 뒤로는 아무도 그 코드를 열어보지 않았을 뿐이다. 한 가지만 가져간다면: Argon2id를 쓰고,...
소프트웨어 공급망 보안은 전담 보안 조직을 갖춘 회사만의 문제처럼 들리지만, 그런 구도 자체가 오해를 부릅니다. 서비스 몇 개를 운영하는 소규모 팀도 보통 수백 개의 패키지에 의존하며, 그중 어느 것도 팀원이 직접 읽어 본 적이 없습니다. 이 패키지들은 빌드 시점에 팀이 통제하지 못하는 레지스트리에서 내려받아지고, 배포 자격 증명이 들어 있는 장비 위에서 설치 스크립트를 실행합니다. 노출 정도는 회사 규모에 비례하지 않습니다. 의존성의 개수와 빌드 자동화 수준에 비례하며, 소규모 팀은 이 문제를 공개적으로 걱정하는 큰 조직보다 앞의 것은 더 많이 가지고 있고 뒤의 것...
다국어 SEO는 보통 기술 마크업이 조금 붙은 번역 문제로 소개됩니다. 그러나 이 사이트를 영어, 아랍어, 독일어, 프랑스어, 헝가리어, 이탈리아어, 일본어, 한국어, 루마니아어, 베트남어 그리고 중국어의 두 표기 체계까지 열두 개 언어로 운영해 보니, 번역이 쉬운 쪽 절반이라는 사실이 분명해졌습니다. 어려운 절반은 영어에서 당연하게 의존하던 규칙마다 문자 체계에 따라 달라지는 판본이 따로 있다는 점입니다. 길이 제한이 다릅니다. 구조가 어긋납니다. 숫자는 친절하게 일하려는 번역자의 손에서 글자로 풀어 쓰이고, 그 순간부터 원문과 일치하지 않습니다....
콘텐츠 리프레시는 어느 정도 자리를 잡은 사이트에서 할 수 있는 작업 가운데 수익률이 가장 높은 일이고, 발표할 거리가 남지 않는다는 바로 그 이유로 인기가 없습니다. 이미 순위에 오른 글을 손보는 일은 유지보수처럼 느껴집니다. 새 글을 발행하는 일은 전진처럼 느껴집니다. 숫자는 대체로 그 느낌에 동의하지 않습니다. 이유는 이미 존재하는 페이지가 값비싼 것들을 벌써 쌓아 두었기 때문입니다. 링크, 크롤 이력, 그리고 일련의 검색어와 맺어 온 입증된 관계가 그것입니다. 새 페이지는 그중 아무것도 없이 출발해, 옛 페이지가 이미 가진 것을 벌어들이는 데만 몇 달을 씁니...