2024년 5월 27일

    사실, 학기가 끝난 것은 3일전의 일이다. 3일전의 끝난일을 이제서야 글을 쓰게 되는 것은 아무래도 나의 게으름과 더불어 끝났다고 하는 마음을 받아들이는데 걸린 시간이랬다. 고등학교 시절에는 시험이 끝나면, 뒤풀이를 하면서 하루를 보내고 아무런 생각이 없이 기말고사나 방학을 받아들이곤 햇었는데, 호주에 와서는 유학생활을 하면서 시간의 소중함을 깨달아서 인지는 몰라도 방학기간에 해야할 것들을 작성하고자 한다. 

 

저번학기에는 기본개념을 공부하고 원리를 아는 것에 치중이 되었다면, 이번학기에서는 코드를 작성하는 방법이라던지 아니면 User Interface 를 어떻게 배치하고 사용자 편의를 증강하는 방법을 배우던지 GUI 를 올바르게 배치하는걸 배운다던지 그런 코드를 작성했다. 

 

물론 프로그래밍 코드 말고도, 기본 SQL이나 Databse 의 구조와도 같은 정말, 정말 정말 Fundamental 한 부분에서 접근해 배운 것 같다. 지나간 학기를 되돌아 보니 어느정도 회한이 드는 마음도 있는데, 이는 분명 "더 잘 할 수 있었는데" 하는 아쉬움이 분명하겠지. 

 

 저번학기의 교훈을 들고, 이번학기는 오로지 한국인들과 일처리를 했다. 한강의 기적을 만들어낸 우리의 아버지 세대의 마음가짐은, DNA 레벨로 박혀있다고 생각한 것도 있었고, 무엇보다 프로그래밍이나 Group 과제의 기본은 "소통" 인데, 정말 기본적인 소통도 못하는 아이들도 만았기 때문이라.

 

덕분에 "한국인" 들과 서양의 일처리 방식의 차이를 깨달을 수 있었는데(둘다 같은 Agile 방식이라고 가정했을때), 한국인들은 극강의 효율을 중시한다. 이 극강의 효율이란, 수단과 방법을 가리지 않고 "좋은 점수" 만 나온다면, 그 과정이 도덕적인 관점에서 잘못이 되었던 아니면 누군가의 권위를 Override 하는 것이던, 일단 선 조치를 하는 방식으로 운영이 되었다. 

 

물론 이 일처리의 방식은, 아무래도 군필자 모음으로 만들어진 5명의 조직의 운영방침이었 때문이기도 했는데, 덕분에 불필요한 Meeting은 이뤄지지 않았고, 정말 필요한 것만 채팅으로 주기적으로 업데이트 되었다. 이 주기적인 업데이트 덕분이었을까, 우리는 원하는 점수를 받을 수 있었다. 이 방식의 단점은, 아무래도 주먹구구식으로 만들어진 과제의 퀄리티라고 할 수 있었다. 처음 완성된 과제는, 큰 틀만 맞추어진, 그러니까 뼈대만 튼튼한 과제로만 보였으니까. 하지만, 이것도 계산안에 있었는데, 살이야 붙이면 되는 거고, 완성된 과제의 모습은 "완벽함" 과는 거리는 멀지만, 어느정도 기능은 하는 모습은 되었다.

 

 

어차피 우리는 공대생이고, 디자인은 디자이너가 알아서 해야할 일 

 

 

기능만 완벽하다면야 나쁘진않다. 우리는 각자의 소속은 서로 다르고 출신지는 서로 다를지어도 한국인이라는 공통 분모는 차이는 없었으니까. 그것이 우리의 장점이었으니. 

 

다국적 그룹을 형성하고 과제를 추진하는데 있어서 가장 어려운점은, 소통의 어려움이었다. 일단, 호주라는 공간이 누군가 나이가 많다고 해서 바로 존중을 하는, 유교문화와는 거리가 먼 국가이기도 했고, 각자마자 서로 다른 국가식 일처리와 소통방식, 심지어 어떤아이는 자신이 모든것을 잘한다고 "착각"하는 어느정도의 선민의식을 지니고 있는 아이도 포함되어있는 그룹이었다. 

 

힘들었다, 일단, 기본적인 것부터 달랐다. 일처리를 하기 전에는 어떤 방식으로 업데이트 되고 어떤 방식으로 글을 써야하는지 서로간의 상호 공유가 되었어야 했는데, 이 상호 공유또한 존재하지 않았다.

 

