요약


소스 수정이 필요한 경우 빠르게 대충 땜빵 코드 넣을 건가 ? 아니면 프레임웍 자체를 바꿀건가 ? 위 2가지 선택에서 발생하는 비용계산.


내용


우리에게 시스템에 추가해야 하는 기능이 있다고 치자. 이 일을 하는 데에는 두 가지 방법이 있다. 하나는 (물론 나중에 잘 가다듬을 생각을 하며) 좀 지저분하지만 빠르게 처리하는 방법이다. 다른 하나는 설계가 더 깔끔하지만, 준비 시간이 더 걸리는 방법이다.


기술 부채(Technical Debt)는 이 문제를 잘 이해하도록 워드 커닝햄(Ward Cunningham)에 의해 고안된 멋진 은유다. 이 은유에 의하면, 빠르지만 지저분한 방식으로 일하면, 회계에서 말하는 부채와 유사한 기술 부채로 압박받게 된다. 회계 부채와 같이, 기술 부채는 지저분하면서 빠른 방법을 사용했기 때문에 추가 개발 노력을 기울임으로써 이자를 내야 한다. 우리는 이 이자를 계속 내기로 선택할 수도 있고, 지저분하고 빠른 방식의 설계를 리팩토링으로 개선하여 원금을 갚을 수도 있다. 원금을 갚으려면 비용이 들지만, 앞으로 치를 이자가 줄어드는 이점이 있다.


출처


https://brunch.co.kr/@pubjinson/23





소개 / 블로그

Chatbot Magazine

https://chatbotsmagazine.com/


Facebook 챗봇 그룹

https://www.facebook.com/groups/chatbotory/


How to Create a Facebook Messenger Chatbot : Social Media Examiner

http://www.socialmediaexaminer.com/how-to-create-facebook-messenger-chatbot/


Microsoft Bot Framework 시작해보기(1)

http://youngwook.com/220833049518

BOT F/W 사이트

Create a Facebook AI Chatbot Without Coding

https://chatfuel.com/


Botsify - Create artificial intelligent chatbots without coding.

https://botsify.com/


Microsoft BotBuilder

https://github.com/Microsoft/BotBuilder/tree/master/Node/examples


Microsoft Bot Framework

https://dev.botframework.com/


NLU / ChatFlow

https://login.kitt.ai/#/





구매일시


4/14일 S8+ 풀커버 필름 10장에 배송비 포함 약 8,000 원 정도의 필름을 구매


스크린샷



스크린 샷은 하단에 구멍이 뚤린 이전 s7의 사진임 -_-;


궁금증


과연 제품이 잘 도착할지가 궁금한데... 가격 하나는 싼거 같아 속는 샘 치고 일단 구매 !!

( 구멍 뚤려 있으면 있는데로 써야 될 듯 )


구매링크


https://ko.aliexpress.com/item/10pcs-lot-3D-Curved-Full-Screen-Screen-Protector-For-Samsung-S6-edge-S6-edge-Plus-S7/32741996798.html?spm=2114.13010608.0.0.aaDh7a


( 알리익스프레스에서 개인적으로 구매함 )

후기


도착 하면 작성 예정 ... 아마 1달 뒤가 될 듯 )


8일 걸려서 도착 했네요.


사진과 같이 풀커버 형태고 전면용 입니다. (후면은 없음) 그래도 10장에 대략 장당 800원 정도니 저렴하니 좋은거 같습니다.


1달에 한번정도 바꿔가면서 쓰려 합니다. ㅋ 자주 바꿔서 청결하게 ㅎㅎ






경로


/Applications/Android Studio.app/Contents/plugins/android/lib/layoutlib/data/fonts




설정


위 경로에 존재하는 font.xml 파일에서 아래와 같이 한글 언어정보를 추가적으로 설정하면 됩니다.


    <family lang="ko">
        <font weight="400" style="normal" index="1">NanumGothic.ttf</font>
    </family>



전/후 비교







매일 바탕화면(~/Desktop)에 스크린샷이 저장되어 불편했었는데 아래와 같이 경로를 바꿔주고 나니 화면이 깔끔해져서 좋네요


바꾸는 방법


parkwon@mac-pro:~$ defaults write com.apple.screencapture location ~/Desktop/screenshots/

parkwon@mac-pro:~$ killall SystemUIServer


location 이후의 값을 원하는 경로로 바꿔 사용하면 됩니다.






아래와 같은 버그가 나타나는 경우


# golang.org/x/mobile/bind
../go/src/golang.org/x/mobile/bind/genjava.go:986: o.Val().ExactString undefined (type constant.Value has no field or method ExactString)
../go/src/golang.org/x/mobile/bind/genobjc.go:371: o.Val().ExactString undefined (type constant.Value has no field or method ExactString)


golang의 버전이 1.5.x 에서 발생하는 경우임 버전을 1.6 이상으로 하면 증상이 해결됨


2017.04.19 현재 최신버전 1.8.1 임. ( 그동안 놀아서 버전이 예전버전;; )



프로그래밍에 있어 트렌드가 없는 것이 아닙니다. 프로그래밍 트랜드는 효율성 향상, 커스터마이징 증가 및 사용 편의성에 기인한다는 것입니다. 이 중 하나 이상을 제공하는 신기술은 이전 세대를 압도합니다. 


다음은 오늘날의 프로그래머들 사이에 HOT한 것과 그렇지 않은 것의 목록입니다. 물론 이 두가지는 언제든 바뀌거나 변화 할 수 있겠지요 ...


