앱을 다시 시작하면 WKWebView 쿠키가 모두 사라져요.

WKWebView에서 생성된 쿠키가 앱을 재시작할때 모두 사라지는 문제는 여러 해결 방법이 있지만, 그 중 가장 단순한 건 역시 모든 통신 종료 시점에 쿠키를 저장했다가 앱을 시작하면 쿠키를 수동으로 생성 시켜 주는 방법일 것입니다.

이전에도 Javascript를 애용했으므로 이번에도 Javascript를 이용하도록 하겠습니다.

예제 상에서 파일을 저장하고 불러 오는 것은 Devg.framework를 이용하도록 하겠습니다.
(https://bitbucket.org/ZenR/devg.git)

우선 모든 웹 통신이 종료될 시 가지고 있던 쿠키를 평문으로 저장하도록 하겠습니다. 보안에 좀 더 신경을 쓴다면 한번 암호화를 거치는 것도 좋겠죠.

func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation) {
    webView.evaluateJavaScript("document.cookie") { (object, error) in // 자바스크립트로 모든 쿠키를 가져와서
         if let string: String = object as? String { // 스트링으로 변환 후 저장.
             Devg.createFile("COOKIE", contents: string) // 파일 저장하는 부분이므로 대체 하세요.
         }
    }
}

 

 

이제 저장한 쿠키 정보를 불러와서 웹뷰에서 생성하는 작업을 해주어야 합니다.
적절한 도메인에 쿠키를 생성해 주기 위해 첫 웹뷰 로딩은 그냥 진행 시키도록 할게요.
결국 Javascript 기반이기 때문에 쿠키 생성도 didFinishNavigation 에서 진행해 주어야 하는데 쿠키 파일 저장과 생성하는 것이 한 곳에서 이루어 지므로 구분 하기 위해 isFirstLoad라는 멤버 변수를 만들어 주겠습니다.

var isFirstLoad: Bool = true

이제 isFirstLoad 변수를 참조하여 didFinishNavigation에 쿠키 생성하는 코드를 추가 합니다.

func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation) {
    if self.isFirstLoad { // 앱 처음 실행인지 판단.
        self.isFirstLoad = false // 쿠키 생성을 다시 하지 않도록 처리.
        if let string: String = Devg.getContents("COOKIE") { // 저장된 쿠키 파일을 불러 옴.
            // 쿠키를 생성하는 Javascript
            let cookies: [String] = string.componentsSeparatedByString(" ")
            var javascript: String = ""
            for cookie: String in cookies {
                javascript = javascript + "document.cookie='\(cookie)';"
            }
            webView.evaluateJavaScript(javascript, completionHandler: { (object, error) in // 쿠키를 생성하는 Javascript를 실행.
                webView.reload() // 쿠기 생성 후 쿠키 정보가 반영된 웹페이지를 불러 올 수 있도록 새고 고침을 해줍니다.
            })
        }
    }
    else {
        webView.evaluateJavaScript("document.cookie") { (object, error) in // 자바스크립트로 모든 쿠키를 가져와서
             if let string: String = object as? String { // 스트링으로 변환 후 저장.
                 Devg.createFile("COOKIE", contents: string) // 파일 저장하는 부분이므로 대체 하세요.
             }
        }
    }
}

https://ip.devg.net 은 사용자 아이피, 헤더 정보 등을 확인할 수 있는 웹페이지인데, 쿠키 정보도 볼 수 있으므로 간단히 테스트 후 실제 URL을 적용하시면 됩니다.

Advertisements

가산디지털단지 오향장육 족발 맛집 – 오향본

요즘 술 약속이 생기면 꼭 가는 가게가 있습니다.

육식 동물이었음 좋겠다 라고 생각할 정도로 고기를 참 좋아하는데 여러 사정으로 자주 먹진 못합니다.
그래서 술 약속, 회식 등이 있으면 꼭 안주는 고기류로 정하죠.