본인이 먼저 업데이트하고, 다른 이들이 알아채주길 바라는 모습을 띄곤 했었는데, 도대체 어떤 성격을 갖고 있는 것인지 모르겠다, 싶을 정도로 힘들었다.  가정교육을 자습으로 배운 것인지, 아니면 스스로가 우월하다는 생각을 하고 있는 것인지, 타인에 대한 존중이 없어도 너무 없었다. 물론, 이런 사람을 겪는 것도 배움의 일환이라고 생각하며 상호 협조(표면상)를 지속적으로 진행했었다. 

 

어찌저찌 좋은 점수를 받긴 했었지만, 이제 세상을 배워가는 18살 19살 10대 청소년들은 쉽지 않았다. 자신의 가정에서야 그렇게 해도, 부모님이 사랑해주시고 이해해주시겠다만, 난 그들의 부모는 아니었으니까. 

 

그냥 코알라를 그룹장으로 하고 시키는대로 해도 이것보단 잘하겠다

 

 

 

 

코알라는 귀엽기라도 하지

이제 전공선택의 기간이 다가온다 

 

참, 이것도 또 포스팅해야하는데.

한국과 외국대학의 가장 큰 차이점, 1학년은 공통과목을 듣고 2학년부터 세부전공선택을 하는 것은 정말 좋은 것 같다 

 


다시한번, 늦은 포스팅에 미안한 마음을 남기고 이력서 작성하러 간다

알바해야함

 

 

2024년 3월 6일

 

유학을 가겠다고 마음을 먹은 지가 반년이라는 시간이 지났다. 하루하루가 너무나 빨리 가는 것 같으면서도 또한 느리게 흐르는 이 감정은 마치 내가 꿈을 꾸고 있는 듯한 감정이 들게 한다. 내 주위 모든 것들이 어색했던 게, 이제는 어느 정도 익수함의 순간으로 나아가고 있으니 이 유학의 적응 기간이라는 3개월이 얼마나 고된 하루의 연속이었는지 알려주는 것 같다.

 

하루의 소중함을 깨달아, 아니 시간의 소중함을 늦게라도 깨달아 뭐라도 하려고 하면, 일단 하기 싫은 감정이 몰려오기도 하는데 그래도 뭐 이 악물고 해내고 할려고는 있다. 생각의 관념을 그 근간부터 바꿔나아가는데에는 필요한 고통과 스트레스이겠거니 하는 생각으로 말이다.

 

유학을 끝내고 호주에 남게 될지, 아니면 한국에 돌아가게 될지 아니 2학년이 되면 무슨 일이 일어날지 한 치 앞도 모르는 상황인데, 어찌 저지 공부는 하고 있다. 그리고 배우는 것은 즐겁다.


새로운 인연을 만들어 나가는 것도 즐겁고. 

 

평소에 뭐해요?

지금 하고 있는 것은

1. 코드잇 

2. 코드 아카데미 

3. 듀오링고 독일어 - 일본어

4. 말해보라 영어

5. 쇠질.

6. 블로그

7. 개인 유니티 프로젝트 

(7번 같은 경우는 머릿속에 "그나마 익숙한" 유니티의 사용 방법을 좀 익혀둠으로써 아키텍처의 이해를 높이기 위함)

 

많아 보이는 것처럼 보이는 것은 사실이고, 실제로도 많은 양이긴 한데, 이것들을 굳이 구태여 동시에 하고 있는 것은 스트레스받는 하루의 시간을 빨리 보내고 싶음이라... 그저 한국에 있는 내 친구들이 그리울 뿐이다. 특히 , 가끔가다 지나가는 헬리콥터 소리와 추운 날씨, 한강의 모습, 골목 골목길의 정, 이 지극히 당연한 것들이 이제와서는 그렇게 특별해질 수가 없지 않은가. 

 

장소는 그립지 않고 사람이 그리운 것은 어쩔 수 없나 보다

 

향수병이 왜 걸리는 것인지, 충분히 이해를 하고 있는 하루를 보내고 있다. 한국에서 떠나기 전에 가족과 시간을 보내지 않았었는데, 애초에 그렇게 나와의 시간을 소중히 여기기 못하는 것도 있었고 그리고 그렇게까지 중요시 여겨지지 않는다는 감정은 매번 있었기 때문에 별 수 있나 싶기도 하다. 물론 표현을 못하시는 거지 분명 어딘가 사랑하는 구석이 있어 그러신 거겠지. 

 

코딩하는 몇 친구들이 얼마나 대단한지 매번 깨닫기도 하고, 이 유학생활을 이겨내고 현지에서 취업을 하신 분들이 정말 독하고 독한 사람이구나 하는 생각을 하고 있다. 진짜, 그만큼 유학 생활이 드라마처럼 파티에 가고 꿈만 같고 그러지는 않다. 무엇보다 생각이 기준점을 달리 해야 한다는 점은 스트레스를 넘어 고통이긴 한데, 이 고통의 끝에서는 적응해 있는 나를 발견하는 경험을 한번 했었으니까 그 과도기라고 생각한다. 

