요즘엔 동일한 뜻으로 쓰이는 것 같지만, OLPP 카테고리에서는 이 2개의 용어를 완전히 분리하여 용어를 명확화 하려고 한다.


추리는 특정한 생각 혹은, 그런 생각의 모임이다.

추론은 그런한 생각을 모은 일반화 이론이다.


나는 수학을 제외하고 변하는 모든 학문에 염증을 느껴,

경험을 중요시 하기 때문에 알고 있는 바탕으로 새로운 생각을 하는 추리를 좋아하지만, 그것을 일반화 하는 것은 어렵다.


OLPP 는 이 카테고리에서 최종적 추론이며, 이는 많은 추리로 부터 얻은 추론을 바탕으로 얻은 추론이다. 사전 의미는 아래 링크해 놓았다.


내가 어떤 수학식을 쓴다고 할 때 추리라는 용어를 쓰지 않는다. 어떤 생각을 말하거나 수식이 아닌 글을 쓸 때 추리, 추론이라는 용어를 쓴다.

추리, 추론의 공통점은 그 안에 확률이 내포되어 있다는 뜻이다. 수학을 제외하고 내 머릿속에 들어 있는 모든 생각은 추리, 추론의 결과물이다.


영원할 것 같은 사랑이나 관계도 깨어지는 것은 우리가 알고 있는 관념도 추리, 추론이며 그 안에는 100.00% 미만인 확률이 내포되어 불확실한 개념이었기 때문이다.


그럼에도 불구하고 OLPP는 유일하게 완벽한 추론이라고 믿는다. 나는 인간이고 인간이라는 것 자체가 오류를 포함하는 개념이기에 이미 출발부터 틀렸을 것이다.


나이가 들어가는 어느 순간, 완전히 믿는 이론이 하나 있게 되는데 나는 IT에서 출발한 OLPP를 믿게 되었고. 그것이 내 삶에도 지대한 영향을 끼치게 된다.


OLPP는 Object Linked Programming Paradigm, Object Linked - , Objects link(ed) 오브젝트 링크 패러다임을 말한다.


오브젝트는 나, 너, 우리, 모든 물건처럼 (것)을 말한다. LINK는 이어져 있다는 것을 말하고 object 보다는 link(관계, 유대, 인연,... )에 의미가 있다는 것을 말한다.


OLPP처럼 영어로 표현하는 것이 개념상, 좀 더 포괄적이고 일반적인 설명이 가능하기에 OLPP를 계속해서 주장한다.


아주 간단한 예를 들어 보겠다.


우리나라에서 많이 쓰는 말 중에 부모, 자식간은 천륜이라는 말이 있다. 내가 아는 친구 중에 경찰청에서 프로파일러를 하는 뛰어난 심리 분서가가 있는데 그렇게 되기 전 다양한 사람에게 수많은 상담을 하던 친구였다. 우리나라에 부모가 성추행, 성폭행을 하는 경우가 부지기수라고 했다. 심리 상담은 그 비밀이 지켜져야 한다. 그리고 이런 문제는 사실 1% 미만이 99%의 인식, 부모라는 좋은 단어에 대한 인식을 나쁘게 만들 수도 있기 때문에 수면 위로 오르기 참 힘들다. 난 천륜이라 생각하지 않는다.

두 개의 오브젝트(부모, 자식) 간의 객체 속성보다는 그 관계에 집중을 해야 한다. 성추행, 성폭행 하는 관계라는 부모, 자식이라는 단어를 쓰면 안되는 것이다. 그냥 남남보다 못한 사이, 범죄자와 피해자로 완전히 바뀌는 것이다.

미국 가서 시민권 딴 교포를 한국 사람이라고 부르지 말아야 하는 것도 같은 이유다. 그들은 미국에서 미국인으로 대접받는데 의로비 싸고 제도가 해쳐먹기 좋다는 이유로 국적 버린 시민에게 같은 혜택을 줄 필요는 없다는 것이다. 관계가 끊어지면 한국 사람이라는 것도 끊어진다. 물론, 다시 돌아오는 것에 대해서는 문을 열어야 하고 시험도 똑같이 치러야 시민권을 다시 주는게 맞다. 그리고 그렇게 관계가 맺어지면 한국 사람인 것이다. 다문화 가정 지원, 인식 개선 관련 캠페인이 많은데 그냥 OLPP를 전파하면 된다.

궁극적인 프로그래밍 철학도 OLPP, 사람과의 관계도 OLPP.


outline 은 이야기를 했으니 이제 시나브로 OLPP 이야기를 이어 나가 보려고 한다.


** 사전 발췌 **

표준국어대사전: - 알고 있는 것을 바탕으로 알지 못하는 것을 미루어서 생각함.

- 논리 =추론2(推論)(2. 어떠한 판단을 근거로 삼아 다른 판단을 이끌어 냄).


고려대한국어대사전 : - 기본의미 알고 있는 사실을 바탕으로 하여 알지 못하는 것을 미루어 생각함.

- 논리 이미 알려진 어떤 사실을 전제로 하여 새로운 판단이나 결론을 이끌어 냄. 또는 그러한 사고의 작용. 연역적 추리, 귀납적 추리, 유추(類推) 등이 있으며, 전제가 하나인 것을 직접 추리, 둘 이상인 것을 간접 추리라고 한다.


우리말샘 : 명사 알고 있는 것을 바탕으로 알지 못하는 것을 미루어서 생각함.

- 명사 철학 어떠한 판단을 근거로 삼아 다른 판단을 이끌어 냄.


카카오 사전

추리하다1 [推理--]

타동사

(1)

(기본의미) [(명)이 (명)을] (사람이 무엇을) 알고 있는 사실을 바탕으로 미루어 생각하다.

나는 그의 자화상만 가지고도 그의 인간적인 면모를 추리할 수 있다.

매우 성실했던 사람이었기 때문에 그가 자살을 한 까닭을 추리해 보는 것은 매우 어렵다.

(2)

[논리] [(명)이 (명)을] (사람이 새로운 판단이나 결론을) 이미 알려진 어떤 사실을 전제로 하여 이끌어 내다.


'!!OLPP' 카테고리의 다른 글

관계를 변화 시키다.  (0) 2019.04.15
몰입의 즐거움  (0) 2019.03.21
건전(sound)하지 못한 스타트업  (0) 2019.02.02
모든 것을 좌우하는 관점, OLPP  (0) 2019.01.21
사르뜨르가 했던 말과 내 생각  (0) 2019.01.07

This document will be continuously updated.

문서가 너무 많아져서 30개로도 압축이 안되기 때문에 구글 문서로 모두 통합하여 업데이트 하기로 했다.

https://docs.google.com/document/d/1XeuDIhtXQ0UypbAG0yRRlsx1K0-LTWJaJr25snDvxRo/edit?usp=sharing

 

hjh_Swift

 

docs.google.com

 

뭘하던, 요구사항 정의와 도메인 정의, 데이터 저장 방법이 끝나야 하지. ㅡㅡ; 누더기 코드는 여기에만 두고 실제로는 모두 삭제한다. 한 달 쓰는(함께 일하는) 고가의 웹 개발자를 잘못 뽑았더니 데이터 정의를 못해서 ㅠㅠ 우왕좌왕 하다 결국 내가 하는... 그러나 생각해보면 DB 담당자가 없으면 웹 개발자가 해야 한다는 인식이 잘못되었다. 서비스에서 가장 많은 %를 개발하고 있는 개발자가 데이터 정의를 하는게 맞다는 교훈을 얻은 경험이었다.

print("Auth.auth().currentUser!.uid = " + (Auth.auth().currentUser?.uid ?? ""))

            print("app.current user = " + (app.currentUser?.id ?? ""))

            //            print("(Int(Date.timeIntervalSinceReferenceDate * 1000))/fromData/(imageURL.lastPathComponent) = " + "/\(Int(Date.timeIntervalSinceReferenceDate * 1000))/fromData/\(imageURL.lastPathComponent)")

//            let addr_firebase_storage = ViewsAppConfiguration.shared.addr_firebase_storage

            let storage = Storage.storage(url: addr_firebase_storage)

            //            let savingLocation = "gs://" + (self.udfirstArg ?? "") + "/" + "230830.jpeg"

            let thirdWords = self.udthirdArg as Any

            let stringValue = (thirdWords as? String) ?? "Default Value"

            print("Value as String: \(stringValue)")

            

            let businessNumber = self.udsecondArg

            let businessNumberWithoutDashes = (self.udsecondArg ?? "").replacingOccurrences(of: "-", with: "")

            // Now, businessNumberWithoutDashes contains the business number without dashes

            

            let savingLocation = addr_firebase_storage + "2023/" + (app.currentUser?.id ?? "") + "/" + (self.udfirstArg ?? "") + "/" + "/\(Int(Date.timeIntervalSinceReferenceDate * 1000))" + "_" + stringValue + "_" + businessNumberWithoutDashes + ".jpg"

            let storageRef = storage.reference(forURL: savingLocation)

            print("HJH_UserDefault logs(self.udfirstArg) = ", self.udfirstArg as Any)

            print("HJH_UserDefault logs(self.udsecondArg) = ", self.udsecondArg as Any)

            print("HJH_UserDefault logs(self.udthirdArg) = ", self.udthirdArg as Any)

            

            let metadata = StorageMetadata()

            //            metadata.contentType = "ProfileImage/jpeg"

            metadata.contentType = "image/jpeg"

            

