https://youtu.be/o5YM0CwvS8Y

 

 

몇몇 사이트들은 Googlebot과 같은 크롤러에 대해서 다른 콘텐츠를 제공한다.

때문에 User Agent를 Googlebot으로 설정했을 때

웹사이트의 콘텐츠나 레이아웃이 일반 브라우저와 달라지는지 비교해 볼 수 있다고 한다.

(나도 자세히는 모른다 유튜브에서 그렇다고 했다)

 

위에 영상에선 작동 방식만 보였주었기에

가능하다는 걸 확인할 수있었고

 

 

 

다음과 댓글을 본 뒤

 

구체적인 방법을

GPT에게 물어보았다

 

 

 

 

 

 

그렇게 이상한 창을 발견하게 되었고

 

 

 

 

 

 

일타 강사에 말을 따랐고

 

 

 

 

 

 

적당히 테스트 방법을 물어본 뒤

 

 

 

 

 

 

 

테스트 후

잘 작동한다는 걸 알 수 있었다.

 

 

 

 

 

 

 

 

그럼 실전

 

 

 

성공

 

 

 

 

 

 

 

 

이제

윈도우나 안드로이드 화면에서 iPhone Safari 환경을 시뮬레이션할 수 있게 되었고

더 빠르고 간결하며 광고 없는 페이지를 볼 수 있게 되었다.

 

 

 


 

다만

까불다가 차단 당할 수 있으니까 

조심하자


 

 

 

 

 

 

챗 AI 모델 종류가 많다.

하지만 사용 목적에 따라 어떤게 적합한 모델인지 알기는 어렵다.

 

그래서

대표적인 모델을 써보면서 강점과 부족한 점을 비교해보고,

어떤 상황에서 어떤 모델이 적합한지 구체적으로 살펴보았다.

 

우선 한 문장으로 결론을 밝히면

다음과 같다

 

코딩 작업에 집중한다면 클로드,
안정성과 연결성이 필요하다면 GPT,
좋게 정리된 자료가 필요하면 퍼플렉시티

선택하는 것이 적합하다.





1. 실시간 정보 처리

 

 실시간 정보 처리 능력은 AI 모델 선택에서 중요한 기준이다.

 

클로드는 실시간 정보 처리 기능이 없어서 최신 데이터를 다루는 작업에는 적합하지 않다.

실시간 정보를 활용해야 하는 경우 다른 모델을 선택하는 것이 더 유리하다.

 

퍼플렉시티는 웹 크롤링을 통해 실시간 데이터를 수집하고 이를 정리해 제공하는 데 강점이 있다.

특히 정보를 빠르게 정리하고 시각적으로 깔끔하게 보여주는 기능이 돋보인다.

(하지만 가져온 정보의 신뢰성을 보장하지 못한다는 한계가 있다)

 

GPT는 2024년 10월 31일에 출시된 "GPT 서치" 기능을 통해 실시간 정보 검색이 가능해졌다. (사실 이전에도 실시간 검색은 가능했다. 가령, "빙에서 검색해서 ○○ 알려줘"라는 간단한 명령어를 사용하면 Bing을 통해 실시간 데이터를 가져올 수 있었다)

 

 

 


 

2. 모델별 특징

  • GPT
    실시간 검색, 코딩, 이미지 생성, 확장 프로그램 활용 등 다양한 작업을 안정적으로 처리할 수 있는 다재다능한 AI다. 범용성과 안정성에서 가장 뛰어난 성능을 발휘한다.
  • 클로드
    코딩 작업에 특화된 AI로, 복잡한 코드 작성이나 수정 작업에서 깔끔하고 직관적인 결과를 제공한다. 별도의 코드 편집 프로그램 없이 작업 결과를 바로 확인할 수 있어 개발자들에게 특히 유용하다.
  • 퍼플렉시티
    정보 검색에 최적화된 AI다. 질문 의도를 잘 파악하고 관련 데이터를 빠르게 정리해 제공하는 능력이 뛰어나며, 검색 중심의 작업을 수행하는 사용자에게 적합하다.

 