차돌박이 소고기를 참 좋아하지만 보통은 돼지 삼겹살로 떼웁니다.
양꼬치도 좋아하구요.

하지만 슬슬 날도 더워지는데 불판 앞은 가급적 피하고 싶더군요.
그래서 선택하게 된 것이 바로 족발입니다.

소개해 드릴 곳은 일반적인 양념족발과는 좀 다른 오향장에 족발을 찍어 먹을 수 있는 곳입니다.

IMG_1391

대자는 3만 6천원으로 중자 3만 2천원과 큰 가격 차이가 없습니다. 건장한 성인 남성 3명이 모였기 때문에 대자로 시켰습니다.

IMG_1375IMG_1377(1)

주문을 하면 만두국이 기본 제공되고 족발을 야채와 곁들여서 먹을 수 있는 새콤한 소스가 함께 나옵니다.

하지만 제가 메인이라 생각하는 오향장은 바로 먹기 힘든데요.

IMG_1378

냉장고에 보관되어 있다 나오기 때문에 젤리처럼 굳어 있습니다. 족발 나오기 전에 녹이기 위해 만두국 불 옆에 높았습니다. ㅎㅎ

IMG_1380

족발이 나왔네요.
빛에 반사되는 저 기름기. 사진만 봐도 군침이 넘어 가는 군요.

IMG_1381

시원한 칭따오 맥주도 함께.

맥주를 한 잔 하니 만두국이 어느새 끓고 있군요. 만두국은 국자로 퍼서 앞접시에 담아 인당 하나씩.

IMG_1383IMG_1384IMG_1385

녹아 있는 오향장에

IMG_1386(1)

족발 한 점을.

IMG_1387(1)

서비스로 나오는 부침개와 비빔국수.

IMG_1389IMG_1390

비빔국수는 다른 가게에서도 흔히 먹을 수 있는 맛인데.
부침개는 좀 심심합니다. 그래서 들어 있는 고추의 향이 잘 느껴지죠.
취향에 따라 좀 선호가 달라 질 것 같군요. 전 부침개가 별로였지만 다른 일행은 좋아하더군요.

IMG_1394

성인 3명이 다 처리 못해서 남기고 말았습니다. 다행히 일행이 한 명 더 합류하면서 결국 다 먹었지만요. ㅎㅎ

그것도 부족해서 시킨 계란찜.

IMG_1395

5천원인데 정말 크네요. 맛도 좋아서 배불러서 족발도 못 먹던 사람들이 숟가락을 계속 들이댔습니다.

IMG_1388

점심 메뉴도 있기 때문에 가산디지털단지 근처에 일하시는 분들은 점심 식사로 족발을 드셔 보는 것도 좋을 것 같네요.

저도 점심으로 ‘오향장육정식’을 먹어 보았는데 아무래도 밥 반찬으로는 심심하더군요.

IMG_1407

점심에는 ‘직화불족발정식’이 더 나을 듯 합니다.
심지어 양도 더 많더군요…

 

위치는 가산디지털단지 우림라이온스밸리 A동 지하 1층입니다.

 

마이티 넘버 나인 (Mighty No. 9) 리뷰

록맨, 북미판 메가맨 게임은 올드 게이머들에게 친숙한 이름입니다.
차기작이 출시하기를 기다리는 게이머들도 많지만
출시한 지 오래되었기 때문에(당시 개발자들도 모두 캡콤을 떠난지 오래…)  추억속의 게임으로 남아 있죠.

그런데 당시 개발자들이 모여 록맨을 정통 계승한 게임을 만든다며 클라우드 펀딩을 받았습니다.
순식간에 개발 비용이 모였고 개발사에서 돈이 더 모이면 만들겠다고 약속한 플스3, 비타 개발 비용도 초과하였습니다.

바로 ‘마이티 넘버 나인'(이후 넘버9)입니다.
록맨에 대한 저작권은 ‘캡콤’이 가지고 있기 때문에 다른 이름, 다른 케릭터로 개발을 한 것입니다.