핵심은 savingLocation 이다. 보통은 파일명 해시화가 가장 좋았지만 한 번(1초 내)에 쓰레드에서 1000개씩 돌린것을 구글과 몽고DB, 아마존에 보내다  보니 DB 메타데이터랑 꼬이는 현상이 있어 주요 정보는 줄이고, 파일명 자체로 정보를 보내며 싱크를 맞추기로 했다.

var udfirstArg = UserDefaults.standard.string(forKey: "CameraViewfirstArg") 유저 디폴트 키로 오픈 소스와 데이터를 연결한다. 

let savingLocation = addr_firebase_storage + "2023/" + (app.currentUser?.id ?? "") + "/" + (self.udfirstArg ?? "") + "/" + "/\(Int(Date.timeIntervalSinceReferenceDate * 1000))" + "_" + stringValue + "_" + businessNumberWithoutDashes + ".jpg"

가독성이 떨어질지도 모르지만 혼자 개발하다 보니 나에게는 이게 가장 가독성이 높다. 그리고 잘 짠다는 것은 코드 조각을 공개해도 주요 정보는 공개 되지 않는 시큐리티 정보 분할 방식 코딩이 잘 짠다는 것이다. 라인 맞출 필요 없이 formatter면 충분하고 실제 바이트 코드는 모두 리니어 하다. 사람의 두뇌 능력이 떨어지니 다 떨어뜨려서 이해를 해야하는 것 뿐.

주니어 개발자를 뽑으면 늘 리팩토링만 하다가 정작 신규 피처를 개발 못하고 욕하면서 나가며, 자신이 뭘 개선했니 마니 한다. 그래서 요즘엔 주니어 개발자 뽑으면 소스 공유 안하고 6개월 정도 똑같은 프로젝트 만들어 보라고 하고 시간을 준다. 그러면 스스로 굉장히 공부를 많이 한 줄 알고 6개월 동안 개고생하다가 배터리 다 되고, 본인 포트폴리오로 해서 이직을 한다. 이런 케이스를 한 6명 정도 겪다 보니 돈을 최소 2배 주더라도 시니어 개발자를 쓴다. 시니어 개발자와 커뮤니케이션은 간단하다. 그냥 전체를 떼 주고 VOC, 요구사항이나 기능, 퍼블리싱 시기 관련해서만 이야기를 한다. 개발 관리가 얼마나 편한지 깨닫게 되는 시간이다. 그리고 나도 개발자다보니 신규 개발 기술이나 어떤 것은 도전적인 것이고 어떤 것은 편한 것인지 이야기 하며, 좀 더 친해지다보면 우리 휴가 보전을 위해 좀 구린 개발자들이 모인 집단과 비교해서 충분한 개발 속도를 확보한 상태에서 개발 속도를 조절한다. 장기 휴가 아닌 장기 휴가를 가진다. 그게 큰 규모의 기업이던 작은 규모의 기업이던 스톡홀더나 경영자나 개발은 전혀 못하면서 자신이 뛰어난 관리자라고 착각하는 사람들을 대하는 방식이었고, 내가 대표가 되고 나서도 왠만해서는 경쟁력이 나오니 너무 아등바등 하지는 않는다. 시니어만 모인 조직만의 장점이다.

 그러나 가끔 서로 얼굴 보며 너무 재미 없다고 느낄 때쯤 개발자를 찾으면 오로지 인성만 보고 뽑는다. 개발 실력을 정말 어릴적 부터 닦아서 주변 사람들보다 개발을 너무 잘해서 나오는 자신감과 그런 실력으로 주변 사람들의 칭찬에 길러져서 흡사, 온실속의 밝은 화초가 아니라면, 사실 다 고만고만하게 보이는게 사실이다.

인성을 보는 방법은 쉽다. 에베레스트를 올랐던, 다른 분야에서 1등을 했었던. 정말 뭔가 열심히 해서 결과를 내려고 부단히 노력했었던 사람이라면 또 그것을 다른 사람을 위한 행동이었다면 개발 분야에서도 똑같이 적용된다.

우리 분야는 학문적으로 너무 들어가는 깊이를 항상 경계하기 때문에 그 경계가 풀리면 무한히 재미있는 세계가, 또 그런 세계가 여러개 기다리고 있다. 단점은 시간이 너무 빨리 가서 어느 순간 늙어 있는 자신을 발견하면 좀 벙찐다.

 

 

===== 화사 첨족 ==========

제주도 차 가지고 가는 방법

 

배 출발 후 바로 쓴다. 배타고 나서 할게 없다. ㅠ

 

수원에서 외롭게 운전해서 간다. 12시(자정) 출발했는데 첫번째 휴게소에서 잠들어서 두시까지 잤다.

 

 

 

 

 

다섯시 반에 도착. 두시간 잔거 빼면 세시간 반 걸린다. 고속도로로 다 이어져 있고 평일인걸 감안(정체현상 제로) 휴게소 시간 합하면 다섯시간 반 걸린다고 보자.

 

 

일곱시부터라고 되어있지만 여섯시 반부터 차를 싣는다. 걍 운전하고 들어가면 된다.

 

참고로 여수 엑스포 옆에 여객 터미널이 있다. 예약 안하고 왔어도 일단 차부터 싣는다. 난 예약했다. 평일은 예약 안해도 될 것 같다.(주말은 경험이 없으니 모름) 차를 배에 선적하고 화면에 보이는 사무실로 가서 계산 한다.(예약으로 결재한 사람도 무조건 들러야 한다)

 

 

 

 

 

이층 주차장이 안에 있다고 보면 된다. 안내하시는 분들이 많으니 가라는데로 가서 주차하면 된다. 바퀴 결박해주신다.

 

원래 가격은

 

이거다. 그런데 6월 차량 가지고 온 탑승객은 일등실 업글 이벤트를 했다. 땡잡음 ㅋㅋㅋ 일등실이랑 특등실은 2인 이상이기 때문에 혼자오면 2등실을 잡는게 맞다.(뭐 돈 ㅈㄹ해도 되긴 함)

 

뱃사람들 격하지만 인심은 잘 안다. 지나가면서 눈썰미를 발휘하니 이벤트 아니라도 어르신들은 다 업글 해주는 듯하다.(하지만 말할 수 없다는... 진짠가?)

 

배는 참 크다. 내부는

 

4인실이 이렇다. 밤새 운전했으니 자고 일어나면 제주도일 듯. 레스토랑도 있고 화장실에 비데도 있고 기타 등등 적을게 많다. 그러나 {제주도에 차 가져가기}는 충분히 이야기 한 듯. 참고로 세월호 여파로 사라진 해운업 회사 많다. 블로그 포스팅 믿지 말고 예약하려면 직접 선사와 연락해서 회사가 있는지 확인해야 한다. 여수보다 완도가 제주도에 가깝지만 운전하기가 싫었다.(여수 엑스포가 있으니 도로가 잘 되어있을거라 판단함) 고향 부산에서는 제주까지 7~8 시간 이라고 했다. 완도는 세네시간, 여수는 다섯 시간이라더라.

 

참고로 이 정도 파도에서는 어린이와 온다고 해도 배 멀미 걱정 안해도 되겠다. 흔들림은 거읭 없다. 시동 걸어놓고 정차된 자동차 안에 있는 기분.

 

이등실엔 이불이 없다 ㅠㅠ

 

 

 

 

밖에는 커다란 재떨이식 쓰레기통이 있다.

 

애연가 분들은 담배불 붙이기는 힘들어도 좋을 듯. 터보라이터로 준비하시길.

 

 

 

 

전화도 계속 잘 터진다. 대한민국만세. LTE 는 조금 느린 기분.

 

 

 

 

 

제주항으로 도착합니다. 두시에 항구 근접!

 

 

정박 직전에 밖에서 구경하고팠는데 엄청난 배기가스가 바람을 이용하여 얼굴을 때려 안으로 들어갔다.

 

 

 

 

차를 가지고 가실 분께 도움되셨길.

 

 

 

 

http://www.hanilexpress.co.kr/external/ticket/login?returnurl=reservation

Hanilexpress



www.hanilexpress.co.kr

 

 

2016 9월 업데이트

 

 

 

 

제주에서 여수로 가는 것은 10시 도착이더라. 목포 도착으로 하면 6시 30분쯤 온다고 한다. 똑같이 제주 4 부두고 12시 40분에 와서 차량 싣고 면세점 쇼핑하고 탔다. 입석인데 더 비쌌다.

 

