타지 생활의 생동감을 위해 찍은 사진

 

오늘 있었던 일은, 아니 있었어야 했던 일은, 그러니까 어떻게 시작을 해야 할지 잘 모르겠으나. 원래 어제까지 해야 하는 과제가 오늘아침에 생각나서 깜빡하고 잊고 있었다는 사실을 깨닫는 것과 동시에 아침을 맞이했다. 완벽한 사람은 세상에 존재하지 않고 실수를 벌이는 것이 인간다움이다 하는 것은 알고는 있었는데, 기억만 했다면 아무런 문제 없이 내가 할 수 있었던 사실들을 고작 깜빡한다는 이유만으로 놓쳐버릴 줄이야. 어찌 이러는 수가 있단 말인가.

 

오늘 오전 수업은 존재하지 않고, 여유있게 15:00시 Unix와 Html 수업만 들으면 되니까. 그거대로 안도가 되었지만, 비싼 돈 주고 온 유학에 나의 기초적인 실수로 나에게 주어진 기대를 저버리는 그 상황이, 너무나 죄송스럽지 않은가. 그런 거대한 죄책감을 안고 학교에 갔다. 학교를 가는 이유? 학교 소파가 더 편해서... 와이파이도 거기가 더 빠르고.. 애들도 인사 잘해주고... 

 

아무래도 이게 한국 학교와 해외학교의 차이같은 느낌이 없잖아 드는 것도 많았다. 학교라는 공간을 학생으로 하여금 가고 싶은 공간, 공부라는 것을 따분하고 지루한 것에서 떠나 스스로에게 질문하고 대답을 할 수 있게 만드는 것. 그리고 여러 가지 부수적으로 제공하는 학교의 시스템들. 물론 치안 같은 것도 학교가 제일 안전하다. 한국은 어느 정도 위험한 곳을 다니지 않는 이상 안전하지 않은 곳을 찾는 게 더 빠르겠지만, 호주도 위험하다고 느끼는 것은 많이 없지만 아무래도 밤이 되면 "쉽지 않은" 것들이 눈에 보이기 마련. 

 

나야 뭐 건장한 성인 남성이고, 군대도 다녀왔고, 한국에서 상하차 일도 해보고 건설현장일도 2개월 정도 일해봐서, 사람마다 다양한 성격이 존재하고 성향이 존재하고 때로는 뜻대로 안되는게 더 많다는 걸 알고 있는 시선으로 그냥 "오 점마 좀 신기한 놈이네 기이하네 " 이러고 넘어가면 되는데,  여성분이면 좀 무서워할 수도 있겠다 하는 생각이 들기도 했다.

 

그나자나, 51일 차라니! 어찌어찌 51일 동안 잘 버티고 넘어왔는데. 여기 와서 나 스스로에게 말한 건, 아무래도 일련의 사건 사고도 있었으니까. 나 스스로의 감정에 좀 더 솔직해지고 그리고 나가 말한 약속을 내 스스로 지키자였던지라. 그 약속을 작게나마 차근차근 이행해나가고 있다. 다른 사람들이 알아줬으면 하는 어린 마음도 없는 건 아니지만, 뭐 어쩌겠는가 내 노력을 아는 건 나 스스로만으로도 족한걸. 

 

이 글을 읽을 고등학생들이 있다면, 만일 유학을 가고싶다면. 매번 말하지만, 강해져서 와라. 진짜 어느 정도 멘털로 버티겠다 해서 올게 아니라 군필 남성도 힘들어하는 게 유학인걸, 첫 번째로 스스로 모든 걸 챙겨야 한다. 당연한 말로 들리겠지만, 이 말의 출처를 깊게 생각해 볼 필요는 있다. 즉 스스로 "해외"에서 모든 걸 챙겨야 한다. 대학교에서 당신의 어려움을 "도와"줄 수는 있지만, 그 "도움"을 요청하는 것 또한 "자기 스스로"해야 한다는 점. 이는 많은 책임을 말한다. 정신건강과 육체적 건강을 모두 아우르는 건강부터 시작해서, 금전적 이유, 그리고 대인관계. 가장 어려운 점은 대인관계였는데, 문화권이 다른 곳에서 온 친구들은 생각하는 것을 달리하는 것도 있으며 의외로 한국인의 문화 속에서 당연하다고 느끼고 생각했던 것들이 당연하지 않을 수 도 있다는 생각을 해야 한다. 물론 이 경험은 소중한 경험이다, 그 누구도 아닌 "한국인"이 "외국"이라는 타지 속에서 생존을 했다는 것 하나만으로도 그 경험의 가치는 어떤 것과 교환불가하니까.

 