게임이 출시 했을때 일부 유저들은 캡콤에 축전을 보내 그동안 캡콤이 록맨을 괄시한 것을 비꼬기도 했죠.

하지만 안타깝게도 내용물은 좋지 못했습니다.
기대도가 너무 높았는지 출시 후 평점은 곤두박질 쳤고 ‘넘버9에 록맨은 없었다’라는 평까지 받았습니다.

실제로 해보니 플스4가 너무 아까울 정도로 그래픽이 좋지 못합니다. 동봉된 코드를 사용하면 ‘레이 확장팩’과 플스3판, 비타판 DL이 제공된다고는 하지만
플스3에서는 레이 확장팩을 즐길 수 없고 심지어 비타판은 아직 출시 되지 않았습니다.

난이도가 들쑥 날쑥, 버그, 프레임 드롭 등 문제가 많지만 게임 자체의 재미는 나름 있으므로 리뷰를 계속 진행해 보도록 하겠습니다.

Mighty No. 9_20160624193700Mighty No. 9_20160624193723

시스템 옵션에 들어 가면 ‘음성 언어’를 변경할 수 있습니다. 영어 성우는 원래 어색한 느낌을 받는 취향이라 ‘일본어’로 변경하겠습니다. 기본 언어가 영어인 이유는 한글화 작업이 영어를 기준으로 진행되어 있기 때문입니다. 그럼에도… 영어 음성을 듣다 보면 자막의 번역이 완벽하지 않다는 느낌을 받을 수 있습니다.

게임은 40억의 클라우드 펀딩을 받았다는 느낌을 받기 힘들게 그럴싸한 오프닝 없이 텍스트로 대충 때우고 시작합니다.

Mighty No. 9_20160624193804Mighty No. 9_20160624193810Mighty No. 9_20160624193818Mighty No. 9_20160624193827Mighty No. 9_20160624193834

… 그러던 어느 날…
그리고 갑자기 등장하는 주인공. 그러던 어느 날… 무슨 일이 있었길래??????????
이후 진행을 보면 로봇들이 모두 바이러스에 감염되어 공격적이 되어 도시가 아수라장이 되었지만 주인공만이 바이러스에 면역이라 이 사태를 해결하는 구나 하고 납득이 가지만.
그렇지만. 너무 매끄럽지 못하고 어색한 연출이죠. 록맨의 아버지라 불리는 사람이 제작한 게임 치고는 너무 어설픕니다.

Mighty No. 9_20160624193854

Mighty No. 9_20160624193937

시작하자 마자 우연히 만난 박사로부터 설명을 듣고 부탁을 받았나??? 기억 나지 않는군요. 그정도로 스토리를 풀어내는 연출이 정말 미숙합니다. 텍스트로 처리했음에도 말이죠. 어쨌든 오른쪽으로 계속 이동합니다. 원래 그런 게임이니까요.

Mighty No. 9_20160624194056Mighty No. 9_20160624194115Mighty No. 9_20160624223115

이동하다 보면 빌딩에 있는 TV전광판을 통해 속보를 접할 수 있습니다. 이제 상황이 감이 잡히는 군요. 최대 로봇 제조 회사의 CEO가 나와서 이 바이러스 사태는 회사나 자신의 잘못이 아니라 얼굴도 모르는 블랙웰 박사의 짓이라며 덮어 씌웁니다. 뉴스 속보는 에비가 방송 전파를 장악하면서 중단됩니다.

에비는 넘버 식스입니다.

주인공 넘버 나인을 포함하여 넘버 원 부터 총 아홉개의 로봇 보스가 등장하는데 모두 로봇 콜로세움에서 활약하는 격투 로봇입니다. 이런 설정은 모두 게임을 진행하면서 추측하고 또 인터넷 검색을 통해 얻은 정보입니다. 게임 내에선 그런 정보가 전혀 나오지 않죠.

