BLOG main image
LEEEJONG (165)
IT (53)
주관적평가 (31)
창작공간 (80)
109,971 Visitors up to today!
Today 5 hit, Yesterday 57 hit
daisy rss
tistory 티스토리 가입하기!
'IT/IT뻘글'에 해당되는 글 25건
2017.12.15 03:30

사실 PHP로 사회생활을 하다보니 자료형에 대해 생각할 필요가 별로 없었다.


프론트로 전향하며 Java / Swift / Objective-c를 접하다보니 Mutable 이란 단어를 자주 접하게된다.


사실 뮤터블 이란놈만 등장하고 임뮤터블은 뮤터블이 안붙으면 임뮤터블이겠지


우선 내가 참고한 블로그 주소를 적어본다.

> http://ledgku.tistory.com/54


내가이해한걸 정리해본다.


1. String, Int 등의 자료형은 그냥 당연히 IMMutable 이다. 

a = 3;

b = a;

이러면 a=3, b=3 이다

b += 3 하면

b만변하지 a는 변하지 않는다.


2. List, Dictionary 등은 Mutable하다.

a = [1,2];

b = a;

이상태면

a = [1,2]

b = [1,2] 같은내용이 된다

여기다가

b.append(3);

요래 해버리면

b에만 append되는게 아니라 a에도 3이 붙어버려

a = [1,2,3]

b = [1,2,3]

이 되버린다.


그니까...


매개변수로 보낸 놈 자체가 변할수 있다 아니다. 

파라미터로 보낸 놈 자체가 변할수 있다 아니다.

이게 뮤터블(변할수있는)을 판단하는 기준이 된다.



예를들어.


알람을 하나 설정하는데

알람 객체에 타이틀, 시간, 내용, 뭐 이런게 들어간다고 하자.

이 알람을 노티센터에 보내는데 이게 절대 안바뀌면 임뮤터블일테고

이게 뭐 5분뒤 알리기 같은 기능때문에 변할수 있게 된다면 이는 뮤터블이 될것이다.


그래서 우리 스위프트 튜토리얼 채널인 Kenechi Learns Code 에서는 뮤터블 UNMutableNotificationContent??? 머이런걸 사용하시나보다.


정리는 여기까지하고

마저 강의를 들으러 가 보자.


Name
Password
Homepage
Secret
2017.09.10 16:39

현재 

> https://www.slideshare.net/healess/python-tensorflow-ai-chatbot


위 강의를 보고 있다.

강의내용 중 초반에 Char-CNN을 사용하는데 이유로 다른 알고리즘보다 압도적인 성능을 갖고있다고 한다.


뭐 그렇다 치자


그 다음슬라이드에 Seq-2-Seq 를 소개하면서 RNN을 소개한다.

음.. 근데 여길 보니까 자연어 처리할때 많이 보였던 Encoder-Decoder모델이 보인다.


그래서 이걸 좀 파봐야겠다.


굳이 파볼 필요 없이 그저 소개정도에 그쳤으니 나도 여기서 마무리하도록 한다.


LSTM 뭐 어쩌구 저쩌구 여러 알고리즘이 있는데

각 알고리즘을 알고써야 각 인자를 적당한 걸 넣을 수 있기때문에 학습한다 정도로 이해하는게 좋을 것 같다.


결국 따져보니 이 게시글엔 내용이 없네

Name
Password
Homepage
Secret
2017.09.10 15:35



세미나에서 여러 팀이 발표할때 발표의 구조는 대략 비슷했다.


1. Motivation

- 나는 이걸 평소에 하고있었는데 이게 궁금해졌다.

2. Model

- 이를 모델링하기 위해 나는 RNN을 썼다 or DNN? CNN을 썼다.

3. 학습 Struggling 

- 이를 학습을 1주일시키고 했던 결과는 이렇고 그래서 모델을 바꿨다.. 혹은 학습을 더 시켰더니 이렇게 변했다.

4. 결과

- Heres our masterpiece...

- Please visit our git page.



보통 이런 구조로 얘기가 흘러간다.


그런데 여기서 확 짜증이 나는 포인트는 

2. 모델링 부터다.


우선 내가 RNN, CNN, DNN이게 뭔지 몰랐다.


대부분 발표팀이 RNN을 썼던건 기억나는데 그게 나오고나서 바로 모델을 짠 수학공식이 나온다.


