반응형

  • Chat GPT가 세상을 강타하였지만, 원하는 대로 Chat GPT를 사용하기 위하여 일부의 사람들은 고심하고 있습니다.
  • 최선의 결과물을 도출하기 위하여 Chat GPT와 어떻게 상호작용해야하는 지에 대하여 AI 관련업계에 조언을 들어볼까 합니다.
  • 앞으로 좋은 ChatGPT 프롬프트를 만드는 Tip을 소개해보려고 합니다.

Chat GPT가 출시된지도 어느덧 1년이라는 세월이 지나가고 있고, Chat GPT는 우리 일상에서 보편화되어 가고 있습니다.

직장에서 사람들은 Open AI 제품을 사용하여 코딩을 하고, 마케팅 자료를 만들고, 교육 계획을 만들고 있습니다. 이것은 회사에서 Chat GPT 전문가를 채용하는 것이 점차 일반적으로 변하고 있습니다.

그리고 점차 사람들은 모든 생활속에서 Chatbot의 도움을 통하여 체중감량을 하고, 데이트를 만들고, 노화를 방지하는 곳에서도 활용하고자 하고 있습니다.

하지만, ChatGPT는 항상 바람직한 결과만을 도출하는 것은 아니고, 오류나 잘못된 정보를 전달할 가능성이 있습니다.

해외의 컨설턴트 중 Jacqueline DeStefano-Tangorra는 " 정말로 자신에게 유용하게 만들고 싶다면, 일반적인 문장보다 이상의 작업을 수행해야 합니다." 라고 말합니다.

이에 더 나은 ChatGPT 프롬프트를 작성하는 방법에 대하여 말해보려고 합니다.

1. ChatGPT에게 특정 역할 부여하기

버클리 대학의 Jason Gulya는 ChatGPT는 특정 직무 역할과 정체성(Persona)를 부여할 때 가장 효과적이라고 주장합니다.

AI관련 업계 종사자인 Rob Cressy도 구체적인 업무, 목표 등을 달성하기 위하여 "직원에게 말하듯이 ChatGPT와 대화하라" 라고 말합니다.

Gulya가 제안했듯이, 사용자는 구체적이고 챗봇이 받아들이기 원하는 정체성의 설명에 집중해야합니다. 프롬프트를 "교수처럼 행동하라" 나 "마케팅 전문가처럼 행동해라" 로 시작하고 원하는 결과물에 대하여 설명을 하라고 합니다.

2. 구체적으로 그리고 한번에 하나의 일만 부여하기

일단 ChatGPT에게 역할을 주고, 300자 내외의 자기소개서 작성, 저녁식사의 레시피 작성 등의 일을 시킬 수 있습니다.

이때, "한번에 너무 많은 것을 요청하지 말아라" 라고 Cressy는 말합니다.

또한, ChatGPT 관련 예술가인 Peggy Dean은 마케팅 전문가로써 ChatGPT가 이메일 리스트를 작성해주기를 원하는 상황에 대해서 "Power prompt"인 상세하지만, 간결하게 작성하는 것을 추천했습니다.

ChatGPT에게 마케팅 캠페인에 대해 요약해주길 요청하면서, 목표하는 청중, 중요 특징, 해야할 일에 대하여 포함하여 요청할 것입니다.

 "가장 중요한 것은 자신이 얻기 원하는 것에 대한 생각을 깔끔하게 하는 것입니다." 라고 Dean은 말했습니다.

반응형
반응형

맥 사파리 한글 사이트 접속시 시스템 글꼴이 아닌 명조체로 나오는 경우가 있음.

 

 

1. 사파리 실행 후 상단 바에서 Safari - setting 선택

 

 

2. 아래 내용으로 확장자 .css 파일 생성

@font-face {    
    font-family: "돋움";
    src: local("Apple SD Gothic Neo");
}

@font-face {
    font-family: Dotum;
    src: local("Apple SD Gothic Neo");
}

@font-face {
    font-family: DotumChe;
    src: local("Apple SD Gothic Neo");
}


@font-face {    
    font-family: 'Malgun Gothic';
    src: local("Apple SD Gothic Neo");
}


