하루에 0.01%라도 성장하자
728x90
반응형

Develop 111

Swift 상수와 변수의 선언, 데이터 타입

상수와 변수의 선언 상수 : 한번 정하면 변하지 않는 수 혹은 값 변수 : 언제든지 변경될 수 있는 수 혹은 값 Swift에서는 상수와 변수의 선언하는 방법이 다르다. 상수는 let으로, 변수는 var로 선언한다. let Test : String = "상수"; // let var Test2 : String = "변수"; // var 변수와 상수를 선언하고 바로 초기값을 입력하지 않아도 된다. let sum : Int; // 초기값 입력 X let num1 : Int = 1; let num2 : Int = 2; sum = num1 + num2; //num1, num2 상수값을 더한 값으로 초기값 설정 이후 sum에 다른 값을 넣으면 오류 발생 sum = 10; // !!!!오류 발생 !!!! 상수, 변수를..

Develop/Swift 2019.05.07

Swift 콘솔로그, 문자열 보간법

가장 처음 배우는 것은 역시 print인가.. 배우다 보니 Switf에는 dump라는 것이 있는데, 이게 약간 java에서 toString으로 클래스 내의 선언된 변수들을 console로 찍어보는 느낌이다. java의 경우는 toString을 재정의 하여 사용하는 경우가 많은데 dump는 애초에 지원해주는 것이니 더 좋은건가... ?; 콘솔로그 남기는 법 print : 단순 문자열 출력 dump : 인스턴스의 자세한 설명까지 출력 import Foundation let test : Int = 10; class Person{ var name : String = "뚠님"; var age : Int = 10; } let person : Person = Person(); // 클래스 생성. print("테스트입..

Develop/Swift 2019.05.07

SandBox 제약으로 보안을 강화한다.

강의를 들으면 공부하는 시스템의 유래(?)를 설명해 주는것이 너무 좋다. 이런 기능이 있는데 이게 왜 나왔냐면 블라블라~ 사실 이것은 실무를 하는데 굉장히 중요한 내용이다. 고객에게 왜 안되는지, 내가 실력이 없어서가 아니라 루트(Root)단에서 막아버린거라 어쩔 수 없다는 이야기는 결과적으로 정확한 지식과 증거가 있어야 한다. 참고로 얼마전 안드로이드 앱을 개발하는데 동영상 녹화 파일이 4GB를 넘어버리면 녹화가 중지되는 이슈가 있었다. 고객사에서는 1차적으로 해당 이슈를 해결하길 바랬고, 해결할 수 없는 문제라면 해결 할 수 없는 이유를 알려달라고 했다. 원인은 안드로이드는 Local Memory가 FAT32 파일시스템이며, FAT32는 4GB 이상의 파일을 저장 할 수 없는 파일 시스템이다. 따라서..

Develop/iOS 2019.05.04

Background Service 제약

iOS는 Background Service가 안된다고 한다. (으잉?) 사실 Background Service가 안되면 제약되는 것들이 많다. Socket을 통한 신호를 못받는다던가, Notification, 알람 등등이 해당될 것이다. 이유는? 보안이다. 개인정보 보안. iOS는 보안으로 시작해서 보안으로 끝나나 보다. iOS App Store에는 백신앱이 없다. 이유는 백신앱이 있다는 것은 OS에 바이러스가 있을 수 있다는 가능성을 주는 것이기 때문이다. - 지나가다 본 글 - 이처럼 iOS는 보안적으로 굉장히 자부심을 가지고 있는 것 같다. 하지만 그로인해 개발자들은 생각보다 많은 피해를 감수해야 한다. 개발을 하면서 당연히 Background Service는 앱의 퀄리티를 높이는데 필요했고 수많은..

Develop/iOS 2019.05.04

Xcode 사용법

회사 업무로 인하여 Swift를 조금 다뤄야 할 것 같다. Swift는 물론 Mac OS 자체가 나한테 익숙하지 않다. ( 처음 써봄.. 윈도우 만세.. ) Mac은 나한테 신기하기만 하고 아직까지는 어렵다. 하지만 익숙해지면 업무적 효율과 다른거 못 쓸거 같다는 생각도 든다. 시작 입문 강좌로 프로그래머스에서 제공하는 iOS Swift 입문 이라는 강의를 듣기로 했다. 아마 앞으로 작성하는 글들은 거의 위 강좌에서 나오는 내용일 것이다. 다만 내가 알아보기 쉽게 내 PC에서 직접 스크린샷을 찍어서 가져온 이미지와, 설명들이 추가로 작성될 예정이다. Xcode 실행 실행하면 제일 먼저 아래 이미지가 나온다. 종류 개념 Get started with a playground Xcode의 메모장 같은 용도로 ..

