US 404 Error
Request Status Visitors Hits
GET HTTP/1.1 404 2 3
GET /ccvv HTTP/1.1 404 1 1
GET /download/ ~ 404 5 5
GET /favicon.ico HTTP/1.1 404 20 31
GET /manager/html HTTP/1.1 404 1 2
GET /robots.txt HTTP/1.0 & 1.1 404 40 91
GET /wls-wsat/CoordinatorPortType HTTP/1.1 404 1 1
GET /wordpress\xea\xb0\x80 HTTP/1.1 404 1 1
GET /wordpress\xec\x9d\x98 HTTP/1.1 404 1 1
GET /wp/ HTTP/1.1 404 1 1
GET /wp/eng/ ~ 404 53 197
GET /wp/kr/ ~ 404 71 615
HEAD /inc/02.jpg HTTP/1.1 404 1 1
HEAD /myadmin/scripts/setup.php HTTP/1.0 404 1 3
HEAD /phpMyAdmin/scripts/setup.php HTTP/1.0 404 2 4
HEAD /wp/p=5603& HTTP/1.0 404 1 1
POST /wp/xmlrpc.php HTTP/1.1 404 1 4
POST /xmlrpc.php HTTP/1.1 404 1 4
호스팅 받던 서버를 회사에 구축하고 회선을 따서 사용하고 있다.
여러 상황을 점검하고 있는데 우선 404 에러 났을 때 로그가 필요해서 후임에게 부탁했고,
정운씨가 깔끔하게 로그를 잘 뽑아주었다.
워드프레스 옮기면서 구멍난 페이지도 본 페이지로 가게 잘 해두었다.
본 페이지는 frameset이라 무한 루프 돌지만 않으면 잘 되니...
<script type="text/javascript">
var adfly_id = 4986892;
var adfly_advert = 'int';
var frequency_cap = 5;
var frequency_delay = 5;
var init_delay = 5;
</script>
<script type="text/javascript">
var adfly_id = 4986892;
var adfly_advert = 'int';
var frequency_cap = 5;
var frequency_delay = 5;
var init_delay = 5;
</script>
<script languagu="javascript">
document.location.href="http://morpheus3d.co.kr/";
</script>
웹 페이지 로딩속도는 VPN으로 확인을 해도
호스팅 받는 것보다 확실히 빠르다.
일주일이 지나 그냥 웹으로 업로드 하기로 결정했다.
구글 백업&싱크는 여전히 드랍박스에 비해 제대로 동작하지 않는다.
파일 개수가 일정 개수를 넘으면 오류가 나는 것 같다. 일전에 지난 1년간이라고 말했는데 정확히 말하면 구글은 2년동안 에러 수정을 못하고 있다고 봐야 겠다.
그에 반해 웹 업로드는 더욱 빨라졌다. 웹 기업인데 괜스레 윈도우 앱에 기대를 걸진 말아야지 하고, 드랍박스는 데탑앱으로 싱크하고 구글에는 크롬으로 올리니 작업이 팍팍 진행된다.
시간이 없는 사람이라면 내가 그동안 많은 삽질을 했으니
드랍박스에서 구글 드라이브로 마이그레이션 하기
로 검색하는 분이라면 드랍박스로 싱크 우선 건다. 그리고 크롬으로 연 구글 드라이브에 드래그&드랍으로 넣는다. 이후 지우면 드랍박스에서도 날아가기 때문에 매우 간편하다.
난 둘 다 싱크해서 폴더만 옮기면 자동 싱크가 될거라 생각했다. 일전에 테스트 했을 때 구글드라이브는 3테라 넘어갈 때 문제가 발생했었는데 지금은 500기가 넘어가도 문제가 발생한다.
대신 웹 업로딩은 매우 빠르므로(현 시점에서는) 마이그레이션은 위와 같은 방법으로 해야 시간 낭비가 적을 것 같다.
런쳐 스크린은 정말 순식간에 사라진다.
AppDelegate의 didFinishLaunchingWithOptions 에
[NSThread sleepForTimeInterval:4];
를 추가해서 런쳐 스크린을 질질 끌 수도 있겠지만,
iOS8~11까지 기다려도 여전히... 천천히 나올 때도 있고, 빨리 나올 때도 있고, 이미지가 클 때는 아예 안 나올 때도 있다. 버전업이 되면 괜찮아 질 줄 알았지만 iOS8~11이 될 때까지 애플이 생각하는 런쳐 스크린이 그렇다면 그냥 커스텀으로 구현하는게 맞겠다.
스토리 보드로 구현을 해도 되겠지만 이미 스토리 보드는 짜여져 있고 건들고 싶지 않은 때
메인에 붙일 서브 뷰를 추가하는 것이 가장 깔끔하다.
코드로 구현해야 할 때는 이렇게...
<?xml version="1.0" encoding="UTF-8"?>
http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string>LaunchScreen</string>
</plist>
우선 info.list에서 기존의 런쳐 스크린을 지운다.
.xib, .mm, .h 만든다.
------
#ifndef LaunchView_h
#define LaunchView_h
#import <UIKit/UIKit.h>
@interface LaunchView : UIView
{
}
- (void)viewLoad;
@end
#endif
#import "LaunchView.h"
@implementation LaunchView
- (id)init
{
self = [super init];
if (self)
{
NSArray *nibObject = [[NSBundle mainBundle] loadNibNamed:@"LaunchView" owner:self options:nil];
self = [nibObject objectAtIndex:0];
[self viewLoad];
}
return self;
}
- (void)viewLoad
{
}
@end
.xib 에 CustomClass에 연결시켜 준다.
메인 스토리보드가 참조하는 헤더에 뷰를 추가한다.
#import "LaunchView.h"
@property (weak, nonatomic) LaunchView *viewLaunch;
- (void)viewDidLoad {
되었을 때 init 해준다.
LaunchView *viewLaunch = [[LaunchView alloc] init];
_viewLaunch = viewLaunch;
_viewLaunch.frame = _viewBanner.frame = _viewConsul.frame =
CGRectMake(0, 0, _viewFullScreen.frame.size.width, _viewFullScreen.frame.size.height);
크기 지정하고 메인에 뷰에 붙여준다.
[_viewFullScreen addSubview:_viewLaunch];
타임 스케쥴러에 붙여줘서 일정 시간이 지나면 뷰를 떼버리면 된다.
[_viewLaunch removeFromSuperview];
떼버리기 싫으면 뷰를 히든으로 바꾸면 된다. 아래는 관련 코드.
typedef enum {
TIMER_LAUNCH=0,
...
- (void) timerScheduled:(NSTimer*)theTimer
{
if (eTimerState == TIMER_LAUNCH) {
_viewLaunch.hidden = NO;
CFTimeInterval cTime = CFAbsoluteTimeGetCurrent();
if (cTime - sTime > 4.5f) {
_viewLaunch.hidden = YES;
eTimerState = TIMER_INIT;
}
} else if ...
- (void)resetSelectButton
{
_viewLaunch.hidden = YES;
- (void) timerScheduled:(NSTimer*)theTimer;
timer = [NSTimer scheduledTimerWithTimeInterval:TIME_INTERVAL target:self selector:@selector(timerScheduled:) userInfo:nil repeats:YES];
최근댓글