목록Smart Box (713)
Smart Box
현 시대에 모든 개발자들은 언제나 그리고 편하게 오픈소스들을 자기의 프로젝트에 사용하고 있다. 나 또한, 오픈소스 프로젝트가 없다면, 개발을 할 수 없을 정도로 지금까지 많은 오픈소스들을 사용하며, 버그나 개선점이 있으면 직접 수정하여 PR를 요청하지 않고, Issue를 작성하여 개선을 요청해오곤 했다. 회사를 다니는 개발자가 된지 5년차가 된 이 시점에 항상 회사 프로젝트에서 사용하던 환경말고, 다양한 경험을 하기 위해 사이드 프로젝트를 시작하는 것을 고민했지만, 아무래도 너무 학업도 있다보니 너무 바뻐서, 오픈소스 프로젝트에 직접 참여하여 기여하는 것을 시작해보고자 했다. 가장 처음은 변역 기여 가장 처음으로 해본 것은 Github Opensoure Project Process에 적응하기 위하여, 개..
Rancher를 개발한 팀에서 새로운 Hyper-Converged Infrastructure 오픈 소스를 선보였다. Kubernetes 위에서 작동하며, On-Promise에서 누구나 쉽게 설치하고, 외부 스토리지(SAN) 구성 필요 없이 내부 스토리지를 이용하여 작동하기 위해서 개발 되었다. Harvester의 특징 간단한 VM 관리 기존 VM Hyperviser들이 제공하던 기능을 그대로 제공한다. Web 기반에서 VM을 간단히 관리할 수 있다. VM Live Migration 구동 중인 VM을 실시간으로 다른 노드로 이전할 수 있다. VM Backup & Restore 당연하지만, VM 백업과 복원을 지원한다. Distributed Block Storage Kubernetes 기반이고, Longho..
Kotlin에서의 when 문법은 기존 Java의 switch과 달리 개발자를 위해 정말 많이 진화해 있다. 그 중 가장 중요한 것은 컴파일 단계에서 내가 사용한 변수에 대한 모든 경우의 수를 핸들링 했는지 검사해주는 것이다. 이를 Exhaustive When Statement이라고 부르는데, 아래와 같다고 생각하면 된다. enum class Currency { WON, YEN, DOLLAR, } fun main() { val currency = Currency.WON val sign = when(currency) //'when' expression must be exhaustive, add necessary 'YEN' branch or 'else' branch..
현재 다니고 있는 직장에서 많은 제휴사가 늘어감에 따라 서비스 배포 관리와 트래픽을 제어하기 위해 기존 서버 환경을 갈아 엎기로 하였다. 아무래도, 경력이 짧고, 짧은 시간 내에 조사하여 환경을 개선해야했기 때문에, 완벽하지는 않지만, 사내에 Rancher 및 Kubernetes를 도입하면서 느낀 점을 정리해보려고 한다. 기존 시스템 환경은? OS: Windows Server / CentOS CI/CD: Github Action Back-end: Kotlin / Spring Boot / MSA 위에가 전부다. Load Balacner도 없고, Reverse Proxy Server도 없고, OS에 직접 서비스를 배포하고 있었으며, 백업도 진행하지 않고 있었다. 매우 문제가 많은 구조였다고 생각하지만, 초기..
회사에서 나는 원래 혼자서 Full-Stack 개발자로써 Web 개발을 혼자 맡아서 했지만, 원래 나는 목표가 Back-end 개발자였고, 급하게 Vue.js를 배워서 Front 까지 개발하게 되다보니, 원하는 프로덕트를 만드는 수준은 되지만 유지보수를 하기 좋은 코드나 정교함이 부족함을 느꼈다. 하지만, 최근에 회사에서 진행하는 프로젝트가 점점 많아지면서, Web 개발을 해야하는 프로젝트가 점점 늘고 있었다. 따라서, Front-end 개발자를 채용해야하는 것이 필수가 되어버렸고, 최근에 5명 정도 지원 해주신 분들을 면접보면서 느낀 점을 적어보려고 한다. 참고로, 채용 과정에서 내가 담당한 부분은 코딩 테스트와 기술 면접이였다. 1. 5명 중 4명이 코딩 테스트 첫번째 단계 문제를 풀지 못했다. 이 ..
안드로이드 프로그래밍 도중 예외 상황을 발견했습니다.Alert Dialog로 메세지를 표시 후, Yes 또는 No 버튼을 통해 값을 받아야 하는데, Dialog 바깥을 터치하거나 뒤로가기 키를 눌르면 대화 창이 무시되더군요. 그런 경우 다음과 같은 설정을 해주시면 뒤로가기를 누르거나, 대화 창 이외의 공간을 터치해도 무시합니다. - setCancelable 설정하기 12345 final AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("하하하"); alert.setMessage("뒤로가기 키를 눌른다고? 소용없지!"); alert.setCancelable(false);Colored by Color Scriptercs se..
Visual Basic을 주로 사용하던 제가 안드로이드(Java) 개발을 시작하다가 찾았던 것이 있습니다. 바로 VB6.0이나 VB.net에서 사용하던 함수인 'Left, Right, Mid'입니다. 문자열을 가볍게 다룰 수 있어서 매우 편리하게 사용했죠.그래서 Java에서 사용할 수 있는 함수를 만들어 보았습니다. 매우 간단하지만, 편리하게 사용하시길...! 123456789101112131415161718192021222324 String Left(String Str, int Num) { if (Num Str.length()) return Str; else return Str.substring(0, Num); } String Right(String Str, int Num) { if (Num Str.l..
컴퓨터 주변 기기에 관한 코딩을 하다보니, Byte 배열로 통신을 하더라구요.디버깅을 하기 위해서는 눈으로 값을 직접 봐야하니 Hex String으로 바꾸는 경우가 많습니다. 그래서 이번 포스팅에서는 16진법 문자열(Hex String)와 바이트 배열(Byte Array)를 넘어다니는 함수를 알려드리겠습니다. [Hex String to Byte Array] 1234567891011121314151617181920212223242526272829303132333435363738 Public Function HexStringToBytes(ByVal HexString As String) As Byte() 'Quick and dirty hex String to Byte array. Accepts: ' ' "HH..
프로그래밍을 하다보면 바이트 배열(Byte Array)를 문자열(String)으로 바꾸거나, 반대로 문자열을 바이트 배열로 바꿀 필요가 있습니다. 기존 VB6에서는 직접 해당 부분을 일일이 해야 했지만, VB.net에서는 NET 프레임워크에서 인코딩과 함께 지원합니다. [기본적인 함수]123Return System.Text.Encoding.UTF8.GetBytes(String) '//String to Bytes Return System.Text.Encoding.UTF8.GetString(Bytes) '//Bytes to Stringcs 기본적으로 사용방법은 매우 간단합니다. [인코딩에 따른 사용 방법] 12345Return System.Text.Encoding.UTF8.GetString(bytes) '/..
[Clala와 Karen으로 이루어진 2인 그륩 ClariS] 이번 포스팅에서는 2인조 여성 그륩인 ClariS의 곡을 추천해드릴려고 합니다.ClariS는 마법소녀 마도카 마기카(마마마) 오프닝인 Connect(コネクト)라는 곡으로 유명해졌으며 실제로 이 곡을 아시는 분들은 많습니다. 보통 애니메이션을 즐겨보시는 분들은 대부분 OP 또는 ED 곡은 들으시지만 앨범에 수록된 곡은 듣지 않습니다.Connect도 Opening 곡이죠. 그래서! 앨범 수록곡에서 좋다고 느낀 한 곡을 추천해드릴려고 합니다. [ClariS 정규앨범 'Fairy Castle'] 이번 'Fariy Castle'는 정규앨범 답게 애니메이션 오프닝이나 엔딩이 아닌 곡들이 많이 수록되어있습니다.그 중에서 제가 가장 맘에 들었던 곡은 このi..
현재 많은 분들이 iOS 11이 공개됨에 따라 업데이트를 하고 계실텐데요? iOS 11 Beta 1에서 현재 카카오톡이 제대로 작동되지 않는 현상이 확인되고 있습니다. 혹시 메인으로 사용하시는 아이폰을 업데이트 하실 예정이라면, 빠르게 iOS 10으로 다시 내려가셔야 할 것 같습니다.
이번 WWDC 2017 에서 직접적인 언급은 없었지만, 그동안 되지 않았던 NFC 읽기를 공식적으로 지원합니다.(Now, iOS 11 supports NFC Read API on iPhone 7 and iPhone 7 Plus) 하지만 재미있는 점은 iPhone 7/7 Plus 부터 해당 API를 지원하고, NFC 모듈이 있는 6/6s는 무시되었습니다 (Apple Pay가 지원되는 기기에는 모두 NFC 모듈이 있습니다).또한, NFC Read API만 제공하고, Write는 지원하지 않습니다. (좋은 예로 교통카드와 같은 역할을 할 수 없습니다.)어떠한 이유로 지원기기를 제한하고, 읽기 만을 제공하는지는 모르겠습니다. 아직 iOS 11는 Beta라서 확정적인 사실은 아니지만, 아무래도 폐쇠적인 iOS는 ..
Twitch는 최근에 인터넷 게임 방송으로 유명해진 사이트입니다.그래서, 아프리카 TV와 트위치를 동시에 방송하고 계시는 분들이 많은데요? 많은 스트리머 또는 BJ분들이 Twitch 방송제목과 Afreeca TV 방송제목을 동시에 일일이 수정하기에는 많은 번거로움이 있습니다.실제로 '액시스마이콜'라는 BJ가 이 불편함을 느끼셔서, 많이 귀찮아(?) 하셨습니다.그래서, 'HikariA'라는 개발자 분이 직접! 이 불편함을 해소하고자 프로그램을 만드셨고, 프로그램 소스를 흔쾌히 오픈해주셨습니다. 저는 VB6.0으로 만들어진 프로그램을 VB.net으로 다시 코딩하였으며, 일부 문제가 생길만 한점과 인터페이스를 재구성하였습니다. 프로그램을 다운로드 받고 싶으신 분들은 아래 링크를 통해 다운로드 하시면 됩니다.h..
VB.net 에서는 File System Object(FSO)를 통해서 폴더 안에 있는 파일 또는 폴더 이름들을 불러올 수 있습니다. 그래서 이번에는 한 함수를 재귀적으로 호출하는 '재귀함수'를 만들어 폴더 내에 있는 모든 파일, 폴더 경로를 읽어와봤습니다.(사실 재귀함수를 공부하고 이해하기 가장 쉬운 예는 이 경우인 것 같습니다.) 그럼 FSO을 사용하여 해당 폴더에 있는 모든 파일을 불러오는 예제 소스를 살펴보시죠 :) 1234567891011121314151617181920212223242526 Public Function ShowFolderList(path As String) As List(Of String) Dim fso = CreateObject("Scripting.FileSystemObjec..
이번에 추천해드릴 프로그램은 조각모음 프로그램인데요...! 기본적으로 Windows에 탑제된 조각모음 프로그램은 너무 자세하지 않고 속도 또한 느립니다. 그런 사람들을 위해 이 프로그램을 추천하는대요.. 'Auslogics' 회사의 'Disk Defrag' 프로그램 입니다. 이 글을 읽기전에 아래 손가락 한번 눌러주세요 ^^ (로그인은 필요하지 않습니다.) Auslogics Disk Defrag 다운로드 * 한 포털사이트에 검색해보니 많은 웹하드 낚시(?)글이 많더라구요.. 그래서, 직접 다운로드 링크를 올려드립니다. SSD를 사용하시는 분들은 조각 모음 금지! SSD는 메모리 방식이기때문에 조각모음을 하실필요가 없으며, 오히려 조각모음을 하시면 큰 손상이 있습니다. [깔금한 인터페이스..!] 한눈에 들..
정품 케이블이 끊어질 까봐 걱정이신 분들은 '메탈릭'이라는 케이블을 사용해보시는 것도 나쁘지않을 것 같네요. 해당 체험단은 'http://cafe.naver.com/appleiphone/3519272' 에서 진행되고 있습니다.
가장 큰 리그오브레전드 커뮤니티 사이트 '인벤'에서 시작된 사건… 뭐가 문제인가? 안녕하세요, 프매씨 입니다. 오늘은 조금 진지한 주제를 다뤄보려고 합니다. 가장 크다고 알려진 라이엇 사의 '리그오브레전드'의 게임 커뮤니티 사이트 '인벤'에서 3월 26일 저녁에 한 유저의 글로부터 사건이 터지기 시작합니다. 이 사건은 추후의 리그오브레전드를 개발을 했고, 운영을 하고있는 라이엇의 신뢰가 크게 달려있고, 이미 라이엇은 많은 유저로부터 신뢰를 잃고있는 상황이라 더욱 중요하죠. 자신의 주변 사람들이 "이제 롤은 망할것이다." 라고하고 있지만, 자신은 왜 이러는지 모른다면 지금부터 요약해드리는 내용을 잘 정독하시면 이해가 될 것입니다. 먼저 이 글을 작성하는 본인(프매씨)는 리그 오브 레전드라는 게임이 한국에 ..
[마음이 외치고 싶어해 공식 포스터] 2차 유로시사회를 다녀오고나서… 안녕하세요, 프매씨 입니다. 오랜만에 영화관에서 일본 애니메이션을 보았답니다. 2015년 일본에 개봉해서 많은 인기를 끌었다고 해서 더욱 큰 기대를 가지고 보러 갔던 것 같습니다. 감동깊고, 재미있는 영화이였습니다. 많은 분들이 보셨으면 해서 간단하게 이 영화에 대해 먼저 소개해드릴려고 합니다. 『일본 애니메이션 '아노하나' 제작진이 제작해 더욱 기대되는 작품』 [일본 애니메이션 '그날의 꽃의 이름은 아무도 모른다.'] 많은 사람들이 이름이라도 알고 있고, 많은 사람들의 마음을 울렸던 애니메이션 '그날의 끛의 이름은 아무도 모른다(아노하나)'. 이 애니메이션을 제작하였던 제작진이 이번 한국에 개봉할 예정인 '마음이 외치고 싶어한다'의 ..
전지문인식 보안 USB 메모리 'TOUCH USB MEMORY' 안녕하세요, 프매씨 입니다. 최근에 애플, FBI과의 싸움과 테러방지법에 관한 여론이 많이 생기면서 많은 사람들이 자신의 개인정보에 대해 관심을 가지고 있는 시기입니다. 미래에는 더욱 많은 정보를 디지털로 다룰 것이기 때문에 정보보안은 더더욱 중요해질 것 같은데요? 여러분들은 USB에 어떠한 정보를 담고 다니나요? 공인인증서, 논문, 개인 서류 등등 중요한 정보를 담고 다니시는 대학생, 회사원분들은 반드시 계실겁니다. 이 많은 정보를 다음 USB는 보안이 매우 중요합니다. 하지만 보안을 어떻게 챙겨야할까요? 그러한 분들에게 꼭 필요한 제품을 오늘 소개해드릴려고 합니다. 바로, 지문인식 보안을 탑제한 USB 메모리 'TOUCH USB MEMO..
IBM에서 재미있는 프로젝트를 시작했습니다. 가상현실게임을 주제로한 애니메이션인 '소드 아트 온라인(Sword Art Online)'을 실제로 제작하는 프로젝트 인데요? 이 애니메이션에서 나오는 것들이 현실에서 실제로 만나볼 수 있으면 얼마나 좋을까요 :) 공식 홈페이지 : http://www.vrmmo-project.jp/ 공식 홈페이지 주소를 보면, 단순히 '소드 아트 온라인'을 홍보하자고 시작하게 된 것이 아닙니다. www. VRMMO-Project .jp IBM은 VRMMO(가상 게임)을 상품화 할 타겟이 필요했고, 마침 일본의 애니메이션에 알맞는 상품이 있어 선택하게 된 것 같네요. IBM에서는 애니메이션에서 동일하게 실제 사람을 스캔하여 3D 모델링으로 사용한다고 합니다.(남자는 여자가 될 수..