그래도 제주 생활 정리하고 바다보고 바람을 맞으며 가는 이 길이 마냥 즐겁다. 경기도 계신 분들께는 목포로 복귀를 추천 드린다. 휴게실에 책 놔두고 옆에 못 앉게 하는 사람들 많던데.... 쫌...

 

 

 

 

바람이 워낙 쎄서 몸이 날아갈 것 같은데 덩달아 꿀꿀한 기분도 함께 날아가는 기분.

 

 

 

 

두시에 출발하니 골드스텔라가 들어온다. 골드스텔라는 네시 반 출발에 열시 여수 도착이라 수원까지 운전하려면 빡실듯

 

 

 

 

바다를 보다 두시간 20분쯤 지나면 풍경이 펼쳐진다.

 

 

7시에 도착. 보통은 6시 반 도착이라고 한다. 귀경길은 서해안 고속도로 타다가 공주쪽으로 빠졌다가 경부타고 왔는데 휴게소에서 밥 먹고 집에 11시에 집에 도착했다.

 

 

 

 

목포 출발 제주 도착은 밤에 출발한다고 들었다.

 

 

 

 

혹 제주도에 다시 차 가져갈 일 있으면 여수와 목포를 잘 이용하려고 한다.

 

 

'Swift & Python 실무 > {APP} SOCANNER APP' 카테고리의 다른 글

스토리보드 이동 방법  (0) 2019.02.14
제주도 항공 촬영  (0) 2019.01.19
C의 struct와 Swift 의 struct  (0) 2019.01.19
userDefault 활용  (0) 2019.01.16
iOS UI 기초 - Swift UI  (2) 2019.01.03

홍콩을 사랑하는 분께는 죄송하지만 서툰여행기의 저는 ...


너무 덥고 습해서 다시는 가기 싫은 나라 ㅠㅠ 그러나 금을 사야 한다면? 빠찡꼬가 땡긴다면?








가보자고요~




스타의 거리




아비요~










와이프 지못미! 내가 안티다!








여기 강추강추 음식 맛나요.





물위에 떠 있지요. 낮게 가서... 밤까지 먹었다는. 바로 그 곳.





밤에 찍었는데 나 사진 좀 찍는 듯?








저거 우리나라 브랜드야~ 대한민국 만쉐~









이층 버스를 탔어. 추워 DJ(Daen Jang)








만지면 뭔가 좋은게 있다고 했는데... 세계 곳곳에 너무 많아서 기억하고 싶지 않은...








나... 야경 좀 찍는 것 같아 여보. 캐논 사줘. 1D 사줘...




풋풋

다른 남자와 있을 때 더 자연스러운 여보님



애라 안티다. 함부로 따라하는거 아니야.




홍콩과 마카오는 배로 오다닙니다.

홍콩가면 마카오를 가는 겁니다!


도박하러? NONO 육포 먹으러.







상아

다이아

상아

기승전금






혹시 홍콩에서 다이아 금반지 사실 분들은 여행 경비가 빠지는지는 잘 계산 해 보시길.(곰곰히...찬찬히... 아마도 빠질 겁니다 ^^ 갈 때는 빈손으로 올 때는 커플이 되어) 홍콩은 큐빅이 없다는 풍문?





홍콩 아사히가 싸서 3일 연짝 호텔에서 맥주만 마셨다는...





안녕 홍콩, 마카오. 다이아나 금 필요할 때 올께.




아래는 전문가의 사진들입니다. 클릭! 클릭!







'!Z. 해외 여행기' 카테고리의 다른 글

괌 구아아아암 맥주  (0) 2019.01.18
밀위키  (0) 2019.01.18
사이판  (0) 2019.01.14
일본  (4) 2019.01.14
하와이  (0) 2019.01.14




표지 + 인물




사이판은 아이랑 가기 좋은 여행지





일정을 하루 앞두고 아이가 독한 감기에 걸려 가지 말까라는 생각도 들었다.(해외여행은 일년에 한번이지만, 아이를 키우는 사람은 알겠지만 아이가 아픈데 여행 취소는 딱히 큰 결정은 아니다) 사이판은 따뜻하니까 좀 더 낫지 않을까 해서 가기로 결정! 사이판 도착까지 힘들었는데 막상 도착하고 나니 아이가 점점 호전되다가 이틀만에 감기 나았고(약빨도 있겠지만) 잘 놀고, 집으로 오기 전까지 완쾌되었다.









리조트, 아이가 놀기 좋다.








하와이 만큼은 아니지만(하와이엔 후쿠시마 방사능이 도착했다는...) 물도 깨끗하다








이정도 뷰가 가능하다.








높은 곳에 올라가 본 경치도 좋았다.








바다를 볼 수 있다는 것과 바람, 제주도 만큼 좋았다















하지만 대부부의 시간은 리조트에서 편하게 보낸다.









아이들은 물을 좋아한다. 계속 나가자고 한다. 그렇게 물에서 노는데도 감기가 나았다. 사이판은 가을, 겨울에 떠나자.








역시나 놀먹, 놀먹이다... 밖이냐고?








리조트 안이다.









가끔씩 경치보러 나간다. 애 데리고 나가면 그냥 피곤하다... 우리 애기는 이동중에 똥쌌는데 기저귀가 풀려서 똥바다가 되었다. 이 사진은 와이프가 발에 묻은 똥을 씻는 장면. 아이를 위한 여행을 위해서는 여행사 통해서 리조트에 오래 있는 프로그램을 선택하는 것이 진리. 그럴려면 사이판은 왜 가나? 따뜻하기도 하고 추억쌓기죠.





그리고





놀먹




















하와이는 비행기 값이 비쌉니다. 바다를 좋아하시는 분이면 차라리 그 돈으로 사이판에 오래 머무는 것도 재충전의 기회가 될 것 같아요. 어린 아이가 있다면 하와이엔 절대 못갑니다.(비행 시간동안 계속 못 재우니까요)




사이판 바다속





이렇다는...









사실 여행지는 풍경일 뿐이고 같이 간 사람끼리 만들어가는 이야기가 더 중요하지요.




이 사진을 보니 브라질도 한번 가보고 싶네요.





수많은 사진중에 망고주스 사진이 없네요. 사이판의 망고주스는 정말 다른 세상이었습니다.





이상 아이랑 정말 가기 좋은 여행지 사이판 이었습니다.





안녕 사이판~ 망고 주스 먹으러 다시 올께.


'!Z. 해외 여행기' 카테고리의 다른 글

밀위키  (0) 2019.01.18
홍콩  (6) 2019.01.14
일본  (4) 2019.01.14
하와이  (0) 2019.01.14
샌프란시스코  (0) 2019.01.14

원전 사고의 여파로 가기로 했던 여행이 수년 늦춰졌었다. 지금도 안심할 수는 없어서 방사능 측정기를 들고 서쪽(사가공항)으로 날아갔다. 방사능 측정기는 원전 사건 이후 바로 구입했었다. 한국에서 일본으로 수출하는 방사능 측정기 생산 기업이 있다! 20만원 정도 주고 저렴한 것을 샀었다. 제품 소개는 언젠가 다른 매거진에서 해야겠다. 그 당시 좀 오버해서 물도 집으로 1톤 시키는 바람에 재미있는 에피소드도 생겼었다.




각설하고, 역시나 먹고 노는 여행이었다.





















놀 & 먹






























일본에 대해서 잘 모르지만 주변인들 이야기를 들어보면 온천여행, 해산물 여행, 도심지 여행 등으로 나뉘는 것으로 보인다. 이번 여행은 온천 여행 이었다. 온천두부는 먹기 급급하고 사진을 안 찍어서 없지만 이번 여행에서 가장 좋았던 것은 온천 두부였다. 온천은 사진을 찍을 수가 없었다. 무슨 영화에서 나오는 온천을 갔었는데 (코믹 영화였는데 세명의 등에 새긴 문신을 이어 하나의 문신이 되던) 시설은 오래되었으나 물은 정말 좋았다.




다녀오고 나서 부모님도 똑같은 코스로 여행을 보내 드렸다. 그런데 내용이 바뀌어서 호텔은 더 좋은 곳으로 가셨다는~




노란풍선을 이용했는데 전체적으로 만족한 여행이었다. 한진, KRT, 노란풍선. 항상 별 탈 없이 다녀올 수 있게 해 주어서 좋다. 자유 여행도 재미있지만 역사를 모르는 곳으로 갈 때는 꼭 여행사를 이용하는 것을 추천한다.





가깝지만 먼나라 일본. 왜 얘네들이 침략을 많이 했는지 알 것 같았다. 천재지변에서 항상 두려운 이 땅에 아마 우리민족이 살았으면 역으로 침략을 많이 했었을 것 같다. 서로 문화를 공유하고 무시하지 않았으면 침략하지 않았겠지만.