@font-face {
    font-family: "굴림";
    src: local("Apple SD Gothic Neo");
}

@font-face {
    font-family: Gulim;
    src: local("Apple SD Gothic Neo");
}

@font-face {
    font-family: GulimChe;
    src: local("Apple SD Gothic Neo");
}

@font-face {
    font-family: AppleGothic;
    src: local("Apple SD Gothic Neo");
}

 

 

3. Advanced 탭에서 Style sheet 에서 Others 선택 후 생성된 css파일 적용.

 

 

 

4. 사파리 재시작 혹은 재부팅 시 적용됨.

 

 

 

반응형
반응형



Python 8번째 영상의 내용은 Dictionaries 사용법이다.


Key 와 value 를 pair로 관리하는 방식이다.


Dictionaries 생성은 {}를 사용하는 것이다.


d = {} 로 지정한 후


d["George"] = 24

d["Tom"] = 32

d["Jenny"] = 16


으로 Key와 value를 지정하여 사용할 수 있다.


d 안에 없는 Key를 사용하게 되면 에러메세지가 나온다.


d 에 있는 Key와 value를 확인하는 코드를 사용할 수 있는데 이는 다음과 같다.


# how to iterate over key-value pairs?
for key, value in d.items():
print("key:")
print(key)
print("value:")
print(value)
print("")


해당 for 구문을 사용하면 key와 value 값을 출력해준다.

반응형
반응형


7번째 Tutorial 에서는 Loops 에 대해 조금 더 다루고, 이전 영상들에서 나왔던 문제들에 대해 Solution을 다루고 있다.


먼저 for 코딩을 함께 사용해서 첫번째 element는 한번, 두번째는 2번, 세번째는 3번 값을 얻을 수 있도록 하는 코딩에 대해서 다룬다.

for i in range(len(a)): # 0, 1, 2
for j in range(i + 1):
print(a[i])


두번째 For 구문이 다음과 같은 의미가 된다.

i = 0 -> j = 0

i = 1 -> j = 0, 1

i = 2 -> j = 0, 1, 2



Can you compute the sum of all multiples of 3 and 5 that are less than 100?

첫번째 문제의 Solution

total = 0
for i in range(1, 100):
if i % 3 == 0 or i % 5 == 0:
total += i
print(total)


두번째 - 값의 합을 구하는 문제의 Solution은

given_list = [7, 5, 4, 4, 3, 1, -2, -3, -5, -7]

total2 = 0
j = len(given_list) - 1
while given_list[j] < 0:
total2 += given_list[j]
j -= 1
print(total2)


으로 기존 Loops 구문에 대하여 정리하는 영상이다.

반응형
반응형



6번째영상에서는 While Loop 사용에 대해서 다루고 있다.


예를들어 for 를 사용한 코딩이 다음과 같다면,


total = 0

for i in range(1, 5) :

    total += i

print(total)


While 을 사용한 구문은 아래처럼 코딩하면 같은 값을 얻을 수 있다.


total2 = 0

j = 1

while j < 5:

    total2 += j

    j +=1

print(total2)


while 은 다음과 같은 코딩을 할 때 효과적이다.

예로

given_list = [5, 4, 4, 3, 1]


total = 0

i = 0

while i < len(given_list) and given_list[i] > 0 :

    total3 += given_list[i]

    i += 1

print(total3)


For 와 break 를 사용한 코딩은 다음과 같고,

given_list2 = [5, 4, 4, 3, 1, -2, -3, -5]
total4 = 0
for element in given_list2:
if element <= 0:
break
total4 += element
print(total4)


While 과 break 를 사용한 코딩은 다음과 같다.

# given_list2 = [5, 4, 4, 3, 1, -2, -3, -5]
total5 = 0
i = 0
while True:
total5 += given_list2[i]
i += 1
if given_list2[i] <= 0:
break
print(total5)



반응형
반응형


5번째 Python 동영상은 For 구문 사용법에 대하여 설명하고 있다.

기본적인 구조는


a = ["banana", "apple", "microsoft"]


로 지정하고