gpt에게 부탁한 계산기 프로그램, 하지만 너무 못생겼다. 이후 몇 번 이야기 뒤에 만들어진 계산기

 

 

반면 클로드는 한번에 꽤 괜찮은 계산기를 만들어 줬으며, 화면에서 바로 실행도 가능하다.


 

3. 부족한 점

  • GPT
    범용적으로 뛰어난 모델이지만, 특정 전문 작업(예: 고급 코딩)에서는 클로드만큼 세밀한 결과를 제공하지 못할 때가 있다.
  • 클로드
    서버 안정성이 낮아 작업 중 오류가 발생할 가능성이 크다. 실시간 정보 처리 기능이 없다는 점도 단점이다.
  • 퍼플렉시티
    GPT처럼 이미지 생성이나 확장 가능한 기능을 제공하지 못하며, 최근 GPT가 실시간 검색기능을 제공하므로 메인보단 서브 검색으로 사용되곤 한다.

퍼플렉시티
종종 서버가 먹통인 모습을 보여주는 클로드, make 같이 자동화 툴을 쓸때는 gpt를 쓰는게 편하다


 

4. 결론: 어떤 AI가 적합할까?


클로드는 코딩 작업에 특화된 모델이며, 퍼플렉시티는 정보 검색에서 뛰어난 성능을 발휘한다. 반면 GPT는 실시간 정보 처리, 안정성, 범용 AI 기능 면에서 가장 우수하다.

코딩 작업이 주된 목적이라면 클로드, 정보 검색이 중심이라면 퍼플렉시티, 실시간 정보 처리와 다방면에서 활용할 AI가 필요하다면 GPT가 적합하다.

이미지 파일을 변환해야 하는 경우가 잦다.

그래서 폴더 않에 있는 파일 형식을 한번에 바꾸도록 파이썬 코드를

 Cursor에게 부탁해서 만들었다

 

기본적으로

 

  • WebP ↔ JPG
  • PNG ↔ JPG
  • WebP ↔ PNG

을 목적으로 만들어 졌고

 

다음과 같은 파일 형식은 모두 다룰 수 있지만


 

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • GIF (.gif)
  • BMP (.bmp)
  • WebP (.webp)
  • TIFF (.tiff, .tif)
  • ICO (.ico) - 윈도우 아이콘
  • PPM (.ppm) - Portable Pixmap
  • PGM (.pgm) - Portable Graymap
  • PBM (.pbm) - Portable Bitmap
  • PCX (.pcx) - PC Paintbrush
  • EPS (.eps) - Encapsulated PostScript
  • IM (.im) - IFUNC Image Memory
  • SGI (.sgi) - Silicon Graphics Image

부 변환은 품질 손실이나 기능 제한이 있을 수 있고(예 GIF -> JPG 변환 시 애니메이션 정보가 손실), 든 조합이 실용적이지는 않다(예: BMP는 용량이 커서 잘 사용하지 않음)

 

 

 

 

 

 

 

 

 

이제 실행해 보자

import os
from PIL import Image

