ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ º¯¼ö°¡ Á¤ÀǵǾú´ÂÁö ÆÇ´ÜÇÏ´Â ¹æ¹ý
try {
alert(x ? x : 0);
} catch(e) {
alert(e);
}
À§ Äڵ带 ºê¶ó¿ìÁ®¿¡¼ ½ÇÇàÇϸé ReferenceError exceptionÀÌ Ãâ·ÂµÈ´Ù.
if (x) {} ½ÄÀ¸·Î´Â º¯¼öÀÇ Á¤ÀÇ ¿©ºÎ¸¦ ÆÇ´ÜÇÒ ¼ö ¾ø´Ù.
try {
if (false) {
var x = 5;
}
alert(x ? x : 0);
} catch(e) {
alert(e);
}
À§ Äڵ带 ½ÇÇàÇϸé 0ÀÌ Ãâ·ÂµÈ´Ù.
ÀÌ»óÇÏÁö¸¸ ±×·¸´Ù. ¤Ñ,.¤Ñ;
try {
alert(typeof x === undefined ? x : 0);
} catch(e) {
alert(e);
}
À§ Äڵ带 ½ÇÇàÇϸé 0ÀÌ Ãâ·ÂµÈ´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ º¯¼ö°¡ Á¤ÀǵǾú´ÂÁö ÆÇ´ÜÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ºñ±³½ÄÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
typeof x === undefined
·¹ÀÏÁî °³¹ßÀÚ¸¦ ±¸ÇÕ´Ï´Ù. ¸¶°¨µÆ½À´Ï´Ù.
ÁÖ½Äȸ»ç ´õºíÆ®·¢¿¡¼´Â ¹ÌÅõµ¥ÀÌ ¹× ´õºíÆ®·¢¿¡¼ ÁøÇà ÁßÀÎ ¼ºñ½º¸¦ °³¹ß, ¿î¿µÇÏ½Ç ·¹ÀÏÁî °³¹ßÀÚ¸¦ ±¸Çϰí ÀÖ½À´Ï´Ù.
ÀÚ°Ý¿ä°ÇÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
- ·¹ÀÏÁî ¾îÇø®ÄÉÀÌ¼Ç °³¹ß °¡´ÉÇϽŠºÐ
- ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ß °¡´ÉÇϽŠºÐ
- HTML, CSS¿¡ ´ëÇÑ ÀÌÇØ°¡ ÀÖÀ¸½Å ºÐ
- linux, mysql ¿î¿µ °¡´ÉÇϽŠºÐ
Ãʱâ 3°³¿ù Á¤µµ ǮŸÀÓ °è¾àÁ÷À¸·Î °°ÀÌ ÀÏÇØ º» ÈÄ, Á¤±ÔÁ÷ ¶Ç´Â °è¾àÁ÷À¸·Î °è¾àÀ» ¿¬ÀåÇÏ´Â ¹æ½ÄÀ¸·Î ÇϰڽÀ´Ï´Ù.
°ü½É ÀÖÀ¸½Å ºÐÀº ÁÖÀú¸¶½Ã°í À̷¼¿Í °æ·Â»çÇ×À» codian °ñ¹ðÀÌ doubletrack.netÀ¸·Î º¸³»Áֽñ⠹ٶø´Ï´Ù. (°¡´ÉÇÏ½Ã¸é ¹®¼Æ÷¸ËÀº PDF ¶Ç´Â HTML·Î º¸³»Áֽøé ÁÁ°Ú½À´Ï´Ù.)
¹ÌÅõµ¥ÀÌ ½ºÅ²»ç¿ë Åë°è
ÃÖ±Ù º¸¸§°£ ¹ÌÅõµ¥ÀÌ¿¡ ±ÛÀ» ³²±â½Å ºÐµéÀ» ´ë»óÀ¸·Î ¾î¶² ½ºÅ²À» »ç¿ëÇÏ´ÂÁö Åë°è¸¦ »Ì¾ÆºÃ´Ù.
°¡ÀԽà ±âº»À¸·Î »ç¿ëµÇ´Â 4¹ø ½ºÅ²À» Á¦¿ÜÇÏ¸é °¡Àå ¼±È£ÇÏ´Â ½ºÅ²Àº °ËÁ¤»öÅæ, °¡Àå ´ú »ç¿ëÇÏ´Â ½ºÅ²Àº Çü±¤¹àÀº¿¬µÎ»öÅæ°ú X»öÅæ.
+-------+----+
| skin | % |
+-------+----+
| 4 | 30 |
| 5 | 13 |
| 1 | 12 |
| 9 | 10 |
| 2 | 9 |
| 6 | 7 |
| 7 | 7 |
| 3 | 6 |
| 8 | 6 |
+-------+----+
³ª´Â X»öÅæÀ» »ç¿ëÇϰí ÀÖ´Ù.
ruby-openid 1.1.4 3XX ¸®´ÙÀÌ·ºÆ®½Ã ¿À·ù ¼öÁ¤
OpenID Enabled¿¡¼ ¹èÆ÷ÇÏ´Â ·çºñ¿ë ¿ÀǾÆÀ̵ð ¶óÀ̺귯¸® ruby-openid 1.1.4¿¡´Â ¿ÀǾÆÀ̵𠼹ö°¡ 3XX redirect¸¦ ÀÀ´äÇÑ °æ¿ì Çì´õÀÇ Location Çʵ忡 ÁöÁ¤µÈ URL·Î ¸®´ÙÀÌ·ºÆ®ÇÏ´Â ±â´ÉÀÌ Æ÷ÇԵǾî ÀÖ´Ù.
status code 3xx·Î ¸®´ÙÀÌ·ºÆ® ÇÏ´Â °æ¿ì Location Çʵ忡 ÁöÁ¤µÈ URLÀÌ »ó´ëÁÖ¼Ò(¿¹¸¦ µé¾î /dir/file, dir/file µî)·Î ÁöÁ¤µÈ °æ¿ì ¿ÀǾÆÀ̵ð Á¦°øÀÚ¸¦ ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù.
½ºÆå¿¡´Â ¾î¶»°Ô µÇÀÖ´ÂÁö ¸ð¸£°ÚÁö¸¸ ÀÌ·± ¹®Á¦·Î °í°´ÀÌ ·Î±×ÀÎÀ» ÇÒ ¼ö ¾ø´Ù¸é ¼ºñ½ºÁ¦°øÀڷμ´Â ¾Ö°¡Å» ÀÏÀÌ´Ù.
´ÙÀ½°ú °°ÀÌ ruby-openid ¶óÀ̺귯¸®ÀÇ ÀϺθ¦ ¼öÁ¤ÇØ ÀÌ¿Í °°Àº ¹®Á¦¸¦ ÇÇÇÒ ¼ö ÀÖ¾ú´Ù.
ruby-openid ¶óÀ̺귯¸® ±¸¼ºÆÄÀÏÁß fetcher.rb ÆÄÀÏÀÇ do_get ¸Þ¼Òµå¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
# do a GET following redirects limit deep
def do_get(url, params, limit=5)
if limit == 0
return nil
end
begin
uri = URI.parse(url)
http = get_http_obj(uri)
resp = http.request_get(uri.request_uri, params)
rescue
nil
else
case resp
when Net::HTTPSuccess
return [resp, URI.parse(url).to_s]
when Net::HTTPRedirection
redirect_url = resp["location"]
if redirect_url !~ /^http/
url_header = url.match(/^((http|https):\/\/(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+)/)[0]
if redirect_url =~ /^\//
redirect_url = url_header + redirect_url
else
redirect_url = url + redirect_url
end
end
return do_get(redirect_url, params, limit-1)
else
return nil
end
end
end
Á¹¸° ¶© ÄÚµùÇÏÁö ¸»ÀÚ
°øºÎ Àß ÇÏ´Â ÇлýÀº ÀÏÂï ÀÜ´Ù´Â ¾ê±âµµ ÀÖ¾úÁö¸¸ Á¹¸± ¶© ÄÚµùÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
¾îÁ¦ Á¹¸é¼ ·çºñ ÄÚµå ÇÑÁÙÀ» 20ºÐ Á¤µµ °É·Á ½è¾ú´Ù. ÇÑ ÁÙÀ» ¼¹´Ù Áö¿ü´Ù¸¦ ¹Ýº¹ÇÏ¸ç °£½ÅÈ÷ ¿Ï¼ºÇÏ°í ³ëÆ®ºÏÀ» µ¤¾ú´Ù.
¿À´Ã µ¹·Áº¸´Ï ±× ÇÑ ÁÙ¿¡¼ ¹®¹ý¿À·ù°¡ 2°³, ³í¸®¿À·ù°¡ 2°³ Æ¢¾î³ª¿Ô´Ù.
Á¹¸®¸é ÀÚ¾ßÇÑ´Ù.