학사

https://www.notion.so/9w-d636465f3a9f4cddb21e86502fcc1512?pvs=4 

 

9w 대면 강의

능력에 대한 새로운 관점

www.notion.so

 

9w 대면 강의

능력에 대한 새로운 관점

지능은 변할 수 있고 발전시킬 수 있다고 생각하는 사람의 행동과

변하지 않고 발전시킬 수 없다고 생각하는 사람의 행동은 다름

마인드 셋

개념의 탄생 배경

  • 실패에 대해서 사람들은 어떻게 대처(cope)하는지? 에 대해서 탐구
  • 대처 행동의 목적: 부정적 감정을 긍정적 감정으로 변환
  • 보통 실패는 부정적 감정을 유발하므로 이를 좋아하지 않고 줄이려고 노력(cope)
  • 어떤 사람들은 실패를 즐기는 행동을 보임

실패란 어떤 사람에게는 하늘이 무너지는 경험이지만 어떤 사람에게는 신나는 기회

이러한 차이가 발생하는 이유: 하나의 개인차

사람들이 talent와 ability 등 인간의 본질적 측면에 대해 가지고 있는 신념의 차이

고정 마인드 셋  talent, ability는 고정되어 있다.(태어날 때부터 가지고 태어난다)  ex) HRM
성장 마인드 셋 talent, ability는 개발 가능하다.(운동을 많이 하면 근육이 발전하듯이) ex) HRD

https://flex.team/blog/2021/10/28/hr-term/

마인드 셋은 어떤 문제에 봉착하고 그것을 해결하는 상황에서 잘 나타남

고정 마인드 셋 성장 마인드 셋
Problem = Threat Problem = Challenge
What if i’m not good I can get better
I could make mistake I can always imporve
Maybe I don’t have the skills A great chance to develop skills
Other may do better than me A year ago, I wouldn’t have done this well

각 마인드 셋의 태도와 Outcomes

고정 마인드 셋   성장 마인드 셋
Avoid Challenges Embrace
Give up Obstacles Persist
Fruitless or worse Effort Path to mastery
Ignore Criticism Learn
Threatening Success of others Source of lesson and inspiration
Early plateaus and less achievement Deterministic world view Outcomes Ever-higher levels of achievement Greater sense of free will

각 마인드 셋의 행동 차이

상황 F/B 상황에서 관심을 기울이는 정보 똑똑하다고 생각하는 상황
고정 마인드 셋 능력 관련 F/B, 제출 답안의 정답/오답 여부, 개선을 위한 정보에는 관심 x 빠르고 완벽하게 실수 없이 완료, 나에게는 쉬운데 다른 사람에게는 어려운 때
성장 마인드 셋 개선을 위한 추가적인 정보에 관심 정말 어려운 일을 열심히 완료, 예전에는 못한 일을 수행, 오래 매달려 마침내 해결

조직의 마인드 셋

조직 마인드 셋의 척도

: 채용, R&D, 교육, 학벌 주의(임원의 학벌), 인재 채용(외부 고용 vs 내부 교육)

스트레스

스트레스에 대한 인식

negative(고정)  스트레스는 부정적이고 건강에 해로우므로 피해야 함
positive(성장) 스트레느는 긍정적이고 건강과 에너지를 증진시킴

Dose the Perception that Stress Affects Health Matter?

두 가지 질문

  1. 작년 동안 경험한 스트레스가 얼마나 컸는가?
  2. 스트레스가 건강에 해롭다고 믿는가?

연구 결과

  • 스트레스 수치가 높은 사람들의 사망 위험 43% 증가

→ 스트레스가 건강에 해롭다고 믿는 사람들에게서만 관찰됨

(스트레스에 대해 negetive, 고정 마인드 셋을 가진 그룹)

  • 높은 수치의 스트레스를 기록했지만 해롭다고 믿지 않는 그룹은 사망 확률 증가하지 않음
  • 스트레스를 받지 않는다고 한 사람들보다 사망 확률 낮음

→ 마인드 셋이 buffer(완충재) 효과

기대와 효과에 관련된 연구

호텔 객실 청소부들에게 업무가 소모하는 칼로리를 보여주고 운동으로서 가치 있음을 제시

연구 결과

  1. 지각의 변화: 일하는 것이 운동하는 것이라고 인식
  2. 신체적 변화: 실제 체중과 체지방 감소

→ 자신의 업무가 건강에 좋은 운동이라고 인식하면 신체에 미치는 영향 전환

효과는 기대한 대로 나타난다