그렇다고 신사 참배나 위안부 문제에 대한 미온적 태도는 속에 천불이 난다. 그러나 배트남에게 비슷한 고통을 주었다는 사실은 알지도 못하거니와 큰 느낌이 없는 걸 보면 천불이 날 자격이나 있는지 반문해 보기도 한다.





그외 일본 역사와 문화에 대해서 듣고 가장 마음에 드는 부분이 3가지가 있었다. 물론, 개인차는 있을 것이다. 첫째가 왕따 문화, 그리고 돌려서 말하는 문화. 마지막으로 돈이 많아도 계속해서 일하며 티를 내지 않는 다는 것이 마음에 들었고 본 받아야할 문화로 보인다. 왕따 문화는 다른게 아니라 만약, 음식 가지고 장난치는 사업자가 있고, 틀켰을 때. 모든 사람이 왕따를 시켜서 스스로 자살했다는 이야기를 들었었다.





재벌이 프라이드 탄다는 이유로 벽돌로 내려친 사건이 오래되긴 했지만, 최근에도 돈 주고 구타한 SK 회장이나(부회장인가? 암튼 그 집안 사람) 서울 졸부들 만나보면 그렇게 하지 못하도록 하는 왕따 문화가 더 선진국의 문화처럼 느껴졌다. 그래서 난 한국에 태어난 것이 운이 좋다고 생각한다. 아마 난 왕따 당했을거야.





직접적으로 말하지 않고 돌려서 말하는 문화는 개인적으로 본 받아야 하겠다는 생각이 들었다. 나 같은 경우 너무 솔직하고 직선적이라서 사람들이 당황하는 경우가 많다. 그 덕에 진정한 친구도 많지만, 역시 적도 많이 있다. 별로 개의치 않긴 하지만 아군이던 적이던 좀 더 부드럽게 대하려면 돌려서 말하는 것을 좀 배워야 한다는 생각이 들었다.





돈이 많아도 계속해서 일할 수 있는 문화라는 것은 스타트업에서 이야기하는 것들... "회사 문화는 이렇다", "직원은 이래야 한다" 이나 '미생' 에서 나오는 대기업 문화등과 견주지 못한다는 말이다. 우리 나라 사람 중에 계속해서 일하겠다는 사람 아직 못봤다. 말은 그렇게 하는 사람들이 많다. 그러나 평생 쓸 돈 있으면 일할 사람 아무도 없다는 느낌. 주영이 형이나 병철이형, 건희형은 돈이 흘러 넘쳐도 다 멋지게 일한 사람들이었지만. 1조 없는 서민들 중에는 없다는 말.





놀, 먹 사진만 올려도 되는데. 막상 일본이라는 나라는 가보니 느끼는 점이 많아서 스스로 반성하는 계기가 되었기에 마지막 까지 글을 읽으신 다른 분들도 좋은 경험을 했으면 하는 바람에 많이 적어 보았다. 그 외 들었던 문화들은 한국에 비할바는 아니다.(일례로 결혼 문화는 더 좋다고 느끼긴 했지만 한국의 그것도 좋다고 생각했기에 일본이 더 좋다고 말 못하는.)





가격도 저렴하니 부모님도 꼭 보내드리시길!





아래는 전문가 사진들 입니다.(도쿄긴 하지만... 클릭 클릭)






'!Z. 해외 여행기' 카테고리의 다른 글

홍콩  (6) 2019.01.14
사이판  (0) 2019.01.14
하와이  (0) 2019.01.14
샌프란시스코  (0) 2019.01.14
세부  (2) 2019.01.14


추억이 새록새록 다음 달에 한번 더 갑니다.







하와이에서는 셔터만 누르면 사진작가가 됩니다.






네가 말로만 듣던 무지개구나






야경도 좋아요.







물은 정말 깨끗합니다.







아름다운 자연







용암은 내가 막으리







광활한 대지의 용암을 막기에는 역부족이었습니다.







화산... 또 터지는 거 아닌가요?






용암이 만들어낸 거대한 절벽







맑은 날에는 합성한 듯한 배경이 펼쳐집니다. 알로하.







꽃 색도 예뻐요.



사람들도 친절합니다. 그래서인지... 와이프는 다른 남자와 바람








을 같이 맞고








어깨동무도 하더군요.







우린 이제 어색한 부부가 된 듯했습니다. ^^;;








서방 하와이 짱인데?











호텔도 너무 좋아요







상어가 돌아다녀서 그렇지




면세점이 아님에도 한국에 비해 백만원 가량 저렴하고 신상도 먼저 나온다는 하와이 샤넬매장




쇼핑도 하고 재미나게 10일을 놀았습니다. 맛집, 볼프강 스테이크 하우스는 정말 강력 추천! 침이 흐르실 까 봐 사진은 스킵합니다. 바다가 보이는 펍들도 좋습니다. 사실, 먹거리는 하와이를 가 보실 분들이 즐겨야 할 묘미로 남겨두겠습니다.




다른 휴양지들은 두 번 가기 망설여집니다. 하와이는 내일 당장이라도 다시 가고 싶은 휴양지입니다!


'!Z. 해외 여행기' 카테고리의 다른 글

사이판  (0) 2019.01.14
일본  (4) 2019.01.14
샌프란시스코  (0) 2019.01.14
세부  (2) 2019.01.14
시카고 씨어스 타워  (3) 2019.01.13


구불구불한 길 사진이 없어 아쉽습니다. 유명한 줄 몰랐어요 ㅠ




금문교




금문교에서





골든 게이트를 본다기 보다 주변에 볼거리가 많습니다. 특히 애들이 천진난만하게 골든리트리버들이랑 뛰어노는 풍경이란...




위에 찍은 초원이 저 초원입니다.








샌프란에 살지는 않아서 잘 모릅니다만 3번 갔는데 한번만 맑았네요. 대부분 안개가 끼어 있어서 안개가 걷히는 시간대를 잘 선택해야한다고 합니다. 자전거 모자를 들고 있는데요. 트렘을 타고 종점까지 가면 자전거 대여점이 나옵니다. 금문교까지 자전거로 갈 수 있습니다.







트렘




트렘입니다. 작은 기차?


매달려서 탑니다. 정차역도 있고 티켓도 있긴 하지만 지나갈 때 매달리고 바로 현금을 줘도 관계 없습니다.







알카트라즈





이름이 기억이 안나서 구글링해서 찾아 적었습니다. 영화 더록에 나온 섬 입니다. 자전거 투어에서 배타고 오는 루트를 선택하면 금문교를 지나서는 알카트로즈 보고 배 타고 돌아올 수 있습니다. 루트 선택 안했다고 해도 가서 달러 주면 탈 수도 있구요. 트렘도 그렇던데 언제나 그렇듯 '현금 박치기'는 진리.





알카트라즈 조금 지나서 골든 게이트가는 길에 이런 곳도 있었습니다. 주변 집값(50억)이 비쌀만 하더군요.










페이스북








시큐리티한테 내부 구경 좀 시켜달래서 잠깐 들어갔었습니다. 로비 뿐이었지만, 나와서 바깥 창문으로 내부를볼 수 있었습니다. 주말이라 시큐리티도 걍 눈감아 줬구요. 그러나 들어오는 것도 안되는데 멀리서 왔다니까 봐준거라고 사진은 절대 안된다고 해서 내부 사진은 없어서 주커버그 페북에서 긁어 오겠습니다.





페이스북 내부





델 컴퓨터 셋이 많습니다. 애플이나 구글도 비슷하더라구요. 애플이라도 전부 애플 제품만 쓰지도 않고, 구글도 맥 씁니다. 그러나 의자는 허먼밀러 에어론으로 통일한 것 같네요. 프로그래머를 위해 의자 이야기를 하겠습니다. 스타트업에서 허먼밀러는 수개월 경험했었는데. 허리가 안 좋은 상태에서는 허먼밀러도 소용없습니다. 서서 일하는 책상이 갑 이지요. 그리고 듀오백 정말 대단한 의자 입니다. 허먼밀러의 메쉬 하판은 본 받을만 하지만 듀오백 처럼 허리 척추를 직접 안 건드리는 기술은 아마 허먼밀러에서도 탐내하는 기술 일 것 입니다. 메쉬 하판 + 듀오백 등받이 + 라텍스 목받이가 개인적으로 진리라 생각되는 부분입니다.







애플








애플도 게스트를 위한 오픈 시간이 있습니다. 이 당시는 별로 좋아하는 기업이 아니라 캠퍼스가 어떤지만 보러 갔었지요. 땅덩이 넓은 미국답게 여러 건물로 쪼개져 있었습니다. 내부는 별 다른게 없어서 사진 찍지 않고 왔습니다. 애플 모니터랑 델 모니터가 많이 보이더군요. 일전에 같이 일했던 프로그래머가 애플로 이직을 했는데요. 아이폰을 4대까지 직원가로 준다고 했습니다. 애플은 다른 곳처럼 덤핑을 하지 않아서 부러운 부분입니다. 직원가가 얼마인지는 비밀.