def convert_image_format(folder_path, from_format, to_format):
    """
    지정된 형식의 이미지를 다른 형식으로 변환합니다.
    
    :param folder_path: 이미지가 있는 폴더 경로
    :param from_format: 원본 이미지 형식 (예: 'webp', 'jpg', 'png')
    :param to_format: 변환할 이미지 형식 (예: 'webp', 'jpg', 'png')
    """
    # 형식에서 점 제거 및 소문자로 변환
    from_format = from_format.lower().strip('.')
    to_format = to_format.lower().strip('.')
    
    if not os.path.exists(folder_path):
        print(f"폴더를 찾을 수 없습니다: {folder_path}")
        return
    
    # 지원하는 형식 확인
    supported_formats = {'webp', 'jpg', 'jpeg', 'png'}
    if from_format not in supported_formats or to_format not in supported_formats:
        print("지원하지 않는 형식입니다. webp, jpg, png 형식만 지원합니다.")
        return
    
    for filename in os.listdir(folder_path):
        if filename.lower().endswith(f'.{from_format}'):
            input_path = os.path.join(folder_path, filename)
            output_filename = os.path.splitext(filename)[0] + f'.{to_format}'
            output_path = os.path.join(folder_path, output_filename)
            
            try:
                with Image.open(input_path) as img:
                    # PNG로 변환할 때는 RGBA 모드 유지, 그 외에는 RGB로 변환
                    if to_format.lower() == 'png':
                        if img.mode != 'RGBA':
                            img = img.convert('RGBA')
                    else:
                        img = img.convert('RGB')
                    
                    # 이미지 저장
                    if to_format.lower() == 'jpg':
                        img.save(output_path, 'JPEG', quality=95)
                    else:
                        img.save(output_path, to_format.upper())
                        
                print(f"변환 완료: {filename} -> {output_filename}")
                
                # 원본 파일 삭제
                os.remove(input_path)
                print(f"원본 파일 삭제됨: {filename}")
                
            except Exception as e:
                print(f"파일 변환 중 오류 발생 {filename}: {e}")

# 사용 예시
if __name__ == "__main__":
    folder_path = r"c:\Users\폴더"  # 폴더 경로를 지정하세요
    
    # WebP -> JPG 변환
    convert_image_format(folder_path, 'webp', 'jpg')
    
    # PNG -> JPG 변환
    # convert_image_format(folder_path, 'png', 'jpg')
    
    # WebP -> PNG 변환
    # convert_image_format(folder_path, 'webp', 'png')

 

 

 

 

폴더 내에 있는 

모든 webp 파일을 jpg 파일로 변환 시킨다

 


추가로 코드에서는 지정한 형식(`from_format`)의 파일만 검사하고 변환하기 때문에,

다른 형식의 파일들은 전혀 영향을 받지 않는다.

 

예) webp > jpg 에 경우

폴더/
  ├── image1.webp
  ├── image2.webp
  ├── image3.jpg
  ├── image4.jpg
  └── image5.png
폴더/
  ├── image1.jpg  (변환됨)
  ├── image2.jpg  (변환됨)
  ├── image3.jpg  (기존 파일)
  ├── image4.jpg  (기존 파일)
  └── image5.png  (기존 파일)

 

 

 


 

 

 

 

Cursor는 GPT 처럼 챗을 통해 코드를 작성해준다. 

다른 점이라면, GPT나 클로드를 통해 코드를 부탁해서 옮기는 것과 달리

더 긴 코드도 작성 가능하고, 수정사항을 쉽게 확인 가능하다.

또 코드에 대한 설명을 알아서 해준다는 점, 언제든지 아무 코드파일을 지목해서 수정을 부탁 할 수 있다는 점이 무척 편하다.

나같이 개발을 모르는 일반인도 간단한 것은 즉각 만들 수 있도록 해준다.

 

우선 만들고 싶은 랜딩페이지를 찾는다.

gpt에게 만들어 달라고 한다.

 

 

css/자바스크립트가 필요하면 만들어 준다고 하니 알겠다고 한다.

 

 

실행해보면

이미지가 없으니 만들어 달라고 하고

 

몇번에 요구에 거쳐, 만들어진 이미지를 jpg로 만든다.

 

이제 만들어진 파일을 동 폴더에 넣고 실행하면

 

 

완성되었다.

 

페이지 서치 5분

코드 붙여넣기 5분

이미지 생성 5분

총 15분 정도 걸렸다.

 

 

 

--

