[{"data":1,"prerenderedAt":212},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:arrow-up-right":8,"i-lucide:moon":10,"i-lucide:sun":12,"i-lucide:rss":14,"i-simple-icons:github":16,"i-simple-icons:linkedin":18,"post-\u002F2012\u002Fweb-app-pre-launch-checklist":21,"surround-\u002F2012\u002Fweb-app-pre-launch-checklist":199,"i-lucide:arrow-left":208,"i-lucide:arrow-right":210},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19,"hidden":20},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"id":22,"title":23,"body":24,"category":183,"comments":184,"date":185,"description":30,"excerpt":184,"extension":186,"image":184,"meta":187,"navigation":20,"path":188,"readingTime":189,"seo":190,"stem":191,"subtitle":184,"tags":192,"wordCount":197,"__hash__":198},"posts\u002F2012\u002Fweb-app-pre-launch-checklist.md","Web App Pre-Launch Checklist",{"type":25,"value":26,"toc":169},"minimark",[27,31,36,49,53,58,96,100,119,123,140,144,152,156],[28,29,30],"p",{},"This is my checklist for deploying PHP \u002F Kohana based web application projects.",[32,33,35],"h2",{"id":34},"pre-develop","Pre-develop",[37,38,39,43,46],"ol",{},[40,41,42],"li",{},"Will the layout be responsive or fixed?",[40,44,45],{},"How to address the user (informal \u002F formal)",[40,47,48],{},"URL scheme - readable, semantic, short",[32,50,52],{"id":51},"frontend","Frontend",[54,55,57],"h3",{"id":56},"markup","Markup",[37,59,60,63,66,69,78,81,84,87,90,93],{},[40,61,62],{},"Does it have a favicon?",[40,64,65],{},"Does it have a \u003Ctitle> tag that changes for every page?",[40,67,68],{},"Does it have \u003Cmeta> author, description, charset?",[40,70,71,72,77],{},"Did you ",[73,74,76],"a",{"href":75},"https:\u002F\u002Fbrowserling.com\u002F","test the layout"," with IE 7, 8, 9, Opera, Firefox, Chrome?",[40,79,80],{},"Did you test it with common screen resolutions?",[40,82,83],{},"Does the main logo link to the front page?",[40,85,86],{},"Does the HTML validate?",[40,88,89],{},"Does it have (Google) Analytics?",[40,91,92],{},"Did you optimize and concatenation script, style and image (thumbs!) resource?",[40,94,95],{},"Does it have a print stylesheet?",[54,97,99],{"id":98},"user-experience","User Experience",[37,101,102,110,113,116],{},[40,103,104,105,109],{},"Did you go over all the texts, tooltips, instructions one more time? Can they be made ",[73,106,108],{"href":107},"http:\u002F\u002Fdeveloper.android.com\u002Fdesign\u002Fstyle\u002Fwriting.html","more specific and shorter","?",[40,111,112],{},"Does it have an informative 404 page?",[40,114,115],{},"Do you have informative help texts?",[40,117,118],{},"Are you validating forms with JS?",[32,120,122],{"id":121},"backend","Backend",[37,124,125,128,131,134,137],{},[40,126,127],{},"Are system-level folders, resources protected (.htaccess)?",[40,129,130],{},"Does it have a separate database username?",[40,132,133],{},"Are events logged?",[40,135,136],{},"Can it do self-diagnosis and notification on critical errors?",[40,138,139],{},"Did you protect against unauthorized usage (permission checks on certain actions)?",[54,141,143],{"id":142},"database","Database",[37,145,146,149],{},[40,147,148],{},"Is the database indexed?",[40,150,151],{},"Is the database documented (ERD, comments)?",[32,153,155],{"id":154},"resources","Resources",[157,158,159,164],"ul",{},[40,160,161],{},[73,162,163],{"href":163},"http:\u002F\u002Fwww.smashingmagazine.com\u002F2009\u002F04\u002F07\u002F15-essential-checks-before-launching-your-website\u002F",[40,165,166],{},[73,167,168],{"href":168},"http:\u002F\u002Fwww.boxuk.com\u002Fblog\u002Fthe-ultimate-website-launch-checklist",{"title":170,"searchDepth":171,"depth":171,"links":172},"",2,[173,174,179,182],{"id":34,"depth":171,"text":35},{"id":51,"depth":171,"text":52,"children":175},[176,178],{"id":56,"depth":177,"text":57},3,{"id":98,"depth":177,"text":99},{"id":121,"depth":171,"text":122,"children":180},[181],{"id":142,"depth":177,"text":143},{"id":154,"depth":171,"text":155},"Software Development",null,"2012-08-11","md",{},"\u002F2012\u002Fweb-app-pre-launch-checklist","about 1 minute",{"title":23,"description":30},"2012\u002Fweb-app-pre-launch-checklist",[193,194,195,196],"php","app","checklist","launch",225,"MJsZdhCcyv_zrxgxcPq8X3zAEFnKnd2Ub8GEb-fIIRE",[200,204],{"title":201,"path":202,"stem":203,"children":-1},"On Finding The Right Person","\u002F2012\u002Fon-finding-the-right-person","2012\u002Fon-finding-the-right-person",{"title":205,"path":206,"stem":207,"children":-1},"Minu lapsed tegelevad ülikoolis õppimisega","\u002F2012\u002Fminu-lapsed-tegelevad-ulikoolis-oppimisega","2012\u002Fminu-lapsed-tegelevad-ulikoolis-oppimisega",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":209},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":211},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1790886934152]