For element in a:

    print(element)


실행시

a[0], a[1], a[2] 라는 작업을 반복하지 않고 동일한 결과를 얻을 수 있다.


range 함수에 대하여도 설명해주고 있다.


total = 0

for i in range(1, 5)

    total += i

print(total)


로 코딩시 1~4까지의 합계를 구할 수 있다.


total3 = 0

for i in range(1,10)

    if i % 3 = 0

        total3 += i

print(total3)


이렇게 코딩시에는 1~9까지 숫자 중 3의 배수인 숫자의 합을 구할 수 있다.

3, 6, 9 이므로 18이 된다.


꾸준히 Python을 해보려고 했는데, 점점 게을러지는 것 같다.

전에 했던 것들도 조금씩 찾아보면서 관심을 가지고 계속 배워나가야겠다.



반응형
반응형



Python 에서 List 는 다음과 같은 모양이다.


a = [ 3 , 10 , -1 ]


로 assign 하면 print(a) 코드 작성시 [3, 10, -1] 을 얻을 수 있다.


element를 추가하는 방법은


a.append("hello") 코딩시


[3, 10, -1, "hello"] 를 나타낸다.


a.pop() 으로 실행시 맨 마지막 element 가 제거된다.


현 상태에서 a.pop() 실행시 [3, 10, -1] 만 List에 남는다.


element를 얻어내는 방법은


a[0] 은 3, a[2] = -1 을 가르킨다.


a[0] = 100 으로 지정시


[100, 10, -1] 로 첫번째 element를 바꿀 수 있다.


이전에 했던 switch 하는 방법을 활용하면 예를 들어


b = [ "banana", "apple", "beer"]


banana와 beer의 자리를 바꾸고자 한다면


temp = b[0]

b[0] = b[2]

b[2] = temp


로 코딩시 해결할 수 있다.


다른 방법으로는 


b[0], b[2] = b[2], b[0]


로도 가능하다.


반응형
반응형

3번째 Python 동영상은 Python의 Function에 대하여 설명하였다.

영상에 따르면 Function 이란


Function is a collection of instructions and a collection of code. 


라고 설명해주는데 이 문장이 핵심이 아닐까 생각한다.



def function1():

    print("ahhh")

    print("ahhhh 2")

print("this is outside the function")


예시 코드로 Function에 대한 일반적인 설명과 실제 예제를 통해 작동하는 원리에 대하여 알려준다.


# a mapping

# input or an argument

def function2(x) :

    return 2*x


a = function2(4)


print(a)


를 코딩하면 8 값을 얻을 수 있다.

더 나아가 x, y의 값으로도 지정가능하며,


def function3(x, y) :

    return x + y

e = function3(1, 2)

print(e)


를 코딩하면 3의 값을 얻을 수 있다.


def function4(x) :

    print(x)

    print("still in this function")

    return 3*x


f = function4(4)


print(f)


f = function4(4) 실행시 4, still in this function 이 출력되고, print(f) 시 12 값을 얻을 수 있다.


해당 설명 이후 BMI calculator 를 예제로 하여 Function의 대하여 더 설명하여 준다.

중간에 계속해서 Python에 대하여 공부하려 하였으나, 시간이 부족하여 약간 늦어졌다.

다만, 관심있었던 분야로 조금씩이라도 공부를 해나가야겠다.


반응형
반응형

Python tutorial의 두번째 동영상 클립도 시청하였다.



Variable이 무엇인지에 이어 두번째 내용은 If, Else 사용법에 대한 내용이었다.

처음에 몇가지 질문에 대해서 답변하고, If 사용법에 대하여 설명이 나왔다.

IDE는 주피터 말고도 흔히들 쓰는 파이참을 사용해도 될 것 같다는 내용인 것 같고, 강의는 해당 주피터노트북이 편한 면이 있는지 그것으로 진행해나가는 것 같다.

동영상 말고 어떤 사이트에서는 해당 프로그램언어들이 구현되는 웹이 있었던 것 같은데, 그것과 비슷하게 작동하는 듯 싶다.

