전체 글 50

[스나이퍼팩토리] 한컴AI아카데미(26.04.29)

template 1. send_from_directory: Flask에서 서버의 특정 폴더에 저장된 파일(이미지, CSS, JS 등)을 클라이언트(브라우저)에게 안전하게 전송할 때 사용하는 함수 기본 문법: send_from_directory(디렉토리_경로, 파일_이름)@app.route('//')def serve_files(dir, filename): if dir in ['css','images','js','fonts']: # f-string 안에서 변수를 쓰려면 {dir}로 써야 합니다. # 이 코드는 'resource/css' 같은 폴더에서 'style.css'를 찾아 보냅니다. return send_from_directory(f'resource/{dir..

학습일지 2026.04.29

[스나이퍼팩토리] 한컴AI아카데미(26.04.28)

template 1. template_folder='templates'의 의미Flask는 기본적으로 프로젝트 폴더 내의 templates라는 이름의 폴더를 찾아서 HTML 파일을 로드하도록 설계되어 있습니다.의미: "HTML 파일들이 저장되어 있는 폴더 이름이 templates입니다."라고 명시적으로 알려주는 것입니다.왜 쓸까?: 만약 이 코드를 쓰지 않아도 Flask는 기본적으로 templates 폴더를 찾습니다. 하지만 폴더 이름을 다른 것으로 바꾸고 싶다면(예: views 폴더 사용) 반드시 이 설정이 필요합니다.# 템플릿 폴더 이름을 'views'로 바꾸고 싶을 때app = Flask(__name__, template_folder='views')2. 정적 HTML vs 동적 템플릿 (렌더링)ren..

학습일지 2026.04.28

[스나이퍼팩토리] 한컴AI아카데미(26.04.27)

추상 클래스 1. OOP(Object-Oriented Programming, 객체 지향 프로그래밍)프로그래밍을 단순히 '데이터의 처리 과정'으로 보지 않고, 독립적인 '객체(Object)'들의 상호작용으로 구성하는 설계 철학'객체 지향의 4대 핵심 개념캡슐화 (Encapsulation): 객체의 내부 데이터와 메서드를 하나로 묶고, 외부에서 함부로 접근하지 못하도록 보호(정보 은닉)하는 것입니다. (예: 자동차의 복잡한 엔진 내부를 뜯어보지 않아도 운전대만으로 조작 가능)상속 (Inheritance): 부모 클래스의 기능을 자식 클래스가 그대로 물려받아 사용하는 것입니다. 중복 코드를 줄이고 기능 확장이 쉬워집니다.다형성 (Polymorphism): 같은 이름의 메서드라도 객체마다 다르게 동작하는 능력입..

학습일지 2026.04.28

[스나이퍼팩토리] 한컴AI아카데미(26.04.24)

while문 1. 기본 구조와 반복 (while vs if)if 문은 조건이 맞으면 딱 한 번만 실행하지만, while 문은 조건이 거짓이 될 때까지 계속 실행합니다.# 0부터 4까지 1씩 증가하며 출력count = 0while count 2. 제어 명령어 (break, continue)반복문의 흐름을 강제로 조절할 때 사용합니다.break: 반복문 전체를 즉시 종료합니다.continue: 나머지 코드를 건너뛰고 반복문의 처음(조건 확인)으로 돌아갑니다.# 커피 판매 로직 중 거스름돈 부족 상황if money 3. 무한 루프 (while True)종료 조건을 미리 알 수 없거나, 특정 상황에서 break를 만나기 전까지 계속 실행해야 할 때 사용합니다. 자판기나 주차 관리 프로그램처럼 "언제 끝날..

학습일지 2026.04.24

[스나이퍼팩토리] 한컴AI아카데미(26.04.23)