'

최근 들어 제일 많이 하는 생각이 뭐예요?

서양애들의 대다수는 근간이 "자기들이 국제학생들보다 영어를 잘할 것이다."라는 착각을 하고 있다. 아니,  "난 동양인 보다 나을 것이다 "라는 생각이 뿌리 잡혀있는 애들이 있다. 이들이 인종차별을 하는 것이 아니라, 그 머릿속에 정의된 공역 자체가 잘 못 되어 있다는 사실을 잘 모르고 있다. 물론 이들은 학사를 공부하는 이들이기에 생각이 너무 어려 그런 생각을 한다고 난 생각하지만 말이다.

 

어린아이들의 생각을 굳이 구태여 바꿔줄 의향은 없고,
실력으로 쳐 바르는 의지만을 갖고 공부하고 있다.
세상이 넓다는 것을 몸소 느끼게 해 주마

 

 

코딩은 어때요, 좋아요? 
장점 : 내 생각의 논리적 과정과 순서를 "의식"하게 해 준다. 그러니까 본래 " 커피를 마신다"라는 머릿속의 생각을, 1. 컵을 가져온다.
2. 물을 넣는다
3. 전자레인지에 넣는다
4. 꺼낸다
5. 커피를 넣는다
6. 마신다 
라는 과정으로 세분화해서 생각하는 요령이 조금씩 생기고 있다

단점: 근데 몇 코드는 왜 작동되는지 모르겠음. 진짜, 작동되면 안 되어야 할 텐데 결과는 의도값이 나옴. 이게 좋은 게 아니라. 예를 들자면, "모기장을 만들어야지" 하는 것을 목표로 삼고 내가 모기장을 만들었지만,  그 모기장에 볼링공 구멍이 생겼지만 깨닫지 못하는 것일 수도 있기 때문. 진짜 이건 누가 대신 봐줘야 함 

기분: 코드를 쓰는 것은 음악을 연주하는 것과 같다고 생각이 든다. 악보를 쓰는 그 악기의 아름다움과 조화를 보듯이, 코드를 쓴다는 것은 그 조화와 아름다움을 보는 것 같다

 

지금까지 한 번쯤 만져본 코딩 언어의 종류는 다음과 같다. 

1. Python

2. Java

 - 대학교 필수였기 때문 

 

그리고 찍먹(찍어보기) 

3. Java Script 

4. Type Script  - 트위터에 보이길래 호기심에 건들어봄. 

5. C# - Unity의 좋은 친구, Game Develop에 필요하다고 해서 찍먹 해봄

6. XML - Python으로 할 수 있다고 해서 건들어봄 

 

무슨 언어가 내 성향에 맞는 것인지 잘 모르기 때문에, 이거 저거 찔러보고 있다. 특히 최근 들어서는 SQL 언어를 배우고 있기도 한데, 언어를 배우다 보니 Linear Algebra 나 Algorithm의 필요성을 느끼고 있다. 본래 언어를 좋아하는 성격이 있어서 컴퓨터 언어를 배운다는 건, 내가 모르는 세계의 외국어를 배우는 것이라고 생각하고 배우고는 있는데, 이 해석이 어찌어찌 나하고 잘 맞아 빨리 배우고는 있지만 아직까지 나에게 있어 "외국어"인 컴퓨터 언어를 사용하는 사실 자체가 스트레스를 많이 받게 한다. 

 

(잠깐, 이 생각이면 수학도 따로 공부할 수 있지 않을까?)

 

 

대학원 가실래요?

죽기 전에 "박사"님 소리 듣고 싶기도 하고, 나중에 자식 낳으면 대학원 보내고 싶은 것은 있는데, 일단 내가 경험해보지 않은 것을 자식에게 강요할 수 없는 노릇이니 대학원에 한번 가보고 박사를 따고 세상을 보고 싶긴 하다. 

 

물론, 학위가 부자로 만들어 주지는 않는다. 그게 되었다면, 전 세계가 박사님들로 넘쳐나서 박박 박사님 슈퍼 박사 울트라 짱 박사 이런 거 있지 않을까? 대학만 가면 성공하고 취업하고 다 될 것이라는 것은 예전이야기지, 내가 활용할 수 있는 문제 해결 능력과 사람을 얻어가는 것이라고 생각한다. 

 

그러니까 다들 좋은 대학 보내려고 그렇게 공부를 시키는 것이겠지 

1학년 2학기, 어떻게든 버텨보자.
앞으로 3년이다. 3년이면 된다.

 

 

오늘 짤방은 소녀소녀한 감성으로

 

 


 

요즘애들은 고등학교에서도 파이썬을 배우고 심하면 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