두 번째 사실은, 언어, 그리고 언어다. 대학교 수업을 따라갈 수는 있지만. Academic English라는 스킬을 갖고 영어로 토론을 하고 상대방의 논리를 찾아 자기주장을 섞어서 그들을 설득할 수 있는 능력을 갖추어야 한다는 점은 무엇 보다도 가장 어려운 점. 석사나 박사 학위가 있는 사람일지라도 그런 뜻을 밝히는 것도 어려운데, 이제 막 20살이 된 소년, 소녀들에게 제일 어려운 점이라면 그 부분이 아닐까? 

 

오늘 잡생각들을 글로 정리했으니까 마음이 한켠 편안해지네. 이제 프로그래밍 공부하러 가야지.

참, 해외생활이나 다른 궁금한 점이 있다면 댓글로 남겨달라.

여러분들의 피드백은 소중하고

또한 그 블로그를 어떻게 운영해야 할지 생각 중이니까. 

 

여기까지 오는데 많은 도움을 준 친구들에게 감사인사를 남기고 싶다.

이야기를 들어줄 사람이 있다는 사실만으로도 많은 위로가 된 건 사실이니까. 

 

제목이 이런 이유는 신경쓰지 말아달라

왜냐하면 이 글도 내용이 그렇게 많이 없을거기 때문에

 

내가 일상을 공유하는 목적은, 이 글을 읽는 사람이 만일 중, 고등학생이고 해외유학을 앞두고 있다면 

"일어나지 않은 일을 갖고 두려워하지 말라" 라는 메세지를 전달해주고 싶음이 제일 크다

 

그거는 아무래도 자기 하기 나름이라는 것에 있다는 말을 해주고 싶은 것도 있다

유학을 결정하고 호주 대학교에서 학업을 진행하면서

이제 2달차가 되가는데

 

힘든점은

밤마다 생각나는 담배 생각은 둘째치고, 일단 인지부조화가 올때가 너무 많다

아무래도 내 머릿속은 아직까지 한국을 기대하고 있고, 한국의 input()을 기다리고 있는데

그 Input()의 값이 놀라움의 연속이니까,  프로세스 처리가 거기에 대응하느라 놀라는거 같다

이게 어떤 느낌이냐면

남자로 치면 군대에서 훈련소 한달이 영원히 끝나지 않는 느낌. 육체적으로는 적응이 됬는데

정신적으로는 놀라움의 연속이너무 많다

적응기간을 최소 6개월 내지 8개월이라고 예상하고 왔었는데

(이것도 연합사 어학병으로 근무하면서 겪은 미국문화와의 경험적 차이점을 고려해서) 

 

사실은

 눈물을 머금고, 마음을 굳게 먹고, 피를 쏟으면서 적응하고있는건 사실이다.

군필 남성도 이렇게 힘든데, 여기에는 나보다 더 어린 학생들이, 자신의 꿈과 다른 사람의 기대를 어께에 이고 

항상 웃으면서 즐겁게 할려는 모습을 보다보면 나로 하여금 그들에게 내가 힘들어하는 모습을 보이면 안된다고 마음을 굳게 먹되는 것도 있다.

 

모든 어려움이 배움을 주는 계기가 되고, 좋은 결과가 나오던 아니던 최선을 다하고

그 최선의 연속중에서 얻는 것도 많으니까

물론 가장 좋은것은 모든 것을 완벽히 소화해내는 것이지만

난 완벽함보다 성장을 하려는 마음가짐에 더 가치를 두는 편이라.......

 

완벽하지 않아도 좋다

원하는 결과를 내는 사람들도 좋아하는 편이고

또한 원하지 않은 결과를 받더라도 그 자신의 노력의 가치를 소중히 여기고 발전해 나갈려고 하는 아이들을 좋아하기도 한다.

 

군대썰.. 풀고자 하면 많은 것이 있다

나에게 소중한 동기들과의 기억과 추억을 무기로

지금을 이겨내고있으니까

 

아직도 군번줄을 간직하고

그리고 그때의 경험을 추억하고

오늘 하루는 이렇게 마무리

 

아니 뭐 여기 오신분들이 만약에 앵?? 호주 유학갔으니까 사진같은거 없음? 

이럴까봐 다음주에 좀 놀러 다녀볼께요 

죄송합니다! 

 

 

 

 

 

 

 

 

 

 

파이썬 배운지 한달차

여러가지 도전적인 상황이 많이 발생했었습니다.

한달밖에 파이썬을 안 배웟는데 벌써부터 이런걸 한다구요?

 

한달밖에 안되서 이거 밖에 못하는거라고 말해주지 않겟어요... ㅠ


