백엔드에서 소스에서 DB를 관리하는 네이티브 언어에 대해

조회수 565회

최근에 들은 이야기인데요. 예를 들어 PHP로 백엔드를 작성하다가 연동된 DB에서 데이터를 긁어오고 저장하고 수정하고 등.. 데이터를 관리하는 부분을 파이썬코드로 슥 짜서 넣는다고 하더라구요. 굳이 php나 python이 아니어도 백엔드 소스 안에 네이티브 언어를 슬쩍 끼워넣어서 작업할 수가 있는건가요? 가능한거라면 그 방식을 배워보고 싶은데 참고할만한 링크가 있나요? 더하여 예시로 참고할만한 소스가 있으면 같이 보여주시면 더 감사하겠습니다

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    제가 질문을 잘 이해했는지 모르겠는데 "어떤 백엔드 처리 스크립트가 다른 언어로 된 다른 스크립트를 실행하는 방법"이 궁금하신 거라면 그건 시스템 커맨드로 처리할 수 있습니다.
    언어를 섞어서 쓰는 건 불가능하기 때문에 각 언어가 지원하는 커맨드 실행 방법을 가지고 원하는 스크립트를 원하는 언어로 실행하는 거죠.

    PHP를 예로 들자면 대충 이런 식입니다. (가상의 소스임)

    // 예약 성공 시 이메일 발송 데몬에 내용 전달하기
    if ($reservation->save()) {
    
        // PHP는 exec() 함수로 시스템 커맨드를 날릴 수 있습니다.
        $error = exec('/usr/bin/python /var/pymailer/queue.py reserved '.$reservation->id);
    
        // 혹시 에러 있으면 보여주기...
        if (!empty($error)) return $error;
    }
    

    아니면... 만약 각 언어가 서로 다른 포트를 리스닝하면서 요청을 처리하는 웹서버 형태로 작동하고 있다면 그건 그냥 HTTP POST http://localhost:해당포트/어쩌구 형식으로 요청 날려 처리할 수 있기도 합니다.
    예컨대 웹소켓이 Node.js로 구현돼 있는데 이걸 django가 이용해야 할 경우 AJAXhttp://localhost:3000/어쩌구에 요청하는 방식으로 Node.js의 실행결과를 얻을 수 있겠지요.

    • 아.. 제가 알고싶던 부분은 맞는거같은데 제가 잘 이해했나 모르겠네요. 김현우 2019.1.21 05:16
    • PHP코드 내에서 DB에 데이터를 긁어오거나 저장하는 등의 기능을 담당하는 파이썬 모듈을 시스템커맨드로 입력해서 처리할 수 있다는 말씀이시죠? 김현우 2019.1.21 05:17
    • 감사합니다! 김현우 2019.1.21 05:18
    • 네 대부분의 서버사이드 언어가 시스템 커맨드 명령을 지원하니까 그걸로 스크립트 실행하면 된다는의미 입니다. 엽토군 2019.1.21 09:57

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)