질문은 다른 언어를 배우고 있는데 그만두고 해당 영상으로 배워야하는지에 대한 내용이었던 것 같다. 유투버는 다른 언어를 하고 있으면 그만두지 말고 진행해가면서 해당 영상을 시청해도 좋다고 하는 것 같다. 다른 언어가 나에게 관심이 있고, 그것을 하는 것이 흥미가 있다면 계속해서 배우는 것이 좋다는 것 같다.


영어로 유투브를 보고 있으니 기분이 좀 이상한 것 같다. 그래도 화면이 있고, 실습해볼 것이 있으니 그나마 알아듣는 것 같은 기분이 드는 것 같다.

내용은 이해하기 쉬웠던 것 같다.

나왔던 코드들을 기억해서 적어보면


a = 1

b = 2

if a < b :

    print( " a is less than b " )


내용이었다. a 를 1로 지정, b를 2로 지정하고 if a < b : 의 의미는 a가 b보다 작으면 다음 문장으로 실행이라는 내용이 아닐까 싶다. 엑셀함수를 조금은 써봤기 때문에, 논리문장이 맞으면 다음 명령어를 실행 아니면 다음 명령어를 실행의 구조가 아닐까 싶다.

: 다음에 해당 if 문장 안에 있으려면 다음 아래 문장에는 스페이스 4번을 띄어야한다고 한다. 해당은 약속인 것인지 해당 스페이스 횟수가 아니면 에러가 난다고 한다.

위의 코드를 처음으로 다음에는

elif가 추가된 코드, else가 추가된 코드 등을 설명해주고 있다.

생각해보면

e = 7

f = 8

if e < f :

    print( " e is less than f " )

elif e == f:

    print( " e is equal to f" )

elif e > f + 10 :

    print ( " e is greater than f by more than 10 " )

else:

    print ( " e is greater than f")


이런 내용이였고, 해당 코드를 약간 경제적으로 줄인 버젼도 소개해준다.

그리고나서 간단한 BMI 계산기를 코딩하는 것을 설명하여준다.


사실은 이렇게 배운다고 해서 코딩을 배우고 있다고 이야기해도 되는지는 모르겠다.

다만 기초적인 부분들을 배우는 중이고, 점점 배워나갈 수록 많은 것들을 얻을 수 있지 않을까 싶다.

컴퓨터 언어에 대한 이해가 좋은지 아닌지는 지금 당장 판단하기에는 실력이 많이 부족하지만 컴퓨터로직으로 생각하는 법은 적성이 아닐지도 모르겠다. 그래도 꾸준히 취미삼아 해당 언어를 배워보고, 앞으로 HTML, CSS 등 웹관련된 언어들도 빨리 배워가야겠다. 조급함은 가지지 말고 일단은 이 영상들을 보고 배워간다는 생각으로 시작해야겠다.

반응형
반응형

현지기준 2018년 10월 30일 Apple에서 신제품 발표회를 했다.

이번에 출시되는 제품은 Macbook air, Mac mini, ipad pro 세가지였다. 

지금 주문하면 다음주 11/7일부터 받을 수 있다고 발표에서 이야기한다. 현지도 그렇고 국내도 그런지는 잘은 모르겠다.



핸드폰을 아이폰을 사용하고 있다보니 애플기기에 대한 관심이 있기는 한데, 이렇게 실시간으로 시청해본 적은 처음이다. 영어로 한번 들어볼까라는 핑계로 시청해보았다.

역시 실력이 부족하기 때문에 다 알아듣지도 못하고 중간중간 다른 생각을 하니 무슨 이야기인지 잘은 모르겠다 생각한 부분도 있었다.

처음에는 맥북에어를 소개했다. 우리나라에서는 맥북이 윈도우노트북보다 많이 쓰이지는 않아서 시리즈에 대해 잘은 모르는데, 아마 맥북 중에 가벼운 노트북이 에어가 아닌가 싶다. 