Develop/iOS 2019.05.03

Android 변수의 종류

변수는 코딩을 하면서 가장 많이 사용된다. 하지만 내가 사용하고 있는 변수의 명칭과, 해당 변수의 생성되는 시기와 사라지는 시기를 정확하게 알지 못한다고 생각했다. ( 사실 그동안 그걸 알아야하는 난이도 있는 개발을 못했다는게 맞을지도.. ) 그래서 정리겸 글을 남긴다. 변수 종류 개념 인스턴스 변수 클래스의 인스턴스를 생성할 때 만들어진다. 객체를 여러개 생성하면 각각의 저장공간이 만들어진다. static 변수 변수 앞에 static을 붙여서 사용한다. 객체를 생성하지 않아도 사용할 수 있다. 변수를 공유하고 있기 때문에, 다른객체에서 이 변수값을 변경하면 변경된 값으로 계속 유지 된다. 지역 변수 메소드, 생성자 안에서 사용되며 그 안에서만 사용이 가능하고 메소드의 실행이 끝나면 자동으로 사라진다. ..

Develop/Android 2019.05.02

Drawable과 mipmap의 차이

안드로이드를 개발하면서 drawable 과 mipmap의 차이를 알고 싶어 졌다. 이유는 개발 하는 단말기가 Note8로 4.0xxxhdpi를 갖는다. 그런데 이 해상도에 맞는 이미지를 넣으려고 봤더니 drawable에는 xxhdpi까지 밖에 폴더가 없는상황... 혹시나 해서 xxxhdpi 폴더를 만들어 주고 이미지를 넣어 보았으나 실제로 Note8은 xxhdpi에 있는 이미지를 인식 하였다. mipmap에는 xxxhdpi 폴더가 있었다. 그래서 mipmap에 xxxhdpi 이미지를 넣고 작업을 할까 했는데, 생각해 보니 이미지 자원은 지금까지 drawable에 넣어 사용했고 mipmap에는 넣어 사용하지 않았는데 이렇게 해도 될까? 라는 생각이 들었다. 그래서 찾아보았다.. - http://points..

Develop/Android 2019.04.30

Notification Skill #1

Notification에 대한 내용을 찾다보면 대부분 2016년 이전 내용이 많다. 그 이유는 아마 그때 Notification에 대해서 핫하게 기술 연구(?)가 이루어졌기 때문이 아닐까 하지만 현재는 Firebase라는 좋은 프레임워크가 있기 때문에 잘 사용 안해서 관련하여 더이상 연구문서가 없을 수도 있고, 아니면 이미 알만한 사람은 다 알기 때문에 굳이 다시 작성하지 않는 이유일까... 이전 데이터를 찾아서 그대로 가이드를 따라 진행하면 에러도 발생하지 않고 알람도 발생하지 않는다. ( 즉 정상 동작 하지 않는다. ) 이유는, NotificationCompat.Builder를 만들때 이전 버전에서는 context만 넣어주면 되었다. 하지만 그 이상의 버전은 channelId라는 것을 넣어주어야 동작..

Develop/Android 2019.04.30

네비게이션바 숨기기

찾아본 이유는 별거 없다.... 플레이어로 전체 화면 재생을 할때 네비게이션바가 영역을 차지하는 것이 싫었을 뿐 public void hideNavigationBar() { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( // Set the content to appear under the system bars so that the // content doesn't resize when the system bars hide and show. // Hide the nav bar and status bar View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERS..

Develop/Android 2019.04.30

배열

메소드 설명 push(object) 배열의 끝에 요소 추가 pop() 배열의 끝 요소 제거 unshift() 배열의 제일 앞에 요소 추가 shift() 배열의 제일 앞에 요소 제거 splice(index, removeCount, [object]) 여러 개의 객체를 요소로 추가, 제거 slice(index, copyCount) 여러 개의 요소를 잘라내여 새로운 배열 객체 생성 자료 구조에서 Stack, Queue 라는 개념이 있는데, Stack은 계속 쌓이는 형태로 제일 FILO (First In Last Out) 형태를 갖는다. Que는 버스 줄을 생각 하면 되는데 FIFO (First In First Out) 형태를 갖는다. 그래서 우리는 주로 누적 하는 것을 'Stack을 쌓는다' 라고 표현한다. (..

Develop/Javascript 2019.04.30
728x90
반응형