본문 바로가기

Out of service

2022-10-15 카카오 장애와 티스토리도 장애

카카오가 장애가 나면서 여러 다른 서비스들이 장애가 났다.

카카오톡은 말할 것도 없고..

daum 메인 화면도 이렇고..

위의 화면은 아래와 같이 500 응답으로 바뀐다.

지금은 정상화가 되었지만 여기 티스토리도 504 응답이 돌아왔다.

LuaJIT 엔진을 사용하여 Lua 스크립트를 실행할 수 있는 nginx 기반 웹 플랫폼인 OpenResty 를 쓰는구나!

같은 시각 티스토리 에러메시지

2000년대 초 웹 페이지를 많이 닮았다.
관련 문의 사항이 있지만 고객센터 페이지 역시 접속이 안되었다.
아카이브.zip
1.25MB

---

2022-10-18 10:21:14

어제 글 쓰는 것은 되었지만 글 조회가 되지 않았다.

오늘은 글 조회는 되지만 PC 버전으로 조회가 되지 않고 모바일로 redirection 이 되어 버린다.

http https://namocom.tistory.com/
HTTP/1.1 302 Found
Content-Length: 1
Content-Type: text/html; charset=UTF-8
Date: Tue, 18 Oct 2022 01:24:35 GMT
Location: https://namocom.tistory.com/m/
X-UA-Compatible: IE=Edge

티스토리도 mobile first 전략을 따르는 것 같다.

---

2022-10-20 09:58:32

이제 PC는 리디렉션 없이 그대로 내용을 받아온다.

http https://namocom.tistory.com/
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://namocom.tistory.com
Content-Encoding: gzip
Content-Length: 11276
Content-Type: text/html; charset=utf-8
Date: Thu, 20 Oct 2022 00:58:55 GMT
P3P: CP='ALL DSP COR MON LAW OUR LEG DEL'
Vary: Accept-Encoding
X-UA-Compatible: IE=Edge

<!doctype html>
<html lang="ko">
	<head>
<link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/lib/lightbox/css/lightbox.min.css" /><link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/style/content/font.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" /><link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/style/content/content.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" /><!--[if lt IE 9]><script src="https://t1.daumcdn.net/tistory_admin/lib/jquery/jquery-1.12.4.min.js"></script><![endif]--><!--[if gte IE 9]>
<!--><script src="//t1.daumcdn.net/tistory_admin/lib/jquery/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><!--<![endif]-->
<script src="//t1.daumcdn.net/tistory_admin/lib/lightbox/js/lightbox.min.js"></script>
<script>
lightbox.options.fadeDuration = 200;
lightbox.options.resizeDuration = 200;
lightbox.options.wrapAround = false;
lightbox.options.albumLabel = "%1 / %2";
</script>
<script>var tjQuery = jQuery.noConflict(true);</script><style type="text/css">.tt_article_useless_p_margin p {padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important;}</style><meta name="referrer" content="always"><link rel="icon" href="https://t1.daumcdn.net/cfile/tistory/141094505031BAE227" /><link rel="apple-touch-icon" href="//img1.daumcdn.net/thumb/C180x180/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F170EFC4F5031BADB08">
<link rel="apple-touch-icon" sizes="76x76" href="//img1.daumcdn.net/thumb/C76x76/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F170EFC4F5031BADB08">
<link rel="apple-touch-icon" sizes="120x120" href="//img1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F170EFC4F5031BADB08">
<link rel="apple-touch-icon" sizes="152x152" href="//img1.daumcdn.net/thumb/C152x152/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F170EFC4F5031BADB08">
<meta name="google-adsense-platform-account" content="ca-host-pub-9691043933427338">
<meta name="google-adsense-platform-domain" content="tistory.com">
<meta name="description" content="'나모의 노트' 스프링 노트에서 이전했습니다.">