리스트,튜플 1. 리스트: 순서가 있고 수정 가능한(Mutable) 자료형 메소드메소드설명예시.append(x)리스트 끝에 항목 x를 추가a.append(4).extend(list)리스트 끝에 다른 리스트를 이어 붙임a.extend([5, 6]).insert(i, x)i번 인덱스 위치에 x를 삽입a.insert(0, "start").remove(x)리스트에서 첫 번째로 나오는 x를 삭제a.remove(3).pop(i)i번 인덱스 요소를 삭제하고 반환 (비우면 마지막)val = a.pop().clear()리스트의 모든 요소를 삭제a.clear().index(x)x의 인덱스 위치를 반환`a.index("apple").count(x)리스트 내 x의 개수를 세기a.count(1).sort() a = sorte..

학습일지 2026.04.23

[스나이퍼팩토리] 한컴AI아카데미(26.04.22)

리뷰 조건문 1. 조건문 (if-elif-else)특정 조건에 따라 프로그램의 흐름을 바꾸는 가장 기본적인 구조(들여쓰기로 블럭 지정)score = 85if score >= 90: print("A 학점")elif score >= 80: print("B 학점") # 이 코드가 실행됨else: print("C 학점 이하") 2. 문자열 다루기 (startswith, endswith, split)문자열의 특성을 파악하거나, 구분자로 나누어 정보를 추출할 때 사용text = "031-1234-5678"# 1. 특정 문자로 시작/끝나는지 확인print(text.startswith("031")) # Trueprint(text.endswith("5678")) # True# 2. 특정 구분자..

학습일지 2026.04.22

[스나이퍼팩토리] 한컴AI아카데미(26.04.21)

python 가상환경 만들기 Q. 가상환경을 사용하는 이유??라이브러리 버전 충돌 방지 (가장 중요한 이유)가상환경이 없을 때: 시스템 전체에 설치된 파이썬 환경에 라이브러리를 설치하면, 한 라이브러리가 다른 프로젝트에 필요한 버전을 덮어쓰게 되어 프로젝트 B를 실행할 때 프로젝트 A가 깨지는 현상이 발생합니다.가상환경을 사용할 때: 각 프로젝트별로 독립적인 폴더에 라이브러리를 설치하므로, 서로 다른 버전을 사용해도 아무런 충돌이 일어나지 않습니다.깔끔한 시스템 유지(가상환경을 사용하지 않으면 모든 라이브러리가 컴퓨터의 기본(Global) 파이썬 경로에 설치됩니다.)어떤 프로젝트에서 어떤 라이브러리를 쓰는지 관리가 되지 않습니다.나중에 불필요한 라이브러리를 삭제하고 싶어도, 어떤 프로젝트에 필요한 것인지..

학습일지 2026.04.21

[스나이퍼팩토리] 한컴AI아카데미(26.04.17)

jQuery 웹사이트를 만들 때 자바스크립트(JavaScript) 코드를 훨씬 더 쉽고 짧게 쓸 수 있도록 도와주는 도구(라이브러리) 주요 명령어기능명령어 예시설명선택$('#id')특정 ID를 가진 요소를 선택보이기/숨기기.show(), .hide()요소를 화면에서 보여주거나 숨김클래스 제어.addClass(), .removeClass()CSS 클래스를 넣었다 뺐다 함내용 변경.text('내용'), .val('값')글자나 입력창의 값을 바꿈이벤트.click(), .hover()클릭이나 마우스를 올렸을 때 작동 예시 이제부터 제이쿼리를 다 같이 공부해보죠!! 마우스로 글씨를 클릭해보세요!! 동작1. 제이쿼리 공장에 있는 도구들을 빌려오는 문장입니다. 이 줄이 있..

학습일지 2026.04.17

[스나이퍼팩토리] 한컴AI아카데미(26.04.16)

대화상자 메소드alert(): 경고창(알림창) 함수특징: alert()는 단순히 메시지만 띄우는 게 아니라, 아주 특별한 성질을 가지고 있습니다.코드 실행의 일시 정지 (Blocking): alert 창이 뜨면 사용자가 '확인' 버튼을 누를 때까지 그 뒤의 모든 자바스크립트 코드가 일시 정지됩니다.상호작용의 강제성: 확인 버튼을 누르기 전까지는 웹사이트의 다른 버튼을 클릭하거나 텍스트를 입력하는 등의 활동을 일절 할 수 없습니다. 이를 '모달(Modal)' 창이라고 부릅니다.confirm(): 예/아니오의 선택권을 주는 대화 상자 함수특징: confirm() 함수를 실행하면 브라우저에 **[확인]**과 [취소] 버튼이 있는 창이 뜹니다. 가장 중요한 특징은 사용자가 클릭한 버튼에 따라 **논리값(Bool..

학습일지 2026.04.16

[스나이퍼팩토리] 한컴AI아카데미(26.04.15)

미니과제 오늘의 과제(mission 1 ~ 5) 느낀점 오늘은 새로운 개념이 아닌 복습 위주로 수업이 진행되었다. 예제를 풀어보며 어떤 메소드들을 어떻게 사용해야하는 지 복습하게 되었다. 하지만 나는 for문, if문 외에는 아직 익숙하지 않아 쉽게 쓰이지 않은것 같다...... ——————————————————————————본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.

학습일지 2026.04.15