1900년대 초기에 나온 듯한 게임 수준의 스토리 전달력입니다. 그때 당시엔 용량이 부족해서 메뉴얼로 설정을 전달할 수 밖에 없었지만 40억이나 투자받아 플스4용으로 내 놓은 게임이 이런 수준이라니 도저히 납득이 되지 않는 군요. 리뷰를 쓰면서 점점 화가 나요.

어쨌든 마이티 넘버 시리즈, 그들 모두를 쓰러뜨리고 능력을 차지하는 기본 시스템은 록맨과 같죠.

이 게임은 오른쪽으로 쭉 가는 게임입니다. 왜 싸우는 지 어디로 가는 건지 제대로 된 설명도 없는 허접함은 접어 두고 일단 진행합시다.

Mighty No. 9_20160624194801Mighty No. 9_20160624195159

이 게임의 가장 큰 특징은 슬라이드입니다. 공중에도 좁은 곳에서도 사용할 수 있고 약해진 일반 적에게 사용해서 능력도 뺏을 수 있는 시스템입니다.

Mighty No. 9_20160624194515

이렇게 점프로 이동할 수 없는 곳도 공중 슬라이드로 이동할 수 있죠.
이런 사소한 부분까지 제대로 된 설명이 없기 때문에 유저가 잘해야 합니다. 처음 시작임에도 화면 상단에 슬라이드 버튼만 잠깐 알려 주고(그것도 여기서가 아니라 다른 곳에서) 말많은 박사의 통신 설명도 없이 이 곳을 통과 해야 하죠.

록맨의 아버지가 제작한 게임이라는 것이 40억이나 투자 받은 큰 힘이었는데 내용물을 열어 보니 그 점이 가장 큰 문제였습니다. 록맨 1 만들던 시기에 뇌가 굳은 꼰대라 2016년 출시하는 게임이 이 수준 밖에 안되는 거죠.

Mighty No. 9_20160624195446Mighty No. 9_20160624195635

뭐 어쨌든 오른쪽으로 진행하는 게임이잖아요? 계속 진행하면 굴착기 로봇이 보스로 등장합니다. 무찌릅시다.

Mighty No. 9_20160624195850Mighty No. 9_20160624195853

보스 처치.

사실 록맨류의 게임은 좋아하지만 록맨은 보스를 한번도 처치한 적 없을 정도로 잘 못합니다. 그럼에도 보스를 이겼기 때문에. 이정도 난이도면 할만하다 라고 생각 했습니다.

여기 까진 튜토리얼(튜토리얼 같지 않은 불친절한)이고 메인에선 록맨의 악몽이 떠오르는 난이도입니다. ㅎㅎ
메인 미션은 총 8개 선택할 수 있습니다. 아마도 모두 처치 후 블랙웰 박사랑 만나는 아홉번째 미션이 열리지 않을까 싶군요.  레이 확장팩까지 친다면 총 10개의 미션입니다.

Mighty No. 9_20160624200120Mighty No. 9_20160624200402Mighty No. 9_20160624200415Mighty No. 9_20160624200419Mighty No. 9_20160624200423Mighty No. 9_20160624200427Mighty No. 9_20160624200431Mighty No. 9_20160624200435Mighty No. 9_20160624200439

튜토리얼에서 방송 전파를 장악하며 얼굴을 비쳤던 애비, 넘버 식스가 있는 방송탑을 도전해 보았습니다.

Mighty No. 9_20160624200505Mighty No. 9_20160624200725Mighty No. 9_20160624200736Mighty No. 9_20160624201153Mighty No. 9_20160624205743

메인 미션 말고도 EX 모드를 제공하기 때문에 즐길 요소는 충분해 보입니다.

Mighty No. 9_20160624222636Mighty No. 9_20160624222623Mighty No. 9_20160624222523Mighty No. 9_20160624222614