여기서부터 멘붕이 왔기때문에 이부분부터 정복해 나가기로 한다.



우선 CNN RNN DNN은 Wikipedia 문서 중 Deeplearning 파트에서 찾을 수 있다.


일단 출발자체가 DL까지 진출했다는건 알 수 있다.

이제 각각이 무엇인지 학습해본다.


우선 뒤에 붙는 NN은 Neural Network라는뜻이다.

신 경 망


ANN이 단어의 출발이다 Artificial Neural Network ANN

DNN은 Deep Neural Network DNN



일단 인공신경망부터 정복하고 간다.


인공신경망(人工神經網, 영어: artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 )에서 영감을 얻은 통계학적 학습 알고리즘이다. 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다. 좁은 의미에서는 오차역전파법을 이용한 다층 퍼셉트론을 가리키는 경우도 있지만, 이것은 잘못된 용법으로, 인공신경망은 이에 국한되지 않는다.


뇌를 따라한 인간이 만든 "통계학적 학습 알고리즘"

인간은 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜 문제 해결 능력을 갖게 된다.

이걸... 따라해서 입력과 출력 사이에 여러 개의 인공 막? layer?를 만들어두고 like 시넵스  (인공뉴런) 이 결합 세기를 갖고있고 이를 통해 문제 해결 능력을 갖게 되는걸 ANN이라고 부른다.



올ㅋ


혼란이온다

이걸 읽고 딥러닝으로돌아왔는데

DNN은 ANN에서 입력과 출력 사이에 여러 개의 Hidden Layer로 이뤄진 ANN이라고 한다.


ANN을 다시 이해해야겠다.


 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다.


핵심은 이렇다. 시냅스 즉 인공뉴런들의 조합으로 만들어진 신경망 조직을 ANN이라고 부르고 DNN은 입력과 출력 사이에 Hidden Layer를 사용한 방식을 얘기하는거 같다.


그니까 여러 Layer 혹은 시냅스 혹은 인공뉴런들이 Connection을 갖고있고 그걸통해 문제를 해결하면 ANN인거다.


자 그럼이제 CNN


Convolutional Neural Network

합성곱???



티스토리 딥빡... 사진도 못올리게해 사진업로더를 왜 플래시로만드냐 ㅡㅡ...


여튼 Convolutional은 소용돌이치는 나선의.. 이런뜻이다.


CNN은 다계층 Perceptrons의 한 종류이다.

대박 이제 가닥이 나온다.



각 노드의 가중치를 곱하든 더하든 어떻게 해서 맞으면 1 틀리면 -1을 리턴하는 인공신경망 이름이 퍼셉트론이다.

CNN은 그 중 하나인데

CNN은 하나 또는 여러개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥 러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. 


CNN은 하나또는 여러개의 합성곱 layer가 있고 최소한의 전처리를 하도록 설계되어 있다고 한다.

자세한 내용은 관심이 없고 얘들은 2D형태의 데이터 처리에 효과적이며 쉽게 훈련되고 적은 수의 매개변수를 사용한다고 한다.


뭐 그렇다고 하는군.. 괜찮은 ANN인가봐


자 그럼이제 다음 RNN

Recurrent neural network

순환 신경망

이놈의 특징은 아래와 같다고 한다

순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다. 이러한 특성에 의해 순환 신경망은 필기체 인식(Handwriting recognition)과 같은 분야에 활용되고 있고, 높은 인식률을 나타낸다


그니까... 재귀함수처럼 얘는 인풋이 아웃풋으로 갈때 그냥 쭉쭉 가고 끝나는게아니라

지네들이 계산을 할때도 내부에있는 뉴런을 사용할 수 있다는 점이 특징인거 같다.

이야 이제 좀 인공신경망 인공지능 같아지네


좀더읽어보자.

순환 신경망을 구성할 수 있는 구조에는 여러가지 방식이 사용되고 있다. 완전 순환망(Fully Recurrent Network), Hopfield Network, Elman Network, Echo state network(ESN), Long short term memory network(LSTM), Bi-directional RNN, Continuous-time RNN(CTRNN), Hierarchical RNN, Second Order RNN 등이 대표적인 예이다. 순환 신경망을 훈련(Training)시키기 위해 대표적으로 경사 하강법, Hessian Free Optimization, Global Optimization Methods 방식이 쓰이고 있다. 하지만 순환 신경망은 많은 수의 뉴런 유닛이나 많은 수의 입력 유닛이 있는 경우에 훈련이 쉽지 않은 스케일링 이슈를 가지고있다.