조직의 마인드 셋(조직도 마인드 셋을 가지는가?)

  • 우리 회사의 성공에 관해서, 사람마다 가진 재능의 크기가 다르고, 그것을 바꿀 수 없다 → 고정
  • 우리 회사는 다른 어떤 특성보다 선천적인 지능과 사업 능력을 중시한다 → 고정
  • 우리 회사는 직원의 성장과 발전을 진정으로 중요시한다 → 성장

성장 마인드 셋을 가진 기업의 직원들이 고정 마인드 셋의 기업보다

  • 직장 동료를 신뢰한다고 할 가능성 47%
  • 주인의식으로 회사에 헌신할 가능성 34%
  • 위험 감수하고 도전적 일을 할 가능성 65%

인력 선발: 개발 가능성에 초점

고정 마인드 셋에 초점: star employee, 좋은 학벌, 입증된 경험 중심의 채용

구분 인력 채용 시 자격 요건 파악 시
고정 마인드 셋 외부 지향(외부 탐색) 자격 요건이나 과거 업적 중심 # 과거, 변할 수 없음
성장 마인드 셋 내부 지향(내부 탐색) 가능성, 잠재력, 배움에 대한 열정 # 미래, 변할 수 있음

고정 마인드 셋 분위기의 조직은 도전하지 않고, second chance 없음

ex) 일론 머스크, 스페이스 x의 스타십 실패

인력 배치: 개인의 마인드 셋 고려(개인의 마인드 셋에 대한 파악 필요)

  

고정 마인드 셋 맞는 일을 찾아야 동기 부여 개인 - 환경이 부합(P-E fit)에 초점 → misfit 발생 시 급격한 성과 저하
성장 마인드 셋 하다 보면 동기 부여 misfit이 있더라도 이를 극복하기 위한 노력, 배울 점을 찾는 태도

→ 인력 배치 시 고정 마인드 셋을 먼저 배치

https://www.notion.so/9W-f3b1e3aeb4c54c7bb74f2fc90a9d855a?pvs=4

 

9W 녹화 강의

Module / Packages

www.notion.so

9W 녹화 강의

Module / Packages

Module

  • 작은 Program 조각
  • 서로 연결해 어떤 목적을 가진 Program을 만드는 작은 Program
  • 각 Module의 역할이 있고, 서로 다른 Module과 Interface만 연결되면 사용 가능
  • Module화된 Program을 사용하면, 다른 개발자가 만든 Program이나 본인이 만든 Program을 쉽게 사용하거나 제공 가
import random
print(random.randint(1,10))
# 8
# randint() 함수를 사용하기 위해서는 interface, 즉 paramter 설정을 알아야

Package

  • Module의 묶음
  • Directory처럼 하나의 Package 안에 여러 개의 Module이 있고, 서로 포함 관계를 가짐
# main.py
import converter

print("Enter a value:")
value = float(input())
result = converter.convert(value)
print(f"Result is {result}")

# converter.py
def convert(value):
    return value * 9.0 / 5 + 32

# Enter a value:
# 15
# Result is 59.0

Name Space

  • Module 호출의 범위 지정
  1. Module 이름에 Alias를 생성하여 Module 안으로 Code를 호출
# import module as alias
import converter as cv

print(cv.convert(float(input("Enter a valve: "))))

# Enter a valve: 15
# 59.0
  1. from 구문을 사용하여 Module에서 특정 함수 또는 Class만 호출

: from은 Package를 호출하고 해당 Package 안에 있는 Module을 호출할 때도 사용 가능

# from module import function(or class)
from converter import convert

print(convert(float(input("Enter a value:"))))
# function name으로 바로 사용 가

# Enter a value:15
# 59.0

  1. Module 내의 모든 Function, Class, Variable을 가져오는 (*) Asterisk 사용
from converter import *

print(convert(float(input("Enter a value:"))))

# Enter a value:15
# 59.0

내장 Module 사용

random Module

: 난수 생성, 정수 난수를 생성하는 randint()와 임의의 난수를 생성하는 random() Function 있음

time Module

: 시간을 변경하거나 현재 시각을 출력

urllib Module

: Web 주소의 정보를 불러옴, urllib.request.urlopen()에 Web 주소를 입력하면 HTML 정보를 가져옴

from time import localtime
import urllib.request

print(rd.randint(0,100))
print(localtime())
response = urllib.request.urlopen("<https://seuke.github.io/Web_1/>")
print(response.read())

# 40
# time.struct_time(tm_year=2023, tm_mon=4, tm_mday=29, tm_hour=21, tm_min=12, tm_sec=3, tm_wday=5, tm_yday=119, tm_isdst=0)
# b'\\r\\n\\r\\n\\r\\n