윈도우에 너무 익숙해진 탓에 새로운 운영체제 쓰는 것도 번거로운 면도 있고, 우리나라 노트북 사용환경이 아무래도 윈도우쪽에 맞춰져 있다보니 불편하기는 하겠지만 감성이라는 측면에서 항상 Mac을 써보고 싶다는 생각을 한 적이 있기는 하다. Mac을 사용하는 분들은 적응되면 윈도우보다 나은 측면이 많다고도 하는데 각각 장단점이 있고, 사용목적에 따라 상대적인 부분이니 판단하기는 힘든 것 같다. 다만, 나는 아직 노트북 살 시기는 아니기 때문에 구입할 이유는 없고 2.75lbs 가 Kg단위로 얼마인지 모르겠는데 약 1.2Kg이 되지 않을까 싶다. 1.2Kg이면 뭐 그래도 들고다니면서 사용하기 괜찮은 노트북이란 생각은 든다. 가격은 $ 1,199 부터 시작이라고 한다. 터치아이디 2세대가 적용되었고, 더 가볍고, 더 얇고, 빠르고, 사용하기 편하고 기능이 좋아졌다 이런 이야기들이다. 새로 나온 제품이니 최근 부품들이 사용될테니 당연한 것 같다. 


그리고 나온 Mac mini이다. 마치 외장하드나 NAS처럼 생겼는데 컴퓨터이다. Macbook하고 iMac이 애플컴퓨터인줄만 알고 있었는데 해당 제품도 있었다. 내용은 역시 기존과 다른 퍼포먼스를 보여주도록 업그레이드 되었다는 내용이었던 것 같다. 가격은 $ 799 부터 시작이다.

그리고 중간에 Today at Apple 이라는 세션을 진행한다고 하고 자신들의 것들을 공유하는 시간을 갖는다는 내용이 나왔다. 한국스토어로 보이는 화면도 나오기도 했다. 

그리고나서 나온 iPad Pro 이다. 이게 아마 메인 출시제품이 아닐까 생각한다.



iPad 신제품 관련해서는 루머도 있고, 해당 유출된 디자인이나 소문이 대부분 사실이었던 것 같다.

iPhone처럼 홈버튼이 사라졌고, FaceID를 적용시켰고, 충전포트가 USB-C type으로 변경되었다.

USB-C type으로 변경되면서 iPad로 iPhone 충전이 가능한 장면이 나오고, 여러 기기들과 연결이 자유로워졌다는 내용이 큰 변화가 아닐까 생각한다. 

그리고 함께 변화된 애플펜슬과 키보드 등 엑세서리에 대한 이야기도 나왔는데, 애플펜슬의 경우 iPad에 자석처럼 붙으면 충전이 되고 두번 두들기면 사용펜이 바뀌는 등 신선했던 것 같다.

테블릿은 아마 iPad가 독보적으로 변하지 않을까 싶다. 어차피 난 구입해봤자 유투브 머신이 되지 않을까 싶기는 한데, 점점 더 기술이 발전해나가면 테블릿도 다양한 모습을 보이지 않을까 싶기도 하고, 핸드폰, 테블릿, 노트북 사이에 어떠한 방향으로 갈지는 잘 모르겠다. 지금은 3가지 용도가 다르다고 하기도 하고 어떠한 변화과정에 시작지점이 아닐까 생각한다.

변화된 iPad로 Game과 Photoshop 구동시키는 것을 보여주었는데, AR기능이라고 하는 것에 조금은 놀라웠다. 아직까지는 저런 기능이 어떠한 역할을 하게 될지는 모르겠지만, 이렇게 점차 발전해나가다보면 변화가 일어나지 않을까 싶은 생각이 든다.

iPad Pro 가격은 11인치 기준 $799 부터 시작이다.

개인적으로는 Mac OS 경험측면에서 Macbook air가 궁금하기는 하고, iPad가 대중적으로 가장 인기가 있을 것 같기는 하다. 애플펜슬이나 iPad 사용해보고 싶기는 한데, Photoshop 작업이나 스케치를 하는 사람도 아니고 잘 하지도 못하기 때문에 나에게는 아직은 필요한 기기들은 아닌 것 같다.

Apple Special Event를 실시간으로 시청해보았는데, 나름 괜찮았던 경험이었던 것 같다.


반응형

+ Recent posts