구글








개인적으로 좋아하는 기업이라 사진이 많습니다. 애플과 똑같은 모습의 캠퍼스구요. 네모난 건물이 여러군데 있는... 주말이라 사람이 없을 줄 알았는데 역시나 일하러 나온 개발자들이 꽤 있었습니다. 배구장이 있어서 배구하는데 구경 좀 했습니다. 혼자 샵을 기웃거리고 있으니 구글 직원이 평일에만 판다고 하더군요.(나도 알아...) 그래서 평일에 갔는데요. 구글 직원한테만 판다는 것이었습니다. 그 때 아차.... 그 구글 직원한테 visitor라고 했었는데 이 자식이 날 속였구나 라는 걸 늦게 알았지요. 구글 사원증 없이 Gbike 타고 다니다가 시큐리티한테 걸렸습니다. 타면 안된다고 하더군요. 그래서 쓰미마셍, I didn't know that. I'm so Sorrrrrrry. okay, I got it. 쓰미마셍 하고 계속 타고 다녔습니다.


미안, 아베님하.







트위터








트위터는 샌프란 시내에 사무실 한 층만 쓰고 있어서 올라가서 트위터 간판만 보고 바로 내려왔습니다.







오라클








가장 마음에 들었던 회사 입니다. 다른 회사는 국내 대기업에 캠퍼스에 비해서 열악하다고 생각했는데, 오라클과 그 주변... 도로에 걸어다니는 오리들, 넓은 주차장들을 보고 이곳이야 말로 실리콘벨리구나 하고 생각했었습니다. 실리콘 벨리를 드라이브하다보면 들어봤던 많은 회사들의 간판을 보는데, 그냥 월마트 정도의 느낌이었습니다.





글로벌 기업 본사 주변에 놀게 아무것도 없는 것이... 회사 차원에서 모든 걸 구비 안하면 근무 조건 관련해서 말이 나올 수 밖에 없더라구요.






혹시 저처럼 기업을 한번씩 둘러보실 분들은 다음과 같은 순서로 보시기 바랍니다.





*하루코스


애플 -> 구글 -> 페이스북 -> 오라클 -> 트위터 -> 샌프란 시내 투어

'!Z. 해외 여행기' 카테고리의 다른 글

사이판  (0) 2019.01.14
일본  (4) 2019.01.14
하와이  (0) 2019.01.14
세부  (2) 2019.01.14
시카고 씨어스 타워  (3) 2019.01.13



몇년 되었네요. 사진 정리하면서 추억이 새록새록.


세부는 리조트 밖은 볼게 ... 좀...


그래서 리조트에 계속 있어도 시간이 전혀 아깝지 않아요.


세부 여행은 저렴한 편에 속하니 추운 겨울 휴양할 곳을 찾을 때 가끔씩 생각하는 곳입니다.





애기가 태어나기 전에 한번 가봤었던 곳이네요. 임산부도 스킨스쿠버 다이빙을 할 수 있다는 것을 처음 알았습니다. 처음 하시는 분들 절대 포기하지 마세요. 와이프도 물 먹고 겁 먹어서 못할 뻔 했는데 포기 안하고 해서 즐거운 바다 구경 했다는!




와 세부다~




먹고


놀고

먹고

성 전환 하신 분들의 쇼


놀고
















부록 - 리조트 사진







'!Z. 해외 여행기' 카테고리의 다른 글

사이판  (0) 2019.01.14
일본  (4) 2019.01.14
하와이  (0) 2019.01.14
샌프란시스코  (0) 2019.01.14
시카고 씨어스 타워  (3) 2019.01.13

어제 포스팅 이 후 11시까지 측정한 결과 정상 수치다



그러나 난 반품한다.



결론은 정상으로 하고 반품이 완료되면 더 이상 포스팅 하지 않겠다.

질이 너무 좋아서 지금도 반품할지 고민이다. 이번에 다른 모든 이불을 삘았는데 혼수용 이불과 이 이불을 제외하고는 모두 풀이 죽었고 잘 마르지도 않았다. 영업용 멘트가 아니라 반품하기 참 아깝다. 아이가 없었다면 걍 썼을 것이다.

커플이 너무 다정해서 사진 찍었다. 몇 개 더 있는데 보고 포즈 취해 줌 ^^ 역시 미쿡.



'!Z. 해외 여행기' 카테고리의 다른 글

사이판  (0) 2019.01.14
일본  (4) 2019.01.14
하와이  (0) 2019.01.14
샌프란시스코  (0) 2019.01.14
세부  (2) 2019.01.14

사업 망한 건 사실 스펙이 안된다. 그러나 경영자의 생각을 알게 된다. 책임감이나 의무 등 좋은 말도 있지만 그것을 를 넘으면 돈을 보게 되고 물불 가리지 않는 것들 등... 이런 잡다한 것들을 묶어서 그냥 "생각"이라고 표현한다.


이렇게 단어를 일반화 하는 것을 제외하고 난 뭐든지 일반화 하는 것이나 뭉뜽그려서 말하는 것을 싫어한다. IT 분야에 오래 있었기에 변하게 하고 싶은 것을 변하게 한 적이 많다. 아마 내가 이 글을 쓰고 난 이 후 몇 년 뒤에는 모두 그렇게 생각할테지만 지금은 과도기 이기에 하나 이야기 해 본다.


네이버나 다음 구글을 말하는 것은 그 시절 , 그 시간에 의사 결정 능력이 있는 사장, 임원, 팀장을 말하는 것이다. 우리 모두는 평등하지 않지만, 물리적으로는 같은 능력과 다 같이 죽음으로 갈 평등을 부여 받았다. 이에, 모든게 사장 잘못이라거나 모든게 대통령 탓이라거나 하는 생각이 있는 것은 아니다. 충분히 신경쓸 수 있었고, 충분히 보고도 받았으나 본인의 의지로 신경 쓰지 않은 사안에 대해서는 책임이 있는 것이다. 삼성 반도체 공장에서 일하다 암으로 죽었던 사람에 대해서 삼성전자가 책임이 있다는 것이 아니라는 것이다. 그 때 회장, 사장, 임원, 팀장급이 문제라는 것. 


신기한 것은 회장이 문제가 없을수도 있다. 왜냐면 문제라는 것을 처리하지 못하고 보고하게 되면 본인의 출세길이 막힌다는 착각 때문에 보고 자체를 하지 않는 경우도 많으니까. 그럴 경우 책임을 져야 하지만 회사 이름으로 책임을 지기 때문에 한번 나쁜 놈은 절대로 교화될 수 없다. 


그래서 우리는 대표 이름인 회사 이름을 쓰더라도 그런 결정을 내리거나 행하는 사람이 누구인지 항상 알아볼 필요가 있는 것이다.


위안부 사건에 대해 성폭행 했었던 군인들은 위에서 시켜서 했기 때문에 잘못이 없을까? 라는 질문을 던져보면 확실히 알 수가 있다.


내가 블로그는 옮기는 것도 매우 큰 사안이다. 만약 카카오에 대해서 말을 한다면 카카오 전체가 아니라는 것이다. 그리고 카카오 쪽에 지인이 몇 있는데, 내가 그런 글을 쓰면 쓸 수록 고급 정보를 얻을 기회가 줄어드는 것이 사실이다. 그러나 정말 "사실"은 글로벌하게 봤을 때 별 대단치도 않은 한국 회사인데 별로 알고 싶지도 않다. 그러나 기술 하나 만큼은 뛰어나다. 몇몇 뛰어난 운동 선수를 제외하고는 대한민국에서 전체적으로 경쟁력있는 분야는 의료, IT라고 생각한다. 왜냐면 내가 다른 분야를 모르기 때문에. 그리고 이제 정말 글로벌 시대라 정에 이끌려 뭘 쓰고 안 쓰고 할게 아니다. 우리나라 대기업이 그런 명분아래 자국민에게 행했던 것을 보면. 예를 들어 현대차는 자국민 차는 안전하지 않도록 해서 번 돈으로 지네들은 외제차를 사는?

이런 것도 내부 고발하는 사람이 많아져서 정화 작용이 일어나는 것이다.


구글이 잘해서 오래도록 구글 플랫폼 제품만 썼었고 애널리틱스나 애드센스는 확실히 메리트가 있다. 그러나 블로그는 확실히 티스토리가 낫다. 아직은 개인이 만든 블로거 앱보다 뒤쳐지지만(앱에서 쓴 글만 편집할 수 있는 등) 앱도 무료도, 다른 부분은 확실히 더 좋을 것을 느낀다. 그리고 모든 면에 의해서 더 좋아질 것을 기대한다. 서버 유지 비용으로 애드센스 수익을 몇%를 나누는 등의 방법을 통해서 금전적으로도 지속 가능한 서비스가 될거라 생각한다. 


술도 한잔했고, 잡썰이 길었네.


