안녕하세요.
영진닷컴 『코딩은 처음이라 with 파이썬』 저자 남박사입니다.
C/C++, 파이썬, 그리고 AI를 활용한 자동화 시스템(AI Agent) 개발을 주로 하고 있습니다.
제 강의를 보시는 모든 분들, 끝까지 "화이팅" 입니다!
💡개인블로그: https://blog.naver.com/nkj2001
💡AI 블로그: https://wordpress.nambaksa.kr
Courses
Reviews
- How to Become an AI Automation Expert Without Coding, Complete n8n Guide
- Creating Bots with Python by Dr. Nam with ChatGPT
- How to Become an AI Automation Expert Without Coding, Complete n8n Guide
- How to Become an AI Automation Expert Without Coding, Complete n8n Guide
- How to Become an AI Automation Expert Without Coding, Complete n8n Guide
Posts
Q&A
제14강 perplexity 연결 오류
안녕하세요요즘 퍼플렉시티를 포함해 여러 API 서비스들이 문제가 좀 많습니다. 아마도 폭발적으로 늘어나는 사용자를 감당하기위한 준비들이 안되어있는 문제들도 있지않을까합니다만...저도 그증상을 경험한적이 있었는데 일단 n8n의 크레덴셜 설정에서는 오류가 발생했으나 그냥 무시하고 해당 노드를 실행했을때 문제가없었습니다. 또한 http노드로 직접 api를 호출 했을때도 문제가 없었습니다. 일단은 저처럼 크레덴셜 설정에서의 오류는 무시하시고 그냥 퍼플렉시티 노드를 실행하보시기 바랍니다.
- 0
- 3
- 16
Q&A
로컬 접속 계정 패스워드 분실시
안녕하세요, sizak.ps 님.n8n을 완전히 처음 상태로 되돌리시려면 생성된 도커의 컨테이너, 이미지, 특히 볼륨 까지 모두 삭제를 하셔야 합니다. 말씀하신 n8n의 정보는 도커 볼륨에 기록되어있는데 이 볼륨을 삭제하지 않고 재설치를 하면 이전 볼륨 데이터를 다시 활용하게 되기 때문에 그런 증상이 나올 수 있습니다. (사진)위 이미지에서 처럼 도커의 볼륨 메뉴를 확인하셔서 관련된 n8n 볼륨데이터를 모두 삭제하셔야 합니다.
- 0
- 2
- 16
Q&A
20강 워드프레스 에러질문
안녕하세요, QA 님.오류의 내용을 봤을때 의심가는 부분은 워드프레스 내부에서 사용할 MYSQL 데이터 베이스의 관리자 아이디/비번으로 접속을 할 수 없어 생기는 문제로 보여집니다.이는 딱 어디가 문제다 라고 말씀을 드릴 수 없는 부분이긴 합니다만 어쨌든 docker-compose.yml 설정을 다시 한번 확인해보셔야 하는 부분인데 강의 5:30초 부분부터 나오는 내용이 이에 해당 하는 내용이긴 합니다. 어쨋든 확실하게 말할 수 있는 부분은 Access denied for user 'klinea54'@'172.19.0.5' (using password: YES)이 오류는 172.19.0.5 호스트에서 klinea54 계정으로 로그인 했는데 그런 계정이 없다, 혹은 비번이 다르다 라는 의미기 때문에 이는 docker-compose.yml 파일에서 어떤 설정이 잘못 된것이라 라는 결론을 낼 수 있을 듯 합니다.다시 찬찬히 확인해보시고 어떤 부분에 문제가 있는지 찾아보셔야 할 듯 합니다. 더 궁금하신 사항이 있으시면 또 질문주시기 바랍니다.
- 0
- 1
- 17
Q&A
24강 사이트맵 관련
안녕하세요, 재훈님.강의 첨부파일로 제공되는 generatepress_child.zip 에서는 /sitemap.xml 을 그냥 사용하게 작성되어있습니다. // 기존 wp-sitemap.xml 비활성화 add_filter('wp_sitemaps_enabled', '__return_false'); // /sitemap.xml 커스텀 sitemap 라우팅 add_action('init', function () { add_rewrite_rule('^sitemap\.xml$', 'index.php?custom_sitemap=1', 'top'); }); functions.php 파일을 보면 위의 코드에서 처럼 원래 제공하던 wp-sitemap.xml 을 비활성화 하고 sitemap.xml 을 동작하게 수정되었으며, // sitemap.xml 응답 처리 add_action('template_redirect', function () { if (intval(get_query_var('custom_sitemap')) === 1) { header('Content-Type: application/xml; charset=UTF-8'); echo '' . "\n"; echo '' . "\n"; $args = [ 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'modified', 'order' => 'DESC' ]; $query = new WP_Query($args); while ($query->have_posts()) { $query->the_post(); $url = get_permalink(); $lastmod = get_the_modified_time('Y-m-d\TH:i:sP'); echo "\n"; echo "{$url}\n"; echo "{$lastmod}\n"; echo "weekly\n"; echo "0.8\n"; echo "\n"; } wp_reset_postdata(); echo ''; exit; } });실제 sitemap.xml 이 호출될때 위의 코드가 동작하게 되어있는데, 내용을 보면 아주 단순하게 작성된 포스트만 목록화 해서 출력되게 수정된 버전입니다.이는 기본적으로 제공되는 wp-sitemap.xml 이 기능상으로는 체계적으로 작성되어있긴 한데 블로그 운영 초반 포스트 위주로 운영할 시에는 오히려 검색 노출에 방해가 되는 요소들이 많아 그렇게 수정하여 적용하고 있으니 참고가 되셨길 바랍니다. 위의 코드를 제거하거나 주석처리 하면 원래 기본적으로 제공되는 wp-sitemap.xml 이 동작하긴 합니다.
- 0
- 1
- 18
Q&A
영문 워드프레스를 해보고 싶은 욕심이 생기네요(영문으로 바꿔려면 뭘바꿔야 하는지 궁금합니다.)
일단 영문 블로그를 운영하려면 몇가지 고려해야할 문제들이 있습니다.당연한 이야기겠지만 글의 내용, 메타태그, SEO 등 모든 요소를 영문으로 작성해야 합니다. 물론 AI 시대이므로 큰 문제는 아닌 부분입니다. 그리고 또 한가지 중요한 요소는 강의에서 사용한 .kr 같은 국적이 명확한 도메인은 아무래도 구글 검색 노출시 글로벌 타겟에는 다소 밀리는 성향이 있을것으로 판단됩니다. 그러므로 도메인은 .com 이나 .net 같은 글로벌 도메인을 쓰는 게 유리합니다. 그리고 내 글이 백링크로 사용되는게 검색 노출에 유리한 요소인데 백링크는 누군가 내 블로그 글을 언급하고 링크를 걸어줘야 하는 부분인데 내가 직접 외국 커뮤니티 같은데 활동해서 내 블로그를 링크로 남기거나 하는 활동을 해주면 좋습니다. 물론 필수는 아니지만 엄청 큰 유리하게 영향을 주는 요소니 무시할 수 있는 부분은 아닙니다.이정도를 바탕으로 영문 블로그를 운영해보는것도 요즘 같이 AI 글로벌 시대에 좋은 아이디어긴 합니다. 그러나 강의에서도 중요하게 얘기하는 부분이긴 하지만 수익을 먼저 생각한 블로그 치고 성공한 블로그는 본적이 없습니다. 컨텐츠가 좋아서 바이럴 되고 방문자가 많아야 수익이 따라오는 건데 수익을 위해서 블로그를 운영한다는건 유토피아 같은 생각입니다. 이 부분을 항상 기억하셔야 할 부분입니다.
- 0
- 1
- 12
Q&A
proxy hosts에서 api.내도메인, files.내도메인, n8n.내도메인,portainer.내도메인 만들었는데요 그냥 내도메인으로 된 proxy host가 있어야 되는 이유 그리고 만드는 법 알려주시면 감사드려요
질문의 요지를 제가 정확하게 이해 하지 못했습니다. 단순히 왜 서브도메인을 만들어서 쓰냐는걸 물어보신거라면 몇몇 서비스는 굳이 그런 서브도메인을 사용하지 않아도 되겠지만 n8n 같은경우는 무조건 https가 있어야 하고 워드프레스도 도메인이 필요하고 만약 https가 아니라면 크롬 브라우저가 접속 경고를 띄울테고 만약 나혼자 보는 워드프레스가 아닌경우라면 구글 검색에 노출되어야 할텐데 https가 아닌 사이트 역시 검색 노출이 되지 않을 확률이 높으며 이런 위의 모든 상황을 종합했을때, 서비스를 만들때 도메인은 거의 무조건적으로 필요한 경우가 많습니다. 단순하게 정리하자면 강의에서는 여러가지 서브도메인을 만들어 쓰고 있기에 무조건 써야하는 HTTPS와 그외 편리성 등 딱 어떤 한가지 이유에서 사용하고 있는것이 아니기에 한가지로 답변드리기는 어려울듯 합니다.어쨌든 도메인이 필요한 이유는 강의에서 충분하지 않을수는 있겠지만 다루고 있는 내용입니다만 강의에서 나온 내용을 물어보시진 않으셨을테니 좀 더 질문을 구체화 시켜주셨으면 감사하겠습니다.또한 우여곡절이라도 강의를 모두 수강하셨고 실습까지 마치신점에 대해서 박수를 드리고 싶습니다. 수고하셨습니다 :)
- 0
- 3
- 19
Q&A
첨부파일 삭제
안녕하세요, 성현님.일단 코드에는 큰 문제는 없어보입니다만 일단 어느 구간에서 문제가 생기는지 의심 구간에 print() 문을 사용하여 변수의 값들을 확인해보는게 좋을듯 합니다. @blueprint.route("/edit/", methods=["GET", "POST"]) @login_required def board_edit(idx): board = mongo.db.board try: doc = board.find_one({"_id": ObjectId(idx)}) except Exception: doc = None if not doc: flash("해당 게시물이 존재하지 않습니다.") return redirect(url_for("board.lists")) if str(session.get("id") or "") != str(doc.get("writer_id") or ""): flash("글 수정 권한이 없습니다.") return redirect(url_for("board.lists")) if request.method == "GET": return render_template("edit.html", data=doc, title="글수정") # --- POST --- title = (request.form.get("title") or "").strip() contents = (request.form.get("contents") or "").strip() deleteold = "deleteoldfile" in request.form # ✅ 체크박스 감지 print(f"deleteold::{deleteold}") # 디버깅 deleteold 변수값 확인 old_file = doc.get("attachfile") filename = old_file f = request.files.get("attachfile") if f and f.filename: base, ext = os.path.splitext(secure_filename(f.filename)) new_name = f"{base}_{int(time.time())}{ext.lower()}" save_dir = app.config["BOARD_ATTACH_FILE_PATH"] os.makedirs(save_dir, exist_ok=True) f.save(os.path.join(save_dir, new_name)) if old_file: board_delete_attach_file(old_file) filename = new_name elif deleteold: print(f">> deleteold 위의 코드에서처럼 기존 파일을 삭제하는 기능이 동작해야할 구간에 print() 함수를 사용하여 변수의 값과 조건문을 타고 있는지 등을 확인하면서 무엇이 문제인지 확인해보는게 좋을듯 합니다.
- 0
- 2
- 14
Q&A
13강 Search WEB 실패합니다.
일단 보여주신 스샷으로만 봤을때는 제가 확인 할 수 있는 정보가 없습니다. 툴에 어떤값이 셋팅되는지도 확인해봐야 하는 사항인데 스샷의 오류 내용만 보고 추측했을때 검색어가 셋팅되지 않지 않았을까 막연히 추측해봅니다.Search WEB 노드의 설정 사항을 체크해보셔야 할듯 합니다.
- 0
- 3
- 20
Q&A
N8N에 data table이 추가 되었네요.
안녕하세요, lee amatou님.완전 반가운 소식이군요, 저도 관심 갖고 한번 살펴봐야겠습니다. 사실 요즘은 정말 "편리성" 이 가장 중요한 요소기 때문에 기능이 좋고 성능이 좋고 이런건 0순위 중요도가 아닌게 되어버렸습니다. 훌륭한 DB들도 많고 MCP로 그런 db를 이전보다 쉽게 이용할 수도 있지만 그럼에도 불구하고 airtable이 전세계적으로 폭발적으로 성정하는건 바로 그런 이유가 아닐까? 합니다.좋은 정보 감사드립니다~ :)
- 0
- 1
- 29
Q&A
perplexity는 좋은 ai인가요?
AI Agent를 만드는데는 정해진 원칙이 없습니다. 본인의 결정하고 판단하고 진행해야 할 부분입니다. 해당 강의에서의 직접 만든 검색 도구는 네이버 블로그나 뉴스, 구글 검색 정도가 한계입니다. 물론 이를 더욱 더 확장하여 여러 커뮤니티 등의 검색 결과를 얻어낼 수 있게 확장할 수도 있겠지만 그렇게 하기 위해선 검색 도구에 수준급 이상의 크롤링 기능을 탑재해야 하기 때문에 강의의 본질을 벗어나기도 하고 그게 메인 기능이라면 모를까 부가적인 기능에 그정도의 에너지를 소비하는 것은 현재 시대에는 맞지 않는 방법이기도 합니다. 그래서 이 수고를 덜고자 강의에서는 기본적으로 검색도구를 사용하면서 추가적으로 퍼플렉시티 API를 사용하고 있고 직접 만든 검색 도구의 데이터와 퍼플렉시티가 수집한 자료를 바탕으로 블로그 글의 초안을 기획합니다. 원칙적으로는 퍼플렉시티나 검색 도구를 얼마나 잘 활용할것이냐도 중요한 부분이긴 하지만 강의에서는 그정도로 심도있게 다루고 있진 않으나 어쨌든 퍼플렉시티의 데이터를 사용하지 않는다 해서 워크플로우가 동작하지 않는건 아니니 본인이 판단하고 결정하시면 될 듯 합니다. 물론 그에 따른 워크플로우의 수정(Code노드 같은..)은 필요할것으로 보입니다.
- 0
- 1
- 30