<!-- BEGIN OPENGRAPH -->
<link rel="canonical" href="https://namocom.tistory.com" /><meta property="og:type" content="website" /><meta property="og:url" content="https://namocom.tistory.com" /><meta property="og:site_name" content="나모의 노트" ><meta property="og:title" content="나모의 노트" ><meta property="og:description" content="'나모의 노트' 스프링 노트에서 이전했습니다." ><meta property="og:image" content="https://t1.daumcdn.net/cfile/tistory/170EFC4F5031BADB08" ><meta property="og:article:author" content="나모찾기" >
<!-- END OPENGRAPH -->



<!-- BEGIN TWITTERCARD -->
<meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@TISTORY"><meta name="twitter:title" content="나모의 노트" ><meta name="twitter:description" content="'나모의 노트' 스프링 노트에서 이전했습니다." ><meta property="twitter:image" content="https://t1.daumcdn.net/cfile/tistory/170EFC4F5031BADB08" >
<!-- END TWITTERCARD -->



<!-- BEGIN STRUCTURED_DATA -->
<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"WebSite","url":"\/","potentialAction":{"@type":"SearchAction","target":"\/search\/{search_term_string}","query-input":"required name=search_term_string"}}</script>
<!-- END STRUCTURED_DATA -->


		<meta charset="UTF-8">
		<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width">
		<title>나모의 노트</title>
		<link rel="stylesheet" href="https://tistory1.daumcdn.net/tistory/1057713/skin/style.css?_T_=1557230344">
		
		<!-- 코드 하이라이트 begin -->
		<script src="//t1.daumcdn.net/tistory_admin/lib/jquery/jquery-1.12.4.min.js"></script>
		<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/default.min.css">
		<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script>
		<script>
			hljs.initHighlightingOnLoad();
		</script>
		<!-- 코드 하이라이트 end -->
	
		<link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/plugins/CommentCaptcha/css/captcha.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" />
		<script type="text/javascript">
			var needCommentCaptcha = true;
			var commentCaptchaType = 'bottom';
		</script>
<style type="text/css">
		#daumSearchBox {
			height: 21px;
			background-image : url(//i1.daumcdn.net/imgsrc.search/search_all/show/tistory/plugin/bg_search2_2.gif);
			margin: 5px auto ;
			padding: 0;
		}
		#daumSearchBox input {
			background: none;
			margin : 0;
			padding : 0;
			border : 0;
		}
		#daumSearchBox #daumLogo {
			width: 34px;
			height: 21px;
			float: left;
			margin-right: 5px;
			background-image : url(//i1.daumcdn.net/img-media/tistory/img/bg_search1_2_2010ci.gif);
		}
		#daumSearchBox #show_q {
			background-color: transparent;
			border: none;
			font: 12px Gulim, Sans-serif;
			color: #555;
			margin-top: 4px;
			margin-right: 15px;
			float: left;
		}

		#daumSearchBox #show_btn {
			background-image : url(//i1.daumcdn.net/imgsrc.search/search_all/show/tistory/plugin/bt_search_2.gif);
			width: 37px;
			height: 21px;
			float: left;
			margin:0;
			cursor:pointer;
			text-indent:-1000em;
		}
	</style>