새로운 공간에서 일기를 쓰니 기분이 묘하다. 아쉬운 점은 이전 블로그 글을 옮기는 과정에서 1/3은 버려지게 되는 것 같다. 모두 어릴적 생각들이라... 남겨둬야 하는데 부끄러운 것도 있고. 어차피 부끄러울 일은 어른이 되어서도 많은데 굳이 지난 날 생각이나 추억을 지울 필요가 있는지도 잘 모르겠다. 그래서 아쉽다. 다 옮기지는 못하고 지워야 하니... 아까운 것은 프린트를 하는데. 이미 A4지 한박스를 쓰고 한박스 더 주문했다. 삼천포로 빠지면(이제 사천시) 종이는 확실히 80g 이상을 써야 한다. 너무 좋다. 그리고 어른이 되어서 부끄러운 것은 우리 아이들에게 미세먼지 많은 대한민국을 물려주게 되어서 정말 미안한 마음 뿐이다. 아이들에게 뭐라고할 자격도 없다.


암튼 블로그 발전하고, 카카오랑 네이버랑 합병해서 국내에서 그만 경쟁하고 카카오 세계로 뻗어 나가서 다 먹어 버렷. 아니면 위쳇, 라인, 페북 메신저 등과 호환되는 notice 시스템을 만들어서 국가 재난시 알림이 가도록 했으면 좋겠다. 우주인이 침공할 것 같아... 왠지. 느낌이 그래.





사족으로 배터리 싸이클



중고 맥북 살 때 배터리 사이클은 보지 말아야 겠다. 4개월째 사용중인데 (31일에 만 4개월) 15회 밖에 안되네.


그것도 키보드 갈았더니 1로 초기화됨... 하판 다 갈아준 듯. 상판 디스플레이는 수명이 없나? 중소로 팔기 전에 키보드 바꿔서 비싸게 팔아도 되겠네라는 망상? (귀찮아서 그럴 위인 못되지만. 알고는 있어야지) 키보드 수리비가 50만원이라 큰 이득은 없어 보이지만.

결론만 말하면, 커뮤니케이션 잘하는 디자이너가 쓰는 툴이면 뭐든 좋다.



난 zeplin이 좀 더 맞는 듯(소통이 잘되서) 이미지 다운 안되는 부분 있으면 알아서 보내주고 그러니까... 일전에 알던 어떤 디자이너는 나인패치까지 만들어 줬었다.(안드로이드 하던 시절)


웹뷰일 뿐이겠지만 어플이 하나 더 있어서 화면 전환하기가 편해서.


나머지 기능은 똑같아 보인다. 엔진이 같을 듯.



결론만 말하면 안 지워진다.


내가 지운 글에 있던 사진이다.

https://1.bp.blogspot.com/-J9n86LoUacc/XB8nO-ZiYXI/AAAAAAABw5w/NKHYjhs1JtoqbJneLvSuk5YW5Q7LVhkXwCLcBGAs/s1600/233332323.png

이런 주소로 저장이 되기 때문에 블로그 이전하며 글을 지워도 티스토리에서는 계속 해당 사진을 볼 수 있는 것이다.


그럼, 왜 안 지워질까?


빅데이터 가공하는데 이용되기 때문이다.


- 끗 -


사족으로 "이건, 잘못된게 아니라고?" 이런 질문을 받을 수도 있겠다.


내가 스타트업 있을 때 스타트업 사장한테 배웠다.

힘 있는데 나쁜 짓 하는게 뭐가 나쁘냐고.

그 때는 그 말을 하며 삼성을 미워하는게 정말 싫었는데, 그 뒤로 프리랜서, 중소기업 직원으로 일하면서 알게 되었다.

모두가 그렇게 하는 것을.

그래서 교훈으로 남았으나 우리 가족은 정말 힘들 세월을 보냈었다. 그런데도 나쁜게 아니라고?


나쁜게 아니라는 결론이다.


원망은 없다. 말년에 복수하면 되니까. 보통 밥을 다 짓고 난 다음에 재를 뿌려야 진정한 복수다.


다만 힘있는 자들이 이렇게 한다는 것을 모르면 안되겠다.


이런 진실들이 여기 많다. -> 뉴스타파 



'Blog History' 카테고리의 다른 글

미금역 건진 장소  (0) 2019.01.18
꿀위키라는 정의가 존재했었다.  (0) 2019.01.15
개인 방송에 욕이 많은 이유  (4) 2019.01.08
방관자 효과... 털린 집은 또 털린다.  (0) 2019.01.08
PC방 살인사건  (0) 2019.01.08

아나콘다 쓰지 말자.

conda install anaconda-clean
anaconda-clean --yes

rm -rf ~/anaconda3

rm -rf ~/opt/anaconda3

rm /usr/local/bin/python3 삭제전에

which pip                                                   1 ↵ ──(Tue,Mar05)─┘

pip: aliased to /Users/junhoha/.pyenv/versions/3.9.13/bin/pip
(base) ┌─(~)─────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:23:44)──> which pip3                                                        ──(Tue,Mar05)─┘
/usr/bin/pip3

뭐지 저 가상환경은 언제 또 만든거지.

나중에 다 지운다고 생각하고 일단 다 백업하자.

/usr/local/bin/python3.9 -m pip list

하나하나 백업하기 힘드므로

pip list | awk 'NR>2 {print $1}' | tee ~/hjh_pypackage.txt 

위 2줄 빼고 패키지 이름만 일단 저장함.

└─(17:36:55)──> brew list | grep python                                           ──(Tue,Mar05)─┘
python-tk@3.10
python@3.10
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:17)──> brew uninstall python-tk@3.10                                     ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python-tk@3.10/3.10.13... (5 files, 151.0KB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:51)──> brew uninstall python@3.10                                        ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python@3.10/3.10.13_2... (3,131 files, 57.3MB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:59)──> which python3                                                     ──(Tue,Mar05)─┘
/usr/local/bin/python3 

뭐야...

아... 내가 컴파일 해서 썼었구나.... ㅠㅠ 이제 성능이 매우 뛰어나다는 3.11 로 가보자. 공식 사이트에서 3.11.8 받았다.(2월 updated)

GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \
   GDBM_LIBS="-L$(brew --prefix gdbm)/lib -lgdbm" \
   ./configure --with-pydebug \
               --with-openssl="$(brew --prefix openssl@3.0)"

 

make -s -j2

 

Could not build the ssl module!

Python requires a OpenSSL 1.1.1 or newer

brew update
brew upgrade openssl

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include"

make clean

./configure --enable-optimizations   

안되네.

brew upgrade openssl@1.1

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib $LDFLAGS"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include $CPPFLAGS"
./configure --with-openssl=$(brew --prefix openssl@1.1) --with-openssl-rpath=auto
make

XXXXX

export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib $LDFLAGS"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include $CPPFLAGS"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"

./configure --with-openssl=/opt/homebrew/opt/openssl@1.1 --with-openssl-rpath=auto

make clean
make

 

우분투에서

cd /usr/src

sudo wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz

... https://tecadmin.net/how-to-install-python-3-11-on-ubuntu-22-04/ 여기 껄로 참조~

 

How To Install Python 3.11 on Ubuntu 22.04 / 20.04 – TecAdmin

As of today, Python 3.11 is the latest version available for installation. Python developers who want to start creating a new application should use the latest version. This tutorial will help you to install Python 3.11 on Ubuntu systems. In this guide, we

tecadmin.net

 

/usr/src/Python-3.11.8$ ./python 
Python 3.11.8 (main, Mar  5 2024, 18:19:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

 

cat hjh_....txt | while read pkg; do python3.9 -m pip install "$pkg"; done

로 패키지 설치해주면 됨.

 

=============

여기가 비싼 지식

=============

회사에서는 google cloud api 를 다수 이용하고 있다. firebase, ai 등 포함.

https://cloud.google.com/python/docs/setup?hl=ko

 

Python 개발 환경 설정  |  Google Cloud

의견 보내기 Python 개발 환경 설정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드에서는 Google Cloud에서 실행되는 Python 앱 개발을 포함하여 Python 개

cloud.google.com

document가 워낙 많고 3.7 이상이면 된다고 하지만 3.12 쓰다가 서버 날리고 재설치 했다. 3.11도 안되는 부분이 많다. 속도 빠르다면서 갑자기 스턱이 되어 버리고 터미널까지 멈춰서 강제 종료 해야 한다.

 

결국 찾은 버전은

3.9 가 가장 안정적.

3.10.12 도 잘 된다.

python 3.9.13 을 쓰는데 python 3.10.12 도 괜찮다.

마이너버전까지도 맞춰야 관련 라이브러리나 연결된 API를 쓰는데 크게 무리가 없다는 생각이다.

이 "궁합" 문제는 내가 개발자를 하는 30년 넘게 있어온 문제이다. 파이썬 2와 3 싸울 때 만큼은 아니지만, 아직도 버전이 넘어가면

중구 난방이라는 느낌을 지울 수 없다. 그래서 requirements.txt 도 중요한 것이겠지.

작은 기록들도 큰 책임을 지고 있는 사람들에겐 수억원의 가치가 있다.는게 내 생각이다. 언젠가는 3.11로 가야한다. 성능 향상을 버릴 수는 없으니. 그러나 적어도 5년 뒤 정도 생각하고 있다.

/usr/local/bin/python3.9
pip3
pip 23.1.1 from /Users/junhoha/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

pip3
pip 24.0 from /Users/junhoha/.pyenv/versions/3.9.13/lib/python3.9/site-packages/pip (python 3.9)

pip
pyenv which python                                                                                                              ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/python
┌─(~)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s000)─┐
└─(16:43:46)──> pyenv which pip                                                                                                                 ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/pip

 

 

 

