2017년 3월 7일 화요일

[JSON] josn에 인덴트 넣거나 josn에 따옴표 탈출문자 넣어 문자열로 만들어 주는 웹 툴

아래 주소로 들어가면 된다.
http://www.freeformatter.com/json-formatter.html#ad-output

option1에 붙여 넣기 해도 되고
option2에 파일을 업로드 해도 됨

인덴트를 스페이스나 탭으로 넣을지 고를수 있는데,
자바 스크립트를 고르면
" 이런 따옴표를 \" 으로 바꿔준다.
완전 편리함 ㅎㅎ

2017년 2월 27일 월요일

[IOS][swift] UICollectionView, UICollectionViewFlowLayout의 마지막 row만 이상하게 나오는 문제

와 진짜 이건 너무 하다 싶다
UICollectionView로 FlowLayout을 세로로 해서 작업중인데,
유독 마지만 라인만 뭔가 이상하다..

이렇게 나오는데 뭐 이유도 모르겠고 미치는 줄..
검색 해보니 Apple의 버그라는데..
IOS6부터 있었나 본데, 그럼 이건 버그가 아니고 스팩 아님?
여튼 수정 하려면,

class TestLayout: UICollectionViewFlowLayout {
    override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        let attributes = super.layoutAttributesForElements(in: rect)
        let contentSize = collectionViewContentSize
        return attributes?.filter { $0.frame.maxX <= contentSize.width && $0.frame.maxY < contentSize.height }
    }

}

이런식으로 서브클래스를 생성해서 이 클래스를 레이아웃으로 지정해 주면된다.
아래는 참고한 스택 오버 플로우 링크
http://stackoverflow.com/questions/12927027/uicollectionview-flowlayout-not-wrapping-cells-correctly-ios

[IOS][InterfaceBuilder] Xcode에서 xib파일 작업중 Assistant 윈도우로 연결된 파일이 보이지 않을때..

Xcode에서 xib 파일 작업중 갑자기 잘되던 file's owner 파일이 표시 되지 않는다.
실수로 뭔가 바꿨나 해서 이것 저것 살펴 보고 코드 롤백도 해보았지만 여전히 먹통..
혹시나해서 derived data를 지우니 된다!!!
(Xcode를 완전히 지운 다음 derived data 삭제 하자)
Xcode를 재기동 하면 바로는 안뜨고 몇초 기다리니 떴다 (당황하지 말자)
어쨌든 나쁜 Xcode

2017년 2월 21일 화요일

[IOS][SWIFT] UIPageViewController 크래쉬


아래 처럼 죽는 경우가 발생

2017-02-22 13:29:28.984 PageTest[87046:5081125] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (3) doesn't match the number required (1) for the requested transition'

* 원인 
setViewControllers([vc1, vc2, vc3], direction: .forward, animated: false, completion: nil)
첫 번째 인자에 필요이상의 뷰컨트롤러를 할당함

* 수정
setViewControllers([vc1], direction: .forward, animated: false, completion: nil)
vc1만 할당 하고 나머지는 DataSource에서 처리 하도록 함

    public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
        guard let index = vcs.index(of: viewController)
            else { return nil }

        if index < 1 {
            return nil
        } else {
            return vcs[index - 1]
        }
    }

    public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        guard let index = vcs.index(of: viewController)
            else { return nil }

        if index + 1 >= vcs.count {
            return nil
        } else {
            return vcs[index + 1]
        }
    }


2016년 10월 24일 월요일

[IOS][SWIFT] Swift3 빌드시간이 겁내 길어짐!!

정말 한때는 미치는줄...
아래 해결법을 참조하니 겁내 빨라짐..
뭐 클린 빌드 느린건 여전히 어쩔수 없나 보다.

http://stackoverflow.com/questions/39737374/swift-3-compile-time-incredibly-slow

2016년 9월 18일 일요일

[Server] AWS로 앱 서버 호스팅 하기

먼저 AWS 계정을 생성 한다.

AWS 가 너무 복잡하고 이것 저것 서비스를 많이 하다 보니 대체 뭘해야 할지 모르겠다.

그와중에 적절한 문서 발견..
이걸 따라 한다...
http://docs.aws.amazon.com/ko_kr/gettingstarted/latest/wah-linux/web-app-hosting-intro.html

겁내 복잡해서 아래 블로그 참조
http://egloos.zum.com/isduck/v/3382096

톰켓을 설치했는데 서비스 실행이 안됨
/usr/share/tomcat7/bin
요기서
sudo ./startup.sh

했지만 안됨..
(이래서 서버 개발이 개짜증!! 버전 틀리면 뭐가 틀리고 저쩌고 걍 버튼 하나로 설치 되면 얼마나 좋아?? 다른 것들은 잘들 만들어 주던데 이건 여전하네 10년전이나 지금이나..)

여튼 에러 메시지
touch: cannot touch ‘/usr/share/tomcat7/logs/catalina.out’: No such file or directory
./catalina.sh: 385: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

검색해보니 이딴식으로 실행해야 한다네.. 뭐 예전에 이딴식으로 했던 것도 같음;; 
sudo /etc/init.d/tomcat7 start
여튼 접속 해보니 잘됨

이번엔 망할 mysql이 이상함
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
이딴 에러가 나오는데 서버 버전이라 그렇단다...
mysql -h 127.0.0.1 -P 3306 -u root -p
이렇게 접속 하니 잘됨

서버에 앱 배포를 위해 톰켓 메니져 설치
sudo apt-get install tomcat7-docs tomcat7-admin tomcat7-examples

/etc/tomcat7/tomcat-users.xml 파일을 수정해 관리자 계정 추가
이딴식으로 하면 됨
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

뭐 변경 할때 마다 귀찮은 재시작..
sudo /etc/init.d/tomcat7 restart

반갑다..
많이 바꼈겠지만.. 어쨌든 이화면 11년 만이다..










2016년 6월 30일 목요일

.plist 파일을 json으로 변환

엄청 편함!!
http://json2plist.sinaapp.com/

근데 한글이 인코딩 되는데 그럴 경우 여기서 한글로 다시 변환
http://coderstoolbox.net/string/#!encoding=js&action=decode&charset=us_ascii