코드 내용

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Freelancer Landing Page</title>
    <link rel="stylesheet" href="styles.css">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body>
    <!-- Header Section -->
    <header class="header">
        <div class="container">
            <h1>I'm Freelancer.<span></span></h1>
            <div class="social-icons">
                <a href="#"><i class="fab fa-facebook-f"></i></a>
                <a href="#"><i class="fab fa-twitter"></i></a>
                <a href="#"><i class="fab fa-linkedin-in"></i></a>
                <a href="#"><i class="fab fa-instagram"></i></a>
                <a href="#"><i class="fab fa-github"></i></a>
            </div>
        </div>
    </header>

    <!-- Services Section -->
    <section class="services">
        <div class="container">
            <div class="service">
                <i class="fas fa-paint-brush"></i>
                <h3>Web Design</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
            <div class="service">
                <i class="fas fa-code"></i>
                <h3>Web Development</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
            <div class="service">
                <i class="fas fa-mobile-alt"></i>
                <h3>Responsive Design</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
            <div class="service">
                <i class="fab fa-wordpress"></i>
                <h3>Wordpress</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
            <div class="service">
                <i class="fas fa-search"></i>
                <h3>Web Research</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
            <div class="service">
                <i class="fas fa-search-dollar"></i>
                <h3>SEO</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
        </div>
    </section>

    <!-- About Section -->
    <section class="about">
        <div class="container">
            <div class="about-content">
                <img src="profile.jpg" alt="Freelancer Photo">
                <div class="about-text">
                    <h2>Who Am I?</h2>
                    <p>Hi! My name is Romie Doe. I am a Web Developer, and I'm very passionate and dedicated to my work.</p>
                    <div class="skills">
                        <div class="skill">
                            <p>Photoshop</p>
                            <div class="skill-bar">
                                <div class="skill-percentage" style="width: 80%;"></div>
                            </div>
                        </div>
                        <div class="skill">
                            <p>Illustrator</p>
                            <div class="skill-bar">
                                <div class="skill-percentage" style="width: 90%;"></div>
                            </div>
                        </div>
                        <div class="skill">
                            <p>Web Design</p>
                            <div class="skill-bar">
                                <div class="skill-percentage" style="width: 75%;"></div>
                            </div>
                        </div>
                        <div class="skill">
                            <p>Web Development</p>
                            <div class="skill-bar">
                                <div class="skill-percentage" style="width: 95%;"></div>
                            </div>
                        </div>
                    </div>
                    <div class="buttons">
                        <a href="#" class="btn">Hire Me</a>
                        <a href="#" class="btn">Download CV</a>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer Section -->
    <footer class="footer">
        <div class="container">
            <p>&copy; 2024 Freelancer. All rights reserved.</p>
        </div>
    </footer>
</body>
</html>

 

 

/* General Styles */
body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    width: 80%;
    margin: 0 auto;
}

/* Header Section */
.header {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 100px 0;
}

.header h1 {
    font-size: 2.5rem;
    font-weight: 700;
}

.header .social-icons {
    margin-top: 20px;
}

.header .social-icons a {
    color: #fff;
    margin: 0 10px;
    font-size: 1.5rem;
    transition: color 0.3s;
}

.header .social-icons a:hover {
    color: #f39c12;
}

/* Services Section */
.services {
    padding: 50px 0;
    background: #f4f4f4;
    text-align: center;
}