===========

 

지난 추억... 아이패드 프로는 구독자에게 아이패드는 지인에게... 

 

 

 

참 앞으로는 구독자 이벤트 안 하기로 했다능. 

'{Infra} Server Setting' 카테고리의 다른 글

rm -rf / 방지  (0) 2019.01.16
서버 인코딩 문제 결국 로직으로 해결 *2024 updated.  (0) 2019.01.16
reboot 이후  (0) 2019.01.11
docker가 말썽을 부릴 때...  (0) 2019.01.11
proxy setting - 2  (0) 2019.01.11

이불을 빨고 나서도 이지경이면, 반품이 맞는 것 같아서 일반 반품 신청했다.


마음 같아서는 longterm 을 더 많이 재어서 사용하고 싶은 마음이다. 이불이 너무 포근하고 좋기 때문이다. 오죽하면 바로 반품하지 않고 세탁을 했을까.

아이가 없다면 그냥 쓰겠는데, 이것은 정말 아니다 싶었다. 

라돈 침구류는 세탁한다고 없어지는 것은 아니라는 것을 알게 되었다.

http://biz.chosun.com/site/data/html_dir/2018/07/30/2018073002013.html

2011년 판매 한 제품을 2018년에 회수할 정도니 이건 절대 못 쓰겠다는 확신이 들었다.

더불어... 내가 집에 라돈 측정기로 구석구석 측정하고 롱텀이던 숏텀이던 50 넘은 적이 없었다. 그래서 안심하고 지인들에게 빌려주기 시작했었다.

다시 나에게 돌아왔을 시기에 우연찮게 측정하게 된 것이다. 그 덕에 라돈 관련 카테고리도 만들게 되었다.


지금 자정이 넘은 시각, 5시간 정도 측정한 것 같은데 내일 아침까지 측정해서 long term value를 공유할 생각이다.


인기없는 블로그라 매출에 이상이 있진 않을 것 같은데, 지금 롱텀이 많이 떨어진 것을 보면 혹시 정상 수치(148)가 나올지도 모르니까. 외국은 이 수치가 더 낮은데 꼴랑 20 차이라

반품은 피할 수 없겠다. 세탁 했으니 확인하고 수거하라고 하긴 했다.




간단하다. snapkit 과 기타 소스로 프로그램을 짠 다음... 코드로 색상을 입혀주면 된다.


    //MARK: Angel Theme

    let mainMenu_cell_masterTextColor : String = "...."

    let mainMenu_cell_backgroundColor : String = "...."


    //MARK: Dark Knight Theme

    //    let mainMenu_cell_backgroundColor : String = "...."

    //    let mainMenu_cell_masterTextColor : String = "...."

'!A. Basics' 카테고리의 다른 글

탭바 컨트롤러 인덱스 알아내기  (0) 2019.01.14
collections removeall()  (0) 2019.01.14
changing detail view in MDview  (0) 2019.01.12
헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12

splitViewController의 viewControllers[1]이 detailView이다.

[0]은 master View

