Share
Sign In
👩‍💻

Low-code의 시대의 가속화

지금까지 우리가 'Code'라고 부르는 수많은 프로그램 언어들은 결국 기계와 대화하기 위한 도구였습니다. 생각을 해보세요. 외국인과 우리가 있습니다. 우리가 외국어를 배워서 그들과 자유로이 소통하는 방법도 있겠지만 그들이 우리말을 익히는 속도가 더 빨라졌다고 생각하면 됩니다.
예전에는 반복적인 작업 혹은 스크립트를 작성 할 때, 프로그래밍 언어 관련 책을 사서 본다던지 강의를 들어야 해다면 이제는 "A라는 작업을 하고 싶은데 좋은 방법이 없을까?"라고 물어보면 됩니다.
사실 우리는 위에서 코드를 짜는 것을 경험해 보았습니다. 그렇다면 여기서 새로운 기능을 붙이는 건 어떨까요?
"진행상황을 확인하고 매 분마다 자동으로 크롤링 결과를 csv에 저장하는 코드로 바꿔주십시오."
위 명령으로 우리는 정기적으로 작동하는 기능, 진행 상황을 확인하는 기능, csv로 정리하는 기능 등을 요청했습니다. 그럼 언어모델을 다음과 같이 제안합니다.
💡
기존 코드를 수정하여 진행 상황을 확인하고, 매 분마다 자동으로 네이버 뉴스를 크롤링하여 CSV 파일에 저장하는 기능을 추가하겠습니다. 이를 위해 Python의 time 및 csv 모듈을 사용할 것입니다.
1.
time.sleep(60)을 사용하여 매 분마다 크롤링을 진행합니다.
2.
크롤링한 데이터를 CSV 파일에 저장하기 위해 csv 모듈을 사용합니다.
3.
진행 상황을 확인할 수 있도록 로그 메시지를 출력합니다.
import requests from bs4 import BeautifulSoup import csv import time def get_latest_naver_news(query, num_articles=10): url = f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={query}" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') news_items = soup.find_all('div', {'class': 'news_area'}, limit=num_articles) latest_news = [] for item in news_items: title = item.find('a', {'class': 'news_tit'}).text link = item.find('a', {'class': 'news_tit'})['href'] latest_news.append({'title': title, 'link': link}) return latest_news def save_news_to_csv(news_items, filename='latest_naver_news.csv'): with open(filename, 'a', newline='', encoding='utf-8') as file: writer = csv.DictWriter(file, fieldnames=['title', 'link']) writer.writeheader() for news in news_items: writer.writerow(news) def main(): query = '인공지능' while True: print(f"{time.strftime('%Y-%m-%d %H:%M:%S')}에 크롤링 시작") latest_news_items = get_latest_naver_news(query) save_news_to_csv(latest_news_items) print(f"{time.strftime('%Y-%m-%d %H:%M:%S')}에 크롤링 완료, 다음 크롤링까지 60초 대기") time.sleep(60) if __name__ == "__main__": main()
실제로 '인공지능'과 관련 된 뉴스를 크롤링하여 저장하는 서비스가 만들어진 것을 확인 할 수 있습니다. 그렇다면 만들다가 오류가 나면 어떨까요? 오류 내용을 물어보면됩니다. 오류로 뜨는 출력값을 복사에 언어모델에 물어보면 해당 오류에 맞는 답을 추출해 줍니다.
즉, 이는 프로그래밍을 모르는 이들 입장에선 자연어로 말하는 것을 코드로 변환해주는 것 뿐만 아니라 기존 코드를 짜는 이들에게도 아래와 같이 편리한 기능을 제공 합니다.
버그 수정: 이미 작성된 코드에서 버그를 발견할 경우, 언어모델에 문제점을 설명하고 수정 방법을 문의할 수 있습니다. 모델은 버그를 수정하는 방법을 제시할 수 있습니다.
코드 최적화: 언어모델은 코드의 성능을 향상시키거나 더 효율적으로 만드는 방법을 제공할 수 있습니다. 예를 들어, 더 빠른 알고리즘을 제안하거나 코드 구조를 개선하는 방법을 제시할 수 있습니다.
문서화 및 주석 추가: 코드에 주석을 추가하거나 문서화하는 데 언어모델을 사용할 수 있습니다. 코드의 각 부분이 어떤 기능을 하는지 설명하는 주석을 생성할 수 있습니다.
최근 Code 작성에 특화된 Amazon의 Q나 Meta의 Code LLaMA 등이 나오고 있어 이는 Low-code, No-code 시장에 가속화를 불러올 것으로 보여집니다.
ⓒ 2023. Haebom, all rights reserved.
출처 표시를 하고, 저작권자 허락 하에 영리적 목적으로 쓰일 수 있습니다.
👍