All(268)
-
[C/C++] 문자열 타입의 MAC ADDRESS 포멧 확인 (sscanf)
Front-end에서 MAC ADDRESS를 전달하는 경우 값이 변경될 수 있으므로, 최소한 전달받은 문자열이 MAC ADDRESS양식에 맞는지는 확인할 필요가 있었다. 특히 MAC ADDRESS를 문자열 형태로 저장할 때는 더더욱이나. 검색하면 어렵지 않게 찾을 수 있는 내용이지만, 업무가 바빠서 사이드 프로젝트를 못하니 뭐라도 정리하기로 했다. #include int sscanf(const char *buffer, const char *format, argument-list); sscanf는 buffer에 저장된 데이터를 지정된 format에 맞는 형식으로 읽어들이며, 성공적으로 변환된 필드 수를 리턴한다. 따라서 00:00:00:00:00:00과 같은 형식으로 문자열을 전달받았을 때, sscanf를..
2019.03.19 -
[C/C++] 정수를 IP주소로 변환하기 (Decimal to IP Address)
정수IP Address 변환은 Convert Decimal to IP, browserling등에서 제공하므로, 제대로 변환되는지 확인이 가능하다. IP주소값의 구조를 알고 있다면, 어렵지 않게 구현이 가능하다. 매번 필요할때마다 찾아보는데, 매번 까먹어서 이번 기회에 대충이나마 정리해두기로 했다. IP 주소(IPv4) IPv4 기준으로 IP 주소는 8bytes짜리 네 개가 구성되어 만들어진, 32bytes짜리 정수형이다. 따라서 다음과 같이 비트 연산을 하면, 언어에 상관없이 정수로 표현된 IP주소를 문자로 변경할 수 있다. void decimalToIPAddress(int param_decimalIp) { printf("IP Address: %d.%d.%d.%d\n", (ip>>24)&0xFF, (ip..
2019.03.18 -
[Android] NavigationMenu에 checkbox/switch 등의 UI 추가하기
[img](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAPAAhwDASIAAhEBAxEB/8QAHgABAAEFAQEBAQAAAAAAAAAAAAUDBAYHCAkCAQr/xABmEAABBAECAwMHBAwICgYFCgcBAAIDBAUGEQcSIRMUMQgVIkFTVJJRkZPRGSMyNlZhcXSBlbPUFhgzdaGy0tMJF..
2019.03.17 -
[angularJS] ng-change/ng-click 내에서 ng-model로 바인딩 된 값을 변경할 시, UI에 변경된 값이 표시되지 않는 경우
angularJS 1.x에서 input이나 select를 사용하여 UI를 구현하다보면, 사용자가 특정 값을 선택했을 때 이전 값으로 되돌려야 하는 경우가 있다. 보통 이런 경우에는 ng-change나 ng-click을 이용해서 구현하게 된다. 물론 사용자에게 특정 값을 선택할 수 없는 이유를 알려주기 위한 방법은 많다. 툴팁을 이용할수도 있고, 페이지의 눈에 띄는 곳에 문구를 출력하는 방법도 있다. 다만 툴팁이나 문구의 경우 사용자가 동작을 멈추고, 툴팁이나 문구를 찾아야 한다. 사용자가 잘못된 값을 선택했을 때 다이얼로그를 띄우게되면, 사용자가 의도한 동작의 흐름에 따라 자연스럽게 잘못된 값임을 인지할 수 있다. 우선 이전 값을 가져오도록 하자. ng-change나 ng-click에서 Controlle..
2019.03.12 -
ng-include로 불러온 페이지의 Controller가 두 번 호출되는 문제
임베디드 장비에 서버를 올려서, 장비의 설정을 변경할 수 있는 웹 어플리케이션을 서비스하고 있다. 그건 그렇다치고 몇 년 전부터 골치아픈 문제가 있었는데, ng-include를 사용해서 페이지를 로드했을 때 연결된 Controller가 두 번 호출되고 있었다. Controller가 두 번씩 호출되는 문제는 생각보다 골치아픈 문제였다. 장비에서 받아오는 데이터가 많으면 많을수록 Controller에서 데이터를 가공하는 코드도 복잡해지기 마련이었는데, Controller가 두 번 로드되면서 초기화하는 코드가 두 번 동작하는 것도 환장할 노릇이었다. 단순히 사용자에게 현재 장비의 설정값을 보여주고, 변경할 수 있게끔 하는 페이지라면 문제는 없었다. 하지만 특정 UI가 다른 UI의 값들과 의존관계가 있다거나, ..
2019.03.11 -
근황(2019.03.11)
안드로이드 용 스마이트 아이템 정보를 어느정도 마무리해간다. 카테고리에 크리티컬과 쿨타임을 추가하고, 필터에 이름을 추가하는 작업이 남았다. 그 이후에는 번역을 다시 조금 가다듬고, 홈페이지의 API를 호출하여 Json파일을 갱신하는 기능을 추가하면 될 듯 하다. 일단 기계번역을 믿을 수 없는 상황이니까, 시즌이나 패치가 이루어질때마다 번역은 수동으로 고쳐야 할 듯 하다. 이번주에 진행하면서 학습한 내용은 다음주 내에 정리할 예정이다. 다운로드 수는 거의 없지만, 가끔씩 나라도 쓰니 뭐… 새로운 아이디어가 떠오르기 전까지는 비슷한 앱을 또 만들어봐야 할 듯 했다. 개인적으로는 로직을 짜거나 최적화를 하는 일보다, 자료를 검색하거나 레이아웃을 짜는 일이 더 신경쓰이는 일이었다. 예를 들어서 필터를 아이템 ..
2019.03.11