목록IT (123)
번개애비의 라이프스톼일
Swift 로 iOS 개발을 하다보면, 알림권한을 받아와 푸시메시지를 보내거나 내부적인 처리를 위해서 사용하는 경우가 많다. 알림 권한을 피치못한 사정으로 인해 반드시 사용해야하는 경우 UIAlert을 통해 앱 설정화면으로 이동시켜 사용자에게 보다 친화적인 서비스개발이 가능하다. 아래 스크린샷은 앱 초기 실행 혹은 포그라운드로 되돌아올때 나타나는 화면예시다. 알림권한 뿐만 아니라 블루투스, 위치권한등도 응용이 충분히 가능하다. 아래는 알림설정을 할 수 있도록 유도하는 UIAlert 소스코드이다. 참고로 싱글톤으로 사용되거나, 부득이하게 ViewController가 아닌 Delegate에 넣어서 사용할 수 있도록, Alert 메시지의 present 처리를 조금 다르게 작성되어 있다. (원래는 present..
기본적으로 ArduinoBLE 라이브러리에는 iBeacon을 수집하기 위한 클래스가 존재하지 않아, 별도로 개발하거나 다른 Bluetooth 모듈의 AT 통신을 통해 iBeacon을 수집했어야 했다. 환경구성 아이폰 12 mini -----> Arduino nano 33 BLE 아이폰이 iBeacon을 통해 Advertising을 진행하면 아두이노가 신호를 받아와 UUID, Major, Minor, RSSI의 값을 스캔할 수 있는 환경이다. 아이폰과 아두이노간의 신호세기를 측정할 수 있음으로 NearBy나 간략하게나마 접근측정이 가능하여 도어제어등으로 활용할 수 있다. 아이폰에 BeaconSimulator 앱을 설치하여 간편하게 테스트할 수 있다. 아래 라이브러리를 다운로드받아 IDE에 라이브러리를 ZI..
아이폰의 별의별 앱들의 인앱브라우저 user agent를 모아봤다. 전부 다 테스트해서 user agent를 찾기엔 앱이 너무나 많기 때문에 개발하고자하는 서비스의 유입트래픽에 맞춰 user agent를 수집해서 예외처리하면 좋을듯 (iOS에서 인앱브라우저 무시하고 강제로 사파리 열기 - https://www.burndogfather.com/201) user agent 찾는방법 티스토리 카카오톡 인스타그램 트위터 네이버 블라인드 와디즈 알리익스프레스 줌앱 네이버 웨일
리포지토리를 등록하는 스크립트를 실행한다. curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash 설치 yum install MariaDB 서비스시작 service mysql start 서비스시작확인되면, 종료한다. service mysql stop 백업디렉토리를 생성한다. cd /root mkdir mysql_bak 원래 데이터를 백업디렉토리로 잠시 복사한다. (혹시모르니) cp -R /var/lib/mysql /root/mysql_bak 원래 데이터를 /home의 위치로 이동한다. rsync -av /var/lib/mysql /home/ 소유자 권한을 수정한다. chown -R mysql:mysql /home/mysq..
회사의 디자이너에게 USB-C 타입으로 연결할 수 있는 모니터와 요즘 핫한 애플 실리콘의 M1 맥북프로 보급이 하달되었다. 사실 나는 인텔맥 유저라 듀얼모니터도 안되지만, 긴배터리타임과 빠른앱속도의 M1에 대해 별루 관심이 없었지만, 이번 기회에 인텔맥에서 M1맥으로 이주를 고민하게 되는 아주 아주 결정적인 계기가 되었다. 그리고 수개월이 아닌 몇시간(?) 동안 고민 끝에 M1 맥북 프로에서 듀얼모니터를 사용하는 방법을 알게되어 공유하게 되었다. (더불어 장바구니에 M1 맥북프로가 들어감) [컨셉] USB-C 나 썬더볼트 선 하나로 듀얼모니터를 출력함과 동시에 M1 맥북 충전이 가능해야함. 이 방식은 USB type C 포트가 내장된 디스플레이 말고도 USB type C 혹은 썬더볼트3를 지원하는 독(D..
저작권관련사항 : "애플산돌네오고딕과 관련해서는 산돌에 어떠한 권리도 없고 단순 제작 의뢰를 받아 만들어줬을 뿐이다. 라이선스 정책은 애플에 문의하고 그에 따르면된다. 마이크로소프트의 맑은 고딕도 자신들이 제작만 했을 뿐이다." 애플은 기본 번들 폰트에 대한 상업적 제한을 하지 않는다고 했으므로 인쇄, 출판, 영상 제한없이 사용 가능합니다. 본 폰트는 Subsetting 처리된 경량화된 폰트입니다. 지원되는 글자 리스트 가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱..
맥북에서 한글명으로 된 파일을 생성하고 NAS나 웹하드, 이메일등을 통해 공유한 상태에서 윈도우에서 그 파일을 내려받으면 가끔 자음과 모음이 분리되는 경우가 있다. 이는 윈도우와 맥이 한글의 처리방식에 있어서 차이가 존재하기 때문에 생기는 문제임. 윈도우에서 이런 현상을 해결하기 위해 별도의 수정작업이 필요로 하다. 이 프로그램은 윈도우에서 여러파일을 일괄적으로 수정해줄 수 있음. 아래 맥용프로그램도 있다.
MySQL 혹은 MariaDB 환경에서 1억개의 Row가 저장되어 있다고 가정하자. 인덱싱이 지정되어 있지 않은 칼럼에서 검색을 수행했을때 데이터베이스는 1억개를 Full Scan을 하게 되어 SELECT 쿼리결과가 나오기까지 오랜시간이 필요로 한다. 이렇게 비교적(?) 대용량의 데이터를 처리하기 위해서는 여러가지 튜닝방법이 존재하는데, 튜닝의 우선순위는 아래와 같다. 1. 가급적 로직을 DB상에서 처리하지 않고 WEB Applicaition 상에서 구현한다. WEB Application 부하는 DB Server에서 발생하는 부하보다 비교적 쉽게 해결이 가능하다. Web 서버는 라운드로빈이든 L4를 활용하든 너무나 쉽게 확장이 가능한 반면, DB Server는 Master-Slave Replication..
이전까지 Go lang으로 DB 인터페이스 서버를 구성하고 php7.x 계열로 Front를 구성했었다. 사실 Front를 php로 사용했다기 보다는 Middle 성향으로 중간에서 Minify나 js 난독화, 통신암호화, 업/다운로드, Front JS만으로 보안해결이 안될때 등등등 수준으로만 사용하고 있다. 변태적인 셋팅이지만 나름 잘 운용중.. ㅎㅎ 이것도 규모가 중간이상이 되는 프로젝트에서나 굉장히 보수적인 트래픽 제어와 최단기 Response를 위해 극단적으로 셋업된 환경에서나 사용했고 요즘 주력은 Go 와 Primitive한 JS를 위주인듯하다. 근래에 php8 이 출시되었다고 해서 실서비스에 적용하기 위해 여러가지 테스트를 해본결과, 다행히도 큰 호환성이슈가 없어서 실서비스에 반영하고 있다. (D..
필자의 회사의 개발서버는 Windows 기반이고 다수의 웹서비스를 개발하고 있는 상황이라 데이터베이스를 보다 효과적으로 백업하기 위해 별도의 배치파일을 만들어 스케줄러로 동작시키고 있다. Windows 환경에서 MySQL서버를 운영할때 여러 데이터베이스를 사용할때 추천한다. 아래 소스코드를 복사하여 배치파일을 만들어 붙여놓는다. 배치파일을 만들때는 일반 텍스트문서를 생성하여 저장한 뒤 확장자를 .txt 가 아닌 .bat으로 변경하면 된다. @echo off setlocal set id=root set pw=패스워드 set mysql_dir=C:\DB\bin\ (mysql설치폴더내 bin 디렉토리 경로) set backup_dir=C:\backup_db\ (sql을 저장할 디렉토리) del /s /q %b..