class Customer:
    def __init__(self, account_name, account_number, opening_balance):
        self.account_number = account_number
        self.account_name = account_name
        self.balance = opening_balance
            #내가 사용할 친구들을 만들어주고
           
    def deposit(self,amount):
        self.balance = self.balance+amount
        print(
            f"Balance after deposit ${amount} to {self.account_name} is {self.balance}"
        )
            #내가 사용할 도구(함수)를 만들어주고/그 도구 안에서 작용하는
    def withdraw(self,amount):
        if amount <= self.balance:
            self.balance + self.balance - amount
            print(
                f" balance after withdrawl ${amount} from {self.account_name} is ${self.balance}"
            )
        else:
            print(f"Insufficient funds for withdrawl amount {amount}")
            return self.balance
       
    def __str__(self) :
        return f'Account name {self.account_name}, Account #:{self.account_number}, Opening Balance {self.balance} Closing balance : ${self.balance}'

#TEST
customer1 = Customer("Sally", "12345", 500.0)
customer1.deposit(75.0)
customer1.withdraw(100)
customer1.__str__()
#Customer.deposit(customer1)


class Bank:
    def __init__(self):
        self.accounts = []
        self.next_account_number = 100

    def create_account(self, account_name, opening_balance):
        new_account = Customer(
        account_name, self.next_account_number, opening_balance
        )
        self.next_account_number = self.next_account_number + 1 #새로운 계좌를 하나 만들어 줍시다
        self.accounts.append(new_account) #새로운 계좌를 계좌리스트에 붙여줍니다
        return self.next_account_number - 1 #본래 계좌를 만들었으면 원래대로 제다리에 돌려둡시다
       
    def get_account(self, account_number):
        for account in self.accounts:
            if account.account_number == account_number :
                return account
                print("Account not found."
                        )
            return None
    def deposit_into(self, account_number, deposit_amount):
        found = False
        for account in self.accounts:
            if account_number == account.account_number:
                new_balance = account.deposit(deposit_amount)
                found = True
                print(
                    f'Deposit ${deposit_amount} to account #{account_number}, new balance is {new_balance}'
                )
        if not found:
             print(f"Account {account_number} not found")

    def calculate_deposit_base(self):
        deposit_base = 0
        for account in self.accounts:
            if account.balance >0:
                deposit_base = deposit_base + account.balance
        print(f"the total funds after all transaction ${deposit_base}")
        return deposit_base
   
bank = Bank()
John_acount = bank.create_account("John Doe", 900.00)
James_acount = bank.create_account("James Scott", 1200.00)

John_customer = bank.get_account(John_acount)
James_customer = bank.get_account(James_acount)
print(John_customer)

요즘애들은 고등학교에서도 파이썬을 배우고 심하면 C언어도 배운다고 하던데

내가 고등학교때에는 그런거 없었거든요? 

그러면 좀 상대적 박탈감이 들기도 하구 뭐 별 수 있나

시대가 빠르게 변화하고있는데 그 시대에 걸맞게 어린아이들을 올바르게 교육시켜서 사회로 내보내는게 학교의 역할인데

 

내가 학교다니던 2012~2015년의 시기에는 코딩 배우는게 올바르지는 않았나? 봐요 

무튼 사담은 뒤로 하고 오늘 하루종일 학교에서 배운거(연습) 공유함

작은 성취감이 느껴지는 것을 뒤로 하고 

파이썬입니다! 

현직자 친구들이 보면

"이 새끼 존나 기본적인거 하면서 블로그에 글 쓰네 ㅉㅉ" 이렇게 말 하지 않을까요?

잘은 몰루?

 

Visual Studio에서 복사 붙여넣기한 것입니다. 나만 보고싶은데

개발자는 세상 심라 만상 모든것이

나의 것이 아님임을 깨닫고 자기가 만든 코드를 남들한테

공유하는 마음 가짐이 젤 중요하데요.

 


#Scenario - Library requires a new system
#First step : identifying the classes

class Library: #큰 개념 - 전체적인 큰 블럭을 말합니다
    def __init__(self):
        self.books=[] #Attributes
        self.patrons=[]
    def add_book(self, book):
        self.book.append(book)

        #self는 자기자신을 부르는애에요, 자기 자신을 말하는 딕셔너리 라고도 생각하면 됩니다
 