<link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/plugins/TistoryProfileLayer/style.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" />
<script type="text/javascript" src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/plugins/TistoryProfileLayer/profile.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"></script>
	<style type="text/css">
		.another_category { border: 1px solid #E5E5E5; padding: 10px 10px 5px; margin:10px 0; clear: both; }
		.another_category h4 { font-size: 12px !important; margin: 0 !important; border-bottom: 1px solid #E5E5E5 !important; padding: 2px 0 6px !important; }
		.another_category h4 a { font-weight: bold !important; }
		.another_category table { table-layout: fixed; border-collapse: collapse; width: 100% !important; margin-top: 10px !important; }
		* html .another_category table { width: auto !important; }
		*:first-child+html .another_category table { width: auto !important; }
		.another_category th, .another_category td { padding: 0 0 4px !important; }
		.another_category th { text-align: left; font-size: 12px !important; font-weight: normal;  word-break: break-all; overflow: hidden; line-height: 1.5; }
		.another_category td { text-align: right; width: 80px; font-size: 11px; }
		.another_category th a { font-weight: normal; text-decoration: none; border: none !important; }
		.another_category th a.current{ font-weight: bold; text-decoration: none !important; border-bottom: 1px solid !important; }
		.another_category th span { font-weight: normal; text-decoration: none; font: 10px Tahoma, Sans-serif; border: none !important; }

		.another_category_color_gray, .another_category_color_gray h4 { border-color: #E5E5E5 !important; }
		.another_category_color_gray * { color: #909090 !important; }
		.another_category_color_gray th a.current{border-color:#909090 !important;}
		.another_category_color_gray h4, .another_category_color_gray h4 a { color: #737373 !important; }


		.another_category_color_red, .another_category_color_red h4 { border-color: #F6D4D3 !important;  }
		.another_category_color_red * { color: #E86869 !important; }
		.another_category_color_red th a.current{border-color:#E86869 !important;}
		.another_category_color_red h4, .another_category_color_red h4 a { color: #ED0908 !important; }


		.another_category_color_green, .another_category_color_green h4 { border-color: #CCE7C8 !important; }
		.another_category_color_green * { color: #64C05B !important; }
		.another_category_color_green th a.current{border-color:#64C05B !important;}
		.another_category_color_green h4, .another_category_color_green h4 a { color: #3EA731 !important; }


		.another_category_color_blue, .another_category_color_blue h4 { border-color: #C8DAF2 !important; }
		.another_category_color_blue * { color: #477FD6 !important; }
		.another_category_color_blue th a.current{border-color:#477FD6 !important;}
		.another_category_color_blue h4, .another_category_color_blue h4 a { color: #1960CA !important; }


		.another_category_color_violet, .another_category_color_violet h4 { border-color: #E1CEEC !important;  }
		.another_category_color_violet * { color:#9D64C5 !important; }
		.another_category_color_violet th a.current{border-color:#9D64C5 !important;}
		.another_category_color_violet h4, .another_category_color_violet h4 a { color: #7E2CB5 !important; }
	</style>
<script type="text/javascript">

        window.TistoryBlog = {
            basePath: "",
            url: "https://namocom.tistory.com",
            tistoryUrl: "https://namocom.tistory.com",
			manageUrl: 'https://namocom.tistory.com/manage',
            token: 'PGub+XtBIw88A3Eeuyz19g=='
        };
        var servicePath = "";
        var blogURL = "";
    </script>

	<script> (function() { window.orgjQuery = window.jQuery; window.jQuery = tjQuery })()</script>
    <script type="text/javascript" defer src=https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/script/reaction/reaction-button-container.min.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03></script>
    <script> (function() { window.jQuery = window.orgjQuery; delete window.orgjQuery })()</script>
        <script type="text/javascript" src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/script/_/base.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"></script>
        <link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/style/dialog.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"/>
            <link rel="stylesheet" type="text/css" href="//t1.daumcdn.net/tistory_admin/www/style/top/font.css">
    <link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/style/postBtn.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"/>
        <link rel="stylesheet" type="text/css" href="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/style/component/tistory.css?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" />
    <script type="text/javascript" src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/script/component/tistory.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"></script>
        <script type="text/javascript" src="//developers.kakao.com/sdk/js/kakao.min.js"></script></head>
<body id="tt-body-index" class="color-gray post-type-text paging-view-more">
<script type="text/javascript">
	(function() {
		if (!window.T) {
			window.T = {}
		}
		window.T.config = {"TOP_SSL_URL":"https:\/\/www.tistory.com","PREVIEW":false,"ROLE":"guest","PREV_PAGE":"","NEXT_PAGE":"?page=2","BLOG":{"isDormancy":false,"title":"\ub098\ubaa8\uc758 \ub178\ud2b8"},"NEED_COMMENT_LOGIN":true,"COMMENT_LOGIN_CONFIRM_MESSAGE":"\uc774 \ube14\ub85c\uadf8\ub294 \ub85c\uadf8\uc778\ud55c \uc0ac\uc6a9\uc790\uc5d0\uac8c\ub9cc \ub313\uae00 \uc791\uc131\uc744 \ud5c8\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \uc9c0\uae08 \ub85c\uadf8\uc778\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?","LOGIN_URL":"https:\/\/www.tistory.com\/auth\/login\/?redirectUrl=http%3A%2F%2Fnamocom.tistory.com%2F","DEFAULT_URL":"https:\/\/namocom.tistory.com","USER":{"name":null,"homepage":null},"ROLE_GROUP":"visitor","SUBSCRIPTION":{"status":"none","isConnected":false,"isProcessing":false,"isPending":false,"isWait":false,"isNone":true},"IS_LOGIN":false,"HAS_BLOG":false,"TOP_URL":"https:\/\/www.tistory.com","JOIN_URL":"https:\/\/www.tistory.com\/member\/join"};
		window.appInfo = {"domain":"tistory.com","topUrl":"https:\/\/www.tistory.com","loginUrl":"https:\/\/www.tistory.com\/auth\/login","logoutUrl":"https:\/\/www.tistory.com\/auth\/logout"};

        window.initData = {};

	})();
</script>

<script type="text/javascript" src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/script/blog/common.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03"></script>
<div style="margin:0; padding:0; border:none; background:none; float:none; clear:none; z-index:0"></div>
<div id="acc-nav">
	<a href="#content">본문 바로가기</a>
</div>
<div id="wrap">
	<header id="header">
		<h1><a href="/">나모의 노트</a></h1>
		<button type="button" class="mobile-menu"><span>메뉴</span></button>
		<div class="menu">
			<nav id="gnb">
				<ul class="tt_category">
	<li class="">
		<a class="link_tit" href="/category">
			분류 전체보기							span class="c_cnt">(848)</span>
			
							<img src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/image/category/new_ico_5.gif?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" alt="N" style='vertical-align:middle;padding-left:2px;' />
					</a>

				<ul class="category_list">
							<li class="">
					<a class="link_item" href="/category/Applications">
						Applications				span class="c_cnt">(85)</span>
						
											img src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/image/category/new_ico_5.gif?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" alt="N" style='vertical-align:middle;padding-left:2px;' />
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Apple">
						Apple					span class="c_cnt">(66)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Book">
						Book					span class="c_cnt">(36)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Career">
						Career					span class="c_cnt">(6)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/DB">
						DB					span class="c_cnt">(28)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/DB/MySQL%2CMariaDB">
									MySQL,MariaDB
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/DB/MS%20SQL%20Server">
									MS SQL Server
											span class="c_cnt">(7)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/DB/PostgreSQL">
									PostgreSQL
											span class="c_cnt">(2)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/DB/SQLite">
									SQLite
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/Programing">
						Programing				span class="c_cnt">(386)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/Programing/My%20OSS">
									My OSS
											span class="c_cnt">(11)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/Framework">
									Framework
											span class="c_cnt">(70)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/OpenSource">
									OpenSource
											span class="c_cnt">(52)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/JVM%28Java%2C%20Kotlin%29">
									JVM(Java, Kotlin)
											span class="c_cnt">(94)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/%EC%9B%B9">
									웹
											span class="c_cnt">(21)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/%EB%8B%B7%EB%84%B7">
									닷넷
											span class="c_cnt">(41)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/%ED%85%8C%EC%8A%A4%ED%8A%B8">
									테스트
											span class="c_cnt">(16)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/%EB%94%94%EB%B2%84%EA%B9%85">
									디버깅
											span class="c_cnt">(4)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/Scripts">
									Scripts
											span class="c_cnt">(8)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/Node.js">
									Node.js
											span class="c_cnt">(21)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/IIS">
									IIS
											span class="c_cnt">(6)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/MFC">
									MFC
											span class="c_cnt">(1)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Programing/R">
									R
											span class="c_cnt">(1)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/IDE">
						IDE					span class="c_cnt">(21)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/IDE/IntelliJ%20IDEA">
									IntelliJ IDEA
											span class="c_cnt">(15)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/IDE/Eclipse">
									Eclipse
											span class="c_cnt">(1)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/IDE/Visual%20Studio">
									Visual Studio
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/algorithm">
						algorithm				span class="c_cnt">(4)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Blog">
						Blog					span class="c_cnt">(4)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Bug%20Reports">
						Bug Reports				span class="c_cnt">(6)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Design">
						Design					span class="c_cnt">(17)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/Design/Survey">
									Survey
											span class="c_cnt">(1)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/Hardware">
						Hardware				span class="c_cnt">(13)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Out%20of%20service">
						Out of service				span class="c_cnt">(33)</span>
						
											img src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/image/category/new_ico_5.gif?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" alt="N" style='vertical-align:middle;padding-left:2px;' />
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Library">
						Library					span class="c_cnt">(3)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/Library/Image">
									Image
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/Network">
						Network					span class="c_cnt">(37)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/OS">
						OS					span class="c_cnt">(48)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/OS/AWS">
									AWS
											span class="c_cnt">(2)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/OS/Mac%20OS%20X">
									Mac OS X
											span class="c_cnt">(23)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/OS/Linux">
									Linux
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/OS/Windows">
									Windows
											span class="c_cnt">(11)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/Printer">
						Printer					span class="c_cnt">(1)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Languages">
						Languages				span class="c_cnt">(15)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/Languages/C%2B%2B">
									C++
											span class="c_cnt">(7)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Languages/Objective%20C">
									Objective C
											span class="c_cnt">(3)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/Languages/Scheme%28LISP%29">
									Scheme(LISP)
											span class="c_cnt">(1)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/SCM">
						SCM					span class="c_cnt">(5)</span>
						
											/a>

										<ul class="sub_category_list">
											li class="">
								<a class="link_sub_item" href="/category/SCM/SVN%28%EC%84%9C%EB%B8%8C%EB%B2%84%EC%A0%84%29">
									SVN(서브버전)
											span class="c_cnt">(2)</span>
									
											/a>
							</li>
											li class="">
								<a class="link_sub_item" href="/category/SCM/Git">
									Git
											span class="c_cnt">(2)</span>
									
											/a>
							</li>
											/ul>
					
				</li>
							<li class="">
					<a class="link_item" href="/category/Terms%28%EC%9A%A9%EC%96%B4%EB%93%A4%29">
						Terms(용어들)				span class="c_cnt">(3)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/MySrc">
						MySrc					span class="c_cnt">(0)</span>
						
											/a>

					
				</li>
							<li class="">
					<a class="link_item" href="/category/Security">
						Security				span class="c_cnt">(3)</span>
						
											/a>

					
				</li>
					</ul>
			</li>
</ul>
			</nav>
			<div class="social-link">
				
				
				
				
			</div>
			<p>POWERED BY TISTORY</p>
		</div>
		<div class="search">
			
					<input type="text" name="search" value="" placeholder="검색내용을 입력하세요." onkeypress="if (event.keyCode == 13) { try{window.location.href='/search/'+looseURIEncode(document.getElementsByName('search')[0].value);document.getElementsByName('search')[0].value='';return false;}catch(e){} }">
					<button type="submit" onclick="try{window.location.href='/search/'+looseURIEncode(document.getElementsByName('search')[0].value);document.getElementsByName('search')[0].value='';return false;}catch(e){}">검색</button>
				
		</div>
	</header>
	<hr>
	<section class="container">
		<article id="content">

			

			

			

			

			<div class="inner">
				

				
					
						<div class="post-item">
							<a href="/1041">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/bC5Rkp/btrO5szXe0n/EOesYai0rhziEKueJPdGyk/img.png" alt="">
									
								</span>
								<span class="title">Alfred 4 download link</span>
								<span class="excerpt">현재 Alfred 5가 주력으로 밀고 있어서 다운로드 받으려고 하면 5 다운로드 페이지로 이동한다. https://www.alfredapp.com/help/v4/ 에서 아직 버전 4를 받을 수 있다.</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1040">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/b72xWr/btrOPZywODa/lE6lmKRJse7BLlkZwgpT8k/img.png" alt="">
									
								</span>
								<span class="title">2022-10-15 카카오 장애와 티스토리도 장애</span>
								<span class="excerpt">카카오가 장애가 나면서 여러 다른 서비스들이 장애가 났다. 카카오톡은 말할 것도 없고.. daum 메인 화면도 이렇고.. 위의 화면은 아래와 같이 500 응답으로 바뀐다. 지금은 정상화가 되었지만 여기 티스토리도 504 응답이 돌아왔다. 같은 시각 티스토리 에러메시지 --- 2022-10-18 10:21:14 어제 글 쓰는 것은 되었지만 글 조회가 되지 않았다. 오늘은 글 조회는 되지만 PC 버전으로 조회가 되지 않고 모바일로 redirection 이 되어 버린다. http https://namocom.tistory.com/ HTTP/1.1 302 Found Content-Length: 1 Content-Type: text/html; charset=UTF-8 Date: Tue, 18 Oct 2022 01..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1039">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/blRrrk/btrOBbxWeI2/3azusNnBqGwVm9kxW2HW6K/img.png" alt="">
									
								</span>
								<span class="title">우아콘2022는 왜 비밀번호 상한 길이의 제한을 두는 걸까?</span>
								<span class="excerpt">우아콘2022 등록을 하다가 생긴 에피소드이다. 1Password 가 생성한 강려크한(?) 비밀번호 기능을 이용해서 비밀번호 설정을 했다. 그런데 입력 validator 에서 아래와 같은 메시지가 떴다. 1Password 가 제안한 강려크한 비밀번호는 아래와 같았다. (물론 아래의 값을 등록할 때 사용하지 않고 재 생성을 했다.) wed2!RE3xer-yur6dg@ 분명 영문대소문자도 들어가 있고, 숫자도 들어가 있고, 특수문자도 두 개 이상 들어가 있는데 어떤 것이 문제가 되었던 것일까? 텍스트 에디터에서 붙여놓고 마지막 커서를 가져가 놓는 방식으로 길이를 세어보았다. (맨 끝이 아닌 이유는 Sublime Text는 제일 앞의 커서 위치를 0이 아닌 1부터 세기 때문이다.) 결국 길이가 16를 넘어서 ..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1038">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/CiGLY/btrOkR0Nd0g/rltKHCap9PEsvQbXT4SLM1/img.png" alt="">
									
								</span>
								<span class="title">iMac 2006 폐가전으로 내놓았다.</span>
								<span class="excerpt">오늘 2022년 10월 11일 화요일, iMac 2006을 폐가전으로 내놓았다. 2022년 9월 20일 아이들에게 영상을 보여주는 용도로 사용중이었던 iMac 2006이 커널 패닉 증상을 보인지 22일 만이다. 더보기 커널 패닉 때 나오는 메시지는 아래와 같다. 4개국어로 나온다. 아쉽게도 한글은 없다. You need to restart your computer. Hold down the Power button for several seconds the press the Restart button. Veuillez redémarrer vote ordinateur. Maintenez la touche bien de démarrage enfoncée pendant plusieurs secondes ou a..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1037">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/chFIVF/btrN4Fnx53q/ErhDDmQo9c1mfRBmscK0T1/img.png" alt="">
									
								</span>
								<span class="title">쏙쏙들어오는 함수형 코딩과 jojoldu의 멱등성 토론 (마음속에서) 해결!</span>
								<span class="excerpt">2022년 10월 5일 프론트엔드 스터디로 《함수형 코딩》이라는 부분을 한다고 해서 급하게 스터디에 참여했다. 첫 시간이라서 1장 소개 부분이 진행햇다. 1장에서는 함수형 프로그래밍에 대하여 개념을 소개하면서 액션, 계산, 데이터를 구분하는 것을 설명한다. 액션: 실행 시점이나 횟수 또는 둘 다에 의존하는 것 계산: 입력값으로 출력값을 만드는 것. 같은 입력값을 가지고 계산하면 항상 같은 결괏값이 나오는 것. 언제, 어디서 계산해도 결과는 같고 외부에 영향을 주지 않음. 테스트하기 쉽고 언제든지 몇 번을 불러도 안전. => 멱등 데이터: 이벤트에 대해 기록한 사실. 실행하는 코드만큼 복잡하지 않기 때문에 다른 것과 구분. 위의 설명으로는 직관적이지 않기에 "함수형 프로그래머는 실행하는 코드와 그렇지 않은..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1036">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/4BShf/btrNcZsPM2o/pYGc7Kjn1SFHcErrh2ZjZK/img.png" alt="">
									
								</span>
								<span class="title">fastcampus: 실무 프로젝트로 배우는 Kotlin &amp; Spring - Part 4/Ch02/05 Why?</span>
								<span class="excerpt">강의 영상: https://fastcampus.app/courses/211160/clips/779521?organizationProductId=13720 09:29 분경 코틀린 변경 때 Optional 을 nullable 처리만 해주면 된다고 설명을 한다. 근데 findAllBy ~ 이런 다수의 결과를 받는 경우 조회 조건에 해당하는 데이터가 없을 경우 null을 반환하지 않고 빈 컬렉션을 돌려준다. 따라서 해당 쿼리 메서드는 null을 응답 받을 일이 없다. 애초에 아래와 같은 코드는 있지도 않을 일에 대해 지나치게 방어적으로 짠 코드라 생각한다. public interface TodoRepository extends JpaRepository { Optional findAllByDoneIsFalseOr..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1035">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/bSiTMb/btrNa34dYMU/bUnVNqxygHRpYV1cwJojuk/img.png" alt="">
									
								</span>
								<span class="title">fastcampus: 실무 프로젝트로 배우는 Kotlin &amp; Spring - Part 4/Ch02/03 오류 발견</span>
								<span class="excerpt">위치: https://fastcampus.app/courses/211160/clips/779520?position=1248&organizationProductId=13720 Part 4. 실제 예제를 기반으로 자바 프로젝트에 코틀린 도입해보기 ch02. 자바 프로젝트(ToDo프로젝트) 코틀린으로 리팩토링 하기 03. 컨트롤러 레이어 리팩토링 22:51 자바로 되어 있는 코드를 코틀린으로 옮기는 것을 예제로 보여 주는 강좌였다. 18:04경에 Assert.notNull 을 코틀린의 checkNotNull로 바꾸는 부분이 있었다. 이 부분을 보면서 저 변환은 계약 위반이라고 생각했다. 그 이유는 무엇일까? 기존에 Assert.notNull 는 스프링이 제공해주는 Assertion utility이다. 코드를 ..</span>
							</a>
						</div>
					
					
				
					
						<div class="post-item">
							<a href="/1034">
								<span class="thum">
									
										<img src="//i1.daumcdn.net/thumb/C264x200/?fname=https://blog.kakaocdn.net/dn/cHSW81/btrLhXxgV3u/ch48a7ldEjydDkS0HVRkL0/img.png" alt="">
									
								</span>
								<span class="title">WebClient: 기본 헤더 설정을 Consumer 를 이용하기(Java/Kotlin)</span>
								<span class="excerpt">Java WebClient 에 공통적으로 사용하는 헤더가 있다면 defaultHeader 를 이용하여 설정해놓으면 매번 WebClient 사용할 때마다 설정할 필요가 없어진다. WebClient webClient = WebClient.builder() .baseUrl("http://markbucciarelli.com") .defaultHeader("Authorization", "Bearer 7e0af818e0564a238bbcf6b9a0f7c176") .build(); Authorization 는 알려져 있는 헤더이므로 org.springframework.http 패키지의 HttpHeaders 클래스의 상수에 이미 정의되어 있다. package org.springframework.http; public ..</span>
							</a>
						</div>
					
					
				
			</div>

			

			

			
				<div class="pagination">
					<a  class="prev no-more-prev">이전</a>
					
						<a ><span class="selected">1</span></a>
					
						<a  href='?page=2'><span >2</span></a>
					
						<a  href='?page=3'><span >3</span></a>
					
						<a  href='?page=4'><span >4</span></a>
					
						<a ><span >&middot;&middot;&middot;</span></a>
					
						<a  href='?page=106'><span >106</span></a>
					
					<a  href='?page=2' class="next ">다음</a>
				</div>
			

		</article>
	</section>
	<hr>
	<footer id="footer">
		<p class="copyright">DESIGN BY <a href="#">TISTORY</a> <a href="https://namocom.tistory.com/manage" class="admin">관리자</a></p>
	</footer>
</div>
<script src="https://tistory1.daumcdn.net/tistory/1057713/skin/images/script.js"></script>

<script src="//search1.daumcdn.net/search/statics/common/js/g/search_dragselection.min.js"></script>
<script>
  (function () {
    function isShortContents () {
      return window.getSelection().toString().length < 30;
    }

    function copyWithSource (event) {
      if (isShortContents()) {
        return;
      }
      var range = window.getSelection().getRangeAt(0);
      var contents = range.cloneContents();
      var temp = document.createElement('div');

      temp.appendChild(contents);

      var url = document.location.href;
      var decodedUrl = decodeURI(url);
      var postfix = ' [나모의 노트:티스토리]';

      event.clipboardData.setData('text/plain', temp.innerText + '\n출처: ' + decodedUrl + postfix);
      event.clipboardData.setData('text/html', '<pre data-ke-type="codeblock">' + temp.innerHTML + '</pre>' + '출처: <a href="' + url + '">' + decodedUrl + '</a>' + postfix);
      event.preventDefault();
    };

    document.addEventListener('copy', copyWithSource);
  }())
</script>
	<script>
	    lightbox.option({
			"fadeDuration": 200,
		    "resizeDuration": 200,
		    "wrapAround": false,
			"albumLabel": "%1 / %2",
			"fitImagesInViewport":true ,
			"stopEvent": false
	    })
	</script>            <script type="text/javascript" src="//t1.daumcdn.net/tiara/js/v1/tiara.min.js"></script>
            <script type="text/javascript">window.tiara = {"svcDomain":"user.tistory.com","section":"\ud648","trackPage":"\ud648_\ubcf4\uae30","page":"\ud648","key":"1057713","customProps":{"userId":0,"blogId":"1057713","role":"guest","filterTarget":false,"trackPage":"\ud648_\ubcf4\uae30"},"entry":[],"sentryDsn":"https:\/\/a53520229cd744e798d42900d76b0e2a@aem-ingest.onkakao.net\/713","kakaoAppKey":"3e6ddd834b023f24221217e370daed18","appUserId":null};</script>
            <script type="text/javascript" src="https://t1.daumcdn.net/tistory_admin/assets/blog/tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03/blogs/script/tiara/tiara.min.js?_version_=tistory-60b6d90c49036ff9a69ec77497b94bc6d46e2e03" defer></script>
                        <script type="text/javascript">
                window.roosevelt_params_queue = window.roosevelt_params_queue || [{channel_id: 'dk', channel_label: 'tistory'}];
            </script>
            <script type="text/javascript" src="//t1.daumcdn.net/midas/rt/dk_bt/roosevelt_dk_bt.js" async></script><script type="text/javascript">if(window.console!=undefined){setTimeout(console.log.bind(console,"%cTISTORY","font:8em Arial;color:#EC6521;font-weight:bold"),0);setTimeout(console.log.bind(console,"%c  나를 표현하는 블로그","font:2em sans-serif;color:#333;"),0);}</script><iframe style="position:absolute;width:1px;height:1px;left:-100px;top:-100px" src="//namocom.tistory.com/api" id="editEntry"></iframe></body>
</html>