#1. Preprocessors / Full language stacks


Javascript => CoffeeScript

Java => Groovy


기존 언어 대비 축약 형태의 전처리 언어가 유행


#2. Docker / Hypervisors


개발자는 Docker 컨테이너를 활용하여 손쉽게 필요한 항목만을 배포 할 수 있게 되었습니다.


#3. JavaScript MV* frameworks /  JavaScript files


Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS 등 

수십 가지 자바스크립트 프레임 워크를 활용하여 이벤트,컨텐츠를 손쉽게 처리할 수 있습니다.


#4. CSS frameworks / Generic Cascading Style Sheets


LASS, SASS, LESS 등과 같은 CSS 프레임 워크를 통해 변수, 중첩, 블록, 혼합 등의 기능을 활용하여 프로그래밍 구문 제공을 하여 손쉽게 작성 및 관리를 할 수 있게 도와줍니다.


#5. Video tags / Static tags


GIF, JPG와 같은 정적 이미지에서 VIDEO와 같은 동적 테그를 더 많이 선호하게 됨.


#6. Almost big data (analysis without Hadoop) / Big data (with Hadoop)


일반적으로 회사에서는 너무 큰 데이터는 분석이 어렵기 때문에 Hadoop 과 같이 고사양을 요구하는 빅데이터에서 일반적인 크기의 빅데이터로 변화하고 있다.


#7. Spark / Hadoop


스파크가 모든 것을 분산 파일 시스템에 쓰는 대신에 빠른 메모리에 데이터를 저장하는 방식이 가장 큰 방법 일 수 있습니다. 물론 많은 사람들이 Hadoop의 분산 파일 시스템에 저장된 데이터에 대해 Spark의 처리 속도를 사용하여 두 파일을 병합합니다.


#8. AI(Artificial intelligence), machine learning / Big Data


#9. Robotics / Virtual things


#10. Single-page web apps / Websites


#11. Mobile web apps / Native mobile apps


#12. Android / iOS


#13. GPU / CPU


#14. GitHub / Resumes 이력서


이력서 보다는 실제 결과물을 GitHub에 올리거나 기여한 것을 평가 과정에서 더욱 선호함


#15. Renting 대여 / Buying 구매


기존에서 서버를 구매한 것에서 Amazon에서 클라우드 서비스를 빌려 사용함


#16. Cloud complexity 복잡성 / Cloud simplicity 단순함


기존 클라우드 서비스는 단순하게 실행중인 시스템을 빌려주는 형태 였지만 이제는 시간당, 호출당, 서비스 이용 당 다양한 옵션을 제공하면서 이전대비 복잡하게 되었습니다.


#17. Data movement experts 데이터 이행 전문가 / Backup tapes 백업 테이프


#18. Audio / Websites


#19. Node.js / JavaEE, Ruby onRails


#20. PHP 7.0 / Old PHP


#21. Just-in-time education / Four years up front



출처 : http://www.javaworld.com/article/3189070/application-development/21-hot-programming-trends-and-21-going-cold.html




정보


트렌드 코리아 2017


저자 김난도, 전미영, 이향은, 이준영, 김서영, 최지혜|미래의창 |2016.10.31


16,000원


소개

# 닭 띠 해라서

=>  "CHICKEN RUN" 이라는 단어를 가지고 분석을 함.


# 대한민국 10대 트랜드 상품중 나의 선택

=> 간편식 고급화 1인식, 메신져캐릭터 오프라인, o2o 클릭구매, xxPay 간편결재  


( 아직 읽은 중 ... )





Main 에서 네트워크 작업을 수행하면 안됨 !! AsyncTask 를 사용하여 작업을 수행해야 됨


This exception is thrown when an application attempts to perform a networking operation on its main thread. Run your code in AsyncTask:


출처 :

http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception







#0. cocoa pod란 ?

주소

https://cocoapods.org/


설명

swift, object-c 의 의존성 관리 툴이라 보면 됩니다. (라이브러리 설치 시 관련 라이브러리가 자동으로 설치 되는 툴)



#1. cocoa pod 설치

$ sudo gem install cocoapods


위와 같이 하면 설치 가 됨.


#2. ruby 미설치 또는 버전 오류 해결

하지만 ... ruby 버전 2.2 이상이 설치 되어 있어야 된다는 것 !!


본인 같은 경우 루비 버전이 2.1 이여서 최신 버전으로 재설치 함.


설치는 brew를 통해서 수행 (brew 설치 방법은 일단 생략)


#3. ruby 최신버전 설치


다운로드

curl -L https://get.rvm.io | bash -s stable –ruby


루비 버전 목록 확인

rvm list known


루비 2.4.0 버전 설치 ( 2017.04.14 기준 최신 )

rvm install ruby-2.4.0


루비 버전 확인

ruby -v


루비 버전 변경

rvm use ruby-2.4.0


기본 버전으로 변경

rvm use ruby-2.4.0 --default


( 루비 최신 버전이 설치 완료되면 이제 다시 #1로 가서 재설치 하면 됩니다.)


#4. ruby 설치 시 brew 오류 해결


Requirements installation failed with status: 1.


위와 같은 오류가 나타난 경우에는 


brew link --overwrite --dry-run pkg-config


위와 같이 설정 정보를 덮어씌우고 #3을 재수행 하면 됩니다.





+ Recent posts