#작은개념(Constructor:생성자) // 아니 번역 개떡같이 해놨는데 뭐 생선자라니까 생선자라구 할게요
class Patron:          #Patron 은 후원자를 말하기도 하지만, 주요 상점/식당의 고객들을 지칭하는 "공식어휘"
    def __init__(self): #내부 애들을 지어볼까요
        self.borrowed_books = [] #List to storae borrowed books
        self.idname = []
        self.name =[]
        self.book=[]

        #얘내들은 아직까지 할 줄 아는게 없습니다. 비유를 하자면 내 손에 "핸드폰"이 들려있다고 해서
        #그 핸드폰이 스스로 무언가를 하는것은 아닙니다, 그러니 유저들이 "상호작용"을 해줘야하잖아요?
        #그러니 함수를 설정해 어떻게 사용할지 넣어줍시다, 함수는 가능한 시나리오중 하나를 묘사하는 거라구 생각하면 편합니다
        #그러니까, 앞서 비유한 핸드폰을 갖고 "친구한테 전화하기" 라는 함수를 만드는거에요.
        #핸드폰 번호도 넣어주고 해야겠죠? 친구한테 전화할려면 친구 전화번호를 넣어야지 아무 번호만 넣으면 안되잖아요
   
    def __str__(self):  
        return(f"{self.borrowed_books}, Your ID Num {self.idname} and {self.name}")
    #__str__ 함수는 신기한 녀석입니다, 이 함수로 오브젝트를 String 으로 표현할수이써요, 생각해보니까 이놈 이름도 String 이라는걸 함수로 표현한 친구네요. 참 착한 친구에요
    #객체 내부에서 넘어오는 값을 String으로 출력할때 이 착한 친구는 필수적이에요
     # 만약에, 이 녀석이 없이 함수를 출력한다면, 해당 객체의 "메모리 주소"를 출력합니다
     # 그러니까 메모리를 집이라고 생각한다면, 그 집의 주소를 말하는거에요
     # 친구의 이름을 불러야하는데, 친구집 주소만 알고있다면 "00시 00구 00로 00아파트 00호수 사는 놈" 이라고 부르는 거잖아요? 그럼 좀 이상하잖아요?
     # 그럴때 __Str__ 친구를 불러서 이름을 알려주는 겁니다, 컴퓨터는 똑똑한 친구지만 하나하나 알려줘야하는 귀찮음이 있어요.

    #이제 책을 빌려봅시다
    #책빌리기 함수!
    def borrow_book(self,book):
        if book.is_borrowed:
            print(f"sorry, {book.name} is out on loan")
        else:
            book.is_borrowed = True #책이 빌려진게 맞다면
            self.borrowed_books.append(book) #빌린책들의 리스트에 추가해봅시다

            #참고로 파이썬에서 . 점은 다른 Method 에서 개념을 가져온겁니다
            #헉 이거 모르면 님아 개념 놓친거임 이거 할때가 아님 개념 ㄱㄱ
   
    def return_book(self,book):
        for borrowed_book in self.borrowed_books:
            if borrowed.book.name == book.name: #빌린 책의 이름이
                print.is_borrowed = False
                self.borrowed_books.remove(book)

    def view_borrowed_book(self,book):
        borrowed_books_list = []
        for book in self.borrowed_book: #for 반복 함수로 리스트를 만드는 행위입니다.
            print.borrowed_books_list.append(str{book}) #여기서 str은 오는 값을 string으로 출력하라는 소리입니다
            #예시를 들어볼께요, 친구, 친구의 이름을 기억하기 쉽게 아저씨 같은 이름을 넣어봅시다
            #김덕배(48세, 무직 배수)라는 친구를 뒀다고 생각해요
            #그 친구의 나이는 우리가 48이라는걸 알아요
            #근데 컴퓨터는 어린아이 같아서, 그 숫자가 왜 주어진지 말을 해줘야하거드요.
            #안그러면 잉?? 48??? 뭐지 마법의 숫자인가? 하면서 아무것도 안해요 컴퓨터는 참 인생 편하게 삽니다
            #그때 개발자 친구들이 말해줍니다 "예야, 48이라는 숫자는 스트링이야"
            #그럼 컴퓨터가 그 숫자를 기억하고 48은 스트링이구나! 라고 기억을 할거에요
            #이런 같은 개념으로 int, str, float, chr 같은 것으로 할당이 가능합니다. 콤퓨타는 인생 편하게 살아서 좋겠죠?
    def __str__(self) -> str:
        return(f"{self.name}, is a {self.name}")
   
   
   
       

class Book: #작은 개념 2 (Constructor)
    def __init__(self, name, genre, year, is_borrowed):
        self.name = name
        self.genre = genre
        self.year = year
        self.is_borrowed = False
    def __str__(self):
        return(f"Title:{self.name}, Genre:{self.genre},Publish year{self.year}. is borrowed")

#만들어진 애들을 테스트 해봅시다. 내가 만든 코드니까 내가 좋아하는걸 넣을꺼에요
book1 = Book("Steins;Gate", "Sci-fi","2008", "is borrowed")
print(book1)

view_borrowed_book()
        #항상 콤마가 적절히 사용되었는지 확인해봅시다... 아까도 이거땜에 오류 겁나 났엇음
 
 
#오늘 배운 중요개념 
 클래스가 가진 함수를 method 라고 부른다
 클래스 내부에 함수를 정하고 싶으면, self를 넣어줘야한다. <---- 이건 자바나 C언어는 다른거 넣음. 
 클래스는 하나의 도구를 내 스스로 만드는 과정이고, 그 도구를 만들어 내가 원하는 것을 조각한다
 

 

+ Recent posts