여러 종류가 있다는거같고 훈련이 쉽지않은 이슈가 있는데 이걸 응용한 ESN, CTRNN, HRNN SORNN, 등등 재귀호출을 하는 신경망 모델이 이 분야에 많은것으로 보인다.


이 뒤에 제한 볼츠만 머신 (RBM), 심층 신뢰 신경망 (DBN), 심층 Q 네트워크  등이 있는데

난 이정도만 알고있으면 될거같다.



RNN CNN 얘기는 여기서 마무리하고 다음 학습을 이어가도록 한다.

Name
Password
Homepage
Secret
2017.09.09 00:42


1. Android animation

코드로 애니메이션을 만드는법


내가지금 쓸거는 TrnaslateAnimation인데 간단하게 new TrnaslateAnimation(0,0,0,100) 이런식으로 만들어서

setDuration 으로 동작시간 정하고

setFilterAfter? 이거로 동작후에거기 멈추라고 하면 된다.


근데 내가 만들 애니메이션은 복합 동작이다

먼저 아래로 움직이고 그 후 우측으로 움직인다.


그러려면 TranslateAnimation이 두번들ㅇㅓ가야되는데 그러려면


AnimationSet 이란 객체를 만들고 거기다 때려박으면 된다.


여기 내가쓴 예제를 올린다


_tvTarget = (TextView)findViewById(R.id.tv_target);


AnimationSet animSet = new AnimationSet(true);

TranslateAnimation downAnim = new TranslateAnimation(0,0,0,200);
downAnim.setStartOffset(1000);
downAnim.setDuration(2000);
TranslateAnimation rightAnim = new TranslateAnimation(0,200,0,0);
rightAnim.setStartOffset(3000);
rightAnim.setDuration(2000);

animSet.addAnimation(downAnim);
animSet.addAnimation(rightAnim);
animSet.setFillAfter(true);

_tvTarget.startAnimation(animSet);



올ㅋ 복사했더니 css까지 같이복사되네 신기방기


여튼 이런식으로 하면 된다.


2. 아이폰 레이아웃잡기


그 간단하게뷰 만들고 붙이는건 이래하면 된다


let textView = UITextView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))

        

        textView.text = “hihi”

        textView.center = self.view.center

        textView.textAlignment = NSTextAlignment.justified

        textView.textColor = UIColor.blue

        textView.backgroundColor = UIColor.lightGray

        

        self.view.addSubview(textView)



근데 이렇게작업하면 하루죙일걸릴거같아서

UI를 그리는 xib파일을 만들고 그걸 가져다 붙이는걸 찾았다