viewcontroller를 상속하였기에 뷰 컨트롤러를 넣을 수 있으니 기존 만들어 둔 뷰 컨트롤러를 붙이기 딱 좋다.

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        switch indexPath.row {

        case 0:

            debugPrint("indexPath.row - 0")

        case 1:

            debugPrint("indexPath.row - 1")

            let detailViewController = self.storyboard?.instantiateViewController(withIdentifier: "detailview1") as! UINavigationController

            self.splitViewController?.viewControllers[1] = detailViewController

        case 2:

            debugPrint("indexPath.row - 2")

            let detailViewController = self.storyboard?.instantiateViewController(withIdentifier: "detailview2") as! UINavigationController

            self.splitViewController?.viewControllers[1] = detailViewController

        case 4 :

            debugPrint("indexPath.row - 3")

            let detailViewController = self.storyboard!.instantiateViewController(withIdentifier: "detailview3")

            self.splitViewController?.viewControllers[1] = detailViewController









FMI (For More Information)

https://stackoverflow.com/questions/38092605/how-to-change-detail-view-in-splitviewcontroller-programatically-in-swift



'!A. Basics' 카테고리의 다른 글

collections removeall()  (0) 2019.01.14
테마적용?  (0) 2019.01.12
헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12
싱글톤은 최소 2개 이상  (0) 2019.01.12

https://www.raywenderlich.com/1039-scanner-tutorial-for-macos



cell.backgroundColor = UIColor(hexColor: "9d9d9d")





extension UIColor {

        convenience init(hexColor: String) {

        let scannHex = Scanner(string: hexColor)

        var rgbValue: UInt64 = 0

        scannHex.scanLocation = 0

        scannHex.scanHexInt64(&rgbValue)

        let r = (rgbValue & 0xff0000) >> 16

        let g = (rgbValue & 0xff00) >> 8

        let b = rgbValue & 0xff

        self.init(

            red: CGFloat(r) / 0xff,

            green: CGFloat(g) / 0xff,

            blue: CGFloat(b) / 0xff, alpha: 1

        )

    }

}


기계 산지 몇 달 만에 40넘는 것도 처음인데 302... 아이 발레 학원 데려다 주기 전에 올려놨었다가... 보고

고장난 줄 알고 빼서 보다가 떨어지는거 보고 다시 올려서 사진 찍었다.

사업 하시는 분께 누가 되지 않고 싶지만, 이건 좀 너무하다 싶어서 (사실 쌍욕이 하고 싶지만) 다른 분들을 위해 올려둔다.

쿠팡에 싸게 나와서 전량 매진 되었던 제품이기 때문이다. 피해자 많을 듯.



일단 빨아보자. 그리고 자는 동안 재 측정해서 다시 포스팅을 올려보려고 한다.






만든이 사이트

파일 7zip 은 여기서

AllCap_v1102.7z


정말 멋진 프로그램이다. pe포멧이라 윈도우에서만 된다.


'will be deleted.' 카테고리의 다른 글

크롬_필수_플러그인  (0) 2020.09.24
Everyday  (0) 2019.03.13
티스토리 좋은 서식  (1) 2019.02.02
Google Analytics  (0) 2019.01.28
google search console  (0) 2019.01.25



class CustomCell_mainMenuCell: UITableViewCell {

    

    let displayName = UILabel()

    let img = UIImageView()

    

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {

        super.init(style: style, reuseIdentifier: reuseIdentifier)

        

        img.image =  imageLiteral(resourceName: "temp")

        

        displayName.translatesAutoresizingMaskIntoConstraints = false

        displayName.font = UIFont.appRegularFontWith(size: GS.s.commonFontSize)


        contentView.addSubview(displayName)

        contentView.addSubview(img)

        

        img.snp.makeConstraints {

            $0.right.equalToSuperview()

            $0.width.equalTo(12)

            $0.height.equalTo(GV.s.mainMenu_cell_height)


정의하고,




        self.tableView.register(CustomCell_mainMenuCell.self, forCellReuseIdentifier: "titleCell")

        

등록하고,


 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        

        let cell = tableView.dequeueReusableCell(withIdentifier: "titleCell", for: indexPath) as! CustomCell_mainMenuCell

        

        cell.displayName.text = GV.s.title_mainMenu[indexPath.row]

        

        cell.value.font = UIFont.appRegularFontWith(size: 17)

        cell.value.font = UIFont.appLightFontWith(size: 15)

        

        switch indexPath.row {

        case 0:

            break


쓴다.




싱글톤은 최소 2개 이상 만들어야 한다.

나 같은 경우 UI를 그리기 위한 GlobalVarialbes 와 전역 설정을 위한 GlobalSettings 는 꼭 만들고 시작한다. 안드로이드 10년 동안 할 때도 마찬가지였다.

동시성 코드는 일하고 있는 곳의 코드라서 못 넣고 일반적인 소리만 한다. 하나마나 ^^

class GV {

    

    static let s = GV()



    private init() {

   enum text {

        case content

        case label

    }


    func bssBarTextAttributer(_ label : UILabel, _ type : text) {

        switch type {

        case text.content:

            label.font = UIFont.init(name: "".font1B(), size: GV.s.ui_dashboard_bssBar_panel_fontSize)

            label.textColor = UIColor(red: 62, green: 62, blue: 62)

            label.textAlignment = .center


        case text.label:

            label.font = UIFont.init(name: "".font1(), size: GV.s.ui_dashboard_bssBar_panel_label_fontsize)

            label.textColor = UIColor(red: 128, green: 128, blue: 128)

            label.textAlignment = .center

        }

    }


이렇게 정의한 후


    lazy var sensorBS : UILabel = {

        let label : UILabel = UILabel()

        label.text = "---"

        bssBarTextAttributer(label, text.content)

        return label

    }()


    lazy var bloodSugar : UILabel = {

        let label : UILabel = UILabel()

        label.text = "---"

        bssBarTextAttributer(label, text.content)

        return label

    }()


    lazy var bolus : UILabel = {

        let label : UILabel = UILabel()

        label.text = "-.--"

        bssBarTextAttributer(label, text.content)

        return label

    }()


편하다. 후행 클로저 같은 솔루션도 있으나 snippet 이 안됨. 그리고 요걸 맞보면 못쓰지 ^^ 싱글톤에 넣어 전역에서 써주면 더욱 좋다.

'!A. Basics' 카테고리의 다른 글

헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12
싱글톤은 최소 2개 이상  (0) 2019.01.12
Snapkit closure 이해  (0) 2019.01.07
JAVA C/C++ Objective-C Swift  (0) 2019.01.02



그런, 크롬 플러그인 때가 더 그립긴 하다.


구글에서 하나 만들어서 넣어줘도 좋을 듯.


'블로그 항해 일지 > Tips' 카테고리의 다른 글

어제 오늘 방문자 수  (0) 2019.02.08
powergrep exclude  (0) 2019.01.22
github에서 repo 미리 만들고 커맨드로 머지하기  (0) 2019.01.07
파이썬 관련 주요 인물  (0) 2019.01.06
Android 개발자 iOS전환 - 2  (0) 2019.01.03


네이버와 국내 경찰청은 연계되어 있다. 즉, 국가 기관과 연계되어 있다는 뜻.


그런데 국내 검색창은 아직 이런 상태다. 찾고 싶은게 없다. 도저히 없다. 국민 청원 빼고는 어느 국내 정부 기관 사이트 가도 제대로 동작하는게 없다. 성범죄자 알림 서비스도 가끔 이용하는데 너무너무 불편하다.


구글 이용할 때의 느낌은 없다. 내가 원하는 것을 찾아 주었으면 좋겠다.


다른 건 잘 된다고 변명하고 싶어도 국가와 짜고 진실을 왜곡한 적이 있어서 그러지 못하는거 알아서 쓴다.


그래도 어쩌겠나, 해외 도둑놈 보다는 국내 도둑놈이 더 잘되었으면 좋겠다는 마음.



최근 수업 과정에서 오드로이드와 라즈베리 파이의 GPIO로 소프트웨어 PWM, RS-232를 구현하고 있다. 물론, 하드웨어의 PWM을 이용하는 것보다는 깨끗한 파형을 내기 힘들다. 그러나 오실레이터나 크리스탈, 혹은 CPU Clock을 SW로 나누고 그것을 이용해 모터를 제어 하거나 관련 프로토콜을 SW로 구현하는 것은 꽤 괜찮은 수업 방식이라고 생각되어 진행하게 되었다.


결론은 잘 된다는 것. <- 이게 젤 중요하지


그러나 구현 과정에서 학생들이 보드를 많이 태웠는데 그 이유는 다음과 같았다.


1. 전원 연결이 중간에 끊겨 GPIO의 전류가 역방향으로 흐르게 하였다. 전원 껐다 켰다 하며...

2. 장치 연결 시 풀다운 저항이나 캐패시터를 이용하지 않았다.

3. 데스크톱과 직접 연결 시 전압 체크를 하지 않았다.

4. 주변 장치 연결 시 전원이 켜진 상태로 연결하였다.(GPIO, 화면 출력을 위한 HDMI 포트 等)


그리하여 작년 수업 과정과 합해서 총, 15대의 보드가 고장 났다. 물론, 1달 내내 수많은 과제를 하는데, 관련 과제가 많아 보드를 혹사시키는 것도 문제다. 실습 장비가 없으면 안되기에 미리, 어느 정도 귀띔은 해준다. 따라서 고의적으로 보드를 태우게 한 것은 아니다. 다만, 전자공학과 및 컴퓨터 공학 대학원까지 졸업하거나 전자공학과 4학년을 졸업한 친구들도 있기에 실무는 다르다는 것을 말해주고 싶은 마음이 있는 것은 사실이다. 간단히 말하면 보드를 태운 경험은 정말 소중하다는 것. 고의는 아니지만, 그에 따르는 수리나 추가 구입 비용에 대한 질타는 내 몫이다.


실무경험으로 한 가지 확실한 것은 GPIO를 이용한 프로젝트 진행 時 오드로이드에 반해 라즈베리 파이는 쇼트가 잘 나지 않는다는 것. 두 보드 모두 장/단점이 있고 이용 목적에 따라 다르다. 다만, 앞으로는 교육 비용 문제로 격이 더 저렴한 라즈베리파이를 이용하게 될 것 같다. 사실, 커뮤니티가 잘 안 되어 있는 보드를 찾아서 작년 1달 교육을 진행했는데,... 이제는 위키가 너무 잘 되어 있는 것도 하나의 이유.


소스는 github에 GPL 3.0으로 공개하고 모두 함께 작업하기로 하였다.


소스를 바로 보는 것은 실력 향상에 도움이 되지 않으니, 다음과 같은 과정을 거쳐 공부하길 바란다.


1. 오실로스코프로 UART 단자의 신호를 분석한다.

2. 하드웨어/소프트웨어 플로우 컨트롤 및 패리티 비트를 빼고 10비트가 나오는지 확인한다.

3. 시작 비트는 0 이 되는 순간이다.

4. 같은 신호를 GPIO와 delay 함수를 이용하여 구현한다.

5. usleep은 문제가 있어서 다른 함수(nanosleep)를 찾게 되고, 그것도 여의치 않아서 시간 계산을 따로 하는 함수를 찾게 된다.

6. 구현된 신호로 GPIO를 이용하여 UART Tx를 만든다.

7. 한 문자만 보내는 것을 여러 문자가 보내 지도록 함수를 만든다.

8. Rx도 같은 방법으로 구현한다. 다만, 같은 GPIO로 연결하면 둘 다 HIGH 상태이기 때문에 [처리]가 필요.

9. Tx, Rx 모두 구현하기 때문에 자신만의 신호를 만들 수 있다.

10. 완성형 한글 지원부터 유니코드 지원까지 customized UART protocol을 만들어 본다.

11. RS-232, 422, 485 까지 비교해 본다.


이런 과정을 거치면 같은 시리얼 통신인 CAN, I2C, SPI, I2S, CAN, USB 등을 한 번에 이해할 수 있게 된다. 일이관지(一以貫之, 하나의 이치로 모든 것을 꿰뚫는다). 인터넷을 돌아다니다 보면 UART, SPI, I2C 잘못 비교된 글이 많더라. UART 자체적으로 RS-232, 422, 423, 485 에 따라 속도나 전송거리, full/half duplex로 나뉘는데 그걸 마치 UART와 SPI, I2C의 차이로 적은 자료가 많았다. 주의! 주의!


'블로그 항해 일지 > Embedded' 카테고리의 다른 글

x86용 부트코드  (0) 2019.01.08
ODROID GPS 모듈 입양 完  (2) 2019.01.08
GPIO 제어 via 블루투스 on 삼성폰  (0) 2019.01.08
블루투스 연결  (0) 2019.01.08
GPIO 컨트롤  (0) 2019.01.08

sudo -s

screen -S fastapi

screen -S tensorflow

screen -S proxy

eval $(ssh-agent)

Ctrl + a, d

apache 점검

proxy 점검

nginx 충돌 점검 systemctl stop nginx

IP 접속하면 domain 으로 넘어가는지 확인

ssl 정상 연결 확인.

인증서 유효기간 확인

/nginx/certificates# openssl x509 -noout -enddate -in ./fullchain_socanner.pem
notAfter=May 10 00:25:04 2024 GMT

FE/BE 서비스 점검.

서버 모니터링...

 

-=0-0=-0=0-=0=-0=-0=-0=-0=-

 

 

 

저작권 벌금 절약 :  마이크로 소프트의 속셈은 잘 모르겠지만 쿠팡에서 소프트웨어를 너무 싸게 판다. 1년 넘은 것 같다.

 

꽤 괜찮은 듯

 

전시회 정보는 왠만한 곳에서는 제대로 나오지도 않는다. 그래서 다들 인터파크 인터파크 하나 보다.

 









 

얜 너무 온순해서 집에서 키워도 되겠다.
 
알비노가 확실히 예쁘더라
 
개발자니까 파이썬이라고 해야 하나?
 
 



 



 



 

 

+ Recent posts