솔직히 리뷰를 쓰면서 점점 쓰기 싫어져서 내용이 부족합니다. 적을만한 내용이 충분한 게임도 아니구요.

잘 모르고 샀다면 큰 가격(인기 하락으로 가격도 계속 하락)도 아니고 즐길만한 게임이라 봅니다.
그렇지만 클라우드 펀딩에 참여했던 사람들은 환불하고 싶어 하고 클라우드 펀딩 사기 사례라고 말하는 사람들도 있습니다.

여러분 절대 사지 마세요.

DOOM(2016) 리뷰.

DOOM을 아시나요?

어릴때 집에서 486 컴퓨터를 사주었는데, 그 시절엔 정품 소프트웨어에 대한 인식이 매우 부족하던때라 판매 매장에 이것 저것 다 깔아달라고 하였고 게임도 몇개 깔아 달라고 하였습니다.

제 방에 놓여진 전용 컴퓨터였기에 정말 열심히 게임을 했던 것 같네요.
(공부는 그 전에도 안했으니 공부를 안했던 건 게임 탓은 아니었습니다.)

설치되어 있던 게임들이 슬슬 시시해질쯤.
무슨 생각이었는 지 이 폴더 저 폴더 다 뒤졌던 것 같아요. 그러다 DOOM 1을 발견하였습니다. 오오!

피가 난자한 게임이라 부모님이 사전 삭제하고 클레임을 걸거라 생각했을 겁니다.
그럼에도 얼굴도 모르는 어린 아이에게 추천해주고 싶어 숨겨서 복사해준 “DOOM”

maxresdefault

DOOM으로 인해 어린 제 머리 속엔 총은 산탄이 짱이라고 각인되었고 오버워치에서 리퍼만 파게 되었죠…

그런데 어른이 된 나에게 DOOM이 리붓되어 출시한다는 소식이 들렸습니다.
FPS 게임을 좋아하지만 좋아하다보니 많이 하였고 이미 질릴대로 질려서 FPS 게임은 피하고 있었는데 DOOM이 리붓되어 출시되었다는 소식에 바로 게임 매장으로 가 샀습니다.

PS4 버전은 국내 정식 출시되지 않았지만 모 게임 매장에선 팔고 있더군요.

 

DOOM_20160624220524

다시 접한 DOOM은 정말 잔인했습니다. 기대를 저버리지 않고 잔인했습니다. 다시 한번 아드레날린이 솟고 스트레스가 풀리는 시원한 파괴형 게임을 즐길 수 있었습니다.

그럼 이 게임을 잠깐 살펴 보겠습니다.

DOOM_20160624220844DOOM_20160624220902DOOM_20160624220919

DOOM은 주인공이 제단 위에서 벌거숭이로 깨어나며 시작합니다. 심지어 쇠사슬로 묶여 있군요.
저 멀리 사람형체가 보이는데 괴물입니다. 묶여 있는 상태에서 점점 다가오는 괴물.

DOOM_20160624220935

그러나 힘만으로 쇠사슬을 끊어 버리고 괴물의 머리통을 악력으로 부숴 버리는 주인공. 오오오오오오 처음 시작 부터 임팩트가 예사롭지 않군요.

하지만 DOOM이라고 해서 무조건 부수고 죽이고 하는 게임이 아닙니다. 스토리가 존재하는데요. 텍스트, 음성 등으로 주인공이 깨어나기 전 있었던 일을 알려 주는 것은 물론이고 특정 장소에선 터미널에 접근하여 홀로그램으로 영상을 볼 수 있습니다.

안타깝게도 이렇게 스토리를 즐길 수 있는 요소들을 준비해 두었지만 한글판이 출시되지 않았기 때문에 원활하게 스토리를 이해하는데에는 무리가 있습니다.

DOOM_20160624221100

주인공이 묶여 있던 제단입니다. 홀로그램으로 보니 뭔가 부활의식같은 느낌이군요. 주인공은 이 화성 기지의 사람들에게 난리통 해결을 위해 소환 내지, 부활 된듯 합니다.