Package의 구성

  • Package는 하나의 대형 Project를 수행하기 위한 Module의 묶음
  • Module은 하나의 File이고, Package는 File이 포함된 Directory로 구성, 즉 여러 .py File이 하나의 Directory에 들어가 있는 것이 Package
  • 다른 사람이 만든 Program을 불러 사용하는 것을 Library라고 하는데, Python에서는 Package를 하나의 Library로 이해
  • Package에도 예약어 있음, Package에서는 File명 자체가 예약어를 반드시 지켜야 실행되는 경우가 있음, Package의 몇몇 File에는 __init__, __main__ 등의 Keyword File명이 사용

Package 만들기 실습

1. Directory 구성하기

: Package 이름은 “roboadvisor”, 아래 세가지 기능

Crawling 주식 관련 Data를 인터넷에서 가져옴
Database 가져온 Data를 Database에 저장
Analysis 해당 정보를 분석하여 의미 있는 값을 도출

Crawling 주식 관련 Data를 인터넷에서 가져옴

: 각 Package의 세부 Package에 맞춰 Directory를 구성 → cmd 창에 다음 명령을 입력하여 Directory 생성

Microsoft Windows [Version 10.0.22621.1555]
(c) Microsoft Corporation. All rights reserved.

C:\\Users\\kakao>cd C:\\Users\\kakao\\PycharmProjects

C:\\Users\\kakao\\PycharmProjects>mkdir crawling

C:\\Users\\kakao\\PycharmProjects>mkdir database

C:\\Users\\kakao\\PycharmProjects>mkdir analysis

: 경로 잘못 설정함, 9w_Module\roboadvisor Folder 만들어서 수정

2. Directory별로 필요한 Module 만들기

: 만들어진 Directory에 필요한 Module 생성

: 하나의 Package는 중첩된 구조로 만들 수 있으므로 Package 안에 또 하나의 Package가 포함될 수 있음

: 이렇게 각각의 Directory를 하나의 Package로 선언하기 위해서는 예약된 File init.py 을 만들어야함

: 3개의 Directory 아래에 .py File 생성

: crawling Directory 아래 .py에 code 입력

# series.py
def series_test():
    print("This is series test)")

# statics.py
def statics_test():
    print("This is statics test")

: roboadvisor의 상위 Directory에 있는 .py File에서 아래 code 실행 가능

from roboadvisor.analysis import series

series.series_test()

# This is series test

3. Directory 별로 init.py 구성

: __init__은 해당 Directory가 Python의 Package라고 선언하는 초기화 Script

(Python Machine Learning Library “scikit-learn”의 경우, 상위 Directory부터 init.py이 있음)

Package Name Space: 절대 참조

절대 참조의 예시

from roboadvisor.analysis import series

: from은 roboadvisor에서부터 시작함

: Package 이름부터 시작하여 series까지 모든 경로를 입력

: ‘from 전체_Package.Sub_Package import Module’ 형식

→ 절대 참조: 전체 경로를 모두 입력

: init.py File을 만들 때도 절대 참조로 Module을 호출하는 것이 좋음

  • 주의할 점: 가장 상위에 있는 init.py도 상위 Directiory roboadvisor를 넣는 것이 좋음
# __init__.py
__all__ = ['analysis','crawling','database']

from roboadvisor import analysis
from roboadvisor import crawling
from roboadvisor import database

Package Name Space: 상대 참조

: 현재의 Directory 기준으로 Module을 호출

from .series import series_test
from ..crawling.parser import parser_test

roboadvisor\analysis\test.py에서 해당 code error 발생

Traceback (most recent call last):
  File "C:\\Users\\kakao\\PycharmProjects\\9w_Module\\roboadvisor\\analysis\\test.py", line 1, in <module>
    from .series import series_test
ImportError: attempted relative import with no known parent package

Package 설치

Module / Packages 실습

Create New Project

Library Root Directory에 Main.py, f_convert.py 생성

# f_convert.py
def convert_cf(c_value):
    f_value = c_value * 9.0 / 5 + 32
    print(f"convert value: {f_value}")
    return f_value

def convert_fc(f_value):
    c_value = (f_value - 32) / 9.0 * 5
    print(f"convert value: {c_value}")
    return c_value
# main.py
import f_convert

c_value = float(input("Enter Celsius degree: "))
f_value = f_convert.convert_cf(c_value)

f_value = float(input("Enter Fahrenheit degree: "))
c_value = f_convert.convert_fc(f_value)

# Enter Celsius degree: 15
# convert value: 59.0
# Enter Fahrenheit degree: 59
# convert value: 15.0

+ Recent posts