let myView2 = UINib(nibName: "myView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView


        

        self.view.addSubview(myView2)


xib이쁘게만들고 이렇게 subview 붙이면 이렇게 예쁘게 된다.


근데 생각해보니 이걸 가져온걸.. outlet을 만들어줘야되는데 이건 어떻게하지??

일단 몇개 읽어보니 fileOwner를 꼭 설정해주라고 하고


수동으로 하면 되는거같다.


근데 이건 해봐야겠다.


이상 오늘정리끝

Name
Password
Homepage
Secret
2017.07.09 22:33


약 2주전 고민고민하던 애플 에어팟을 드디어 구입했다.


그동안 워너비 상품이었음에도 불구하고 구입을 망설이고 있었던 이유는




드 럽 게 구 하 기 어 려 워 서 




이다.


뭔놈에 이어폰따위가 구매하려면 6주를 기다린다고 당당하게 표시를하는거지.




여튼 안그래도 기분나쁜데 이게 물량이없으니까 프리미엄이 붙어서

중고나라에서 원가인 21만 5천원보다 높은가격인 23만원정도에 미개봉신품 가격이 형성되버렸다.




저렴하게구매하는걸 좋아하는편이라 중고나라를 잘 가는데 이 가격 형성된걸 보고 더 기분나빴다.


그래서 안삼.




16-17 겨울시즌에 일본갈일이 있어서 시부야 애플스토어를 들렸는데 거기도 매물이 없어서 못샀다.


대신 일본에선 가격이 더 저렴하다. 만육천앤인가 만팔천앤인가... 그래서 한국보다 더 저렴하게 살수있었는데


여튼 거기서도 못사서 포기하고 살았다.





근데 문득 중고나라 보다가 어떤아재가 사용좀한거 15만원에 판다길래 직접가서 사왔다.


중고의 장점이라면 역시 악세사리가 딸려나오는거지.



여튼 그렇게 잘 쓰다가 


오늘 동식이랑 냉면먹방 찍으러 을밀대 갔다 오는길에 빵집에서 리뷰를 찍었다.


그래서 그 영상을 소개한다.



Fakee | 2017.07.09 22:42 신고 | PERMALINK | EDIT/DEL | REPLY
여태까지 눈팅해왔는데 얼굴은 처음 뵙네요
정말 잘 생기셨어요
BlogIcon 리쫑v | 2017.07.09 22:48 신고 | PERMALINK | EDIT/DEL
번달번줌
Name
Password
Homepage
Secret
2017.06.13 11:21

AI관련된 조사를하고있다.


알렉사로 출발해서 Google Assitant 클로바 왓슨 시리 빅스비 코타나 심심이 뭐 제품명은 무지 많은데 어디서 문제가 터졌냐면 나무위키 AI 비서 리스트에 왓슨이 안들어가 있는것을 발견한 이후부터다.




AI비서랑 AI는 뭐가다르지?


왓슨은 뭐하는? 어디까지? 아니면 뭘 얘기하는거지? 컴퓨터 시스템 자체인가?


왓슨은 의료용 산업용 등등 여러가지로 사용되는거 같은데 왓슨이랑 다른 어시스턴트랑 다른게 뭐지?



이런생각하는와중 


그럼대체 알파고는 뭐지? 얘도 컴퓨터인가? 클라우드위에올라간 소프트웨어이름인가?

텐서플로는 뭐지? Dev Kit도 팔던데 



또 들은 질문

누구 기가지니 얘들한테 들어간 인공지능은 뭐로만든거지? 오픈소스를 쓴거야? 뭐지?



----------------------------------------------



그럼 하나씩 답을 만들어보자.


AI비서랑 AI는 뭐가다른가.




한국어로는 못찾았다


내가언급한 AI 비서는 Virtual assistant라고 이름지어졌고, 때때로 챗봇이랑 비슷한 의미로 사용된다고 한다.

개인이 뭘 하는데 도움을 주는 Software agent라고 정의한다. (위키피디아)



그래 그럼 뭘 도와주는애인데 그걸 수행하는 동안 Artificial Inteligence가 개입을 하면 AI 비서인거네


그럼 AI가 좀더 큰개념이네


근데 그 Virtual assistant가 동작하는 배경에 '인공 지능'이 개입해야만 하기때문에 Virtual assistant는 당연히 AI비서인거네


음 그렇군.


wiki에 써있는 Virtual assistant 리스트는 내 생각보다 좀더 많다.


젤밑에 있는 삼성에 Viv는 비브 랩스 라고 빅스비 만든 회사인것 같다.

여기엔 듣보 한국 AI비서들은 안껴준거같다.


NHN Clova도 있고 누구, 기가지니에 들어간거도 AI비서인데...


지금 또 알게된건데

누구에 들어가있는 비서이름은 - 아리아 인거같다.

기가지니에 들어간애는 이름이 '지니'다





자 이제 두번째질문 왓슨은 뭐냐


나무위키 기준 정의는 아래와 같다.

  • IBM Watson : 자연언어 처리를 위해서 만들어진 컴퓨터이다. 제퍼디 퀴즈쇼에서 이전 챔피언들을 눌러버렸다. 2016년 5월에는 왓슨을 탑재한 인공지능 로봇 나오미가 등장했다.


자연언어 처리를 위해서 만들어진 컴퓨터.


위키백과 정의는 이렇다.


왓슨(Watson)은 자연어 형식으로 된 질문들에 답할 수 있는 인공지능 컴퓨터 시스템이며,[1] 시험 책임자 데이비드 페루치가 주도한 IBM의 DeepQA 프로젝트를 통해 개발되었다. 왓슨은 IBM 최초의 회장 토머스 J. 왓슨에서 이름을 땄다.[2][3]


AI 이름이 왓슨인거고 이는 물리적으로는 컴퓨터 시스템 자체를 얘기하는것 같다.

AI비서는 Software 시스템을 이야기하는것 같다.



뉘앙스가 약간다른거같다.


왓슨은 우리회사에서 사서 뭐.. 고객센터같은데다가 붙일 예정이란 얘긴 들어본거같고 의료, 법률, 심지어 요리같은 분야에서도 활동한다고 했다.


IBM 왓슨 소개페이지에서 데모를 보니까 

비선형적 정보를 해석하고

답변하는방법을 배우고

이를통해 자연어로 질문하면 이를 답변하는 시스템 자체를 왓슨이라고 부르는거같다.


그럼 얘도 인공지능 비서 같이 챗봇형태로 말하긴 하는데 형태가 비슷한거지 인공지능 비서랑은 조금 다른거네



아!!!!!!


인공지능 비서와 왓슨이 다른점은 학습하는 내용에 있구나


비서는 학습하는 내용이 뭐.. 일반적인 컨트롤 방법? 이런걸 인위적으로 학습시키거나 유저의 성향같은걸 학습할텐데

왓슨같은경우에는 처음부터 어떤 목적을 갖고 뭘 학습시킨뒤에 이를 이용하는거구나.



다만 형태가 자연어로 대화할수 있다는 점에서 비슷하게 '챗봇'형태를 띄고 있는거구나.



자 그럼 세번째질문


알파고는뭐지


알파벳의 구글 딥마인드에서 개발한 바둑 인공지능 프로그램프로기사를 맞바둑으로 최초로 이긴 프로그램이기도 하다. 이름에서 "Go"란 일본어로 바둑을 뜻하는 碁(바둑 기. 일본어 음독은 "고")[2][3]를 의미한다. 이는 일반적으로 서구 언론에서 바둑을 의미할 때 "고"란 말을 쓰기 때문이다. 


위에는 나무위키 정의다.


저기 적혀있군. 바둑 인공지능 프로그램

딥마인드라는 회사에서 만든거고, 얘는 인공지능 Software구나.

근데 이놈이 특별한 이유는 



머신러닝 기반 바둑프로그램이라는거다.


TPU라는 프로세서로 계산하는데.. 

이걸이해하려면 머신러닝이 뭔지알아야된다.

컴퓨터가 스스로 학습하는걸 보통 통계적 지식을 기반으로 판단하게 만드는걸 머신러닝이라 한다.


여튼 인간이 둬왔던 기보들을 학습하고, 거기다 지들끼리 뒀던 기보들을 또 학습해서 계산이 존나빠르고


존나많은 계산을통해 통계적으로 미친 한수를 찾아내는 기계가 알파고인것이다. 라고 나는 이해했다.






아.. 



내가 지금까지 얘기한 AI비서, 왓슨, 알파고 같은놈들이 계산을 하는데 들어간게 머신러닝 이겠구나







그럼 딥러닝은뭐냐



http://www.it-b.co.kr/news/articleView.html?idxno=12442


이런기사가있다

읽어보자





ㅡㅡ... 읽어보다가 머신러닝에서 딥러닝으로 넘어가는걸 보다가 소름돋았다...

세상이 이렇게변했구나.



자 요약한다.


난 요약을 잘하는 편이야

1. AI(인공지능)은 Narrow AI 개념으로 봤을때 인간이할수없는수준의 엄청난 계산과 반복잡업을 수행하는놈이다.

2. 머신러닝은 이 AI들이 뭔가 계산하고 판단함에 있어서 지가 학습한 내용을 가지고 판단한다는 점에 있다.

  근데 머신러닝은 Input기기 예를들면 스캐너 ... 음 예를들면.. 이건 썩은사과야 혹은 뭐 .. 이거 말로 설명이안된다 본문을 인용한다


현재 머신 러닝은 컴퓨터 비전 등의 분야에서 큰 성과를 이뤄내고 있으나, 구체적인 지침이 아니더라도 인공 지능을 구현하는 과정 전반에 일정량의 코딩 작업이 수반된다는 한계점에 봉착하기도 했다. 가령 머신 러닝 시스템을 기반으로 정지 표지판의 이미지를 인식할 경우, 개발자는 물체의 시작과 끝 부분을 프로그램으로 식별하는 경계 감지 필터, 물체의 면을 확인하는 형상 감지, ‘S-T-O-P’와 같은 문자를 인식하는 분류기 등을 직접 코딩으로 제작해야 한다. 이처럼 머신 러닝은 ‘코딩’된 분류기로부터 이미지를 인식하고, 알고리즘을 통해 정지 표지판을 ‘학습’하는 방식으로 작동된다.


3. 딥러닝은 여기서 저 코딩하는 부분마저도 컴퓨터가 해내는거다.

  그 기초에 인공신경망 이론이 있고, 이게 뭔지 자체도 컴퓨터가 학습하는거다.

  앤드류 응 박사가 구글에서 사진 천만장을 학습시키고 사람과 고양이를 구분해내는데 성공했다고한다.

  이게 딥러닝의 예라고 볼수있다.





대박..

공부해볼만한 주제인거같다.



얘기가 많이넘어갔는데 마지막 질문으로 넘어간다.


자그럼 TensorFlow는 뭐지?


답나왔다.


머신러닝을 할수있도록 만든 오픈소스 Software 라이브러리가 텐서플로이다....

이 미친구글


그리고 그걸 쉽게 배울수있게 TPU DEVKIT이란걸 만들어서 팔기도 하는거같다.


갓구글...


오늘 오전에 많은걸배웠다.

과학자님들 감사합니다.

Name
Password
Homepage
Secret
2016.09.01 14:53

내가담당하는 웹서버는 여러종류의 DB와 통신한다.


로컬DB로 MySQL, 기존 서비스들이 많이 사용하는 Oracle, 최근겜이 주로쓰는 MS-SQL, 일부겜이쓰는 POSTGRE 등등..


여튼 대충은 알았지만 그 여러종류의 조합이 가능하도록 창작자께서 Connection Manage Tool을 만들어두었다. 각 DB에 연결하는 세가지 방법을 제공하고있는데 이는 JDBC, PDO, SQL-RELAY 이다.


음 여기까지는 이전에 알고있었다. 세가지가 있다.. 정도?


지금 해외에 내보내는 툴은 MS를쓰는데 국내서비스에선 뭐 이전에 누가 쓰고있는 커넥션을 카피해서 만들었다. JDBC를 사용하는 옵션인데, 이게뭔지는 크게 관심이 없었다.


근데 이게뭐야


해외로 옮겨서 커넥션정보를 만들었더니 JDBC connection refuse 에러가 나네?


DB커넥션이 문제가있을거라고는 전혀 생각지도 못했기 때문에 일단 가마니가 되었다.


JDBC가 뭔지부터 알아봤다.


Java Database Connectivity. 라는데 자바로구현된 DB연결방법이라는걸 이름을통해 알수있었다. 그럼 어드민툴은 어떻게 이걸 사용하는가? 어드민툴 밑에 JDBC라는폴더가있는데 거기 자바 실행파일을 만들어두고, 그 프로세스를 로컬에서 띄우면, 어드민툴은 걔랑 소켓을뚫고 자바커넥션을 만든다.


왜 이걸썼는가는, 개발당시에 PDO가 MS-SQL을 지원하지 않았을까? 정도로 추측할수밖에 없었다.




여튼 그래서 DB접속이 안되는거다


해외에 나갈 서버는 Windows server 2012 r2다.


XAMPP 최신버전이기때문에 php7이다.


이걸 해결하기위해 서버에 VC를 설치하고, php extension으로 sqlsrv를 복사하고 ini에 해당내용을 추가했다.


그랬더니 된다.


정리하니 간단하지만


어제 나에겐 힘든 시간이었다.


정리하기귀찮아서 짧게쓴 감이 있지만 여기서 줄인다.


Name
Password
Homepage
Secret
2016.08.29 10:39
여러 디바이스에서 동일한 환경을 구축해두고 하던 작업을 이어서 할 수 있도록 세팅하는데있어 클라우드만큼 간편한게 없다, 그중에도 Local Storage와 자연스럽게 녹아드는 Dropbox 솔루션은 몹시 편리하고 활용가치가 높다.

다만 대부분의 회사에서는 클라우드 내지는 보조기억장치의 활용을 좋아하지 않기때문에 이에대한 대안을 찾고있다. 가장 여러곳에서 활용하는 Password관리 파일은 G Docs를 활용하니 깔끔해졌다.

음.. 어떤게있을까

우선 회사 작업내용의 외부유출이 껄끄러운것이라면, 회사작업폴더는 그냥 쌩까고 로컬에만 저장하는것이 좋겠다.

그럼일단 로컬스토리지에 개인문서와 업무문서를 분리해야겠다.


Name
Password
Homepage
Secret
2016.06.17 23:52

내가만든 어드민툴이 러시아로 나갈것같다.


그래서 다른겜들은 어떻게 보냈는지 알아보고있는데


이거하려면 어드민툴 내용파악이 필요해보인다.


1. 기존 대만,북미에나갔던 어드민툴 버전이랑 지금 어드민툴 버전이 다르다.

2. 그래서 .then Syntax를 사용할수없다.... 오? 씨?

3. 여튼 DB툴이 젤먼저 필요해보여서 기존거에다가 추가했다...

4. 생각해보니 버전을 올리고할지 내리고할지 정해야될거같다.

5. 올린버전으로 가야될듯 싶다.

6. 여튼 그담에 어떻게하는지 찾아보니 전임자가 정리해놓은게 있다.

7. JS파일, PHP파일에 선작업을 해두고, 타겟 텍스트들을 CSV로 추출해야한다고 한다.

8. 번역이되면 그걸 현재 내 로컬 MYSQL에 넣는다.

9. 그걸 MYSQL WORKBENCH로 추출해서

10. 그걸 대상에다가 다시 주입..하는거같다... 뭐하는짓이냐이게

11. 여튼 이걸 집파일로 묶어서 해외에 내보내면 되는것으로 보인다.

12. 그럼 이걸하려면 우선 내보낼 어드민툴 PHP버전올리는작업부터 해야겠다 ㅡㅡ

13. 그걸 올리느니 이미 올라간거로 새로 추출하는게 나을거같기도하다.

14. 음 이걸만든아저씨 고생많이했겠다.

15. 여튼 이거 다음주에 해야겠다.

16. 퇴근해야지

'IT > IT뻘글' 카테고리의 다른 글

어제한 삽질기록  (0) 2016.09.01
멀티디바이스 단일업무환경 구축  (0) 2016.08.29
해외 어드민툴 지원  (0) 2016.06.17
면접을 준비하며  (0) 2016.03.16
Optimus G 뒷면유리를 깨보았다  (0) 2015.07.28
2015/02/11 Oracle Digital Enterprise Forum 후기  (0) 2015.02.12
Name
Password
Homepage
Secret
2016.03.16 15:35

면접에 쓸 질문들을 모아보았다.


1. Override / Overload의 차이점.

Override는 재정의 / Overload는 인자의 수가 다를경우 처리

Overriding은 상속 관계에서 같은기능을 사용하지만 함수 내용이 다른경우 자식클래스에서 함수를 재 정의 하는것.

Overloading 은 리턴타입, 인자개수, 인자타입이 다를경우 함수를 재정의하는것.


+ Overriding이 가능하려면 함수이름, 리턴타입, 매개변수가 모두 동일해야한다.


2. Struct와 Class의 차이점.

언어적으로 Struct는 Public / Class는 Private

관습적으로 

Struct는 자료형만 는 의미로 사용된다.

Class는 내부 자료보다는 메소드가 중시되는 객체의 의미로 사용된다.


3. OSI 7 Layer


어플리케이션 - DHCP, DNS, FTP, HTTP - TELNET

프리젠테이션 - JPEG, MPEG

세션 - SSH, TLS - 포트

- Data


트랜스포트 - Segments - TCP, UDP, ARP - 게이트웨이

네트워크 - Packets - IP, ICMP, IGMP - 라우터

데이터링크 - Frames -  MAC, PPP - 브리지, 스위치

물리 - Bits - Ethernet - 허브, 리피터


'IT > IT뻘글' 카테고리의 다른 글

멀티디바이스 단일업무환경 구축  (0) 2016.08.29
해외 어드민툴 지원  (0) 2016.06.17
면접을 준비하며  (0) 2016.03.16
Optimus G 뒷면유리를 깨보았다  (0) 2015.07.28
2015/02/11 Oracle Digital Enterprise Forum 후기  (0) 2015.02.12
G3에서 LG OSP 사용하기  (80) 2014.12.10
Name
Password
Homepage
Secret
prev"" #1 #2 #3 next

티스토리 툴바