홀로그램 감상 후 밖으로 나오니
DOOM_20160624221132

알몸이 부끄러운 주인공을 위해 준비 되어 있는 슈트!

참고로 이 슈트는 DOOM 리부트 답게 DOOM 1 게임 패키지 표지에 그려진 슈트를 모티브로 하였습니다.

maxresdefault1

자, 이제 입어 볼까요?

DOOM_20160624221152DOOM_20160624221210DOOM_20160624221225

헬멧을 쓰면 HUD 시스템이 잠시 보이는 것이 캐간지!!!!!!

준비는 끝났습니다. 남은 것은 학살 뿐!!!!!!!!!!!!!!!!!!

스포일러가 될 수 있기에 자세한 스토리는 설명을 못 드리지만, 일단 처음에 뭘 해야 되는 지는 알아야 하니 조금 말씀 드리면, 게임의 시작 배경은 화성입니다.
화성의 한 과학자가 악마의 세계와 현실세계를 합치려 합니다. 그러기 위해 필요한 악마의 장비들이 있는데 그것들을 찾아서 하나씩 파괴 하면 됩니다.
파괴하면 빡친 악마들의 대량 공격이 이어지므로 파괴 전 대비를 하여야 합니다.

인간, 사이보그, 좀비, 외계인… 이젠 좀 식상하지 않나요? 식상하지 않게 이젠 적이 악마입니다!
DOOM이 나온 지 30여년이 되었다 보니 이젠 악마라는 소재가 새로운 느낌이 드는 군요.

어쨌든 주인공은 임무(파괴)를 하나씩 완수해 가는데… 과연 그 결과는???? ㅋㅋ

DOOM_20160624221503

제대로 된 첫 총을 시체에게서 줍고

DOOM_20160624221529

제대로 된 총.

DOOM_20160624221548

본격적으로 악마 학살 시작.

DOOM_20160624221617

파괴 해야 되는 게 저거. 파괴하면 빡친 악마들이 몰려 온다.

 

끝내기 전에 게임 시스템 몇가지를 소개해드릴게요.

  1. 무기 부품 교체.

DOOM에서 주인공이 사용하는 무기는 대부분 진행 중 줍줍 하게 됩니다.
그리고 그 무기들은 특수 능력을 가지고 있죠.
그리고 부품 교체를 통해 특수 능력을 변경할 수 있습니다. 취향에 맞는, 상황에 맞는 특수 능력으로 더욱 뛰어난 학살을 할 수 있습니다.

DOOM_20160624220411

  1. 글로리 킬 & 체력 회복.

여느 FPS게임과 같이 DOOM에도 급접 공격이 있습니다. 그렇지만 DOOM은 근접 공격에도 피의 재미를 덧붙였는데요.

DOOM_20160624221756

약해져서 요렇게 빨간 빛이 들어 온 녀석을 근접 공격하면 한방에 죽으며 머리 뜯기, 주먹으로 머리 박살 내기 상하체 분리 시키기등 다양한 모션으로 잔인한 재미를 선사합니다.

거기에다

DOOM_20160624221358

바닥에 떨어진 파란색 아이템이 체력 회복 아이템인데 글로리킬로 적을 죽이면 100% 드롭합니다.

HALO 이후 시간 지나면 자동으로 체력이 회복되는 시스템을 많은 게임들에서 차용한 것과 달리 원조 FPS 게임답게 DOOM 오리지날과 마찬가지로 아이템을 통한 체력 회복 시스템을 차용하였습니다.

글로리 킬과 이 체력 회복 아이템을 이용하면 조자룡 헌창 쓰듯 적진 속에서 무차별적 학살을 할 수 있습니다.

  1. 전기톱.

DOOM_20160624222006DOOM_20160624222014DOOM_20160624222051

여러분 둠하세요.