.service {
    display: inline-block;
    width: 30%;
    margin: 15px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.service i {
    font-size: 3rem;
    color: #f39c12;
    margin-bottom: 10px;
}

/* About Section */
.about {
    padding: 50px 0;
    background: #fff;
}

.about-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.about-content img {
    max-width: 40%;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.about-text {
    max-width: 55%;
}

.about-text h2 {
    font-size: 2rem;
    margin-bottom: 20px;
}

.skills {
    margin-top: 20px;
}

.skill {
    margin-bottom: 15px;
}

.skill p {
    margin: 0;
    font-weight: 700;
}

.skill-bar {
    width: 100%;
    background: #e0e0e0;
    height: 8px;
    border-radius: 5px;
    overflow: hidden;
}

.skill-percentage {
    height: 100%;
    background: #f39c12;
    transition: width 0.5s;
}

.buttons {
    margin-top: 30px;
}

.btn {
    display: inline-block;
    text-decoration: none;
    background: #333;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    margin-right: 15px;
    transition: background 0.3s;
}

.btn:hover {
    background: #f39c12;
}

/* Footer Section */
.footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    margin-top: 50px;
}

.footer p {
    margin: 0;
}

 

gpt를 이용해서 이미지를 생성하고

 

 관련 프롬프트를 만들었다.

 

Kling을 이용해 생성한 이미지로 영상으로 만들었다.

 

capcut에서 동영상을 이어 붙였다.

 

https://www.youtube.com/watch?v=FwS_fMEhLI8

 

 

 

보통 폴더를 만드는 방식은 크게 두 가지로 나뉜다.

 

첫째, 직접 마우스를 이용해서 폴더를 만들기.

둘째, 터미널 또는 PowerShell을 이용해서 명령어를 입력하기.

 

 

 

하지만

대량에 파일을 정리해야 하는 상황에서

두 방법만으로는 충분하지 않을 수있다.

 

 

 

 

 

 

 

 

 

 

 

가령 여행에 관한 사진 자료를 정리해야 한다고 가정해보자.

 

 

폴더 구조는는 연도별 폴더와 하위폴더로 여행지별 폴더가 있다면

ChatGPT에게 다음과 같이 만들어 달라고 요청해보자.

 

윈도우라면 powershell, 맥이라면 터미널이라고 요청하면 된다.

 

 

 

 

 

 

 

이후 받은 코드를 복사한 뒤

powershall에 붙여 넣는다.

 

 

 

 

 

 

 

 

시작 페이지에서 PowerShell 검색 후 열기

 

 

 

 

 

 

 

창에 코드 붙여넣고 엔터

 

 

 

 

생성완료

 

 

 

 

 

 

 

 

 

이제 바탕화면에

 

폴더가 생성된 것을 확인 할 수 있다.

 

 

 

 

 

 

 

 


중급

(파일 구조 한번에 뒤엎기)

 

 

 

생각이 바뀌어

여행지를 기준으로 하고 연도를 하위 폴더로 

만들고 싶어 한다고 가정해보자

 

 

 

 

 

프랑스에 피렌체?

이상하게 들어간다

 

 

 

 

때문에 먼저

구분을 먼저 해준다.

 

 

 

 

 

 

 

 

 

동일한 요청을 하면 성공적으로 원하는 폴더 구조를 얻을 수 있다.

 

 

 

 

 

잘들어 간다.

 

 

 

 

 

 

 

 

최종결과

 

 

 

 

 

 

 

 

GOOD

 

 

 

 


 

 

고급(실무편)

 

 

 

 

종종 회사에선 직원들의 생산성을 높이기 위해

 

PC 정리 컨설턴트를 불러 폴더 트리를 짠다고 한다.

 

 

 

 

 

 

컴퓨터 화면에 파일이 난잡하게 있어

정작 필요한 파일을 찾는데 시간을 허비하기 때문이다.

 

 

 

 

 

맥킨지(McKinsey) 보고서를 통해 직원들은 매일 1.8시간(주당 평균 9.3시간)을 정보 검색 및 수집에 소비한다고 밝힌바 있다.

 

 

 

 

 

 

 

 

 

 직무 내용과 프로세스 업무에 주기를 고려해

폴더 트리를 짤 수 있는데,

 

 

알마인드를 이용하면

마인드맵 프로그램을 함께 이용하면 보다 쉽게 만들 수있다.

 

(광고 느낌이 날까봐 링크를 걸지 않았는데

걸어 두는게 사람들에게 더 편할것같다.

https://www.softpick.co.kr/software/almindlite)

 

 

 

 

 

 

 

다 만들었다면

 

 

 html 파일로 만들어 저장한다

 

 

 

 

 

 

 

 

 

 

 

마지막이다

 

 

파일을 열어 복사 한 뒤

(컨트롤 + A , 컨트롤 + C)

 

 

 

 

 

 

 

 

 

 

 

GPT에게 만들어 달라고 하면

 

 

 

 

 

 

 

 

 

 

 

 

간단하게 폴더트리를 만들 수 있다.

 

 

 

 

 


 

 

*Tip

 

 

Everthing 같은 프로그램을 설치하면, 정리할 파일을 보다 빠르게 찾을 수 있다.

(https://www.voidtools.com/ko-kr/downloads/)

 

+ Recent posts