diff options
Diffstat (limited to 'files/ko/web')
39 files changed, 0 insertions, 4075 deletions
diff --git a/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html b/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html deleted file mode 100644 index 1e07e262c6..0000000000 --- a/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html +++ /dev/null @@ -1,248 +0,0 @@ ---- -title: Using the AudioChannels API -slug: Web/API/Audio_Channels_API/Using_the_AudioChannels_API -tags: - - Firefox OS - - Guide - - Non-standard -translation_of: Archive/B2G_OS/API/Audio_Channels_API/Using_the_AudioChannels_API ---- -<p>{{DefaultAPISidebar("Audio Channels API")}}{{ non-standard_header() }}</p> - -<div class="summary"> -<p>오디오 채널 API(<a href="/en-US/docs/Web/API/Audio_Channels_API">Audio Channels API</a>)는 현재 Firefox OS 전용 기능으로, 응용프로그램의 오디오 컨텐트를 중요성에 따른 계층구조로 배치하도록 한다. 이는 다른 오디오의 재생과 액션 발생에 반응하여 오디오가 일시정지되고 다시재생될 때를 지시하고 다른 종류의 볼륨을 제어할 수 있도록 한다. 이 가이드는 오디오 채널에 대한 기본적인 사용방법을 보여줄 것이다.</p> -</div> - -<p>오디오 채널의 종류는 다음과 같다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">채널 이름</th> - <th scope="col">중요도</th> - <th scope="col">용도</th> - <th scope="col">앱 권한 수준</th> - </tr> - </thead> - <tbody> - <tr> - <td>normal</td> - <td>1</td> - <td>UI 효과음, 앱과 웹 컨텐트</td> - <td>Normal</td> - </tr> - <tr> - <td>content</td> - <td>2</td> - <td>음악, 라디오, 비디오</td> - <td>Normal</td> - </tr> - <tr> - <td>notification</td> - <td>3</td> - <td>새 이메일, SMS 수신음</td> - <td>Privileged</td> - </tr> - <tr> - <td>alarm</td> - <td>4</td> - <td>알람 시계, 캘린더 알람</td> - <td>Privileged</td> - </tr> - <tr> - <td>ringer</td> - <td>5</td> - <td>전화 수신 벨소리</td> - <td>Internal</td> - </tr> - <tr> - <td>telephony</td> - <td>6</td> - <td>진행중인 통화, VOIP 통화</td> - <td>Internal</td> - </tr> - <tr> - <td>publicnotification</td> - <td>7</td> - <td>강제된 카메라 셔터음</td> - <td>Internal</td> - </tr> - </tbody> -</table> - -<p>하나의 오디오 채널이 사용되면, 언제든지 낮은 우선순위의 채널들은 자동으로 일시정디 된다. 단, 한가지 예외가 있는데, "normal"과 "content"채널은 동일한 우선순위를 가진다. 이는 "content"채널이 사용된다면 "normal"채널과 믹싱된다는 것을 의미한다. 만약 두 앱이 동시에 "content" 채널을 사용하려 한다면, 포어그라운드 앱이 우선권을 가진다. 만약 두 앱 모두 백그라운드 앱이라면, 마지막에 채널을 사용시도한 앱이 우선권을 가진다.</p> - -<div class="note"> -<p><strong>Note</strong>: 각 채널은 음소거와 볼륨 설정을 따로 가지고 있다.</p> -</div> - -<div class="note"> -<p><strong>Note</strong>: "telephony" 채널은 통화용 내장 스피커를 사용한다. 다른 모든 채널은 스피커 또는 헤드폰/헤드셋 등을 사용한다.</p> -</div> - -<h2 id="유즈_케이스">유즈 케이스</h2> - -<p>As obvious user-centric uses cases, audio channels allow users to play music from audio player apps even when they are running in the background, so they can do other things as it plays. However, they probably want the music to pause when someone rings the phone. As another example, when users mute their phone, they probably don't want to also mute their wake up alarm for the next morning.</p> - -<p>Other use cases:</p> - -<ul> - <li>When the user leaves an app, under normal circumstances the app should be muted.</li> - <li>When the volume keys are used it should change the volume for different audio types depending on context. For example while in the alarm app, the volume keys should adjust the alarm volume and not the "normal" volume.</li> - <li>When a video app starts playing audio, background music should be muted while the video is playing.</li> - <li>Turn down the volume of background audio rather than completely silence it when the "notification" channel is used.</li> - <li>Show which applications/tabs are currently playing audio.</li> - <li>Show UI to mute a specific app/tag.</li> - <li>Enable a spotify-app/tab to be treated as a music app. I.e. it should be able to get the same benefits as if it had mozaudiochannel=content. Including both the automatic muting of other content audio, and the ability to play in the background.</li> - <li>Control which application/tab gets to play audio if there are several background applications that all are attempting to use the "content" channel, but no visible apps using the "content" channel.</li> -</ul> - -<h2 id="예제_앱">예제 앱</h2> - -<p>To explain audio channel functionality, we have built a sample app, imaginitively called <a href="https://github.com/mdn/audio-channels-demo">audio-channels-demo</a> (you can <a href="http://mdn.github.io/audio-channels-demo/">see it running live here</a>.) The following shows what it looks like on Firefox OS.</p> - -<p><img alt="A demo showing a title of AudioChannels demo, with an audio player and a select box to choose an audio channel to play the audio in." src="https://mdn.mozillademos.org/files/8801/demo-screen.png" style="display: block; height: 356px; margin: 0px auto; width: 200px;"></p> - -<p>The demo provides an audio player, and a {{htmlelement("select")}} box for choosing what audio channel to play the audio in (only "Normal" and "Content" are provided.) When the content audio channel is selected, you will be able to go to the homescreen and put the app in the background but still have the music keep playing. This is not the case with the normal channel — "normal" audio content is stopped when an app goes into the background.</p> - -<p>To interrupt the playing of "content" audio content, you could try phoning the phone that the app is running on, or setting off an alarm. As you can see from the table above, these are both in higher priority audio channels.</p> - -<p>The app also fires notifications when audio is interrupted or play resumes, and when the headphones are unplugged or plugged in again. Let's explore how this functionality is implemented.</p> - -<h2 id="매니페스트_권한이_요구된다">매니페스트 권한이 요구된다</h2> - -<p>As explained in the table near the top, the different audio channels require a range of <a href="/en-US/Apps/Build/App_permissions">different permission levels</a> for their use in apps, ranging from normal (hosted apps) to internal (also known as certified.) In any case, you do need to declare the <code>permissions</code> field in your <code>manifest.webapp</code> file to use AudioChannels, once per channel (note that we also declared permission to use system notifications, as they are used in our demo app also.)</p> - -<pre class="brush: json">"permissions": { - "audio-channel-normal" : { - "description" : "Needed to play this app's audio content on the normal channel" - }, - "audio-channel-content" : { - "description" : "Needed to play this app's audio content on the content channel" - }, - "desktop-notification" : { - "description" : "Needed to fire system notifications" - } -}</pre> - -<h2 id="Selecting_the_audio_channel">Selecting the audio channel</h2> - -<p>Changing the audio channel to play the audio through in the app is a slightly more complex matter than you might think. Declaring the channel type statically in your HTML might look like this:</p> - -<pre class="brush: html"><audio mozaudiochannel="content" autoplay src="myAudio.ogg"></audio></pre> - -<p>Declaring it dynamically in your JavaScript might look like this:</p> - -<pre class="brush: js">var player = new Video(); -player.mozAudioChannelType = 'content'; -player.src = '../video-clips/myVideo.ogv';</pre> - -<p>However you do it, you need to declare the channel before you declare the <code>src</code> of the media you want to play, so it can be loaded and placed into the right channel. For this reason, our demo app does it in a slightly convoluted way, deleting and then recreating the audio player each time the audio channel is changed:</p> - -<pre class="brush: js">function createAudio(channelValue) { - - ... - - audioContainer.innerHTML = ''; - var player = document.createElement('audio'); - var source1 = document.createElement('source'); - var source2 = document.createElement('source'); - - player.controls = true; - player.mozAudioChannelType = channelValue; - source1.src = 'audio/dragon.ogg'; - source1.type = 'audio/ogg'; - source2.src = 'audio/dragon.mp3'; - source2.type = 'audio/mpeg'; - - player.appendChild(source1); - player.appendChild(source2); - audioContainer.appendChild(player); - - ... - -} - -channelSelect.addEventListener('change', function() { - createAudio(channelSelect.value); -});</pre> - -<p>So the <code>createAudio()</code> function is run when the {{htmlelement("select")}} box (referenced in the JS as <code>channelSelect</code>) has its value changed, with the <code>channelSelect</code> value as a parameter. In this function, the <code>audioContainer</code> (a simple {{htmlelement("div")}} that wraps the audio player) has its contents deleted. Next, a new audio player and {{htmlelement("source")}} elements are created, have their necessary attributes filled in, and are added back into the <code>audioContainer</code>. Note that <code>player.mozAudioChannelType = channelValue;</code> is included before the audio source is set.</p> - -<p>So with the audio channel set to "content", you can now keep the audio playing even when the app is in the background.</p> - -<h2 id="Setting_which_channel's_volume_to_control">Setting which channel's volume to control</h2> - -<p>As well as setting what audio channel your audio is going to play in, you can also separately set what channel will have its volume adjusted when the user presses the device's volume keys. This for example allows us to adjust our standard content's volume without affect ringer or alarm volume. It is controlled using the {{domxref("AudioChannelManager.volumeControlChannel")}} property. So at the top of the <code>createAudio()</code> function, we include this block:</p> - -<pre class="brush: js">function createAudio(channelValue) { - if (navigator.mozAudioChannelManager) { - if(channelValue == 'normal') { - navigator.mozAudioChannelManager.volumeControlChannel = 'normal'; - } else if(channelValue == 'content') { - navigator.mozAudioChannelManager.volumeControlChannel = 'content'; - } - console.log(navigator.mozAudioChannelManager.volumeControlChannel); - } - - ... - -} -</pre> - -<p>The {{domxref("AudioChannelManager")}} object is accessed by a call to the {{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}} property — note the <code>moz</code> prefix. This is first done to provide some rudimentary feature detection, so trying to access this feature won't break the app on platforms that don't support it. Next, we include an <code>if ... else if</code> block to check what channel value was passed into the function from the {{htmlelement("select")}} element, and then set the <code>volumeControlChannel</code> value accordingly.</p> - -<h2 id="Firing_notifications_when_the_audio_is_interrupted">Firing notifications when the audio is interrupted</h2> - -<p>Now we have audio playing in an audio channel, it will be interrupted either when a more important audio channel starts being played (for example when a telephone call is received), or when the app is moved into the background in the case of the lowest priority "normal" channel. When this condition ends, our channel will resume playing. We can respond to these events using the <code>mozinterruptbegin</code> and <code>mozinterruptend</code> event handlers, which can be attached to the video or audio player playing the audio. You can see these handlers being used at the bottom of the <code>createAudio()</code> function:</p> - -<pre class="brush: js">function createAudio(channelValue) { - - ... - - player.addEventListener('mozinterruptbegin', function() { - var notification = new Notification('Metal interrupted!', { body: "Something more important?" }); - }); - - player.addEventListener('mozinterruptend', function() { - var notification = new Notification('Metal resumed!', { body: "Important thing finished." }); - }); -}</pre> - -<p>Here we attach both relevant event listeners to the audio <code>player</code>; when the events occur, we run simple functions that fire system notifications to tell the user what has happened. See the following screenshots for what it will look like:</p> - -<div style="width: 410px; margin: 0 auto;"><img alt="A notification at the top of the Firefox OS interface saying Metal interrupted: something more important?" src="https://mdn.mozillademos.org/files/8803/interrupt-notification.png" style="height: 356px; margin: 0; padding: 0; width: 200px;"> <img alt="A notification at the top of the Firefox OS interface saying Metal resumed: important thing finished?" src="https://mdn.mozillademos.org/files/8805/resume-notification.png" style="height: 356px; margin: 0; padding: 0; width: 200px;"></div> - -<h2 id="Firing_notifications_when_the_headphones_are_(un)plugged">Firing notifications when the headphones are (un)plugged</h2> - -<p>The {{domxref("AudioChannelManager")}} object includes a {{domxref("AudioChannelManager.headphones","headphones")}} property that returns <code>true</code> if headphones are plugged into the device and false if not, and an event handler — {{domxref("AudioChannelManager.onheadphoneschange","onheadphoneschange")}} — which fires whenever headphones are plugged in to or unplugged from the device. We decided to use these together to create a headphone status notification system:</p> - -<pre class="brush: js">if (navigator.mozAudioChannelManager) { - navigator.mozAudioChannelManager.onheadphoneschange = function() { - if(navigator.mozAudioChannelManager.headphones == true) { - var notification = new Notification('Headphones plugged in!'); - } else { - var notification = new Notification('Headphones unplugged!'); - } - } -}</pre> - -<p>Let's go through this and explain what's happening. Again, multiple calls are made to {{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}, first for feature detection, then to set up a function that runs when the onheadphoneschange handler fires. Inside this function, we check whether the headphones property returns true — if so, the headphones are plugged in, so we tell the user that with a notification. If not, they must be unplugged, so we return a suitable notification for that case too. The notifications will look something like this:</p> - -<p><img alt="A notification at the top of the Firefox OS interface saying Headphones plugged in!" src="https://mdn.mozillademos.org/files/8807/headphones-notification.png" style="display: block; height: 356px; margin: 0px auto; width: 200px;"></p> - -<h2 id="Specifications">Specifications</h2> - -<p>The AudioChannels API has no official spec at the moment; see <a href="https://wiki.mozilla.org/WebAPI/AudioChannels">https://wiki.mozilla.org/WebAPI/AudioChannels</a> for implementation details, WebIDL, etc.</p> - -<h2 id="See_also">See also</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li><a href="/en-US/Apps/Build/App_permissions">App permissions for Firefox OS</a></li> - <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></li> - <li>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}</li> - <li>{{domxref("HTMLMediaElement")}}</li> - <li><a href="/en-US/Apps/Build/User_notifications">Notifications</a></li> -</ul> diff --git a/files/ko/web/api/audiochannelmanager/index.html b/files/ko/web/api/audiochannelmanager/index.html deleted file mode 100644 index 6bee14adb8..0000000000 --- a/files/ko/web/api/audiochannelmanager/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: AudioChannelManager -slug: Web/API/AudioChannelManager -tags: - - API - - Audio - - Non-standard -translation_of: Archive/B2G_OS/API/AudioChannelManager ---- -<p>{{APIRef("Web Audio API")}} {{Non-standard_header}}</p> - -<p>AudioChannelManager는 디바이스의 오디오 채널을 관리하는 기능을 포함하는 오디오 채널 API(<a href="/en-US/docs/Web/API/AudioChannels_API">AudioChannels API</a>)의 인터페이스이다. 특정한 앱 내에서 볼륨 버튼이 눌렸을 때 어떤 채널의 볼륨이 적용될지를 설정하는 기능을 포함하고 있다.</p> - -<h2 id="메소드">메소드</h2> - -<div class="note"> -<p><strong>Note</strong>: 부모클래스인 {{domxref("EventTarget")}}의 메소드를 상속받는다.</p> -</div> - -<h2 id="속성">속성</h2> - -<div class="note"> -<p><strong>Note</strong>: 부모클래스인 {{domxref("EventTarget")}}의 속성을 상속받는다.</p> -</div> - -<dl> - <dt>{{domxref("AudioChannelManager.headphones")}} {{readonlyinline}}</dt> - <dd>헤드폰이 디바이스에 장착되었는지 여부를 나타내는 불리언 값.</dd> - <dt>{{domxref("AudioChannelManager.telephonySpeaker")}}</dt> - <dd><span class="short_text" id="result_box" lang="ko"><span class="atn">"</span><span class="atn">telephony</span><span class="atn">" </span><span>오디오</span> <span class="hps">채널이</span> <span class="hps">장치의</span> <span class="hps">스피커</span> <span class="hps">밖으로</span> <span class="atn hps">재생</span><span>할지 여부를</span> <span class="hps">설정할</span> <span class="hps">수 있도록하는</span> <span class="atn hps">불리언 값</span><span>.</span></span></dd> - <dt>{{domxref("AudioChannelManager.volumeControlChannel")}}</dt> - <dd>하드웨어 볼륨 버튼을 눌렀을 때 변경해야 할 오디오 채널에 대한 {{domxref("DOMString")}} 값.</dd> -</dl> - -<h3 id="이벤트_핸들러">이벤트 핸들러</h3> - -<dl> - <dt>{{domxref("AudioChannelManager.onheadphoneschange")}}</dt> - <dd>헤드폰이 장착되었는지 혹은 해제되었는지 알려주는 트리거.</dd> -</dl> - -<h2 id="예제">예제</h2> - -<p>아래 간단한 예제를 보면, 앱의 <code>AudioChannelManager 객체에 접근하기 위해 </code>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}} 속성을 사용한다. 먼저 첫번째로 수신된 변수에 따라 {{domxref("AudioChannelManager.volumeControlChannel")}} 속성을 설정한 후, 몇 가지 기본적인 특징을 검출한다.</p> - -<pre class="brush: js">var channelValue = 'content'; - -if (navigator.mozAudioChannelManager) { - if(channelValue == 'normal') { - navigator.mozAudioChannelManager.volumeControlChannel = 'normal'; - } else if(channelValue == 'content') { - navigator.mozAudioChannelManager.volumeControlChannel = 'content'; - } - console.log(navigator.mozAudioChannelManager.volumeControlChannel); -}</pre> - -<div class="note"> -<p><strong>Note</strong>: 완전히 동작하는 예제를 보기 위해서는 <a href="https://github.com/mdn/audio-channels-demo">audio-channels-demo</a>를 확인하기 바란다. Firefox OS 디바이스에 앱을 설치하고 음악을 재생한 뒤, 채널을 normal 그리고 content로 지정하여 앱을 백그라운드로 전환 후 어떤 일이 발생하는지 확인하도록 한다.</p> -</div> - -<h2 id="명세">명세</h2> - -<p>현재 오디오 채널 API는 공식적인 명세(스펙)가 정의되어있지 않다. <a href="https://wiki.mozilla.org/WebAPI/AudioChannels">https://wiki.mozilla.org/WebAPI/AudioChannels</a>를 참고하면 WebIDL에 대한 자세한 구현사항에 대해 확인할 수 있다.</p> - -<h2 id="함께_보기">함께 보기</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li><a href="/en-US/Apps/Build/App_permissions">App permissions for Firefox OS</a></li> - <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></li> - <li>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}</li> - <li>{{domxref("HTMLMediaElement")}}</li> -</ul> diff --git a/files/ko/web/api/audiochannels_api/index.html b/files/ko/web/api/audiochannels_api/index.html deleted file mode 100644 index de4d98de42..0000000000 --- a/files/ko/web/api/audiochannels_api/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Audio Channels API -slug: Web/API/AudioChannels_API -tags: - - API - - Audio - - AudioChannels - - Firefox OS - - Non-standard - - Obsolete - - Reference -translation_of: Archive/B2G_OS/API/Audio_Channels_API ---- -<p>{{DefaultAPISidebar("Audio Channels API")}}</p> - -<div class="blockIndicator nonStandard"> -<p><strong>Non-standard</strong><br> - This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p> -</div> - -<p class="summary">The <strong>Audio Channels API</strong> is a Firefox OS-only feature allowing you to place your app audio content into a hierarchy of importance, which dictates when the audio will be paused and resumed in response to other audio playing and actions occurring and allows you to control the volume of different types of audio independently from one another.</p> - -<p>Use case examples:</p> - -<ul> - <li>You want your audio player app to continue playing audio even when it is running in the background so you can do other things as it plays, but you want it to pause when someone rings your phone.</li> - <li>When you mute your phone you don't want to also mute your wake up alarm for the next morning.</li> -</ul> - -<div class="note"> -<p><strong>Note</strong>: Since the AudioChannels API is non-standard and requires permissions, for many simple use cases such as pausing game music when the app/web page goes into the background you would be better off using the standard <a href="/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API">Page Visibility API</a>, or perhaps <a href="/en-US/docs/Web/API/Window/onfocus" title="The onfocus property returns the onFocus event handler code on the current element."><code>window.onfocus</code></a>/<a href="/en-US/docs/Web/API/Window/onblur" title="The onblur property returns the onBlur event handler code, if any, that exists on the current element."><code>window.onblur</code></a>. AudioChannels are mainly useful for more complex phone uses cases involving telephony, etc.</p> -</div> - -<h2 id="Concepts_and_usage">Concepts and usage</h2> - -<p>The AudioChannels API extends the <a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a> and <a href="/en-US/docs/Web/API/AudioContext" title="The AudioContext interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode. An audio context controls both the creation of the nodes it contains and the execution of the audio processing, or decoding. You need to create an AudioContext before you do anything else, as everything happens inside a context."><code>AudioContext</code></a> interfaces with (among other things) a <code>mozAudioChannelType</code> property that can be set to the channel you want your audio to be played in. The <a href="/en-US/docs/Web/HTML/Element/audio" title="The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream."><code><audio></code></a> and <a href="/en-US/docs/Web/HTML/Element/video" title="Use the HTML <video> element to embed video content in a document."><code><video></code></a> elements can also be used to set this value via the <code>mozaudiochannel</code> attribute. When your audio is placed into a channel, it is generally paused (or interrupted) by audio in a higher priority channel being played. Audio in the least important channel — <code>normal</code> — is also paused by its app being put into the background (this is not the case with the other channels). The audio channels are as follows:</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Channel name</th> - <th scope="col">importance</th> - <th scope="col">Used for</th> - <th scope="col">App permission level</th> - </tr> - </thead> - <tbody> - <tr> - <td>normal</td> - <td>1</td> - <td>UI sounds, app and web content</td> - <td>Normal</td> - </tr> - <tr> - <td>content</td> - <td>2</td> - <td>Music, radio, video</td> - <td>Normal</td> - </tr> - <tr> - <td>notification</td> - <td>3</td> - <td>New email, incoming SMS</td> - <td>Privileged</td> - </tr> - <tr> - <td>alarm</td> - <td>4</td> - <td>Alarm clock, calendar alarms</td> - <td>Privileged</td> - </tr> - <tr> - <td>ringer</td> - <td>5</td> - <td>Incoming phone calls</td> - <td>Certified</td> - </tr> - <tr> - <td>telephony</td> - <td>6</td> - <td>Ongoing phone calls, VOIP calls</td> - <td>Certified</td> - </tr> - <tr> - <td>publicnotification</td> - <td>7</td> - <td>Forced camera shutter sounds</td> - <td>Certified</td> - </tr> - </tbody> -</table> - -<p>Each channel has a separate mute and volume setting, to provide more granular control over the different parts of audio on your device. These are accessed using the <a href="/en-US/docs/Web/API/MozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>mozAudioChannelManager</code></a> object via the <a href="/en-US/docs/Web/API/Navigator/mozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozAudioChannelManager</code></a> property.</p> - -<div class="note"> -<p><strong>Note</strong>: If you have two apps playing audio in the content channel, only the one in the foreground can play audio, while the other is interrupted. When the foreground app is put into the background with audio playing, it will not be muted, as per normal "content" behaviour.</p> -</div> - -<div class="note"> -<p><strong>Note</strong>: Find more out about how to use the AudioChannels API in our <a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a> guide.</p> -</div> - -<h2 id="AudioChannels_interfaces">AudioChannels interfaces</h2> - -<dl> - <dt><a href="/en-US/docs/Web/API/AudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>AudioChannelManager</code></a></dt> - <dd>Includes some features for managing your device's audio channels, including setting what channel's volume to affect when the volume buttons are pressed inside a particular app.</dd> - <dt><a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a> and <a href="/en-US/docs/Web/API/AudioContext" title="The AudioContext interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode. An audio context controls both the creation of the nodes it contains and the execution of the audio processing, or decoding. You need to create an AudioContext before you do anything else, as everything happens inside a context."><code>AudioContext</code></a> extensions</dt> - <dd><code>HTMLMediaElement</code> and <code>AudioContext</code> are extended with some proprietary features for controlling audio channels, including setting what audio channel the media is in, and events that fire when the audio is interrupted, and resumes playing.</dd> - <dt><a href="/en-US/docs/Web/API/Using_the_Browser_API">Browser API</a> extensions</dt> - <dd>The Browser API will also be including some audio channels features, for putting audio content inside a browser instance into audio channels, controlling its volume, etc., but it doesn't look like these have yet been implemented. This should occur soon.</dd> -</dl> - -<h2 id="See_also">See also</h2> - -<ul> - <li><a href="/en-US/docs/Web/Apps/Build/App_permissions">App permissions for Firefox OS</a></li> - <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the Audio Channels API</a></li> - <li><a href="/en-US/docs/Web/API/Navigator/mozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozAudioChannelManager</code></a></li> - <li><a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a></li> -</ul> diff --git a/files/ko/web/api/mozmmsevent/index.html b/files/ko/web/api/mozmmsevent/index.html deleted file mode 100644 index 6a3975d40b..0000000000 --- a/files/ko/web/api/mozmmsevent/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: MozMmsEvent -slug: Web/API/MozMmsEvent -tags: - - Firefox OS - - Mobile - - Non-standard - - Obsolete - - Reference - - WebSMS -translation_of: Archive/B2G_OS/API/MozMmsEvent ---- -<p>{{ Apiref() }}</p> - -<div class="warning"> -<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p> -</div> - -<h2 id="요약">요약</h2> - -<p>DOM <code>MozMmsEvent</code> 는 WebSMS MMS 메시지와 관련된 이벤트 객체이다.</p> - -<h2 id="속성">속성</h2> - -<dl> - <dt>{{domxref("MozMmsEvent.message")}} {{readonlyinline}}</dt> - <dd>해당 이벤트에 의해 발생된 {{ domxref("MozMmsMessage") }} 이다.</dd> -</dl> - -<p><code>MozM</code><code>msEvent</code> 는 또한 {{domxref("Event")}} 의 속성을 상속받는다.</p> - -<p>{{page("/en-US/docs/Web/API/Event","Properties")}}</p> - -<h2 id="메소드">메소드</h2> - -<p><code>MozMmsEvent</code> 는 {{domxref("Event")}} 의 메소드를 상속받는다.</p> - -<p>{{page("/en-US/docs/Web/API/Event","Methods")}}</p> - -<h2 id="이벤트">이벤트</h2> - -<p><code>MozMmsEvent</code> 는 다음과 같은 이벤트들에 사용된다:</p> - -<dl> - <dt>{{event("deliverysuccess")}}</dt> - <dd>MMS가 수신자에게 전달되었을 때 발생한다.</dd> - <dt>{{event("received")}}</dt> - <dd>MMS를 받았을 때 발생한다.</dd> - <dt>{{event("sent")}}</dt> - <dd>MMS를 보냈을 때 발생한다.</dd> -</dl> - -<h2 id="명세">명세</h2> - -<p>이 API는 비 표준 스펙의 구현체이다. 그러나 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="같이_보기">같이 보기</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozMobileMessageManager") }}</li> - <li>{{ domxref("MozMmsMessage") }}</li> -</ul> diff --git a/files/ko/web/api/mozmmsmessage/index.html b/files/ko/web/api/mozmmsmessage/index.html deleted file mode 100644 index 1d00b8050d..0000000000 --- a/files/ko/web/api/mozmmsmessage/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: MozMmsMessage -slug: Web/API/MozMmsMessage -tags: - - Firefox OS - - Mobile - - Non-standard - - Obsolete - - Reference - - WebSMS -translation_of: Archive/B2G_OS/API/MozMmsMessage ---- -<div>{{APIRef("Mobile Messaging API")}}</div> - -<div class="warning"> -<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p> -</div> - -<h2 id="요약">요약</h2> - -<p>DOM <code>MozMmsMessage</code> 객체는 MMS 메시지를 나타내며 발신자, 수신자, 본문, 첨부 파일, 날짜와 같은 모든 정보를 가지고 있다.</p> - -<h2 id="속성">속성</h2> - -<dl> - <dt> </dt> - <dt>{{domxref("MozMmsMessage.type")}} {{readonlyinline}}</dt> - <dd><code>mms라는 값을 가지는 문자열이다.</code></dd> - <dt>{{domxref("MozMmsMessage.id")}} {{readonlyinline}}</dt> - <dd>메시지의 id를 나타내는 숫자를 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.threadId")}} {{readonlyinline}}</dt> - <dd>메시지 일부의 스레드의 id를 나타내는 숫자를 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.subject")}} {{readonlyinline}}</dt> - <dd>메시지의 제목을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.smil")}} {{readonlyinline}}</dt> - <dd>메시지의 SMIL 콘텐츠를 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.attachments")}} {{readonlyinline}}</dt> - <dd>SMIL 콘텐츠에 필요한 첨부 파일을 나타내는 객체의 배열을 반환한다. 이 객체들은 <code>id</code>, <code>location,</code> <code>content</code>(<a href="https://developer.mozilla.org/en-US/docs/Web/API/Blob" title="/en-US/docs/Web/API/Blob"><code>Blob</code></a>)를 포함하고 있다.</dd> - <dt>{{domxref("MozMmsMessage.expiryDate")}} {{readonlyinline}}</dt> - <dd>MMS를 수동으로 다운로드 받게 되는 만기일을 나타내는 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.delivery")}} {{readonlyinline}}</dt> - <dd><code>not-download</code>, <code>received</code>, <code>sending</code>, <code>sent</code>, <code>error</code> 중 하나의 값을 가지게 되는 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.deliveryStatus")}} {{readonlyinline}}</dt> - <dd><code>delivery</code> 속성 값에 따른 상태를 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.read")}} {{readonlyinline}}</dt> - <dd>메시지를 읽었는지 읽지 않았는지를 가리키는 Boolean을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.receivers")}} {{readonlyinline}}</dt> - <dd>각 수신자의 이름을 가진 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.sender")}} {{readonlyinline}}</dt> - <dd>발신자의 이름을 가진 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozMmsMessage.timestamp")}} {{readonlyinline}}</dt> - <dd>메시지의 타임스탬프인 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd> -</dl> - -<h2 id="명세">명세</h2> - -<p>이 API는 비 표준 스펙의 구현체이다. 그러나 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="같이_보기">같이 보기</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozMobileMessage") }}</li> - <li>{{ domxref("MozMobileMessageManager") }}</li> -</ul> diff --git a/files/ko/web/api/mozmobilemessagemanager/index.html b/files/ko/web/api/mozmobilemessagemanager/index.html deleted file mode 100644 index 6b301fe71b..0000000000 --- a/files/ko/web/api/mozmobilemessagemanager/index.html +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: MozMobileMessageManager -slug: Web/API/MozMobileMessageManager -tags: - - Firefox OS - - Mobile - - Obsolete - - Reference - - WebSMS -translation_of: Archive/B2G_OS/API/MozMobileMessageManager ---- -<div>{{APIRef("Mobile Messaging API")}}</div> - -<div class="warning"> -<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p> -</div> - -<h2 id="요약">요약</h2> - -<p>기기에서 WebSMS를 사용하여 MMS와 SMS 메시지 전송과 관리를 할 수 있는 기능을 제공한다.</p> - -<h2 id="이벤트_핸들러">이벤트 핸들러</h2> - -<dl> - <dt>{{domxref("MozMobileMessageManager.ondeliveryerror")}}</dt> - <dd>{{event("deliveryerror")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 수취인에게 전달되지 않았을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.ondeliverysuccess")}}</dt> - <dd>{{event("deliverysuccess")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 수취인에게 전달되었을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.onreceived")}}</dt> - <dd>{{event("received")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS를 받았을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.onretrieving")}}</dt> - <dd>{{event("retrieving")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 검색 단계의 시작에 MMS 또는 SMS가 진입했을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.onsent")}}</dt> - <dd>{{event("sent")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 보내졌을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.onsending")}}</dt> - <dd>{{event("sending")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 전송 단계의 시작에 MMS 또는 SMS가 진입했을 때 발생한다.</dd> - <dt>{{domxref("MozMobileMessageManager.onfailed")}}</dt> - <dd>{{event("failed")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 SMS 전송이 실패했을 때 발생한다.</dd> -</dl> - -<h2 id="메소드">메소드</h2> - -<dl> - <dt>{{domxref("MozMobileMessageManager.delete","MozMobileMessageManager.delete(param)")}}</dt> - <dd>메시지를 삭제하고 {{ domxref("DOMRequest") }} 객체를 반환한다<code> (DOMRequest.result</code>는 메시지가 삭제되었는지 아닌지를 반영하는 Boolean 값이다). 메시지 <code>id</code>, {{ domxref("MozSmsMessage") }} 객체 또는 {{ domxref("MozMmsMessage") }} 객체가 파라미터로 사용된다.</dd> - <dt>{{domxref("MozMobileMessageManager.getMessage()","MozSmsManager.getMessage(id)")}}</dt> - <dd>해당 <code>id에 대한 메시지를 받아서 </code>{{ domxref("DOMRequest") }} 객체를 반환한다. 이 객체의 <code>DOMRequest.result</code>는 {{ domxref("MozSmsMessage") }} 이다.</dd> - <dt>{{domxref("MozMobileMessageManager.getMessages()","MozSmsManager.getMessages(filter, reverseOrder)")}}</dt> - <dd>여러 개의 메시지를 받는다. {{ domxref("MozSmsFilter") }} 객체를 사용하여 필터링이 가능하고 두번째 파라미터 Boolean 값에 따라 메시지의 순서를 거꾸로 바꿀 수도 있다. {{ domxref("DOMCursor") }} 를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageManager.getSegmentInfoForText()","MozMobileMessageManager.getSegmentInfoForText(text)")}}</dt> - <dd>주어진 문자(보통 SMS당 160 글자)에 대한 멀티 파트 SMS를 만들기 위해 필요한 정보를 가진 {{domxref("MozSmsSegmentInfo")}} 객체를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageManager.markMessageRead()","MozMobileMessageManager.markMessageRead(id, isRead)")}}</dt> - <dd>해당 <code>id</code> 의 메시지를 Boolean <code>isRead</code> 값에 따라 읽음 또는 읽지 않음으로 표시한다. {{ domxref("DOMRequest") }} 객체를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageManager.send()","MozMobileMessageManager.send(number, message)")}}</dt> - <dd>해당 전화번호에 메시지를 전송한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} (한 개의 전화번호) 라면 {{ domxref("DOMRequest") }} 객체를 반환한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} 객체의 배열(여러 개의 전화번호)이라면 {{ domxref("DOMRequest") }} 객체의 배열을 반환한다.</dd> - <dt>{{domxref("MozMobileMessageManager.sendMMS()","MozMobileMessageManager.sendMMS(param)")}}</dt> - <dd>수신자 목록에 MMS를 전송한다. {{ domxref("DOMRequest") }} 객체를 반환한다.<br> - param 객체는 다음과 같은 4개의 속성을 가지고 있는 일반 JavaScript 객체이다:<br> - <code>receivers</code>: 문자열 배열, 각 문자열은 수신자의 전화번호를 나타낸다.<br> - <code>subject</code>: MMS의 제목을 나타내는 문자열이다.<br> - <code>smil</code>: MMS를 정의하는 SMIL 문서의 문자열 버전이다.<br> - <code>attachments</code>: SMIL에 의해 사용되는 첨부 파일 객체의 배열이다. 이 객체는 <code>id</code>, <code>location</code>, <code>content</code> ({{domxref("Blob")}})를 포함하고 있다.</dd> - <dt>{{domxref("MozMobileMessageManager.getThreads()")}}</dt> - <dd>{{domxref("MozMobileMessageThread")}} 의 목록을 받는다. {{ domxref("DOMCursor") }} 를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageManager.retrieveMMS()","MozMobileMessageManager.retrieveMMS(id)")}}</dt> - <dd>해당 <code>id의 메시지를 받아 </code>{{ domxref("DOMRequest") }} 를 반환한다. 이 객체의 <code>DOMRequest.result</code> 는 {{ domxref("MozMmsMessage") }} 이다.</dd> -</dl> - -<p><code>MozMobileMessageManager</code> 또한 {{domxref("EventTarget")}} 의 메소드를 상속받는다.</p> - -<p>{{Page("/en-US/docs/Web/API/EventTarget","Methods")}}</p> - -<h2 id="명세">명세</h2> - -<p>이 API는 비 표준 스펙의 구현체이다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="같이_보기">같이 보기</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozMobileMessage") }}</li> - <li>{{ domxref("MozMmsEvent") }}</li> -</ul> diff --git a/files/ko/web/api/mozmobilemessagethread/index.html b/files/ko/web/api/mozmobilemessagethread/index.html deleted file mode 100644 index 4e8e8048a5..0000000000 --- a/files/ko/web/api/mozmobilemessagethread/index.html +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: MozMobileMessageThread -slug: Web/API/MozMobileMessageThread -tags: - - Non-standard -translation_of: Archive/B2G_OS/API/MozMobileMessageThread ---- -<p>{{ ApiRef() }}</p> - -<p>{{ non-standard_header() }}</p> - -<h2 id="요약">요약</h2> - -<p>DOM <code>MozMobileMessageThread</code> 객체는 메시지의 스레드를 나타낸다.</p> - -<h2 id="속성">속성</h2> - -<dl> - <dt>{{domxref("MozMobileMessageThread.id")}} {{readonlyinline}}</dt> - <dd>스레드의 id를 나타내는 숫자를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageThread.body")}} {{readonlyinline}}</dt> - <dd>스레드의 마지막 메시지의 본문을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozMobileMessageThread.unreadCount")}} {{readonlyinline}}</dt> - <dd>스레드에 있는 총 읽지 않은 메시지의 개수를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageThread.participants")}} {{readonlyinline}}</dt> - <dd>스레드에 각 참가자의 주소를 나타내는 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd> - <dt>{{domxref("MozMobileMessageThread.timestamp")}} {{readonlyinline}}</dt> - <dd>스레드의 마지막 메시지의 타임스탬프를 나타내는 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd> - <dt>{{domxref("MozMobileMessageThread.lastMessageType")}} {{readonlyinline}}</dt> - <dd><code>sms</code> 또는 <code>mms 값을 가지는 </code>{{ domxref("DOMString") }} 을 반환한다.</dd> -</dl> - -<h2 id="참고_자료">참고 자료</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozMobileMessage") }}</li> - <li>{{ domxref("MozMobileMessageManager") }}</li> -</ul> diff --git a/files/ko/web/api/mozsmsevent/index.html b/files/ko/web/api/mozsmsevent/index.html deleted file mode 100644 index 14a7f48d51..0000000000 --- a/files/ko/web/api/mozsmsevent/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: MozSmsEvent -slug: Web/API/MozSmsEvent -translation_of: Archive/B2G_OS/API/MozSmsEvent ---- -<p>{{ Apiref() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="요약">요약</h2> -<p>DOM <code>MozSmsEvent</code> 는 WebSMS 문자 메시지와 관련된 이벤트 객체이다.</p> -<h2 id="속성">속성</h2> -<dl> - <dt> - {{domxref("MozSmsEvent.message")}} {{readonlyinline}}</dt> - <dd> - 해당 이벤트에 의해 발생된 {{ domxref("MozSmsMessage") }} 이다.</dd> -</dl> -<p><code>MozSmsEvent</code> 는 또한 {{domxref("Event")}} 의 속성들을 상속받는다.</p> -<p>{{page("/en-US/docs/Web/API/Event","Properties")}}</p> -<h2 id="메소드">메소드</h2> -<p><code>MozSmsEvent</code> 는 {{domxref("Event")}} 의 메소드들을 상속받는다.</p> -<p>{{page("/en-US/docs/Web/API/Event","Methods")}}</p> -<h2 id="이벤트">이벤트</h2> -<p><code>MozSmsEvent</code> 는 다음과 같은 이벤트들에 사용된다:</p> -<dl> - <dt> - {{event("deliverysuccess")}}</dt> - <dd> - SMS가 수신자에게 전달되었을 때 발생한다.</dd> - <dt> - {{event("received")}}</dt> - <dd> - SMS를 받았을 때 발생한다.</dd> - <dt> - {{event("sent")}}</dt> - <dd> - SMS를 보냈을 때 발생한다.</dd> -</dl> -<h2 id="스펙">스펙</h2> -<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p> -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> -<h2 id="브라우저_호환성">브라우저 호환성</h2> -<p>당연하게도, 모바일 브라우저를 주로 지원할 것으로 예상됩니다.</p> -<p>{{ CompatibilityTable() }}</p> -<div id="compat-desktop"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - </tbody> - </table> -</div> -<div id="compat-mobile"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatGeckoMobile("12.0") }} {{property_prefix("Moz")}}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - </tbody> - </table> -</div> -<h2 id="참고_자료">참고 자료</h2> -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozSmsManager") }}</li> - <li>{{ domxref("MozSmsMessage") }}</li> -</ul> diff --git a/files/ko/web/api/mozsmsfilter/index.html b/files/ko/web/api/mozsmsfilter/index.html deleted file mode 100644 index 001d55e2a8..0000000000 --- a/files/ko/web/api/mozsmsfilter/index.html +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: MozSmsFilter -slug: Web/API/MozSmsFilter -translation_of: Archive/B2G_OS/API/MozSmsFilter ---- -<p>{{ Apiref() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="요약">요약</h2> -<p>DOM <code>MozSmsFilter</code> 인터페이스는 {{ domxref("SmsMessage") }} 객체들을 필터링하기 위한 방법을 제공합니다.</p> -<h2 id="속성">속성</h2> -<dl> - <dt> - {{domxref("MozSmsFilter.startDate")}}</dt> - <dd> - 메시지를 필터링하기 위한 시작일을 나타내는 <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> 이다.</dd> - <dt> - {{domxref("MozSmsFilter.endDate")}}</dt> - <dd> - 메시지를 필터링하기 위한 종료일을 나타내는 <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> 이다.</dd> - <dt> - {{domxref("MozSmsFilter.numbers")}}</dt> - <dd> - 전화번호로 필터링하기 위한 {{ domxref("DOMString") }} 의 배열이다.</dd> - <dt> - {{domxref("MozSmsFilter.delivery")}}</dt> - <dd> - 메시지를 전달 상태에 따라 필터링하기 위해 "sent"와 "received" 값을 가지게 되는 {{ domxref("DOMString") }} 이다.</dd> - <dt> - {{domxref("MozSmsFilter.read")}}</dt> - <dd> - 메시지를 읽었는지 읽지 않았는지를 필터링하는 Boolean 이다.</dd> - <dt> - {{domxref("MozSmsFilter.threadid")}}</dt> - <dd> - 스레드 id를 나타내는 숫자이다.</dd> -</dl> -<h2 id="스펙">스펙</h2> -<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p> -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> -<h2 id="브라우저_호환성">브라우저 호환성</h2> -<p>당연하게도, 모바일 브라우저를 주로 지원할 것으로 예상됩니다.</p> -<p>{{ CompatibilityTable() }}</p> -<div id="compat-desktop"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - </tbody> - </table> -</div> -<div id="compat-mobile"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatGeckoMobile("12.0") }} {{property_prefix("Moz")}}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - </tbody> - </table> -</div> -<h2 id="참고_자료">참고 자료</h2> -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozSmsManager") }}</li> - <li>{{ domxref("MozSmsMessage") }}</li> -</ul> diff --git a/files/ko/web/api/mozsmsmanager/index.html b/files/ko/web/api/mozsmsmanager/index.html deleted file mode 100644 index bfea424be7..0000000000 --- a/files/ko/web/api/mozsmsmanager/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: MozSmsManager -slug: Web/API/MozSmsManager -tags: - - Firefox OS - - Mobile - - Non-standard - - Obsolete - - Reference - - WebSMS -translation_of: Archive/B2G_OS/API/MozSmsManager ---- -<div>{{APIRef("Mobile Messaging API")}}</div> - -<div class="warning"> -<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p> -</div> - -<div class="note"> -<p><strong>Note:</strong> As of <span title="(Firefox 25.0 / Thunderbird 25.0 / SeaMonkey 2.22)">Gecko 25.0</span>, this interface has been removed in favor of <a href="/en-US/docs/Web/API/MozMobileMessageManager" title="The documentation about this has not yet been written; please consider contributing!"><code>MozMobileMessageManager</code></a>.</p> -</div> - -<h2 id="요약">요약</h2> - -<p>기기에서 WebSMS를 사용하여 SMS 메시지 전송과 관리를 할 수 있는 기능을 제공한다.</p> - -<h2 id="이벤트_핸들러">이벤트 핸들러</h2> - -<dl> - <dt>{{domxref("MozSmsManager.ondeliveryerror")}}</dt> - <dd>{{event("deliveryerror")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 수취인에게 전달되지 않았을 때 발생한다.</dd> - <dt>{{domxref("MozSmsManager.ondeliverysuccess")}}</dt> - <dd>{{event("deliverysuccess")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 수취인에게 전달되었을 때 발생한다.</dd> - <dt>{{domxref("MozSmsManager.onreceived")}}</dt> - <dd>{{event("received")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS를 받았을 때 발생한다..</dd> - <dt>{{domxref("MozSmsManager.onsent")}}</dt> - <dd>{{event("sent")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 보내졌을 때 발생한다.</dd> - <dt>{{domxref("MozSmsManager.onsending")}}</dt> - <dd>{{event("sending")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 전송 단계의 시작에 SMS가 진입했을 때 발생한다.</dd> - <dt>{{domxref("MozSmsManager.onfailed")}}</dt> - <dd>{{event("failed")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS 전송이 실패했을 때 발생한다.</dd> -</dl> - -<h2 id="메소드">메소드</h2> - -<dl> - <dt>{{domxref("MozSmsManager.delete","MozSmsManager.delete(param)")}}</dt> - <dd>메시지를 삭제하고 {{ domxref("DOMRequest") }} 객체를 반환한다 (<code>DOMRequest.result는 메시지가 삭제되었는지 아닌지를 반영하는 Boolean 값이다).</code> 메시지 <code>id</code> 또는 {{ domxref("MozSmsMessage") }} 객체가 파라미터로 사용된다.</dd> - <dt>{{domxref("MozSmsManager.getMessage()","MozSmsManager.getMessage(id)")}}</dt> - <dd>해당<code> id에 대한 메시지를 받아서 </code>{{ domxref("DOMRequest") }} 객체를 반환한다. <code>이 객체의 DOMRequest.result는</code> {{ domxref("MozSmsMessage") }} 이다.</dd> - <dt>{{domxref("MozSmsManager.getMessages()","MozSmsManager.getMessages(filter, reverseOrder)")}}</dt> - <dd>여러 개의 메시지를 받는다. {{ domxref("MozSmsFilter") }} 객체를 사용하여 필터링이 가능하고 두번째 파라미터 boolean 값에 따라 순서를 거꾸로 바꿀 수도 있다. {{ domxref("DOMCursor") }} 를 반환한다.</dd> - <dt>{{domxref("MozSmsManager.getSegmentInfoForText()","MozSmsManager.getSegmentInfoForText(text)")}}</dt> - <dd>주어진 문자(보통 SMS 당 160 글자)에 대한 멀티 파트 SMS를 만들기 위해 필요한 정보를 가진 {{domxref("MozSmsSegmentInfo")}} 객체를 반환한다.</dd> - <dt>{{domxref("MozSmsManager.markMessageRead()","MozSmsManager.markMessageRead(id, isRead)")}}</dt> - <dd>해당 <code>id의 메시지를 </code>Boolean <code>isRead 값에 따라 읽음 또는 읽지 않음으로 표시한다. </code>{{ domxref("DOMRequest") }}<code> 객체를 반환한다.</code></dd> - <dt>{{domxref("MozSmsManager.send()","MozSmsManager.send(number, message)")}}</dt> - <dd>해당 <code>전화번호</code>에 메시지를 전송한다. 만약 <code>number가 </code>{{ domxref("DOMString") }} (한 개의 전화번호)라면 {{ domxref("DOMRequest") }} 객체를 반환한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} 객체의 배열(여러 개의 전화번호)라면 {{ domxref("DOMRequest") }} 객체의 배열을 반환한다.</dd> - <dt>{{domxref("MozSmsManager.getThreads()")}}</dt> - <dd>{{domxref("MozMobileMessageThread")}}의 목록을 받는다. {{ domxref("DOMCursor") }} 를 반환된다.</dd> -</dl> - -<p><code>MozSmsManager</code> 는 또한 {{domxref("EventTarget")}} 의 메소드를 상속받는다.</p> - -<p>{{Page("/en-US/docs/Web/API/EventTarget","Methods")}}</p> - -<h2 id="명세">명세</h2> - -<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="참고_자료">참고 자료</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozSmsEvent") }}</li> -</ul> diff --git a/files/ko/web/api/mozsmsmessage/index.html b/files/ko/web/api/mozsmsmessage/index.html deleted file mode 100644 index 7918a44209..0000000000 --- a/files/ko/web/api/mozsmsmessage/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: MozSmsMessage -slug: Web/API/MozSmsMessage -tags: - - Non-standard -translation_of: Archive/B2G_OS/API/MozSmsMessage ---- -<p>{{ ApiRef() }}</p> - -<p>{{ non-standard_header() }}</p> - -<p>{{ B2GOnlyHeader2('certified') }}</p> - -<h2 id="요약">요약</h2> - -<p>DOM <code>MozSmsMessage</code> 객체는 SMS 문자 메시지를 나타내며 발신자, 수신자, 본문, 날짜와 같은 모든 정보를 가지고 있다.</p> - -<h2 id="속성">속성</h2> - -<dl> - <dt>{{domxref("MozSmsMessage.type")}} {{readonlyinline}}</dt> - <dd><code>sms라는 값을 가지는 문자열이다</code>.</dd> - <dt>{{domxref("MozSmsMessage.id")}} {{readonlyinline}}</dt> - <dd>메시지의 id를 나타내는 숫자를 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.threadId")}} {{readonlyinline}}</dt> - <dd>메시지 일부의 스레드의 id를 나타내는 숫자를 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.body")}} {{readonlyinline}}</dt> - <dd>메시지의 본문을 나타내는 {{ domxref("DOMString") }} 를 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.delivery")}} {{readonlyinline}}</dt> - <dd><code>received</code>, <code>sending</code>, <code>sent</code>, <code>error</code> 중 하나의 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.deliveryStatus")}} {{readonlyinline}}</dt> - <dd><code>delivery 속성 값에 따라 다음과 같은 </code>{{ domxref("DOMString") }} 을 반환한다:<br> - * <code>received</code> : <code>success</code><br> - * <code>sending </code> : <code>pending</code> 또는 <code>not-applicable</code> (만약 메시지가 상태 보고 요청없이 전송되었다면)<br> - * <code>sent </code> : <code>pending</code>, <code>success</code>, <code>error</code> 또는 <code>not-applicable</code> (만약 메시지가 상태 보고 요청없이 전송되었다면)<br> - * <code>error </code> : <code>error</code></dd> - <dt>{{domxref("MozSmsMessage.read")}} {{readonlyinline}}</dt> - <dd>메시지를 읽었는지 읽지 않았는지를 가리키는 Boolean을 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.receiver")}} {{readonlyinline}}</dt> - <dd>수신자 이름을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.sender")}} {{readonlyinline}}</dt> - <dd>발신자 이름을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd> - <dt>{{domxref("MozSmsMessage.timestamp")}} {{readonlyinline}}</dt> - <dd>메시지의 타임스탬프인 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a> 객체를 반환한다.</code></dd> - <dt>{{domxref("MozSmsMessage.messageClass")}} {{readonlyinline}}</dt> - <dd><code>normal</code>, <code>class-0</code>, <code>class-1</code>, <code>class-2</code>, <code>class-3</code> 중 하나의 {{ domxref("DOMString") }} 을 반환한다.</dd> -</dl> - -<h2 id="참고_자료">참고 자료</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozSmsManager") }}</li> -</ul> diff --git a/files/ko/web/api/mozsmssegmentinfo/index.html b/files/ko/web/api/mozsmssegmentinfo/index.html deleted file mode 100644 index 02f324b453..0000000000 --- a/files/ko/web/api/mozsmssegmentinfo/index.html +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: MozSmsSegmentInfo -slug: Web/API/MozSmsSegmentInfo -tags: - - Non-standard -translation_of: Archive/B2G_OS/API/MozSmsSegmentInfo ---- -<p>{{ ApiRef() }}</p> - -<p>{{ non-standard_header() }}</p> - -<h2 id="요약">요약</h2> - -<p>DOM <code>MozSmsSegmentInfo</code> 인터페이스는 문자가 자동으로 어떻게 세그멘트로 나누어지는에 관한 정보를 제공합니다. 각 세그먼트는 멀티 파트 SMS 메시지의 단일 SMS를 나타냅니다.</p> - -<p><code>MozSmsSegmentInfo</code> 인터페이스는 직접적으로 인스턴스화 될 수 없습니다; 각 객체를 얻기 위해서는 {{domxref("MozSmsManager.getSegmentInfoForText()")}} 메소드를 사용하십시오.</p> - -<h2 id="속성">속성</h2> - -<dl> - <dt>{{domxref("MozSmsSegmentInfo.segments")}} {{readonlyinline}}</dt> - <dd>입력 문자열에 대한 총 세그먼트의 개수이다.</dd> - <dt>{{domxref("MozSmsSegmentInfo.charsPerSegment")}} {{readonlyinline}}</dt> - <dd>각 세그먼트당 사용 가능한 문자의 개수이다.</dd> - <dt>{{domxref("MozSmsSegmentInfo.charsAvailableInLastSegment")}} {{readonlyinline}}</dt> - <dd>마지막 세그먼트에서 사용 가능한 문자의 최대 개수이다.</dd> -</dl> - -<h2 id="참고_자료">참고 자료</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>{{ domxref("window.navigator.mozSms") }}</li> - <li>{{ domxref("MozSmsManager") }}</li> -</ul> diff --git a/files/ko/web/api/navigator/mozmobilemessage/index.html b/files/ko/web/api/navigator/mozmobilemessage/index.html deleted file mode 100644 index 7645d8d833..0000000000 --- a/files/ko/web/api/navigator/mozmobilemessage/index.html +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: window.navigator.mozMobileMessage -slug: Web/API/Navigator/mozMobileMessage -tags: - - Non-standard - - Obsolete -translation_of: Archive/B2G_OS/API/Navigator/mozMobileMessage ---- -<p>{{ ApiRef() }}</p> - -<p>{{ non-standard_header() }}</p> - -<p>{{ B2GOnlyHeader2('certified') }}</p> - -<h2 id="Summary" name="Summary">요약</h2> - -<p>{{ domxref("MozMobileMessageManager") }} 객체를 반환한다. 이 객체는 MMS와 SMS 메시지를 보내거나 받는데 사용된다.</p> - -<h2 id="명세">명세</h2> - -<p> </p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="설정_이용_가능한_환경">설정 & 이용 가능한 환경</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>WebSMS는 기본적으로 비활성화 되어있습니다. <code>dom.sms.enabled 설정을 true로 지정하여야 활성화됩니다.</code></li> - <li>WebSMS API를 사용하도록 허가된 호스트명들의 화이트 리스트(콤마로 구분)는 반드시 <code>dom.sms.whitelist 설정에 명시되어야 합니다. 이 문자열은 기본적으로 빈 문자열입니다.</code></li> - <li>WebSMS는 오직 Firefox OS (B2G) 에 인증된 앱에서만 이용 가능합니다.</li> - <li>MMS는 Firefox OS 1.1 부터 이용 가능합니다.</li> -</ul> - -<h2 id="참고_자료">참고 자료</h2> - -<ul> - <li><a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">WebSMS API</a></li> - <li>{{ domxref("MozMobileMessageManager") }}</li> - <li>{{ domxref("window.navigator.mozTelephony") }} for controlling telephone calls.</li> - <li>{{ domxref("window.navigator.mozSms") }} for handling SMS only.</li> -</ul> diff --git a/files/ko/web/api/navigator/moznotification/index.html b/files/ko/web/api/navigator/moznotification/index.html deleted file mode 100644 index 9c593ec4a1..0000000000 --- a/files/ko/web/api/navigator/moznotification/index.html +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: navigator.mozNotification -slug: Web/API/Navigator/mozNotification -translation_of: Archive/API/Navigator/mozNotification ---- -<div class="warning"> -<p style="text-align: center;">The support for this property as been dropped in favor of the standard {{domxref("Notification")}} constructor.</p> -</div> - -<p>Provides support for creating {{ domxref("notification") }} objects, which are used to display desktop notification alerts to the user. Currently, these are only supported on Firefox Mobile and Firefox OS. See <a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Displaying notifications</a> for an example.</p> - -<h2 id="Method_overview" name="Method_overview">Method overview</h2> - -<table class="standard-table"> - <tbody> - <tr> - <td><code>notification <a href="#createNotification()">createNotification</a>(in DOMString title, in DOMString description, in DOMString iconURL {{ optional_inline() }});</code></td> - </tr> - </tbody> -</table> - -<h2 id="Methods" name="Methods">Methods</h2> - -<h3 id="createNotification()" name="createNotification()">createNotification()</h3> - -<p>Creates and returns a notification object that can be used to display the specified message with an optional URL.</p> - -<pre class="eval">notification createNotification( - in DOMString title, - in DOMString description, - in DOMString iconURL {{ optional_inline() }} -); -</pre> - -<h6 id="Parameters" name="Parameters">Parameters</h6> - -<dl> - <dt><code>title</code></dt> - <dd>알림 타이틀.</dd> - <dt><code>description</code></dt> - <dd>알림에 표시할 텍스트.</dd> - <dt><code>iconURL</code> {{ optional_inline() }}</dt> - <dd>A URL identifying the image to display in the notification.</dd> -</dl> - -<h6 id="Return_value" name="Return_value">Return value</h6> - -<p>A new {{ domxref("notification") }} object.</p> - -<h2 id="Methods" name="Methods">Permissions</h2> - -<p>manifest 파일에 "desktop-notification" permission 을 추가 해야 한다.</p> - -<pre class="default prettyprint prettyprinted"><code><span class="str">"permissions"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> - </span><span class="str">"desktop-notification"</span><span class="pun">:{}</span><span class="pln"> -</span><span class="pun">}</span></code></pre> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{ domxref("notification") }}</li> - <li><a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Displaying notifications</a></li> -</ul> diff --git a/files/ko/web/api/navigator/mozsms/index.html b/files/ko/web/api/navigator/mozsms/index.html deleted file mode 100644 index d6c9c16983..0000000000 --- a/files/ko/web/api/navigator/mozsms/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: window.navigator.mozSms -slug: Web/API/Navigator/mozSms -tags: - - API - - Firefox OS - - Mobile - - Obsolete - - Property - - WebSMS -translation_of: Archive/B2G_OS/API/Navigator/mozSms ---- -<p>{{APIRef("Mobile Messaging API")}}</p> - -<div class="blockIndicator obsolete"> -<p><strong>Obsolete since Gecko 25 (Firefox 25 / Thunderbird 25 / SeaMonkey 2.22)</strong><br> - This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.</p> -</div> - -<div class="blockIndicator warning"> -<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p> -</div> - -<p><code><a href="/ko/docs/Archive/B2G_OS/API/MozSmsManager">MozSmsManager</a></code> 객체를 반환한다. 이 객체는 SMS 메시지를 보내거나 받는데 사용된다.</p> - -<div class="blockIndicator note"> -<p>Note: <strong>Do not use anymore! </strong>This object has been removed in favor of <a href="/en-US/docs/Archive/B2G_OS/API/Navigator/mozMobileMessage" title="Returns a MozMobileMessageManager object you can use to receive and send MMS and SMS messages."><code>Navigator.mozMobileMessage</code></a>.</p> -</div> - -<h2 id="명세">명세</h2> - -<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('Messaging')}}</td> - <td>{{Spec2('Messaging')}}</td> - <td>Editor Draft (WIP).</td> - </tr> - </tbody> -</table> - -<h2 id="설정_이용_가능한_환경">설정 & 이용 가능한 환경</h2> - -<div id="compat-mobile"> </div> - -<ul> - <li>WebSMS는 기본적으로 비활성화 되어있습니다. <code>dom.sms.enabled</code> 설정을 true로 지정하여야 활성화됩니다.</li> - <li>WebSMS API를 사용하도록 허가된 호스트명들의 화이트 리스트(콤마로 구분)는 반드시 <code>dom.sms.whitelist 설정에 명시되어야 합니다. 이 문자열은 기본적으로 빈 문자열입니다.</code></li> - <li>WebSMS는 오직 Firefox OS (B2G) 에 인증된 앱에서만 이용 가능합니다.</li> -</ul> - -<h2 id="참고_자료">참고 자료</h2> - -<ul> - <li><a href="/en-US/docs/API/WebSMS" title="/en/docs/API/WebSMS">WebSMS API</a></li> - <li>{{ domxref("SmsManager") }}</li> - <li>{{ domxref("window.navigator.mozTelephony") }} for controlling telephone calls.</li> -</ul> diff --git a/files/ko/web/apps/design/index.html b/files/ko/web/apps/design/index.html deleted file mode 100644 index 23bba7ac10..0000000000 --- a/files/ko/web/apps/design/index.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: 열린 웹 응용프로그램들 설계하기 -slug: Web/Apps/Design -tags: - - Apps - - Beginner - - CSS - - Design - - Examples - - Guide - - Layout - - Mobile - - NeedsTranslation - - Styleguides - - TopicStub - - UX - - Usability - - Web Development - - patterns -translation_of: Archive/Apps/Design ---- -<div class="summary"> -<p>In this section, we'll introduce design and UX principles to incorporate into your Open Web Apps. In an effort to help you kickstart your project, we have included links to relevant examples and style guides.</p> -</div> - -<h2 id="일반_웹_앱_디자인">일반 웹 앱 디자인</h2> - -<p>The items under this section apply generally to Web app design.</p> - -<dl> - <dt><a href="/ko/Apps/Design/Planning">계획하기</a></dt> - <dd>The articles in this section provide information on planning a successful Web app, including high level planning ideas and general design principles.</dd> - <dt><a href="/en-US/Apps/Design/UI_layout_basics">UI 배치의 기본</a></dt> - <dd>These articles provide guides and theory behind implementing effective layouts for Open Web Apps, including responsive design, flexible boxes, etc.</dd> -</dl> diff --git a/files/ko/web/apps/publishing/marketplace_review_criteria/index.html b/files/ko/web/apps/publishing/marketplace_review_criteria/index.html deleted file mode 100644 index d6627ca4fd..0000000000 --- a/files/ko/web/apps/publishing/marketplace_review_criteria/index.html +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Marketplace 리뷰 가이드 -slug: Web/Apps/Publishing/Marketplace_review_criteria -translation_of: Archive/Mozilla/Marketplace/Publishing/Marketplace_review_criteria ---- -<p>이 문서에서는 Firefox Marketplace를 통해 배포되는 앱이 충족해야 할 일련의 요구 사항을 설명합니다. 이러한 요건은 Marketplace에서 배포되는 앱 개발자 및 사용자 양쪽의 요구에 대한 균형을 맞추도록 설계되어 있습니다. 개발자는 앱을 사용한 비즈니스를 성립시키기 위해 신뢰할 만한 균형을 가지고, 일관성이 있고 너무 엄격하지 않은 조건을 요구하고 있습니다. 한편 사용자는 앱이 안전하고, 자신의 단말기에서 동작하는 설명대로 동작한다는 보증을 요구하고 있습니다. 이하에서 설명하는 앱의 요건은 이러한 요구의 균형을 목적으로 하고 있습니다.</p> -<p>앱을 검토(Review)하는 부분과 그렇지 않은 부분에 대해 Mozilla의 생각은 다음과 같습니다.</p> -<ul> - <li>평가 기준은 공평하고, 배려를 가진 일관성 있는 방법으로 적용됩니다. 앱의 검토 프로세스는 문지기(Gatekeeper) 같은 존재가 되는 것을 의도하지 않고, 오히려 개발자의 성공을 돕기 위해 피드백을 제공하고 신뢰할 수 있는 접점에 있다고 생각합니다.</li> - <li>평가 검토 담당자는 품질 보증 팀이 아닙니다. 검토 프로세스 안에서 누군가가 앱 매니 페스트를 살펴 보고, 일반 사용자와 똑같이 앱의 사용법을 습득하는 데 시간을 보내게 됩니다.</li> - <li>앱이 검토를 통과하지 못한 경우, 문제와 재현 방법의 알기 쉬운 설명이 개발자에 제공되며, 검토자는 가능하면 관련 기술 지원 자료에 대한 링크를 제공함으로써 개발자를 올바른 방향으로 이끌어 바꾸어할 변경 사항에 대해 권장을 하거나 해야 합니다.</li> - <li>검토 담당자는 앱 "외형"에 대한 판단은 하지 않고 앱 "동작"에 대해서만 확인합니다. 예를 들면, 오렌지의 배경 색에 빨간 글씨를 올린 단락을 포함한 앱이 있었다고 해도 못생겼다고 앱을 거절하지 않습니다. 만일 가독성에 문제가 있으면 거절될 가능성도 있습니다.</li> - <li>우리는 항상 "예상 외의 결과를 내리지 않는다"라는 원칙을 지킵니다. 앱을 거절해야 할지 확신이 없는 상태에서 검토자는 결정을 내리기 "전에" 개발자에게 질문합니다. 앱은 개발자가 제어할 수 없는 플랫폼 문제로 인해 (고의로) 거절되지 않습니다. 다만, 앱이 아예 동작하지 않는 경우, 승인을 보류할 가능성은 있습니다.</li> -</ul> -<h2 id="Security" name="Security">보안</h2> -<p>앱의 보안 아키텍처에 관한 설명은<a href="https://wiki.mozilla.org/Apps/Security"> https://wiki.mozilla.org/Apps/Security</a>에서 볼 수 있습니다.</p> -<ul> - <li>앱 매니 페스트는 앱과 같은 위치(Same Origin)에서 공개 해야 합니다.</li> - <li>앱 매니 페스트는<code> application/x-web-app-manifest+json</code>의<code>Content-Type </code>헤더에서 공개해야 합니다.</li> - <li>앱은 리디렉션이나 인라인 프레임을 사용해 개발자가 사용을 인정 받지 않은 내용을 가져와서는 안됩니다.</li> - <li>요청되는 사용 권한은 사용 권한이 필요한 이유와 함께 앱 매니 페스트에 명기되어야 합니다.</li> -</ul> -<h2 id="Privacy" name="Privacy">개인 정보</h2> -<ul> - <li>등록 시 개발자는 개인 정보 정책의 URL을 입력해야 하나, 개인 정보 보호 정책의 형식과 내용에 대한 요구 사항이 없습니다. <a href="https://github.com/flamsmark/privacy-policy-template">개인 정보 정책 샘플</a>을 준비하고 있기 때문에 자유롭게 사용해 주십시오. Mozilla의 <a href="/ko/docs/Privacy_policies">개인 정보 정책 가이드 라인</a>도 함께 살펴 보세요.</li> -</ul> -<h2 id="Content" name="Content">콘텐츠</h2> -<ul> - <li>아래 콘텐츠 가이드 라인에 반하는 앱은 허용하지 않습니다. 가이드 라인에 저촉될지 아슬아슬한 상태라고 생각하려면 앱의 등록 준비가 완료되기 전이라도 검토 팀에 명확한 판단을 구하세요. 우리는 개발자들이 바로 거절될 콘텐츠의 개발에 시간을 투자하는 것보다 올바른 방향성을 유지하기 지원하고 싶습니다.</li> - <li>브라질에서 게임을 배포할 경우 개발자는 DEJUS에 의한 평가 기준을 의뢰해 그 결과를<a href="mailto:apps-reviewers@mozilla.org?subject=DEJUS%20Rating"> apps-reviewers@mozilla.org</a>로 보내야 합니다.</li> - <li>Firefox Marketplace에 등록할 스크린 샷과 설명문은 앱에 대해 적절히 표현해야 합니다.</li> - <li>앱 매니 페스트의 <a href="/ko/docs/Web/Apps/Manifest#locales"><code>locale</code>키</a>는 앱이 대응하는 지역화와 일치하지 해야 합니다. 예를 들면 폴란드어의<code> locale</code>키를 설정하면 사용자는 폴란드어로 앱이 이용 가능하다고 기대합니다.</li> -</ul> -<h3 id="Content_guidelines" name="Content_guidelines">콘텐츠 가이드 라인</h3> -<p>이 목록은 Firefox Marketplace에 부적절한 내용 유형을 설명한 것입니다. 이 항목은 확정적이 아니라 구체적인 것으로, 향후 업데이트될 수 있습니다. 응용 프로그램이 이러한 내용 가이드 라인에 반하는 것이 확인된 경우 Mozilla는 Firefox Marketplace에서 응용 프로그램을 즉시 삭제할 권리를 가지고 있습니다.</p> -<ul> - <li>음란한 소재, 또는 성이나 폭력 묘사는 인정하지 않습니다.</li> - <li>지적 재산, 기타 소유권, 개인 정보, 초상권 등 타인의 권리를 침해하는 콘텐츠는 인정하지 않습니다.</li> - <li>Mozilla나 사용자에게 손해를 주는 것을 목적으로 한 콘텐츠(악성 코드, 바이러스, 스파이 웨어, 악성 프로그램 등)은 인정하지 않습니다.</li> - <li>불법 콘텐츠 또는 불법 행위를 조장하는 콘텐츠는 인정하지 않습니다.</li> - <li>허위 사실 정보를 주고 피싱 사기, 기타 개인 정보 절도를 목적으로 한 콘텐츠는 인정하지 않습니다.</li> - <li>도박 행위를 조장하는 콘텐츠는 인정하지 않습니다.</li> - <li>위법 또는 규제된 제품이나 서비스의 광고에 관련된 콘텐츠는 인정하지 않습니다.</li> - <li>아동을 착취하는 콘텐츠는 인정하지 않습니다.</li> - <li>연령, 성별, 인종, 민족, 국적, 신앙, 성적 지향, 장애, 지리적 위치, 기타 보호된 분류에 따라 인물이나 집단의 평판을 떨어뜨리거나 그것들에 대한 위협이 되거나 폭력을 유발하거나 편견을 조장하는 콘텐츠 또는 차별 발언에 해당하는 콘텐츠는 인정하지 않습니다.</li> - <li>사용자를 속여 구매 결정을 행하게 하는 콘텐츠는 인정하지 않습니다.</li> -</ul> -<h2 id="Functionality" name="Functionality">기능성</h2> -<ul> - <li>앱의 기본적인 기능을 검토자가 실행할 수 있어야 합니다. 사소한 문제나 심각하지 않은 상태는 개발자에게 보고하지만, 이로 인해 앱의 승인을 막는 것은 아닙니다.</li> - <li>앱은 시스템 성능 및 안정성을 떨어뜨려서는 안됩니다.</li> -</ul> -<h2 id="Usability" name="Usability">사용성</h2> -<ul> - <li>개발자는 대상 플랫폼에 레이아웃을 최적화할 충분한 작업을 수행합니다. 이 요건은 다음과 같은 분명한 문제를 막는 것을 목적으로 하고 있습니다. - <ul> - <li>모바일용으로 등록된 앱인데, 분명히 데스크탑용 사이트이다.</li> - <li>이용 가능한 화면 공간을 전혀 활용하고 있지 않다(예를 들면, 320x480 크기의 앱이 있으면, 태블릿의 화면 모퉁이에 위치하여 화면의 나머지 공간은 비어 있는 경우).</li> - </ul> - </li> - <li>앱은 독자적인 탐색 방법을 구현하고 브라우저의 UI나 하드웨어의 돌아오기 버튼에 의존해서는 안됩니다. 모든 단말기에 그런 기능이 있다고 할 수 없습니다. - <ul> - <li>예를 들면, 검토자가 앱에서 어딘가에 옮겨 제자리로 돌아갈 수 없는 경우가 있을수도 있습니다. 앱이 네이티브 앱에서 일반적인 버튼 바를 구현해야 한다는 뜻은 아닙니다.</li> - <li>주의: 기존 레거시 웹앱을 위해 Gaia "래퍼"가 개발 중입니다: <a href="https://github.com/mozilla-b2g/gaia/issues/2557">https://github.com/mozilla-b2g/gaia/issues/2557</a></li> - </ul> - </li> - <li>버튼이나 링크 등의 탐색 요소는 쉽게 클릭하거나 탭할 수 있어야 합니다.</li> -</ul> -<h2 id="Blocklisting_policy" name="Blocklisting_policy">차단 목록 추가 정책</h2> -<p>우리는 원하지는 않지만, 노출된 앱이, 보안, 개인 정보, 콘텐츠 요건에 반하고 혹은 시스템이나 네트워크의 성능을 크게 저하시키는 것이 나중에 밝혀질 경우 그것을 Marketplace에서 제거("차단 목록"에 추가하는) 권리를 가지고 있습니다. 그러한 상황이 되었을 경우, 개발자는 앱이 차단 목록에 추가되기 전에 통보를 받고 뭔가 구체적 증거가 발견하지 않는 한 "착한 시민"으로 간주됩니다. 또한, 앱의 검토 팀은 무슨 일이 일어나는지를 전달해 문제를 해결하기 위한 충분한 지원을 제공합니다. 차단 목록에 추가가 인정되는 상황의 구체적인 예는 다음과 같은 것입니다.</p> -<ul> - <li>피싱</li> - <li>스팸 행위</li> - <li>Puppy Pictures v1.0에서 Brutal Violence v1.0에 콘텐츠 수정(콘텐츠의 레이팅 기능이 구현되면 그것을 업데이트하지 않고 행하는 변경은 인정하지 않습니다)</li> - <li>앱의 대다수의 사용자에게 심각한 문제. 예를 들면 통화 성능 저하 시스템 재시작 유발, 데이터 소실 등. 앱이 그 원인임을 사용자가 인식하지 못해 단말의 재시작에 의해서도 해결하지 않습니다.</li> - <li>분산 서비스 거부(DDoS)공격 등 네트워크상에서의 공격에 이용되는 앱</li> -</ul> diff --git a/files/ko/web/css/getting_started/xbl_bindings/index.html b/files/ko/web/css/getting_started/xbl_bindings/index.html deleted file mode 100644 index 6799095812..0000000000 --- a/files/ko/web/css/getting_started/xbl_bindings/index.html +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: XBL bindings -slug: Web/CSS/Getting_Started/XBL_bindings -tags: - - 'CSS:Getting_Started' -translation_of: Archive/Beginner_tutorials/Using_XBL_from_stylesheets ---- -<p>이 페이지는 모질라에서 CSS를 사용하여 복잡한 애플리케이션의 구조를 향상시켜 코드와 자원(resources)을 보다 쉽게 재사용(recycle)할 수 있게 만드는 방법을 설명합니다.</p> -<p>이 테크닉을 간단한 예제에 적용시켜 봅니다.</p> -<h3 id=".EC.A0.95.EB.B3.B4:_XBL_.EB.B0.94.EC.9D.B8.EB.94.A9.28bindings.29" name=".EC.A0.95.EB.B3.B4:_XBL_.EB.B0.94.EC.9D.B8.EB.94.A9.28bindings.29">정보: XBL 바인딩(bindings)</h3> -<p>마크업 언어와 CSS에서 제공되는 구조(structure)는 각 부분이 독립적이고(self-contained) 재 사용되어야 하는 복잡한 애플리케이션에 이상적이라고는 할 수 없습니다. 스타일 시트들을 다른 파일들에 저장할 수 있고, 스크립트들도 다른 파일들에 저장 해 놓을 수 있으나, 문서에서 이들 파일들을 하나의 전체로서 링크해야만 합니다.</p> -<p>또 다른 구조적 제한사항은 내용물에 관한 것입니다. CSS를 사용하여 선택된 엘리먼트들에 내용물을 제공해 줄 수 있으나, 내용물은 텍스트와 이미지에 한정되어 있으며, 그 위치지정은(positioning) 선택된 엘리먼트의 앞 또는 뒤로 한정되어 있습니다.</p> -<p>모질라는 이러한 제한 사항들을 극복할 미케니즘을 제공합니다: - <i> - XBL</i> - (XML 바인딩 언어, XML Binding Language)가 바로 그것입니다. XBL을 사용해서 선택된 엘리먼트를 다음의 것들과 링크시킬 수 있습니다:</p> -<ul> - <li>에리먼트의 스타일 시트</li> - <li>엘리먼트의 내용물</li> - <li>엘리먼트의 속성(property)과 메소드(method)</li> - <li>엘리먼트의 이벤트 핸들러(event hadler)</li> -</ul> -<p>문서 레벨에서 모든것을 링크시키는 것을 피할 수 있기 때문에, 유지와 재사용이 쉬운 독립적인 부분들을 만들어 낼 수 있습니다.</p> -<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em; width: 100%;"> - <caption> - More details</caption> - <tbody> - <tr> - <td>XBL 바인딩에 대한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XBL">XBL</a> 페이지를 보세요.</td> - </tr> - </tbody> -</table> -<h3 id=".EC.95.A1.EC.85.98:_XBL_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XBL_.EC.98.88.EC.A0.9C">액션: XBL 예제</h3> -<p>새로운 HTML 문서 <code>doc6.html</code>를 만드세요. 아래의 내용물을 복사해서 붙여넣으세요.</p> -<div style="width: 48em;"> - <pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<HTML> - -<HEAD> -<TITLE>Mozilla CSS Getting Started - XBL demonstration</TITLE> -<LINK rel="stylesheet" type="text/css" href="style6.css"></strong> -</HEAD> - -<BODY> -<H1>XBL demonstration</H1> -<DIV id="square">Click Me</DIV> -</BODY> - -</HTML> -</pre> -</div> -<p>새로운 CSS 파일 <code>style6.css</code>을 만드세요. 이 스타일 시트는 문서 스타일을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣으세요.</p> -<div style="width: 48em;"> - <pre>/*** XBL demonstration ***/ -#square { - -moz-binding: url("square.xbl#square"); - } -</pre> -</div> -<p>새로운 텍스트 파일 <code>square.xbl</code>을 만드세요. 이 스타일 시트는 XBL 바인딩(binding)을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p> -<p> </p> -<div style="width: 48em; height: 12em; overflow: auto;"> - <pre><?xml version="1.0"?> -<!DOCTYPE bindings> -<bindings xmlns="http://www.mozilla.org/xbl"> - -<binding id="square"> - - <resources> - <stylesheet src="bind6.css"/> - </resources> - - <content xmlns="http://www.w3.org/1999/xhtml"> - <div anonid="square"/> - <button anonid="button" type="button"> - <xbl:children/> - </button> - </content> - - <implementation> - - <field name="square"><![CDATA[ - document.getAnonymousElementByAttribute(this, "anonid", "square") - ]]></field> - - <field name="button"><![CDATA[ - document.getAnonymousElementByAttribute(this, "anonid", "button") - ]]></field> - - <method name="doDemo"> - <body><![CDATA[ - this.square.style.backgroundColor = "#cf4" - this.square.style.marginLeft = "20em" - this.button.setAttribute("disabled", "true") - setTimeout(this.clearDemo, 2000, this) - ]]></body> - </method> - - <method name="clearDemo"> - <parameter name="me"/> - <body><![CDATA[ - me.square.style.backgroundColor = "transparent" - me.square.style.marginLeft = "0" - me.button.removeAttribute("disabled") - ]]></body> - </method> - - </implementation> - - <handlers> - <handler event="click" button="0"><![CDATA[ - if (event.originalTarget == this.button) this.doDemo() - ]]></handler> - </handlers> - - </binding> - -</bindings> -</pre> -</div> -<p>새로운 CSS 파일 <code>bind6.css</code>을 만드세요. 이 새 스타일 시트는 바인딩에대한 스타일(style for the binding)을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣으세요.</p> -<div style="width: 48em;"> - <pre>/*** XBL demonstration ***/ -[anonid="square"] { - width: 20em; - height: 20em; - border: 2px inset gray; - } - -[anonid="button"] { - margin-top: 1em; - padding: .5em 2em;" - } -</pre> -</div> -<p>브라우저에서 문서을 열고 버튼을 누르세요.</p> -<p>이 위키페이지는 자바스크립트를 지원하지 않습니다. 따라서 예제가 어떻게 실행되는 지 보여드릴 수 없습니다. 버튼을 누른 전과 후가 대략 다음과 같이 보입니다:</p> -<table> - <tbody> - <tr> - <td style="padding-right: 2em;"> - <table style="border: 2px outset #36b; padding: 0 4em .5em .5em;"> - <tbody> - <tr> - <td> - <p><b>XBL demonstration</b></p> - <div style="width: 5em; height: 5em; border: 2px inset gray; background-color: white; margin-right: 5em;"> - <div style="width: 2em; height: 1em; border: 1px outset black; background-color: #ccc; margin-top: 4px;"> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </td> - <td> - <table style="border: 2px outset #36b; padding: 0 4em .5em .5em;"> - <tbody> - <tr> - <td> - <p><b>XBL demonstration</b></p> - <div style="width: 5em; height: 5em; border: 2px inset gray; background-color: #cf4; margin-left: 5em;"> - <div style="width: 2em; height: 1em; border: 1px inset black; background-color: #ccc; margin-top: 4px;"> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </td> - </tr> - </tbody> -</table> -<p>이 예제에서 주의할 점:</p> -<ul> - <li>HTML 문서는 전처럼 문서의 스타일 시트에 링크되어 있습니다. 그러나 어떤 자바스크립트 코드에도 링크되어 있지 않습니다.</li> - <li>문서는 아무 버튼도 포함하고 있지 않습니다. 문서는 버튼 레이블(label)의 텍스트만을 포함하고 있습니다. 버튼은 바인딩(binding)에 의해서 더해집니다.</li> - <li>문서 스타일 시트는 바인딩(binding)에 링크되어 있습니다.</li> - <li>바인딩(binding)은 그 자신의 스타일에 링크되어 있고, 그 자신의 내용물과 자바스크립트 코드를 지원합니다. 따라서, 바인딩은 독립적으로(self-contained) 되어있습니다.</li> -</ul> -<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: .5em;"> - <caption> - Challenges</caption> - <tbody> - <tr> - <td>XBL 파일을 수정해서 사각형(square)이 색이 바뀔 때 오른쪽으로 점핑하는 대신 폭이(width) 2배가 되도록 하세요. - <p>DOM Inspector tool을 사용하여 문서를 조사해서 추가된 내용물을 확인해 보세요.</p> - </td> - </tr> - </tbody> -</table> -<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F">그럼 다음은?</h4> -<p>If you had difficulty understanding this page, or if you have other comments about it, please contribute to its <a>Discussion</a> page.</p> -<p>이 문서에서, 사각형(square)과 버튼은 독립적인 HTML 문서내에서 작동하는 - <i> - 위젯(widget)</i> - 이 되었습니다. 모질라는 사용자 인터페이스를 만들어내는 데 특별한 마크업 언어를 가지고 있습니다. 다음 페이지에서는 이것을 실행해 봅니다: <b><a href="ko/CSS/Getting_Started/XUL_user_interfaces">XUL user interfaces</a></b></p> -<p>{{ languages( { "fr": "fr/CSS/Premiers_pas/Liaisons_XBL", "pl": "pl/CSS/Na_pocz\u0105tek/Wi\u0105zania_XBL" } ) }}</p> diff --git a/files/ko/web/css/getting_started/xml_data/index.html b/files/ko/web/css/getting_started/xml_data/index.html deleted file mode 100644 index fc674a29e4..0000000000 --- a/files/ko/web/css/getting_started/xml_data/index.html +++ /dev/null @@ -1,186 +0,0 @@ ---- -title: XML data -slug: Web/CSS/Getting_Started/XML_data -tags: - - 'CSS:Getting_Started' -translation_of: Archive/Beginner_tutorials/XML_data ---- -<p>이 페이지는 XML 데이터와 함께 CSS를 사용할 수 있는 방법에 대한 예제들을 담고 있습니다. -</p><p>샘플 XML 문서와 이 문서를 브라우저에 디스플레이할 때 사용할 수 있는 스타일 시트를 만듭니다. -</p> -<h3 id=".EC.A0.95.EB.B3.B4:_XML_.EB.8D.B0.EC.9D.B4.ED.84.B0" name=".EC.A0.95.EB.B3.B4:_XML_.EB.8D.B0.EC.9D.B4.ED.84.B0"> 정보: XML 데이터 </h3> -<p><i><a href="ko/XML">XML</a></i>(확장 마크업 언어, eXtensible Markup Lanugage)는 모든 종류의 구조화 된 데이터를 위한 범용(general-purpose) 언어입니다. -</p><p>디폴트로, 모질라 브라우저는 XML을 XML파일의 원래 데이터와 매우 유사한 포맷으로 디스플레이합니다. -데이터의 구조를 정의하는 실제 택들을 볼 수 있습니다. -</p><p>CSS 스타일 시트를 XML 문서와 링크함으로써, 이를 디스플레이하는 다른 방식을 정의할 수 있습니다. -이를 위해, 스타일 시트는 XML 문서의 택들과 HTML에 의해 사용되는 디스플레이 유형들(types)에 매핑(map)시키는 규칙들을 사용합니다. -</p> -<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;"> -<caption>Example -</caption><tbody><tr> -<td> XML 문서의 데이터는 <code>html:input</code> 택들을 사용합니다. 문서의 <small>INFO</small> 엘리먼트들이 HTML 단락처럼 디스플레이 되기 원한다고 가정합시다. -<p>문서의 스타일 시트에 <small>INFO</small>엘리먼트가 어떻게 디스플레이 될 것인지 지정합니다: -</p> -<div style="width: 30em;"> -<pre class="eval">INFO { - display: block; - margin: 1em 0; - } -</pre> -</div> -</td></tr></tbody></table> -<p>가장 흔한 <code>display</code> 속성 값은 다음과 같습니다: -</p> -<table style="margin-left: 2em;"> -<tbody><tr> -<td style="padding-right: 2em;"><code>block</code></td><td>HTML의 <small>DIV</small>처럼 나타남 (머리글, 문단 등) -</td></tr> -<tr> -<td><code>inline</code></td><td>HTML의 <small>SPAN</small>처럼 나타남 (문서의 강조) -</td></tr></tbody></table> -<p>HTML에서와 같은 방식으로 폰트, 스페이싱(spacing) 그리고 다른 세부사항들을 지정하는 자기 자신의 스타일 규칙을 더하세요. -</p> -<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em;"> -<caption>More details -</caption><tbody><tr> -<td> <code>display</code>의 다른 값들은 그 엘리먼트를 리스트 아이템 처럼 , 또는 표의 컴포넌트(component) 처럼 디스플레이 합니다. -<p>디스플레이 유형들(types)의 완전한 리스트를 원하시면, CSS 규약의 <a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-display">The display property</a>을 보세요. -</p><p>CSS 만을 사용하면, 디스플레이의 구조가 문서의 구조와 똑 같을 것입니다. -다른 기술을 사용해서 디스플레이 구조를 수정할 수 있습니다 — 예를 들면, XBL로 내용물을 더할 수 있으며 자바스크립트로 DOM을 수정할 수 있습니다. -</p><p>모질라에서의 XML에 관해서 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XML">XML</a> 페이지를 보세요. -</p> -</td></tr></tbody></table> -<h3 id=".EC.95.A1.EC.85.98:_XML_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XML_.EC.98.88.EC.A0.9C"> 액션: XML 예제 </h3> -<p>새로운 XML 문서를 텍스트 파일 <code>doc9.xml</code>로 만드세요. -아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요: -</p> -<div style="width: 48em; height: 12em; overflow: auto;"><pre><?xml version="1.0"?> -<!-- XML demonstration --> - -<?xml-stylesheet type="text/css" href="style9.css"?> - -<!DOCTYPE planet> -<planet> - -<ocean> -<name>Arctic</name> -<area>13,000</area> -<depth>1,200</depth> -</ocean> - -<ocean> -<name>Atlantic</name> -<area>87,000</area> -<depth>3,900</depth> -</ocean> - -<ocean> -<name>Pacific</name> -<area>180,000</area> -<depth>4,000</depth> -</ocean> - -<ocean> -<name>Indian</name> -<area>75,000</area> -<depth>3,900</depth> -</ocean> - -<ocean> -<name>Southern</name> -<area>20,000</area> -<depth>4,500</depth> -</ocean> - -</planet> -</pre></div> -<p>새로운 CSS 문서를 텍스트 파일 <code>style9.css</code>로 만드세요. -아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요: -</p> -<div style="width: 48em; height: 12em; overflow: auto;"><pre>/*** XML demonstration ***/ - -planet:before { - display: block; - width: 8em; - font-weight: bold; - font-size: 200%; - content: "Oceans"; - margin: -.75em 0px .25em -.25em; - padding: .1em .25em; - background-color: #cdf; - } - -planet { - display: block; - margin: 2em 1em; - border: 4px solid #cdf; - padding: 0px 1em; - background-color: white; - } - -ocean { - display: block; - margin-bottom: 1em; - } - -name { - display: block; - font-weight: bold; - font-size: 150%; - } - -area { - display: block; - } - -area:before { - content: "Area: "; - } - -area:after { - content: " million km\B2"; - } - -depth { - display: block; - } - -depth:before { - content: "Mean depth: "; - } - -depth:after { - content: " m"; - } -</pre></div> -<p>브라우저에서 문서를 여세요: -</p> -<table style="border: 2px outset #36b; padding: 1em;"> -<tbody><tr> -<td><div style="border: 2px solid #cdf; border-bottom: none; padding: .5em 8em 1em .5em;"> -<p style="font-size: 150%; font-weight: bold; margin: -1em 0px 0px 0px; padding: .1em .25em; background-color: #cdf; width: 8em;">Oceans</p> -<p style="font-size: 75%; margin: .25em 0px 0px 0px; line-height: 110%;"><b>Arctic</b><br> -Area: 13,000 million km²<br> -Mean depth: 1,200 m</p> -<p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><b>Atlantic</b><br> -Area: 87,000 million km²<br> -Mean depth: 3,900 m</p> -<p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><b>. . .</b></p> -</div> -</td></tr></tbody></table> -<p>이 예제에서 주의할 점: -</p> -<ul><li>수퍼스크립트(superscript) 2 ("million km²" 에 있는)는 CSS파일에 <code>\B2</code>로 코딩되어있는 유니코드(Unicode) 문자입니다. -</li><li>헤딩(heading) "Oceans"는 음수인 상단 마진(negative top margin)을 갖고 있어 보더의 상단에 디스플레이 되도록 위쪽으로 이동 됩니다. -</li></ul> -<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;"> -<caption>Challenge -</caption><tbody><tr> -<td> 스타일 시트를 변경해서 문서를 표로 디스플레이하게 하세요. -<p>(수정할 예문들을 원하시면, CSS 규약의 <a class="external" href="http://www.w3.org/TR/CSS21/tables.html">Tables</a> 챕터를 보세요.) </p> -</td></tr></tbody></table> -<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80"> 그럼 다음은 </h4> -<p>이 페이지를 이해하기 어렵거나 다른 코멘트가 있다면 <a>Discussion</a>에 기여하세요. -</p><p>이 페이지는 입문서의 마지막 페이지입니다. -모질라에서의 CSS에 관한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/CSS">CSS</a> 메인 페이지(main page)를 보세요. -</p>{{ languages( { "en": "en/CSS/Getting_Started/XML_data", "fr": "fr/CSS/Premiers_pas/Donn\u00e9es_XML", "pl": "pl/CSS/Na_pocz\u0105tek/Dane_XML", "pt": "pt/CSS/Como_come\u00e7ar/Dados_XML" } ) }} diff --git a/files/ko/web/css/getting_started/xul_user_interfaces/index.html b/files/ko/web/css/getting_started/xul_user_interfaces/index.html deleted file mode 100644 index cd08f23579..0000000000 --- a/files/ko/web/css/getting_started/xul_user_interfaces/index.html +++ /dev/null @@ -1,315 +0,0 @@ ---- -title: XUL user interfaces -slug: Web/CSS/Getting_Started/XUL_user_interfaces -tags: - - 'CSS:Getting_Started' -translation_of: Archive/Beginner_tutorials/XUL_user_interfaces ---- -<p>이 페이지는 사용자 인터페이스를 만드는 모질라의 특별한 언어를 설명합니다.</p> -<p>모질라 브라우저에서 작동하는 간단한 예제를 만들어봅니다.</p> -<h3 id=".EC.A0.95.EB.B3.B4:_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4" name=".EC.A0.95.EB.B3.B4:_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4">정보: 사용자 인터페이스</h3> -<p>HTML가 사용자 인터페이스에 대한 지원를 하고 있으나, 하나의 독립적인 애플리케이션을 만드는데 필요한 모든 기능을 지원하고 있지는 못합니다.</p> -<p>모질라는 사용자 인터페이스를 만드는 특별한 언어를 제공함으로써 이런 제한사항을 극복하고 있습니다: 이 언어가 바로 - <i> - XUL</i> - 입니다. (XML 사용자-인터페이스 언어(XML User-interface Language)로서 보통 " - <i> - 줄(zool)</i> - "라고 읽습니다.)</p> -<p>XUL에는 많은 흔히사용되는 사용자 인터페이스가 내장되어 있습니다. 예를 들면, XUL은 대화창(dialogue), 위저드(wizard) 같은 특별한 윈도우들 뿐만아니라 상태 바(status bar), 메뉴, 툴 바(tool bar), 그리고 브라우저까지 제공합니다.</p> -<p>더 많은 특화된 기능들은 이 입문서에서 보아 온 다른 기술들(CSS 스타일, 자바스크립트 코드 그리고 XBL 바인딩)과 함께 XUL을 사용함으로써 만들어 낼 수 있습니다.</p> -<p>다른 XML-기반 언어들과 같이, XUL은 CSS 스타일 시트를 사용합니다.</p> -<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em; width: 100%;"> - <caption> - More details</caption> - <tbody> - <tr> - <td>XUL 사용자 인터페이스에 관한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XUL">XUL</a> 페이지를 보세요.</td> - </tr> - </tbody> -</table> -<h3 id=".EC.95.A1.EC.85.98:_XUL_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XUL_.EC.98.88.EC.A0.9C">액션: XUL 예제</h3> -<p>새로운 XUL 문서를 텍스트 파일 <code>doc7.xul</code>로 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p> -<div style="width: 48em; height: 12em; overflow: auto;"> - <pre><?xml version="1.0"?> -<?xml-stylesheet type="text/css" href="style7.css"?> -<!DOCTYPE window> - -<window - xmlns="http&58;//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - title="CSS Getting Started - XUL demonstration" - onload="init();"> - -<script type="application/x-javascript" src="script7.js"/> - -<label class="head-1" value="XUL demonstration"/> - -<vbox> - - <groupbox class="demo-group"> - <caption label="Day of week calculator"/> - <grid> - <columns> - <column/> - <column/> - </columns> - <rows> - <row> - <label class="text-prompt" value="Date:" - accesskey="D" control="date-text"/> - <textbox id="date-text" type="timed" - timeout="750" oncommand="refresh();"/> - </row> - <row> - <label value="Day:"/> - <hbox id="day-box"> - <label class="day" value="Sunday" disabled="true"/> - <label class="day" value="Monday" disabled="true"/> - <label class="day" value="Tuesday" disabled="true"/> - <label class="day" value="Wednesday" disabled="true"/> - <label class="day" value="Thursday" disabled="true"/> - <label class="day" value="Friday" disabled="true"/> - <label class="day" value="Saturday" disabled="true"/> - </hbox> - </row> - </rows> - </grid> - <hbox class="buttons"> - <button id="clear" label="Clear" accesskey="C" - oncommand="clearDate();"/> - <button id="today" label="Today" accesskey="T" - oncommand="setToday();"/> - </hbox> - </groupbox> - - <statusbar> - <statusbarpanel id="status"/> - </statusbar> - -</vbox> - -</window> -</pre> -</div> -<p>새로운 CSS 파일 <code>style7.css</code>을 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p> -<div style="width: 48em; height: 12em; overflow: auto;"> - <pre>/*** XUL demonstration ***/ -window { - -moz-box-align: start; - background-color: -moz-dialog; - font: -moz-dialog; - padding: 2em; - } - -.head-1 { - font-weight: bold; - font-size: 200%; - padding-left: 5px; - } - - -/* the group box */ -.demo-group { - padding: 1em; - } - -.demo-group grid { - margin-bottom: 1em; - } - -.demo-group column { - margin-right: .5em; - } - -.demo-group row { - margin-bottom: .5em; - } - -.demo-group .buttons { - -moz-box-pack: end; - } - - -/* the day-of-week labels */ -.day { - margin-left: 1em; - } - -.day[disabled] { - color: #777; - } - -.day:first-child { - margin-left: 4px; - } - - -/* the left column labels */ -.text-prompt { - padding-top: .25em; - } - - -/* the date input box */ -#date-text { - max-width: 8em; - } - - -/* the status bar */ -statusbar { - width: 100%; - border: 1px inset -moz-dialog; - margin: 4px; - padding: 0px 4px; - } - -#status { - padding: 4px; - } - -#status[warning] { - color: red; - } -</pre> -</div> -<p>새로운 텍스트 파일 <code>script7.js</code>을 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p> -<div style="width: 48em; height: 12em; overflow: auto;"> - <pre>// XUL demonstration - -var dateBox, dayBox, currentDay, status; // elements - -// called by window onLoad -function init() { - dateBox = document.getElementById("date-text") - dayBox = document.getElementById("day-box") - status = document.getElementById("status") - setToday(); - } - -// called by Clear button -function clearDate() { - dateBox.value = "" - refresh() - } - -// called by Today button -function setToday() { - var d = new Date() - dateBox.value = (d.getMonth() + 1) - + "/" + d.getDate() - + "/" + d.getFullYear() - refresh() - } - -// called by Date textbox -function refresh() { - var d = dateBox.value - var theDate = null - - showStatus(null) - if (d != "") { - try { - var a = d.split("/") - var theDate = new Date(a[2], a[0] - 1, a[1]) - showStatus(theDate) - } - catch (ex) {} - } - setDay(theDate) - } - -// internal -function setDay(aDate) { - if (currentDay) currentDay.setAttribute("disabled", "true") - if (aDate == null) currentDay = null - else { - var d = aDate.getDay() - currentDay = dayBox.firstChild - while (d-- > 0) currentDay = currentDay.nextSibling - currentDay.removeAttribute("disabled") - } - dateBox.focus(); - } - -function showStatus(aDate) { - if (aDate == null) { - status.removeAttribute("warning") - status.setAttribute("label", "") - } - else if (aDate === false || isNaN(aDate.getTime())) { - status.setAttribute("warning", "true") - status.setAttribute("label", "Date is not valid") - } - else { - status.removeAttribute("warning") - status.setAttribute("label", aDate.toLocaleDateString()) - } - } -</pre> -</div> -<p>정확히 의도하신대로 결과를 보고 싶으시면, 브라우저의 디폴트 씸(default theme)을 사용하세요. 다른 씸(theme)을 사용하고 계시면, 씸이 몇가지 사용자 인터페이스 스타일을 변경해서 예제가 좀 이상하게 보일 수 도 있습니다.</p> -<p>브라우저에서 문서를 열고 인터페이스를 사용하세요.</p> -<p>이 위키페이지는 XUL과 자바스크립트를 지원하지 않습니다. 따라서 예제가 어떻게 실행되는 지 보여드릴 수 없습니다.</p> -<p>다음과 같이 보입니다:</p> -<table style="border: 2px outset #36b; background-color: threedface; padding: 1em; cursor: default; white-space: nowrap; margin: .5em 0;"> - <tbody> - <tr> - <td> - <p style="font-size: 150%; font-weight: bold; margin: 0; padding: 0;">XUL demonstration</p> - <div style="position: relative; border: 2px groove threedhighlight; margin-top: 1em;"> - <p style="float: left; margin: -1em 0 0 .5em; padding: 0; background-color: threedface;">Day of week calculator</p> - <table style="background-color: threedface; margin: .5em; padding-right: .5em;"> - <tbody> - <tr> - <td style="padding-right: .5em;"><u>D</u>ate:</td> - <td style="background-color: white; border: 1px solid #000; width: 8em; float: left; cursor: text; padding: .15em .25em;">6/27/2005</td> - </tr> - <tr> - <td>Day:</td> - <td style="color: graytext;">Sunday <span style="color: #000;">Monday</span> Tuesday Wednesday Thurdsay Friday Saturday</td> - </tr> - <tr> - <td> </td> - <td> - <div style="float: right; margin-top: .5em;"> - <p><span style="border: 2px outset threedface; padding: .25em 1em;"><u>C</u>lear</span> <span style="border: 2px outset threedface; padding: .25em 1em;"><u>T</u>oday</span></p> - </div> - </td> - </tr> - </tbody> - </table> - </div> - <div style="border: 1px inset threedface; margin-top: 1em;"> - <p style="margin: 0; padding: .25em .5em;">June 27, 2005</p> - </div> - </td> - </tr> - </tbody> -</table> -<p>이 예제에서 주의할 점:</p> -<ul> - <li>XUL문서는 이전처럼 스타일 시트에 링크되어 있으며, 스크립트에도 링크되어 있습니다.</li> - <li>스크립트는 이 예제에서 중요하지 않습니다.</li> - <li>보게되는 대부분의 스타일은 브라우저의 씸(theme)에의해서 정해집니다.</li> -</ul> -<p>문서의 스타일 시트를 잘 검토해서 그안의 모든 규칙들을 확실히 이해하도록 하세요. 이해하지 못하는 규칙이 있으면, 코멘트 아웃(comment out)한 다음 브라우저를 리프레쉬해서 문서에 나타나는 효과를 보도록 하세요.</p> -<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;"> - <caption> - Challenge</caption> - <tbody> - <tr> - <td>DOM 조사 도구(DOM Inspector tool)을 사용해서 Date textbox를 검사하세요. Date textbox는 XBL 바인딩으로 만들어진 다른 엘리먼트들로 이루어져 있습니다. - <p><code>html:input</code> 엘리먼트의 - <i> - 클래스</i> - 를 찾아내세요. 이 엘리먼트가 실질적으로 샤용자 입력을 받고 있습니다.</p> - <p>이 지식을 이용해서, 스타일 시트에 규칙을 하나 더해서 Date box가 키보드 포거스를 가지게 될때 배경색이 희미한 푸른색으로 되게 하세요.(그러나 키보드 포커스가 다른 데 있을 경우 힌색이 되게 하세요.)</p> - </td> - </tr> - </tbody> -</table> -<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F">그럼 다음은?</h4> -<p>If you had difficulty understanding this page, or if you have other comments about it, please contribute to its <a>Discussion</a> page.</p> -<p>이 예제에서 대부분의 사용자 인터페이스에 공통적으로 사용되는 표준적인 사각형 도형들을 보았습니다. 모질라는 스타일을 지정하는 CSS스타일 시트를 이용하여 도형을 만들어내는 쓰는 특별한 그래픽 언어도 지원하고 있습니다. 다음 페이지에서는 이것을 실행해 봅니다: <b><a href="ko/CSS/Getting_Started/SVG_graphics">SVG graphics</a></b></p> -<p>{{ languages( { "fr": "fr/CSS/Premiers_pas/Interfaces_utilisateur_XUL", "pl": "pl/CSS/Na_pocz\u0105tek/XUL-owe_interfejsy_u\u017cytkownika" } ) }}</p> diff --git a/files/ko/web/events/chargingchange/index.html b/files/ko/web/events/chargingchange/index.html deleted file mode 100644 index e957315849..0000000000 --- a/files/ko/web/events/chargingchange/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: chargingchange -slug: Web/Events/chargingchange -tags: - - Event - - events -translation_of: Archive/Events/chargingchange ---- -<p><code>chargingchange</code> 이벤트<code>는 </code><a href="/en-US/docs/DOM/window.navigator.battery">battery API</a> 의 <code>charging 속성이 변할때 발생 합니다.</code></p> - -<h2 id="기본_정보">기본 정보</h2> - -<dl> - <dt style="float: left; text-align: right; width: 120px;">Specification</dt> - <dd style="margin: 0 0 0 120px;"><a class="external" href="https://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html">Battery</a></dd> - <dt style="float: left; text-align: right; width: 120px;">Interface</dt> - <dd style="margin: 0 0 0 120px;">Event</dd> - <dt style="float: left; text-align: right; width: 120px;">Bubbles</dt> - <dd style="margin: 0 0 0 120px;">No</dd> - <dt style="float: left; text-align: right; width: 120px;">Cancelable</dt> - <dd style="margin: 0 0 0 120px;">No</dd> - <dt style="float: left; text-align: right; width: 120px;">Target</dt> - <dd style="margin: 0 0 0 120px;"><code>navigator.battery</code></dd> - <dt style="float: left; text-align: right; width: 120px;">Default Action</dt> - <dd style="margin: 0 0 0 120px;">None</dd> -</dl> - -<h2 id="Properties" name="Properties">Properties</h2> - -<p>The event callback doesn't receive any event objects, but properties can be read from the {{domxref("BatteryManager")}} object received from the {{domxref("navigator.getBattery")}} method.</p> - -<table class="standard-table"> - <tbody> - <tr> - <td class="header">Property</td> - <td class="header">Type</td> - <td class="header">Description</td> - </tr> - <tr> - <td>{{domxref("BatteryManager.charging")}}</td> - <td>boolean</td> - <td>The system's battery charging status. Returns <code>true</code> if the battery is charging, if the state of the system's battery is not determinable, or if no battery is attached to the system. Returns <code>false</code> if the battery is discharging. Read only.</td> - </tr> - </tbody> -</table> - -<h2 id="Example" name="Example">Example</h2> - -<pre class="brush: js">navigator.getBattery().then(function(battery) { - - console.log("Battery charging? " + battery.charging ? "Yes" : "No"); - - battery.addEventListener('chargingchange', function() { - console.log("Battery charging? " + battery.charging ? "Yes" : "No"); - }); - -}); -</pre> - -<h2 id="관계_된_이벤트">관계 된 이벤트</h2> - -<ul> - <li>{{Event("chargingtimechange")}}</li> - <li>{{Event("dischargingtimechange")}}</li> - <li>{{Event("levelchange")}}</li> -</ul> diff --git a/files/ko/web/events/domsubtreemodified/index.html b/files/ko/web/events/domsubtreemodified/index.html deleted file mode 100644 index b40ee6b069..0000000000 --- a/files/ko/web/events/domsubtreemodified/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: DOMSubtreeModified -slug: Web/Events/DOMSubtreeModified -translation_of: Archive/Events/DOMSubtreeModified ---- -<p>{{ draft() }}</p> - -<h3 id="Example" name="Example">예제</h3> - -<p>아래 코드는 마지막으로 DOM 이 변경된 시간을 페이지의 title 에 표시합니다.</p> - -<div class="warning">해당 이벤트 핸들러 안에서 DOM 을 변경할 경우 무한 루프에 빠지기 쉬우므로 매우 신중해야 합니다.</div> - -<pre class="brush: js">document.body.addEventListener('DOMSubtreeModified', function () { - document.title = 'DOM Changed at ' + new Date(); -}, false); -</pre> diff --git a/files/ko/web/javascript/new_in_javascript/1.5/index.html b/files/ko/web/javascript/new_in_javascript/1.5/index.html deleted file mode 100644 index a34931d815..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.5/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: New in JavaScript 1.5 -slug: Web/JavaScript/New_in_JavaScript/1.5 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.5 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.5의 변경 내역입니다. 이 버전은 2000년 11월 14일에 출시된 Netscape Navigator 6.0과 그 이 후 버전 그리고 Firefox 1.0에 포함되어 있습니다. You can compare JavaScript 1.5 to JScript version 5.5 and Internet Explorer 5.5, which was released in July 2000. 해당하는 ECMA 표준은 ECMA-262 Edition 3(1999년 12월 이후) 입니디.</p> - -<h2 id="New_features_in_JavaScript_1.5">New features in JavaScript 1.5</h2> - -<ul> - <li>{{jsxref("Number.prototype.toExponential()")}}</li> - <li>{{jsxref("Number.prototype.toFixed()")}}</li> - <li>{{jsxref("Number.prototype.toPrecision()")}}</li> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> is now a <code><a href="/en-US/docs/Web/JavaScript/Reference/Reserved_Words">reserved word</a></code>.</li> - <li>Multiple catch clauses in a <a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch"><code>try...catch</code></a> statement are supported.</li> - <li>JavaScript authors can now add getters and setters to their objects.</li> -</ul> - -<h2 id="Changed_functionality_in_JavaScript_1.5">Changed functionality in JavaScript 1.5</h2> - -<ul> - <li>Runtime errors are now reported as exceptions.</li> - <li>Regular Expression changes: - <ul> - <li>Quantifiers — +, *, ? and {} — can now be followed by a ? to force them to be non-greedy.</li> - <li>Non-capturing parentheses, (?:x) can be used instead of capturing parentheses, (x). When non-capturing parentheses are used, matched subexpressions are not available as back-references.</li> - <li>Positive and negative lookahead assertions are supported. Both assert a match depending on what follows the string being matched.</li> - <li>The m flag has been added to specify that the regular expression should match over multiple lines.</li> - </ul> - </li> - <li>Functions can now be declared inside an if clause.</li> - <li> - <p>Functions can now be declared inside an expression.</p> - </li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.6/index.html b/files/ko/web/javascript/new_in_javascript/1.6/index.html deleted file mode 100644 index db92810578..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.6/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: New in JavaScript 1.6 -slug: Web/JavaScript/New_in_JavaScript/1.6 -tags: - - E4X - - JavaScript - - JavaScript_version_overviews -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.6 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>JavaScript 1.6 여러 새 기능(E4X, 여러 새 <code>Array</code> 메소드, Array과 String generic)을 소개합니다.</p> - -<p>JavaScript 1.6은 <a href="ko/Firefox_1.5">Firefox 1.5</a>와 이후 버전에서 지원합니다.</p> - -<h3 id="E4X" name="E4X">E4X</h3> - -<p>ECMAScript for XML (<a>E4X</a>)는 <a href="ko/JavaScript">JavaScript</a> 안의 <a href="ko/XML">XML</a> 컨텐트를 만들고 처리하는 강력한 기술입니다. 우리는 기존 <a href="ko/DOM">DOM</a>과의 transparent한 통합 추가를 포함하는 E4X 지원 향상을 계속할 예정이지만 XML 기반 웹 응용프로그램을 만드는(build) 개발자는 Firefox 1.5의 E4X 지원에서 이득을 얻을 수 있습니다.</p> - -<p>아직은 E4X를 쓸 때 표준 MIME 형을 쓸 수 있습니다.</p> - -<pre><script type="text/javascript"> -</pre> - -<p>그러나, E4X 구문이 옛날 브라우저에서 그것을 숨기기 위해 HTML 주석 (<code><span class="nowiki"><!--...--></span></code>)에 스크립트를 넣는 흔한 관례(practice)와 충돌할지도 모릅니다. E4X 또한 스크립트에 기호 "<"와 ">"를 허용하는 XML CDATA 절 (<code><![CDATA{{ mediawiki.external('...') }}]></code>) 에 스크립트를 놓는 더 현대식 관례와 충돌할지도 모릅니다(이는 HTML에는 적용되지 않음을 주의하세요). 만약 설명할 수 없는 구문 에러를 보면, MIME 형에 "; e4x=1"를 보태세요.</p> - -<pre><script type="text/javascript; e4x=1"> -</pre> - -<p>확장기능의 스크립트는 항상 HTML 주석을 E4X 상수(literal)로 다룸을 주의하세요. 즉, "e4x=1"을 묵시(implicit)로 적용합니다.</p> - -<p>E4X는 <a href="ko/Core_JavaScript_1.5_Guide/Processing_XML_with_E4X">Processing XML with E4X</a>에서 설명합니다.</p> - -<h3 id="Array_.EC.B6.94.EA.B0.80.EB.B6.84" name="Array_.EC.B6.94.EA.B0.80.EB.B6.84">Array 추가분</h3> - -<p>두 갈래(item location 메소드와 iterative 메소드)로 구분할 수 있는 7가지 새 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 메소드가 있습니다. item location 메소드는</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/indexOf">indexOf()</a></code> - 주어진 item의 맨 처음 출현(occurrence) 인덱스를 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf">lastIndexOf()</a></code> - 주어진 item의 맨 마지막 출현 인덱스를 반환합니다.</li> -</ul> - -<p>iterative 메소드는</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/every">every()</a></code> - 함수가 참을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 모든 항목에 대해 참을 반환하면 참을 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/filter">filter()</a></code> - 배열의 각 항목에 함수를 돌리고 함수가 참을 반환하는 모든 항목의 배열을 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/forEach">forEach()</a></code> - 배열의 모든 항목에 함수를 돌립니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/map">map()</a></code> - 배열의 모든 항목에 함수를 돌리고 배열에 결과를 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/some">some()</a></code> - 함수가 거짓을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 어떤 항목에 참을 반환하면 참을 반환합니다.</li> -</ul> - -<p>더 자세한 정보는 <a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Introduced_in_JavaScript_1.6">Working with Arrays</a>나 Nicholas C. Zakas의 기사 <a class="external" href="http://www.webreference.com/programming/javascript/ncz/column4/index.html">Mozilla's New Array Methods</a>를 보세요.</p> - -<h3 id="Array.EC.99.80_String_generic" name="Array.EC.99.80_String_generic">Array와 String generic</h3> - -<p>간혹 배열 메소드를 문자열에 쓰고 싶습니다. 이리하여, 문자열을 문자 배열로 다룹니다. 예를 들어, 변수 <var>str</var>의 모든 문자(character)가 문자(letter)인지 검사하기 위해, 당신은 작성합니다.</p> - -<pre>function isLetter(character) { - return (character >= "a" && character <= "z"); -} - -if (Array.prototype.every.call(str, isLetter)) - alert("The string '" + str + "' contains only letters!"); -</pre> - -<p>이 표기(notation)는 약간 낭비라서 JavaScript 1.6은 generic 속기(shorthand)를 도입합니다.</p> - -<pre>if (Array.every(str, isLetter)) - alert("The string '" + str + "' contains only letters!"); -</pre> - -<p>비슷하게 문자열 메소드를 어느 개체든지 쉽게 적용할 수 있습니다.</p> - -<pre>var num = 15; -alert(String.replace(num, /5/, '2')); -</pre> - -<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3> - -<p><a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Working_with_Array-like_objects">Working with Array-like objects</a>.</p> - -<div class="noinclude"> </div> - -<p>{{ languages( { "en": "en/New_in_JavaScript_1.6", "es": "es/Novedades_en_JavaScript_1.6", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6", "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6", "zh-cn": "cn/New_in_JavaScript_1.6" } ) }}</p> diff --git a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html b/files/ko/web/javascript/new_in_javascript/1.8.1/index.html deleted file mode 100644 index 2a50e35cf7..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: New in JavaScript 1.8.1 -slug: Web/JavaScript/New_in_JavaScript/1.8.1 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.1 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.8.1의 변경사항입니다. <a href="/en-US/Firefox/Releases/3.5">Firefox 3.5</a> 버전에 포함되었습니다.</p> - -<p>JavaScript 1.8.1는 약간의 문법적인 업데이트가 있습니다. 이번 릴리즈의 주요 변경사항은 <a href="/en-US/docs/SpiderMonkey/Internals/Tracing_JIT" title="SpiderMonkey/Internals/Tracing JIT">Tracemonkey just-in-time compiler</a>(성능적인 향상이 포함된 릴리즈입니다)의 추가되어있습니다</p> - -<h2 id="JavaScript_1.8.1의_새로운_특징">JavaScript 1.8.1의 새로운 특징</h2> - -<ul> - <li>{{jsxref("Object.getPrototypeOf()")}}</li> - <li><a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON">Support for native JSON</a></li> - <li>{{jsxref("String.prototype.trim()")}}</li> - <li>{{jsxref("String.prototype.trimLeft()")}}</li> - <li>{{jsxref("String.prototype.trimRight()")}}</li> -</ul> - -<h2 id="JavaScript_1.8.1에서_변경된_기능">JavaScript 1.8.1에서 변경된 기능</h2> - -<ul> - <li>객체 및 배열 initializer에서 속성의 암시적 설정(implicit setting)은 더 이상 JavaScript에서 setter를 실행하지 않습니다. 덕분에 속성 값을 좀더 예측 가능하게 설정하는 동작이 만들어집니다.</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html b/files/ko/web/javascript/new_in_javascript/1.8.5/index.html deleted file mode 100644 index 27853f0531..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: New in JavaScript 1.8.5 -slug: Web/JavaScript/New_in_JavaScript/1.8.5 -tags: - - ECMAScript5 - - JavaScript - - JavaScript 1.8.5 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.5 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.8.5에 대한 변경기록입니다. 이 버전은 <a href="/ko/Firefox/Releases/4">Firefox 4</a>에서 포함되었습니다.</p> - -<h2 id="JavaScript_1.8.5의_새로운_기능">JavaScript 1.8.5의 새로운 기능</h2> - -<h3 id="새로운_함수">새로운 함수</h3> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">함수</th> - <th scope="col">설명</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{jsxref("Object.create()")}}</td> - <td>지정된 프로토타입 객체 및 속성을 갖는 새로운 객체 생성. {{bug("492840")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.defineProperty()")}}</td> - <td>객체에 주어진 설명자로 기술된 유명(named) 속성을 추가.</td> - </tr> - <tr> - <td>{{jsxref("Object.defineProperties()")}}</td> - <td>객체에 주어진 설명자로 기술된 유명 속성을 추가.</td> - </tr> - <tr> - <td>{{jsxref("Object.getOwnPropertyDescriptor()")}}</td> - <td>객체의 유명 속성에 대한 속성 설명자를 반환. {{bug("505587")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.keys()")}}</td> - <td>객체의 모든 열거가능 속성 배열을 반환. {{bug("307791")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.getOwnPropertyNames()")}}</td> - <td>객체의 모든 열거가능 및 열거불가 속성 배열을 반환. {{bug("518663")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.preventExtensions()")}}</td> - <td>객체 확장을 막음. {{bug("492849")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isExtensible()")}}</td> - <td>객체 확장이 허용되는지 판단. {{bug("492849")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.seal()")}}</td> - <td>다른 코드가 객체의 속성을 삭제하는 것으로부터 막음. {{bug("492845")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isSealed()")}}</td> - <td>객체가 봉인되었는지 판단. {{bug("492845")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.freeze()")}}</td> - <td>객체 동결: 다른 코드가 어떤 속성도 삭제 또는 변경할 수 없음. {{bug("492844")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isFrozen()")}}</td> - <td>객체가 동결됐는지 판단. {{bug("492844")}}</td> - </tr> - <tr> - <td>{{jsxref("Array.isArray()")}}</td> - <td>변수가 배열인지 확인. {{bug("510537")}}</td> - </tr> - <tr> - <td>{{jsxref("Date.prototype.toJSON()")}}</td> - <td><code>Date</code> 객체의 JSON 형식 문자열 반환.</td> - </tr> - <tr> - <td>{{jsxref("Function.prototype.bind()")}}</td> - <td>호출될 때 그 자체가 (주어진 인수열과 함께) 주어진 문맥에서 이 함수를 호출하는 새로운 함수 생성 {{bug("429507")}}</td> - </tr> - </tbody> -</table> - -<h3 id="ECMAScript5_새로운_기능">ECMAScript5 새로운 기능</h3> - -<ul> - <li><code><a href="/ko/docs/Web/JavaScript/Reference/Operators/get">get</a></code> 및 <code><a href="/ko/docs/Web/JavaScript/Reference/Operators/set">set</a></code> 연산자는 이제 식별자가 숫자 또는 문자열이 될 수 있습니다. {{bug("520696")}}</li> - <li>{{jsxref("Function.apply()")}}는 인수 목록으로 모든 배열같은 객체를 받아들일 수 있습니다, 실제 배열만이 아니라.</li> - <li><a href="/ko/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode">엄격 모드 지원</a></li> - <li>{{jsxref("Array.toString()")}}은 이제 가능한 경우 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join"><code>join()</code></a> 메서드 호출 결과를 반환 또는 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>toString()</code></a> 메서드를 호출하여 심지어 비배열에서도 동작합니다.</li> -</ul> - -<h3 id="다른_표준화_작업">다른 표준화 작업</h3> - -<p>getter 및 setter를 정의하는 다양한 비표준 구문이 제거되었습니다; ECMAScript 5에서 정의된 구문은 변경되지 않았습니다. 이들은 모두 꽤 난해하고 거의 쓰이지 않았습니다; 영향을 미치는 경우, 자세한 사항은 <a class="external" href="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/">이 블로그 게시글</a> 참조.</p> - -<h3 id="새로운_객체">새로운 객체</h3> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">객체</th> - <th scope="col">설명</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{jsxref("Proxy")}}</td> - <td>JavaScript에서 메타프로그래밍을 가능케 하는 <code>Object</code> 및 <code>Function</code> 프록시 생성 지원을 제공.</td> - </tr> - </tbody> -</table> - -<h2 id="JavaScript_1.8.5에서_바뀐_기능">JavaScript 1.8.5에서 바뀐 기능</h2> - -<ul> - <li><code>Date</code> 객체 ISO 8601 지원: {{jsxref("Date")}} 객체의 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/parse">parse()</a> 메서드가 이제 단순한 ISO 8601 형식 date 문자열을 지원합니다.</li> - <li>Global 객체가 읽기 전용이 됨: <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN"><code>NaN</code></a>, <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Infinity"><code>Infinity</code></a> 및 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined"><code>undefined</code></a> global 객체는 읽기 전용이 되었습니다, ECMAScript 5 스펙에 따라.</li> - <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/Parent"><code>obj.__parent__</code></a> 및 <code>obj.__count__</code>는 폐기(obsolete)되었습니다. 이유에 대한 일부 정보: <a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a> {{bug("551529")}} & {{bug("552560")}}.</li> - <li>후행(trailing) 쉼표는 {{jsxref("JSON.parse()")}}에서 더 이상 허용되지 않습니다.</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.8/index.html b/files/ko/web/javascript/new_in_javascript/1.8/index.html deleted file mode 100644 index 3372eeac27..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: New in JavaScript 1.8 -slug: Web/JavaScript/New_in_JavaScript/1.8 -tags: - - JavaScript - - JavaScript_version_overviews -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8 ---- -<p>{{jsSidebar("New_in_JS")}} 자바스크립트 1.8은 (<a href="ko/Firefox_3">Firefox 3</a>에 포함될 예정인) Gecko 1.9의 일부분으로 계획되어 있습니다. 자바스크립트 1.8은 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>보다는 변경된 부분이 적습니다. 그러나, ECMAScript 4/JavaScript 2로 진행되는 과정의 몇몇 변경점이 있습니다. 이번 자바스크립트 1.8 릴리즈에는 <a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>과 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에 있는 모든 부분이 포함될 것입니다.</p> - -<p>자바스크립트 1.8가 개발되어지고 있는 상황은 {{ Bug(380236) }}을 참조하십시오.</p> - -<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9">자바스크립트 1.8의 사용</h3> - -<p>HTML에서 자바스크립트 1.8의 새로운 기능 몇 가지를 사용하려면 다음과 같이 사용하십시오.</p> - -<pre class="eval"> <script type="application/javascript;version=1.8"> ... your code ... </script> -</pre> - -<p><a href="ko/Introduction_to_the_JavaScript_shell">자바스크립트 쉘</a>, 자바스크립트 XPCOM 컴포넌트, 혹은 XUL의 <code><script></code> 엘리먼트를 사용할 때에는 자동적으로 가장 마지막의 자바스크립트 버전(모질라 1.9에서는 자바스크립트 1.8)이 사용되어 집니다({{ Bug(381031) }}, {{ Bug(385159) }}).</p> - -<p>새로운 예약어 "yield"와 "let"를 사용하려면 버전을 1.8이나 그 이상으로 지정하여야 합니다. 왜냐하면 기존 코드에 변수나 함수의 이름으로 이런 키워드를 사용하고 있을 수 있기 때문입니다. (generator expressions처럼) 새로운 예약어로 소개되지 않는 것들은 자바스크립트 버전을 명시하지 않아도 사용할 수 있습니다.</p> - -<h3 id="closures_.ED.91.9C.ED.98.84" name="closures_.ED.91.9C.ED.98.84">closures 표현</h3> - -<p>추가된 closures 표현은 간단한 함수 작성을 쉽게 할 수 있는 것 뿐입니다. 문자 그대로인 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">Lambda notation</a>과 유사한 어떤 것을 자바스크립트도 가능하도록 합니다.</p> - -<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>과 그 이전 버전:</p> - -<pre class="eval"> function(x) { return x * x; } -</pre> - -<p>자바스크립트 1.8:</p> - -<pre class="eval"> function(x) x * x -</pre> - -<p>이런 문법은 괄호를 없애고 'return' 문을 쓰지 않아도 되도록 해줍니다. - 즉, 내용을 함축적으로 만들어 줍니다. 문법이 더 짧아진다는 것 외에 코드에 이 문법을 사용하여 얻을 수 있는 추가적인 이점은 없습니다.</p> - -<p><b>예제:</b></p> - -<p>이벤트 리스너 연결:</p> - -<pre class="eval"> document.addEventListener("click", function() false, true); -</pre> - -<p><a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>의 배열 함수의 some을 사용하면:</p> - -<pre class="eval"> elems.some(function(elem) elem.type == "text"); -</pre> - -<h3 id="Generator_expression" name="Generator_expression">Generator expression</h3> - -<p>Generator expression은 (<a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 소개된) generator를 간단하게 만들 수 있게 해줍니다. 문자 그대로 함수 내부에 yield를 포함한 사용자 함수를 생성할 수 있습니다. 그러나 동일한 generator 문법과 같은 것을 포함하고 있는 배열 역시 사용할 수 있습니다.</p> - -<p>This addition allows you to simply create generators (which were introduced in <a href="ko/New_in_JavaScript_1.7">JavaScript 1.7</a>). Typically you would have to create a custom function which would have a yield in it, but this addition allows you to use array comprehension-like syntax to create an identical generator statement.</p> - -<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 오브젝트로부터 사용자 generator를 만드려면 다음과 같은 코드를 작성해야 했습니다:</p> - -<pre class="eval"> function add3(obj) { - for ( let i in obj ) - yield i + 3; - } - - let it = add3(someObj); - try { - while (true) { - document.write(it.next() + "<br>\n"); - } - } catch (err if err instanceof StopIteration) { - document.write("End of record.<br>\n"); - } -</pre> - -<p>위의 코드 대신에 자바스크립트 1.8에서는 generator expression을 사용하여 순환문 안에 사용자 generator 함수를 생성하는 부분을 포함할 수 있습니다:</p> - -<pre class="eval"> let it = (i + 3 for (i in someObj)); - try { - while (true) { - document.write(it.next() + "<br>\n"); - } - } catch (err if err instanceof StopIteration) { - document.write("End of record.<br>\n"); - } -</pre> - -<p>generator 표현은 또한 값처럼 함수에 전달할 수 있습니다. generator 표현은 generator가 실행되지 않을 때부터 반드시 필요할 때까지 (배열이 맨 처음 생성되어지는 전형적인 상황과는 다르게) 특히 주목할만 합니다. 다른 예는 아래에서 볼 수 있습니다:</p> - -<p>Generator expressions can also be passed in, as values, to a function. This is particularly noteworthy since generators aren't run until they are absolutely needed (unlike for typical array comprehension situations, where the arrays are constructed ahead of time). An example of the difference can be seen here:</p> - -<p>자바스크립트 1.7 Array Comprehension 사용</p> - -<pre class="eval"> handleResults([ i for ( i in obj ) if ( i > 3 ) ]); - - function handleResults( results ) { - for ( let i in results ) - // ... - } -</pre> - -<p>자바스크립트 1.8 Generator Expressions 사용</p> - -<pre class="eval"> handleResults( i for ( i in obj ) if ( i > 3 ) ); - - function handleResults( results ) { - for ( let i in results ) - // ... - } -</pre> - -<p>두 예제에서 generator expression을 사용함으로써 중요한 다른 점은 'obj' 하나에 대해서만 반복될 것이란 것과 전체에 대해서 반복될 것이라는 점입니다. 배열에 포함되었을 때 하나에 대해서만 반복될 것에 비해 generator expression은 전체에 대해 계속 반복됩니다.</p> - -<p>The significant difference between the two examples being that by using the generator expressions, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p> - -<h3 id=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4" name=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4">배열에 추가된 것들</h3> - -<p>자바스크립트 1.8에는 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 객체에 배열 항목마다 반복 적용되는 두 가지 새로운 메소드가 포함되었습니다:</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다. 결과값은 순서가 반대로 수집됩니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - runs a function on every item in the array and collects the results from previous calls.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - runs a function on every item in the array and collects the results from previous calls, but in reverse.</li> -</ul> - -<h3 id="Changes_in_destructuring_for..in" name="Changes_in_destructuring_for..in">Changes in destructuring for..in</h3> - -<p>TBD: mention <a href="ko/New_in_JavaScript_1.7#Looping_across_objects">New_in_JavaScript_1.7#Looping_across_objects</a> ({{ Bug(366941) }}).</p> - -<h3 id=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4" name=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4">곧 변경될 사항들</h3> - -<p>자바스크립트 1.8에 포함될 수 있을 것이라 기대되는 것들:</p> - -<ul> - <li>JSON 인코딩, 디코딩.</li> - <li>Slice syntax.</li> - <li>Generalized destructuring <code>for...in</code> (does this mean something other than <a href="#Changes_in_destructuring_for..in">#Changes in destructuring for..in</a>? --<a>Nickolay</a> 10:52, 9 September 2007 (PDT))</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html deleted file mode 100644 index 6662aee95b..0000000000 --- a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: ECMAScript 5 support in Mozilla -slug: Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla -tags: - - ECMAScript 5 - - JavaScript - - Versions -translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>ECMAScript 5.1, 자바스크립트에 기반한, 더 오래된 표준이 2011년 6월에 허가되었습니다.</p> - -<p>파이어폭스와 썬더버드를 포함하는 모질라 프로젝트들은 ECMAScript 5.1 의 기능들을 모두 지원합니다. 이 글은 모질라의 다양한 자바스크립트 런타임 버젼에 따라, 어떤 기능들이 지원되는지를 다룹니다.</p> - -<h2 id="지원_기능"><strong><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;">지원 기능</span></font></strong></h2> - -<h3 id="자바스크립트_1.8.5에_추가(Gecko_2_Firefox_4_and_later)">자바스크립트 1.8.5에 추가(Gecko 2, Firefox 4 and later)</h3> - -<p>파이어폭스 4는 <code>Object.*</code> 와 Strict 모드를 포함한 ECMAScript 5의 모든 기능을 지원합니다. <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">자바스크립트 1.8.5의 새기능</a> 보기.</p> - -<h3 id="자바스크립트_1.8.1에_추가_(Gecko_1.9.1_Firefox_3.5)">자바스크립트 1.8.1에 추가 (Gecko 1.9.1, Firefox 3.5)</h3> - -<ul> - <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON">네이티브 JSON </a>지원</li> - <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf" title="En/Core JavaScript 1.5 Reference/Global Objects/Object/GetPrototypeOf"><code>Object.getPrototypeOf()</code></a> 함수.</li> - <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim" title="En/Core JavaScript 1.5 Reference/Global Objects/String/Trim"><code>String.trim()</code></a> 문자열 양 끝의 공백을 자르는 함수.</li> - <li>Gecko 1.9.1.4 는 ECMAScript 5와 호환하기 위해 <a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON#Converting_objects_into_JSON" title="En/Using native JSON#Converting objects into JSON"><code>JSON.stringify()</code></a> 의 구현을 업데이트 하였습니다.</li> -</ul> - -<p>ECMAScript 5 는 특정한 상황에서 XTHML을 자바스크립트 코드로 판단하는 경우를 방지하는 파싱 알고리즘을 만들어냈습니다.</p> - -<h3 id="자바스크립트_1.6에_추가_(Gecko_1.8_Firefox_1.5)">자바스크립트 1.6에 추가 (Gecko 1.8, Firefox 1.5)</h3> - -<p>새로운 <code><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array">배열</a></code> 함수들은, 배열을 가공하기 위해 향상된 방법들을 제공합니다. -- <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">자바스크립트 1.6</a>부터 자바스크립트의 일부였던 이 것은 이제 ECMAScript 5의 표준 기능으로 자리잡았습니다.</p> - -<h2 id="같이_보기"><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;"><strong>같이 보기</strong></span></font></h2> - -<ul> - <li><a class="external" href="http://www.ecmascript.org/" title="http://www.ecmascript.org/">ECMAScript web site</a></li> - <li><a class="external" href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" title="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">ECMAScript 5.1 specification</a></li> - <li>John Resig's post on <a class="external" href="http://ejohn.org/blog/objectgetprototypeof/" title="http://ejohn.org/blog/objectgetprototypeof/">Object.getPrototypeOf</a></li> - <li>Michael J. Ryan's implementation of <a class="external" href="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx" title="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx">ECMAScript5 Dates in JavaScript</a></li> - <li><a href="http://kangax.github.io/es5-compat-table/" title="http://kangax.github.io/es5-compat-table/">ECMAScript 5 support across browsers</a></li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html deleted file mode 100644 index bafb603919..0000000000 --- a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html +++ /dev/null @@ -1,285 +0,0 @@ ---- -title: ECMAScript 2015 support in Mozilla -slug: Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla -tags: - - ECMAScript6 - - JavaScript -translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<div> -<p>ECMAScript 2015는 ECMAScript 언어의 6번째 표준 스펙(Spec)입니다. 파이어폭스와 모질라 애플리케이션에서 사용되는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 엔진의 표준 자바스크립트를 정의하고 있습니다.</p> - -<p>"ES.next", "Harmony", or "ECMAScript 6" 등의 코드네임으로 불린 이 표준은 2011년 7월 12일에 "ES.next"라는 명칭으로 초안이 발표되었습니다. 2014년 8월 드디어 ECMAScript 2015 초안의 기능들이 확정되고 안정화와 버그 수정 작업에 들어갔습니다. 그리고 2015년 6월 17일, 드디어 ECMA-262 Edition 6은 ECMA 총회(General Assembly)의 공식 승인을 받아 배포되었습니다. 이 표준은 국제 산업 규격 ISO/IEC 16262:2016이기도 합니다.</p> - -<p><a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf">PDF</a>와 <a href="http://www.ecma-international.org/ecma-262/6.0/index.html">HTML</a> 버전의 표준을 <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ecma-international.org 에서 무료로 다운로드 할 수 있습니다</a>.</p> -</div> - -<p>ECMAScript 표준에 대한 피드백 채널은 <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>을 이용하시면 됩니다.</p> - -<h2 id="표준_라이브러리">표준 라이브러리</h2> - -<h3 id="Array_객체_추가사항"><code>Array</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Array")}} iteration with {{jsxref("Statements/for...of", "for...of")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/13" style='background-color: rgb(255, 255, 255); font-family: "Open Sans", arial, x-locale-body, sans-serif;'>Firefox 13</a><span style='background-color: #ffffff; color: #333333; font-family: "Open Sans",arial,x-locale-body,sans-serif;'>)</span></li> - <li>{{jsxref("Array.from()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li> - <li>{{jsxref("Array.of()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Array.prototype.fill()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Array.prototype.find()")}}, {{jsxref("Array.prototype.findIndex()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Array.prototype.entries()")}},<br> - {{jsxref("Array.prototype.keys()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/28">Firefox 28</a>),<br> - {{jsxref("Array.prototype.values()")}}</li> - <li>{{jsxref("Array.prototype.copyWithin()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li> - <li>{{jsxref("Array.@@species", "get Array[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> -</ul> - -<h3 id="새로운_Map과_Set_객체_그리고_WeakMap과_WeakSet_객체">새로운 <code>Map</code>과 <code>Set</code> 객체 그리고 <code>WeakMap과</code> <code>WeakSet 객체</code></h3> - -<ul> - <li>{{jsxref("Map")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - - <ul> - <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Map")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("Map.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Map.prototype.entries()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Map.prototype.keys()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Map.prototype.values()")}}</li> - <li>생성자 인수: <code>new {{jsxref("Map")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>{{jsxref("Map.@@species", "get Map[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - </ul> - </li> - <li>{{jsxref("Set")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - <ul> - <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Set")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("Set.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Set.prototype.entries()")}},<br> - {{jsxref("Set.prototype.keys()")}},<br> - {{jsxref("Set.prototype.values()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li> - <li>생성자 인수: <code>new {{jsxref("Set")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> - <li>{{jsxref("WeakMap")}} (<a href="/en-US/Firefox/Releases/6">Firefox 6</a>) - <ul> - <li>{{jsxref("WeakMap.clear()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>반복 가능한 {{jsxref("WeakMap")}} 생성자 내의 선택적 인수 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>생성자 인수: <code>new {{jsxref("WeakMap")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> - <li>{{jsxref("WeakSet")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>) - <ul> - <li>생성자 인수: <code>new {{jsxref("WeakSet")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> -</ul> - -<h3 id="새로운_Math_함수">새로운 <code>Math</code> 함수</h3> - -<ul> - <li>{{jsxref("Math.imul()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Math.clz32()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Math.fround()")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li>{{jsxref("Math.log10()")}}, {{jsxref("Math.log2()")}}, {{jsxref("Math.log1p()")}}, {{jsxref("Math.expm1()")}}, {{jsxref("Math.cosh()")}}, {{jsxref("Math.sinh()")}}, {{jsxref("Math.tanh()")}}, {{jsxref("Math.acosh()")}}, {{jsxref("Math.asinh()")}}, {{jsxref("Math.atanh()")}}, {{jsxref("Math.hypot()")}}, {{jsxref("Math.trunc()")}}, {{jsxref("Math.sign()")}}, {{jsxref("Math.cbrt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> -</ul> - -<h3 id="Number_객체_추가사항"><code>Number</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Number.isNaN()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.isFinite()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.isInteger()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.parseInt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.parseFloat()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.EPSILON")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.MAX_SAFE_INTEGER")}}, {{jsxref("Number.MIN_SAFE_INTEGER")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Number.isSafeInteger()")}} (<a href="/en-US/Firefox/Releases/32">Firefox 32</a>)</li> -</ul> - -<h3 id="Object_객체_추가사항"><code>Object</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Object.prototype.__proto__")}}가 표준이 되었습니다.</li> - <li>{{jsxref("Object.is()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Object.setPrototypeOf()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Object.assign()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li>{{jsxref("Object.getOwnPropertySymbols()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/33">Firefox 33</a>)</li> -</ul> - - - -<h3 id="Date_객체_추가사항"><code>Date</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Date.prototype")}} is an ordinary object (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>generic {{jsxref("Date.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>{{jsxref("Date.prototype.@@toPrimitive", "Date.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> -</ul> - - - -<h3 id="새로운_Promise_객체">새로운 <code>Promise</code> 객체</h3> - -<ul> - <li>{{jsxref("Promise")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>(<a href="/en-US/Firefox/Releases/29">Firefox 29</a>에서 기본값으로 활성화 되어 있음))</li> -</ul> - - - -<h3 id="새로운_Proxy_객체">새로운 <code>Proxy</code> 객체</h3> - -<ul> - <li>{{jsxref("Proxy")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/18">Firefox 18</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/preventExtensions", "preventExtensions()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/isExtensible", "isExtensible()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "getPrototypeOf()")}} and {{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "setPrototypeOf()")}} traps (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> -</ul> - - - -<h3 id="새로운_Reflect_객체">새로운 <code>Reflect</code> 객체</h3> - -<ul> - <li>{{jsxref("Reflect")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/42">Firefox 42</a>)</li> -</ul> - - - - - -<h3 id="RegExp_객체_추가사항"><code>RegExp</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("RegExp")}} sticky (y) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/38">Firefox 38</a>)</li> - <li>{{jsxref("RegExp")}} unicode (u) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li> - <li>generic {{jsxref("RegExp.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/39">Firefox 39</a>)</li> - <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.@@species", "get RegExp[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> -</ul> - -<h3 id="String_객체_추가사항"><code>String</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("String.fromCodePoint()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li> - <li>{{jsxref("String.prototype.codePointAt()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li> - <li>{{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("String.prototype.includes()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>) (formerly <code>String.prototype.contains()</code> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/17">Firefox 17</a>))</li> - <li>{{jsxref("String.prototype.repeat()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li> - <li>{{jsxref("String.prototype.normalize()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("String.raw()")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li>{{jsxref("Global_Objects/String", "u{XXXXXX} 유니코드 코드 포인트", "", 1)}} (<a href="/en-US/Firefox/Releases/40">Firefox 40</a>)</li> -</ul> - -<h3 id="새로운_Symbol_객체">새로운 <code>Symbol</code> 객체</h3> - -<ul> - <li>{{jsxref("Symbol")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.iterator")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.for()")}} - global Symbol registry (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.match")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>)</li> - <li>{{jsxref("Symbol.species")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>{{jsxref("Symbol.toPrimitive")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> - <li>{{jsxref("Symbol.prototype.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> - <li>{{jsxref("Symbol.replace")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.search")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.split")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.hasInstance")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/50">Firefox 50</a>)</li> -</ul> - -<h3 id="형식화된_배열">형식화된 배열</h3> - -<p>형식화된 배열은 ECMAScript 2015의 일부로 지정되었고, 더 이상 <a href="https://www.khronos.org/registry/typedarray/specs/latest/">자신의 기존 명세서</a>를 따르지 않습니다.</p> - -<ul> - <li>{{jsxref("ArrayBuffer")}}</li> - <li>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> - <li>{{jsxref("DataView")}}</li> - <li>{{jsxref("Int8Array")}}</li> - <li>{{jsxref("Uint8Array")}}</li> - <li>{{jsxref("Uint8ClampedArray")}}</li> - <li>{{jsxref("Int16Array")}}</li> - <li>{{jsxref("Uint16Array")}}</li> - <li>{{jsxref("Int32Array")}}</li> - <li>{{jsxref("Uint32Array")}}</li> - <li>{{jsxref("Float32Array")}}</li> - <li>{{jsxref("Float64Array")}}</li> - <li>{{jsxref("TypedArray.@@species", "get %TypedArray%[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> -</ul> - -<h2 id="표현식과_연산자">표현식과 연산자</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">배열을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>) - <ul> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">함수 호출을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>) - <ul> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> - <li>{{jsxref("Statements/const", "const")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.5">JS 1.5</a>, Firefox 1.0) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li> - <li>{{jsxref("Statements/let", "let")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Destructuring assignment</a> (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("1055984")}})</li> -</ul> - -<h2 id="문문장">문(문장)</h2> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}}(<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - - <ul> - <li><code>.iterator()</code>와 <code>.next()</code>에 관한 동작 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li><code>"@@iterator"</code> 속성 사용 (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> -</ul> - -<h2 id="함수">함수</h2> - -<ul> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/rest_parameters">Rest 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/default_parameters">Default 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>) - <ul> - <li>Parameters without defaults after default parameters (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Destructured_parameter_with_default_value_assignment" title="Default function parameters allow formal parameters to be initialized with default values if no value or undefined is passed.">Destructured parameters with default value assignment</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - </ul> - </li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/arrow_functions">Arrow 함수</a> (<a href="/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Statements/function*", "Generator 함수")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>) - <ul> - <li>{{jsxref("Operators/yield", "yield")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li>{{jsxref("Operators/yield*", "yield*")}} (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li> - </ul> - </li> - <li>{{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li> -</ul> - -<h2 id="그_밖의_기능">그 밖의 기능</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals">2진과 8진 숫자 리터럴</a> (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/template_strings">템플릿 문자열</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Property_definitions">객체 이니셜라이져: 줄임 속성 이름</a> (<a href="/en-US/Firefox/Releases/33">Firefox 33</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names">객체 이니셜라이저: 계산된 속성 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Method_definitions">객체 이니셜라이저: 줄임 메소드 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> -</ul> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li><a href="http://www.ecmascript.org/">ECMAScript 웹 사이트</a></li> - <li><a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">ECMAScript 2015 명세서 초안</a></li> - <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=694100">Mozilla ES2015 버그 추적</a></li> - <li><a href="http://kangax.github.io/es5-compat-table/es6" title="http://kangax.github.io/es5-compat-table">브라우저에서의 ECMAScript 2015 지원</a></li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/index.html b/files/ko/web/javascript/new_in_javascript/index.html deleted file mode 100644 index 0972eba4d0..0000000000 --- a/files/ko/web/javascript/new_in_javascript/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: New in JavaScript -slug: Web/JavaScript/New_in_JavaScript -tags: - - JavaScript - - Versions -translation_of: Archive/Web/JavaScript/New_in_JavaScript ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>이 장은 JavaScript 버전 이력에 관한 정보 및 Mozilla/SpiderMonkey 기반 JavaScript 애플리케이션, 가령 Firefox의 구현 상태를 포함합니다.</p> - -<h2 id="ECMAScript_버전">ECMAScript 버전</h2> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/언어_리소스">언어 리소스</a></dt> - <dd>JavaScript 언어의 기반이 된 ECMAScript 표준에 대해 자세히 알아보세요.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 현재 표준 ECMA-262 Edition 5.1의 구현 상태.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">ECMAScript 6 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 초안 ECMA-262 Edition 6 (ES2015/ES6)의 구현 상태.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_7_support_in_Mozilla">ECMAScript Next 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 연간 (ES2016/ES2017/ES2018/...) 출시 계획에 따라 예정된 ECMA-262 기능의 구현 상태.</dd> -</dl> - -<h2 id="JavaScript_출시_기록">JavaScript 출시 기록</h2> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog">Firefox JavaScript changelog</a></dt> - <dd>Firefox 5 이상에서 구현된 JavaScript 기능은 이 changelog 참조.</dd> -</dl> - -<h2 id="JavaScript_버전">JavaScript 버전</h2> - -<p><strong>사라짐</strong> ({{deprecated_inline}}). 명백한 버전 관리 및 언어 기능의 채택은 Mozilla 전용이었고 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867609">제거되는 과정에 있습니다</a>. Firefox 4는 JavaScript 버전 (1.8.5)에 참조되었던 마지막 버전이었습니다. 새로운 ECMA 표준이 있다면, JavaScript 언어 기능은 이제 종종 ECMA-262 Edition 가령 Edition 6 (ES2015/ES6) 내 그들의 초기 정의에 언급됩니다.</p> - -<p>JavaScript는 Netscape Navigator 2.0 및 Internet Explorer 2.0에서 March 1996에 버전 1.0으로 출시되었습니다.</p> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.1">JavaScript 1.1</a></dt> - <dd>Netscape Navigator 3.0에 실린 버전. August 19, 1996에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.2">JavaScript 1.2</a></dt> - <dd>Netscape Navigator 4.0-4.05에 실린 버전. June 11, 1997에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.3">JavaScript 1.3</a></dt> - <dd>Netscape Navigator 4.06-4.7x에 실린 버전. October 19, 1998에 출시됨.<br> - ECMA-262 1st 및 2nd Edition을 따르는 표준화 작업.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.4">JavaScript 1.4</a></dt> - <dd>Netscape의 서버측 JavaScript에 실린 버전. 1999에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.5">JavaScript 1.5</a></dt> - <dd>Netscape Navigator 6.0 및 Firefox 1.0에 실린 버전. November 14, 2000에 출시됨.<br> - ECMA-262 3rd Edition을 따르는 표준화 작업.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">JavaScript 1.6</a></dt> - <dd>Firefox 1.5에 실린 버전. November 2005에 출시됨.<br> - ECMAScript for XML (E4X), 새로운 <code>Array</code> 메서드 더하기 <code>String</code> 및 <code>Array</code> generics 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.7">JavaScript 1.7</a></dt> - <dd>Firefox 2에 실린 버전. October 2006에 출시됨.<br> - 생성기, 반복기, 배열 내포(comprehension), <code>let</code> 식 및 해체 할당 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8">JavaScript 1.8</a></dt> - <dd>Firefox 3에 실린 버전. June 2008에 출시됨.<br> - 식 클로저, 생성기 식 및 <code>Array.reduce()</code> 포함</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.1">JavaScript 1.8.1</a></dt> - <dd>Firefox 3.5에 실린 버전. June 30, 2009에 출시됨.<br> - TraceMonkey JIT 포함 및 native JSON 지원.</dd> - <dt>JavaScript 1.8.2</dt> - <dd>Firefox 3.6에 실린 버전. June 22, 2009에 출시됨.<br> - minor changes만 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">JavaScript 1.8.5</a></dt> - <dd>Firefox 4에 실린 버전. July 27, 2010에 출시됨.<br> - ECMA-262 Edition 5를 따르는 많은 새 기능 포함.<br> - 이게 마지막 JavaScript 버전입니다.</dd> -</dl> diff --git a/files/ko/web/javascript/reference/functions/arguments/caller/index.html b/files/ko/web/javascript/reference/functions/arguments/caller/index.html deleted file mode 100644 index bcdc54c7dc..0000000000 --- a/files/ko/web/javascript/reference/functions/arguments/caller/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: arguments.caller -slug: Web/JavaScript/Reference/Functions/arguments/caller -translation_of: Archive/Web/JavaScript/arguments.caller ---- -<div>{{jsSidebar("Functions")}}</div> - -<p>이전의 <strong><code>arguments.caller</code></strong> 속성은 현재 실행한 함수를 적용하여 제공했었습니다. 이 속성은 삭제되었으며 더 이상 작동하지 않습니다.</p> - -<h2 id="설명">설명</h2> - -<p>이 속성은 더 이상 이용할 수 없습니다. 하지만 {{jsxref("Function.caller")}} 는 사용할 수 있습니다.</p> - -<pre class="brush: js">function whoCalled() { - if (whoCalled.caller == null) - console.log('I was called from the global scope.'); - else - console.log(whoCalled.caller + ' called me!'); -}</pre> - -<h2 id="예">예</h2> - -<p>다음의 코드는 함수 내에서 <code>arguments.caller </code>값을 확인하기 위해 사용되었지만, 더 이상 작동하지 않습니다.</p> - -<pre class="brush: js example-bad">function whoCalled() { - if (arguments.caller == null) - console.log('I was called from the global scope.'); - else - console.log(arguments.caller + ' called me!'); -} -</pre> - -<h2 id="스펙">스펙</h2> - -<p>초기 정의된 부분이 아닙니다. JavaScript 1.1에서 구현되었으며, 잠재적인 보안 취약의 우려로 ({{bug(7224)}}) 삭제되었습니다.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - -<p>{{CompatibilityTable}}</p> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="참조">참조</h2> - -<ul> - <li>{{jsxref("Function")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/global_objects/array/observe/index.html b/files/ko/web/javascript/reference/global_objects/array/observe/index.html deleted file mode 100644 index 015ae049c5..0000000000 --- a/files/ko/web/javascript/reference/global_objects/array/observe/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Array.observe() -slug: Web/JavaScript/Reference/Global_Objects/Array/observe -tags: - - Array - - JavaScript - - Method - - Obsolete -translation_of: Archive/Web/JavaScript/Array.observe ---- -<div>{{JSRef}} {{obsolete_header}}</div> - -<p><strong><code>Array.observe()</code> </strong>메서드는 {{jsxref("Object.observe()")}}가 객체를 관찰하는 것과 비슷하게 , 배열의 변화를 비동기 적으로 관찰 하는데 사용 되었습니다. <font face="Consolas, Liberation Mono, Courier, monospace">그것은 </font>발생 순서에 따른 변화의 흐름을 제공합니다. <code>Object.observe()</code>가 accept type list <code>["add", "update", "delete", "splice"]</code>와 함께 호출되는 것과 같습니다. 하지만 이 API는 더이상 사용되지 않고 브라우저에서 제거 되었습니다. 대신, 더 일반적인 {{jsxref("Proxy")}} 객체를 사용하세요.</p> - -<h2 id="구문">구문</h2> - -<pre class="syntaxbox">Array.observe(<var>arr</var>, <var>callback</var>)</pre> - -<h3 id="매개변수">매개변수</h3> - -<dl> - <dt><code>arr</code></dt> - <dd>관찰 할 배열</dd> - <dt><code>callback</code></dt> - <dd>이 함수는 변화가 일어날때 마다 다음과 같은 인수와 함께 호출됩니다. - <dl> - <dt><code>changes</code></dt> - <dd>변경을 나타내는 각 객체들의 배열입니다. 이 변경 객체들의 프로퍼티 들은: - <ul> - <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름</li> - <li><strong><code>object</code></strong>: 변경 후 배열</li> - <li><strong><code>type</code></strong>: 변경 타입을 나타내는 문자. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code>, 또는 <code>"splice" 중 하나</code>.</li> - <li><strong><code>oldValue</code></strong>: <code>"update"</code> 나 <code>"delete"유형에만 해당합니다. 변경 전 값</code>.</li> - <li><strong><code>index</code></strong>: <code>"splice"유형에만 해당합니다</code>. 변경이 발생한 인덱스.</li> - <li><strong><code>removed</code></strong>: <code>"splice"유형에만 해당합니다</code>. 삭제 된 요소들의 배열.</li> - <li><strong><code>addedCount</code></strong>: <code>"splice"유형에만 해당합니다</code>. 추가 된 요소들의 숫자.</li> - </ul> - </dd> - </dl> - </dd> -</dl> - -<h2 id="설명">설명</h2> - -<p>콜백 함수는 arr이 변경 될 때마다 호출되며 발생하는 순서대로 모든 변경 사항의 배열로 호출됩니다</p> - -<div class="note"> -<p><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">Array.prototype.pop()</a>이</code> <code>"splice"</code> 변경으로 보고되는 것처럼, 변경은 배열 메서드를 통해 일어납니다. 배열 길이를 변경하지 않는 인덱스 할당 변경은 "update" 변경으로 보고 될 수 있습니다.</p> -</div> - -<h2 id="예제">예제</h2> - -<h3 id="다른_변경_유형_로깅(Logging)">다른 변경 유형 로깅(Logging)</h3> - -<pre class="brush: js">var arr = ['a', 'b', 'c']; - -Array.observe(arr, function(changes) { - console.log(changes); -}); - -arr[1] = 'B'; -// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}] - -arr[3] = 'd'; -// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}] - -arr.splice(1, 2, 'beta', 'gamma', 'delta'); -// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c'], addedCount: 3}] -</pre> - -<h2 id="명세">명세</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - - - -<p>{{Compat("javascript.builtins.Array.observe")}}</p> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li><a href="//stackoverflow.com/q/29269057/778272">Under what condition would Array.observe's “add” event trigger?</a></li> - <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li> - <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/global_objects/object/observe/index.html b/files/ko/web/javascript/reference/global_objects/object/observe/index.html deleted file mode 100644 index bf3b004d8c..0000000000 --- a/files/ko/web/javascript/reference/global_objects/object/observe/index.html +++ /dev/null @@ -1,193 +0,0 @@ ---- -title: Object.observe() -slug: Web/JavaScript/Reference/Global_Objects/Object/observe -tags: - - 감시 객체 -translation_of: Archive/Web/JavaScript/Object.observe ---- -<div>{{JSRef}}</div> - -<p><strong><code>Object.observe()</code></strong> 메소드는 객체의 변화를 비동기로 감시하는데에 사용된다. 이 메소드는 변화들이 발생한 순서대로 그 흐름을 제공한다.</p> - -<h2 id="문법">문법</h2> - -<pre class="syntaxbox"><code>Object.observe(<var>obj</var>, <var>callback</var>[, <var>acceptList</var>])</code></pre> - -<h3 id="파라미터">파라미터</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>감시될 객체입니다.</dd> - <dt><code>callback</code></dt> - <dd><code>obj</code>의 변경이 일어났을 때마다 호출될 함수입니다. 다음과 같은 인자를 갖습니다. - <dl> - <dt><code>changes</code></dt> - <dd>변경 사항을 나타내는 객체의 배열입니다. 그 객체의 프로퍼티는 다음과 같습니다. - <ul> - <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름입니다.</li> - <li><strong><code>object</code></strong>: 변경이 일어난 뒤의 객체입니다.</li> - <li><strong><code>type</code></strong>: 변경의 종류를 의미하는 string입니다. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code> 중 하나입니다.</li> - <li><strong><code>oldValue</code></strong>: 변경되기 이전의 값입니다. <code>"update"와</code> <code>"delete"</code> 타입에만 존재합니다.</li> - </ul> - </dd> - </dl> - </dd> - <dt><code>acceptList</code></dt> - <dd>감시할 변경의 종류를 의미하는 리스트입니다. 주어지지 않은 경우, 배열 <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code> 이 이용될 것입니다.</dd> -</dl> - -<h2 id="설명">설명</h2> - -<p><code>callback</code>은 <code>obj</code>에 변경이 있을 때마다 실행되며, 모든 변경 사항이 일어난 순서대로 담긴 배열이 전달됩니다.</p> - -<h2 id="예제">예제</h2> - -<h3 id="Logging_all_six_different_types">Logging all six different types</h3> - -<pre class="brush: js">var obj = { - foo: 0, - bar: 1 -}; - -Object.observe(obj, function(changes) { - console.log(changes); -}); - -obj.baz = 2; -// [{name: 'baz', object: <obj>, type: 'add'}] - -obj.foo = 'hello'; -// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}] - -delete obj.baz; -// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}] - -Object.defineProperty(obj, 'foo', {writable: false}); -// [{name: 'foo', object: <obj>, type: 'reconfigure'}] - -Object.setPrototypeOf(obj, {}); -// [{name: '__proto__', object: <obj>, type: 'setPrototype', oldValue: <prototype>}] - -Object.seal(obj); -// [ -// {name: 'foo', object: <obj>, type: 'reconfigure'}, -// {name: 'bar', object: <obj>, type: 'reconfigure'}, -// {object: <obj>, type: 'preventExtensions'} -// ] -</pre> - -<h3 id="데이터_바인딩">데이터 바인딩</h3> - -<pre class="brush: js">// A user model -var user = { - id: 0, - name: 'Brendan Eich', - title: 'Mr.' -}; - -// Create a greeting for the user -function updateGreeting() { - user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!'; -} -updateGreeting(); - -Object.observe(user, function(changes) { - changes.forEach(function(change) { - // Any time name or title change, update the greeting - if (change.name === 'name' || change.name === 'title') { - updateGreeting(); - } - }); -}); -</pre> - -<h3 id="Custom_change_type">Custom change type</h3> - -<pre class="brush: js">// A point on a 2D plane -var point = {x: 0, y: 0, distance: 0}; - -function setPosition(pt, x, y) { - // Performing a custom change - Object.getNotifier(pt).performChange('reposition', function() { - var oldDistance = pt.distance; - pt.x = x; - pt.y = y; - pt.distance = Math.sqrt(x * x + y * y); - return {oldDistance: oldDistance}; - }); -} - -Object.observe(point, function(changes) { - console.log('Distance change: ' + (point.distance - changes[0].oldDistance)); -}, ['reposition']); - -setPosition(point, 3, 4); -// Distance change: 5 -</pre> - -<h2 id="Specifications">Specifications</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal for ECMAScript 7</a>.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}} [1]</td> - <td>{{CompatNo}} [2]</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}} [1]</td> - <td>{{CompatNo}} [2]</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<p>[1]: See {{bug(800355)}}</p> - -<p>[2]: See relevant <a href="https://dev.modern.ie/platform/status/objectobserve/">MS Edge platform status entry</a></p> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li>{{jsxref("Object.unobserve()")}} {{experimental_inline}}</li> - <li>{{jsxref("Array.observe()")}} {{experimental_inline}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/liveconnect/index.html b/files/ko/web/javascript/reference/liveconnect/index.html deleted file mode 100644 index dfa43d52d0..0000000000 --- a/files/ko/web/javascript/reference/liveconnect/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: LiveConnect -slug: Web/JavaScript/Reference/LiveConnect -translation_of: Archive/Web/LiveConnect ---- -<p>이 절(section)은 생성자, 메소드와 함께 LiveConnect에 쓰이는 Java 클래스를 상세히 기록합니다. 이 클래스들은 Java 객체가 JavaScript 코드에 접근할 수 있게 합니다.</p> -<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSException">JSException</a></p> -<dl> - <dd> - public 클래스 <code>JSException</code>은 <code>RuntimeException</code>를 상속하고, JavaScript가 에러를 반환하면 발생됩니다.</dd> -</dl> -<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSObject">JSObject</a></p> -<dl> - <dd> - public 클래스 <code>JSObject</code>는 <code>Object</code>를 상속합니다. JavaScript 개체는 클래스 <code>JSObject</code>의 인스턴스(instance)로 싸여 Java가 JavaScript 개체를 다루게 하도록 Java에 건네집니다.</dd> -</dl> -<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/LiveConnect", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/LiveConnect" } ) }}</p> diff --git a/files/ko/web/javascript/reference/operators/expression_closures/index.html b/files/ko/web/javascript/reference/operators/expression_closures/index.html deleted file mode 100644 index bf44be6cd7..0000000000 --- a/files/ko/web/javascript/reference/operators/expression_closures/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: 표현식 클로저 -slug: Web/JavaScript/Reference/Operators/Expression_closures -tags: - - Function - - JavaScript - - Non-standard - - Obsolete - - Operator - - Reference -translation_of: Archive/Web/JavaScript/Expression_closures ---- -<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}} -<div class="warning"><strong>Non-standard. Do not use!</strong><br> -The expression closure syntax is a deprecated Firefox-specific feature and has been removed starting with Firefox 60. For future-facing usages, consider using <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions">arrow functions</a>.</div> -</div> - -<p>클로져는 간단한 함수를 작성하기 위한 짧은 함수구문 입니다.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]]) - <em>expression</em> -</pre> - -<h3 id="Parameters">Parameters</h3> - -<dl> - <dt><code>name</code></dt> - <dd>함수의 이름입니다. 익명함수의 경우에는 생략할 수 있습니다. 이름은 함수본문에만 국한됩니다.</dd> - <dt><code>paramN</code></dt> - <dd>함수에 전달할 인수의 이름입니다. 함수는 최대 255개의 인수를 가질 수 있습니다.</dd> - <dt><code>expression</code></dt> - <dd>함수의 본문을 구성하는 표현식입니다.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>이 추가적인 기능은 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">람다 표기법</a>과 비슷한 언어를 제공하기위해 간단한 기능을 작성하는데 필요한 단축형일 뿐입니다.</p> - -<p>JavaScript 1.7 and older:</p> - -<pre class="brush: js">function(x) { return x * x; }</pre> - -<p>JavaScript 1.8:</p> - -<pre class="brush: js">function(x) x * x</pre> - -<p>이 구문을 사용하면 중괄호나 'return'문을 생략하여 암시적으로 만들 수 있습니다. 코드를 더 짧게 만들 수 있는 것 이외의 이방법으로 얻을 수 있는 추가 이점은 없습니다.</p> - -<h2 id="Examples">Examples</h2> - -<p>바인딩 이벤트 리스너의 간단한 예제:</p> - -<pre class="brush: js"> document.addEventListener('click', function() false, true); -</pre> - -<p>JavaScript 1.6의 일부 배열 함수에 이 표기법을 사용합니다:</p> - -<pre class="brush: js">elems.some(function(elem) elem.type == 'text'); -</pre> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.operators.expression_closures")}}</p> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{jsxref("Functions_and_function_scope", "Functions and function scope")}}</li> - <li>{{jsxref("Function")}}</li> - <li>{{jsxref("Statements/function", "function statement")}}</li> - <li>{{jsxref("Operators/function", "function expression")}}</li> - <li>{{jsxref("Statements/function*", "function* statement")}}</li> - <li>{{jsxref("Operators/function*", "function* expression")}}</li> - <li>{{jsxref("GeneratorFunction")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html b/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html deleted file mode 100644 index 927b613dc6..0000000000 --- a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: 생성기 내포 -slug: Web/JavaScript/Reference/Operators/Generator_comprehensions -tags: - - JavaScript - - Non-standard - - Obsolete - - Reference -translation_of: Archive/Web/JavaScript/Generator_comprehensions ---- -<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}} -<div class="blockIndicator warning"> -<p><strong>Non-standard. Do not use!</strong><br> - The generator comprehensions syntax is non-standard and removed starting with Firefox 58. For future-facing usages, consider using {{JSxRef("Statements/function*", "generator", "", 1)}}.</p> -</div> -</div> - -<p>The <strong>generator comprehension</strong> syntax was a JavaScript expression which allowed you to quickly assemble a new generator function based on an existing iterable object. However, it has been removed from the standard and the Firefox implementation. Do not use it!</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">(for (x of iterable) x) -(for (x of iterable) if (condition) x) -(for (x of iterable) for (y of iterable) x + y) -</pre> - -<h2 id="Description">Description</h2> - -<p>Inside generator comprehensions, these two kinds of components are allowed:</p> - -<ul> - <li>{{JSxRef("Statements/for...of", "for...of")}} and</li> - <li>{{JSxRef("Statements/if...else", "if")}}</li> -</ul> - -<p>The <code>for-of</code> iteration is always the first component. Multiple <code>for-of</code> iterations or if statements are allowed.</p> - -<p>A significant drawback of {{JSxRef("Operators/Array_comprehensions","array comprehensions","","true")}} is that they cause an entire new array to be constructed in memory. When the input to the comprehension is itself a small array the overhead involved is insignificant — but when the input is a large array or an expensive (or indeed infinite) generator the creation of a new array can be problematic.</p> - -<p>Generators enable lazy computation of sequences, with items calculated on-demand as they are needed. Generator comprehensions are syntactically almost identical to array comprehensions — they use parentheses instead of braces— but instead of building an array they create a generator that can execute lazily. You can think of them as short hand syntax for creating generators.</p> - -<p>Suppose we have an iterator <code>it</code> which iterates over a large sequence of integers. We want to create a new iterator that will iterate over their doubles. An array comprehension would create a full array in memory containing the doubled values:</p> - -<pre class="brush: js">var doubles = [for (i in it) i * 2]; -</pre> - -<p>A generator comprehension on the other hand would create a new iterator which would create doubled values on demand as they were needed:</p> - -<pre class="brush: js">var it2 = (for (i in it) i * 2); -console.log(it2.next()); // The first value from it, doubled -console.log(it2.next()); // The second value from it, doubled -</pre> - -<p>When a generator comprehension is used as the argument to a function, the parentheses used for the function call means that the outer parentheses can be omitted:</p> - -<pre class="brush: js">var result = doSomething(for (i in it) i * 2); -</pre> - -<p>The significant difference between the two examples being that by using the generator comprehension, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="Simple_generator_comprehensions">Simple generator comprehensions</h3> - -<pre class="brush:js">(for (i of [1, 2, 3]) i * i ); -// generator function which yields 1, 4, and 9 - -[...(for (i of [1, 2, 3]) i * i )]; -// [1, 4, 9] - -var abc = ['A', 'B', 'C']; -(for (letters of abc) letters.toLowerCase()); -// generator function which yields "a", "b", and "c" -</pre> - -<h3 id="Generator_comprehensions_with_if_statement">Generator comprehensions with if statement</h3> - -<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014]; - -(for (year of years) if (year > 2000) year); -// generator function which yields 2006, 2010, and 2014 - -(for (year of years) if (year > 2000) if (year < 2010) year); -// generator function which yields 2006, the same as below: - -(for (year of years) if (year > 2000 && year < 2010) year); -// generator function which yields 2006 -</pre> - -<h3 id="Generator_comprehensions_compared_to_generator_function">Generator comprehensions compared to generator function</h3> - -<p>An easy way to understand generator comprehension syntax, is to compare it with the generator function.</p> - -<p>Example 1: Simple generator.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -// Generator function -(function*() { - for (let i of numbers) { - yield i * i; - } -})(); - -// Generator comprehension -(for (i of numbers) i * i ); - -// Result: both return a generator which yields [1, 4, 9] -</pre> - -<p>Example 2: Using <code>if</code> in generator.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -// Generator function -(function*() { - for (let i of numbers) { - if (i < 3) { - yield i * 1; - } - } -})(); - -// Generator comprehension -(for (i of numbers) if (i < 3) i); - -// Result: both return a generator which yields [1, 2]</pre> - -<h2 id="Specifications">Specifications</h2> - -<p>Generator comprehensions were initially in the ECMAScript 2015 draft, but got removed in revision 27 (August 2014). Please see older revisions of ES2015 for specification semantics.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.operators.generator_comprehensions")}}</p> - -<h2 id="Differences_to_the_older_JS1.7JS1.8_comprehensions">Differences to the older JS1.7/JS1.8 comprehensions</h2> - -<div class="blockIndicator warning">JS1.7/JS1.8 comprehensions are removed from Gecko 46 ({{bug(1220564)}}).</div> - -<p><strong>Old comprehensions syntax (do not use anymore!):</strong></p> - -<pre class="brush: js example-bad">(X for (Y in Z)) -(X for each (Y in Z)) -(X for (Y of Z)) -</pre> - -<p>Differences:</p> - -<ul> - <li>ES7 comprehensions create one scope per "for" node instead of the comprehension as a whole. - <ul> - <li>Old: <code>[...(()=>x for (x of [0, 1, 2]))][1]() // 2</code></li> - <li>New: <code>[...(for (x of [0, 1, 2]) ()=>x)][1]() // 1, each iteration creates a fresh binding for x. </code></li> - </ul> - </li> - <li>ES7 comprehensions start with "for" instead of the assignment expression. - <ul> - <li>Old: <code>(i * 2 for (i of numbers))</code></li> - <li>New: <code>(for (i of numbers) i * 2)</code></li> - </ul> - </li> - <li>ES7 comprehensions can have multiple <code>if</code> and <code>for</code> components.</li> - <li>ES7 comprehensions only work with <code>{{JSxRef("Statements/for...of", "for...of")}}</code> and not with <code>{{JSxRef("Statements/for...in", "for...in")}}</code> iterations.</li> -</ul> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{JSxRef("Statements/for...of", "for...of")}}</li> - <li>{{JSxRef("Operators/Array_comprehensions", "Array comprehensions")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/operators/배열/index.html b/files/ko/web/javascript/reference/operators/배열/index.html deleted file mode 100644 index 4bdd29b61c..0000000000 --- a/files/ko/web/javascript/reference/operators/배열/index.html +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: 배열 내포 -slug: Web/JavaScript/Reference/Operators/배열 -tags: - - JavaScript - - Non-standard - - Obsolete - - Operator - - Reference -translation_of: Archive/Web/JavaScript/Array_comprehensions ---- -<div>{{jsSidebar("Operators")}}</div> - -<div class="warning"><strong>표준이 아닙니다. 사용하지 않는 것을 권장합니다!</strong><br> -Array comprehensions 문법은 비표준이며 Firefox 58부터는 제거됩니다. 향후 사용할 수 없게 되기 때문에 사용하지 않는것을 고려해보세요.<br> -{{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Arrow_functions", "arrow functions", "", 1)}}, and {{jsxref("Operators/Spread_operator", "spread syntax", "", 1)}}.</div> - -<div>{{Obsolete_Header(58)}}</div> - -<p><strong>array comprehension </strong>문법은 기존의 배열을 기반으로 새로운 배열을 신속하게 어셈블 할 수 있는 JavaScript 표현식입니다. 그러나 표준 및 Firefox 구현에서 제거되었습니다. 사용하지 마세요!</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">[for (x of iterable) x] -[for (x of iterable) if (condition) x] -[for (x of iterable) for (y of iterable) x + y] -</pre> - -<h2 id="Description">Description</h2> - -<p>배열의 이해로 넘어가서, 다음 두가지의 요소들이 사용가능하다.</p> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}} and</li> - <li>{{jsxref("Statements/if...else", "if")}}</li> -</ul> - -<p>for-of 반복문은 항상 첫번째 요소이다. 여러개의 for-of 반복문이나 if 제어문을 사용할 수 있다.</p> - -<p>배열 선언은 ECMAScript 2016에서 이전부터 표준으로 정립되어왔으며, 이는 다른 형태의 데이터(contents)를 이용해서 새로운 배열을 구성할 수 있게 해 준다.</p> - -<p>아래의 선언은 숫자로 이루어진 배열 내 각각의 숫자들을 이용해서 double형의 새로운 배열을 만들어준다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 4]; -var doubled = [for (i of numbers) i * 2]; -console.log(doubled); // logs 2,4,6,8 -</pre> - -<p>이것은 {{jsxref("Array.prototype.map", "map()")}} 연산자와 같은 기능을 한다.</p> - -<pre class="brush: js">var doubled = numbers.map(i => i * 2); -</pre> - -<p>배열들은 또한 다양한 표현을 통해 몇몇개의 배열 원소들은 선택할 수 도 있다. 아래의 예제는 바로 홀수만 선택하는 예제이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30]; -var evens = [for (i of numbers) if (i % 2 === 0) i]; -console.log(evens); // logs 2,22,30 -</pre> - -<p>{{jsxref("Array.prototype.filter", "filter()")}} 또한 같은 목적으로 얼마든지 사용가능하다.</p> - -<pre class="brush: js">var evens = numbers.filter(i => i % 2 === 0); -</pre> - -<p>{{jsxref("Array.prototype.map", "map()")}} 그리고 {{jsxref("Array.prototype.filter", "filter()")}} 스타일과 같은 연산자들은 단한 배열 선언과 결합할 수 있다. 아래는 짝수만 필터링하고, 그 원소들을 2배씩하는 배열들을 만드는 예제이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30]; -var doubledEvens = [for (i of numbers) if (i % 2 === 0) i * 2]; -console.log(doubledEvens); // logs 4,44,60 -</pre> - -<p>배열에서의 [ ] (꺽쇠괄호) 는 범위의 목적으로 암시적인 괄호를 의미한다. {{jsxref("Statements/let","let")}}를 사용하면서 정의된다면, 예제의 i와 같은 변수들이 사용된다. 이는 배열 밖에서 사용할 수 없음을 나타낸다.</p> - -<p>배열의 원소에 넣어지는 것은 굳이 배열일 필요는 없다 <a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators" title="en-US/docs/JavaScript/Guide/Iterators and Generators">iterators and generators</a> 물론 가능하다.</p> - -<p>심지어 문자열도 배열의 원소로 넣을 수 있다. 필터와 지도 액션과 같은 데에 이용할 수 있다.</p> - -<pre class="brush: js">var str = 'abcdef'; -var consonantsOnlyStr = [for (c of str) if (!(/[aeiouAEIOU]/).test(c)) c].join(''); // 'bcdf' -var interpolatedZeros = [for (c of str) c + '0' ].join(''); // 'a0b0c0d0e0f0' -</pre> - -<p>또한 입력 폼이 유지되지 않으므로, 문자열을 뒤집기 위해 {{jsxref("Array.prototype.join", "join()")}} 를 사용해야 한다.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="단순_배열">단순 배열</h3> - -<pre class="brush:js">[for (i of [1, 2, 3]) i * i ]; -// [1, 4, 9] - -var abc = ['A', 'B', 'C']; -[for (letters of abc) letters.toLowerCase()]; -// ["a", "b", "c"]</pre> - -<h3 id="if문에서의_배열">if문에서의 배열</h3> - -<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014]; -[for (year of years) if (year > 2000) year]; -// [ 2006, 2010, 2014 ] -[for (year of years) if (year > 2000) if (year < 2010) year]; -// [ 2006], the same as below: -[for (year of years) if (year > 2000 && year < 2010) year]; -// [ 2006] -</pre> - -<h3 id="map과_filter를_비교한_배열">map과 filter를 비교한 배열</h3> - -<p>배열문법을 가장 쉽게 이해하는 방법은, 배열에서 {{jsxref("Array.map", "map")}} 그리고 {{jsxref("Array.filter", "filter")}}메소드를 비교하는 것이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -numbers.map(function (i) { return i * i }); -numbers.map(i => i * i); -[for (i of numbers) i * i]; -// all are [1, 4, 9] - -numbers.filter(function (i) { return i < 3 }); -numbers.filter(i => i < 3); -[for (i of numbers) if (i < 3) i]; -// all are [1, 2] -</pre> - -<h3 id="2개의_배열">2개의 배열</h3> - -<p>2개의 배열과 2개의 for-of 반복문을 살펴본다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; -var letters = ['a', 'b', 'c']; - -var cross = [for (i of numbers) for (j of letters) i + j]; -// ["1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c"] - -var grid = [for (i of numbers) [for (j of letters) i + j]]; -// [ -// ["1a", "1b", "1c"], -// ["2a", "2b", "2c"], -// ["3a", "3b", "3c"] -// ] - -[for (i of numbers) if (i > 1) for (j of letters) if(j > 'a') i + j] -// ["2b", "2c", "3b", "3c"], the same as below: - -[for (i of numbers) for (j of letters) if (i > 1) if(j > 'a') i + j] -// ["2b", "2c", "3b", "3c"] - -[for (i of numbers) if (i > 1) [for (j of letters) if(j > 'a') i + j]] -// [["2b", "2c"], ["3b", "3c"]], not the same as below: - -[for (i of numbers) [for (j of letters) if (i > 1) if(j > 'a') i + j]] -// [[], ["2b", "2c"], ["3b", "3c"]] -</pre> - -<h2 id="명세">명세</h2> - -<p>ECMAScript 2015 초안에 있었지만 개정 27(2014년 8월)에서 삭제되었습니다. specification semantics에 대해서는 ES2015의 이전 버전을 참조하세요.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<p>{{Compat("javascript.operators.array_comprehensions")}}</p> - -<h2 id="오래된_JS1.7JS1.8_comprehensions과의_차이점들">오래된 JS1.7/JS1.8 comprehensions과의 차이점들</h2> - -<div class="warning">Gecko에서 JS1.7 / JS1.8 comprehensions가 46 버전부터 제거되었습니다. ({{bug(1220564)}}).</div> - -<p><strong>이전에 사용된 문법입니다. (더 이상 사용되지 않음!):</strong></p> - -<pre class="brush: js example-bad">[X for (Y in Z)] -[X for each (Y in Z)] -[X for (Y of Z)] -</pre> - -<p>차이점:</p> - -<ul> - <li>ESNext comprehensions는 전체comprehension 대신 "for"노드마다 하나의 범위를 만듭니다. - <ul> - <li>Old: <code>[()=>x for (x of [0, 1, 2])][1]() // 2</code></li> - <li>New: <code>[for (x of [0, 1, 2]) ()=>x][1]() // 1, each iteration creates a fresh binding for x. </code></li> - </ul> - </li> - <li>ESNext comprehensions은 assignment expression대신 "for"로 시작합니다. - <ul> - <li>Old: <code>[i * 2 for (i of numbers)]</code></li> - <li>New: <code>[for (i of numbers) i * 2]</code></li> - </ul> - </li> - <li>ESNext comprehensions는 <code>if</code> 및 <code>for</code> 구성 요소를 여러 개 가질 수 있습니다.</li> - <li>ESNext comprehensions <code>{{jsxref("Statements/for...of", "for...of")}}</code>에서만 동작하고 <code>{{jsxref("Statements/for...in", "for...in")}}</code>에서는 동작하지 않습니다.</li> -</ul> - -<p>버그 업데이트에 대한 제안은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1220564#c42">Bug 1220564, comment 42</a>를 참조하세요.</p> - -<h2 id="더보기">더보기</h2> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}}</li> - <li>{{jsxref("Operators/Generator_comprehensions", "Generator comprehensions", "" ,1)}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/statements/for_each...in/index.html b/files/ko/web/javascript/reference/statements/for_each...in/index.html deleted file mode 100644 index 9fa9901aae..0000000000 --- a/files/ko/web/javascript/reference/statements/for_each...in/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: for each...in -slug: Web/JavaScript/Reference/Statements/for_each...in -tags: - - Deprecated - - E4X - - JavaScript - - Obsolete - - Statement -translation_of: Archive/Web/JavaScript/for_each...in ---- -<div>{{jsSidebar("Statements")}}</div> - -<div class="warning"> -<p>The <code>for each...in</code> statement is deprecated as the part of ECMA-357 (<a href="/en-US/docs/Archive/Web/E4X" title="/en-US/docs/E4X">E4X</a>) standard. E4X support has been removed. Consider using <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a> instead.<br> - <br> - <strong>Firefox now warns about the usage of <code>for each...in</code> and it no longer works starting with Firefox 57.<br> - Please see <a href="/en-US/docs/Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated">Warning: JavaScript 1.6's for-each-in loops are deprecated</a> for migration help.</strong></p> -</div> - -<p><code><strong>for each...in</strong></code> 문은 객체의 모든 속성 값에 대해 지정된 변수를 반복합니다. 각각의 고유한 특성에 대해 지정된 명령문이 실행됩니다.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">for each (<em>variable</em> in <em>object</em>) { - <em>statement</em> -}</pre> - -<dl> - <dt><code>variable</code></dt> - <dd>var 키워드로 선택적으로 선언된 속성 값을 반복하는 변수입니다. 이 변수는 루프가 아니라 함수의 local이 됩니다.</dd> -</dl> - -<dl> - <dt><code>object</code></dt> - <dd>반복될 객체입니다.</dd> -</dl> - -<dl> - <dt><code>statement</code></dt> - <dd>각 속성에 대해 실행할 명령문입니다. 루프 내에서 여러 명령문을 실행하려면 블록 명령문 ({...})을 사용하여 해당 명령문을 그룹화하십시오.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>일부 기본 제공 속성은 반복되지 않습니다. 여기에는 객체 기본 제공 메서드 전부가 포함됩니다.</p> - -<p>ex) String의 indexOf 메소드.</p> - -<p>그러나 사용자가 정의한 모든 속성은 반복됩니다.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="Using_for_each...in">Using <code>for each...in</code></h3> - -<p><strong>Warning:</strong> Never use a loop like this on arrays. Only use it on objects. See <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> for more details.</p> - -<p>The following snippet iterates over an object's properties, calculating their sum:</p> - -<pre class="brush:js">var sum = 0; -var obj = {prop1: 5, prop2: 13, prop3: 8}; - -for each (var item in obj) { - sum += item; -} - -console.log(sum); // logs "26", which is 5+13+8</pre> - -<h2 id="Specifications">Specifications</h2> - -<p>Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.statements.for_each_in")}}</p> - -<h2 id="See_also">See also</h2> - -<ul> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code> - a similar statement that iterates over the property <em>names</em>.</li> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code> - a similar statement that iterates over the property <em>values</em> but can only be used for iteratable types, so not for generic objects</li> - <li><code><a href="/en-US/docs/JavaScript/Reference/Statements/for">for</a></code></li> -</ul> diff --git a/files/ko/web/security/정보_보안_기본/취약점/index.html b/files/ko/web/security/정보_보안_기본/취약점/index.html deleted file mode 100644 index 8b7543b414..0000000000 --- a/files/ko/web/security/정보_보안_기본/취약점/index.html +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 취약점 -slug: Web/Security/정보_보안_기본/취약점 -tags: - - 보안 - - 웹 보안 - - 초보자 - - 취약점 - - 튜토리얼 -translation_of: Archive/Security/Vulnerabilities ---- -<div class="summary"> -<p>이 글은 취약점이 무엇인지, 그리고 모든 시스템에서 어떻게 나타나는 지에 대하여 다룹니다.</p> -</div> - -<p>취약점은 신뢰성, 무결성 및/또는 가용성에 부정적으로 작용할 수 있는 시스템 내의 약점입니다. 취약점을 분류할 수 있는 방법은 여러가지가 있습니다. 이 글은 소프트웨어 결함, 보안 설정 문제, 그리고 소프트웨어 기능 오용의 세가지 상위 취약점 분류를 사용합니다. 이러한 분류는 아래에서 설명하고 있습니다.</p> - -<h2 id="취약점_분류">취약점 분류</h2> - -<p><font><em>소프트웨어 결함 취약점</em>은 소프트웨어 설계 또는 코딩에서의 의도하지 않은 오류로 인해 발생합니다. 사용자가 제공한 입력이 알려진 공격과 관련있는 악의적인 문자열이거나 지나치게 긴 값에 대해 적절하게 평가되지 않는 것과 같은 입력 유효성 검사 오류를 그 예로 들 수 있습니다. 또 다른 예로는, 공격자가 상승된 권한으로 특정 작업을 수행할 수 있는 경합 조건 오류가 있습니다.</font></p> - -<p><font>보안 구성 설정은 소프트웨어 자체를 통해 변경할 수 있는 소프트웨어 보안의 요소입니다. 설정의 예로는 사용자에게 파일에 대한 권한을 설정하는 제어 목록에 대한 액세스를 제공하는 운영 체제와, 응용 프로그램이 저장한 중요한 데이터의 암호화를 활성화 또는 비활성화하는 응용 프로그램입니다.</font></p> - -<p><em>보안 구성 문제 취약점</em>에는 소프트웨어 보안에 부정적인 영향을 주는 보안 구성 설정이 사용됩니다.</p> - -<p><font>소프트웨어 기능은 소프트웨어에서 제공하는 기능입니다. </font><font><em>소프트웨어 기능 오용 취약점</em>은 시스템 보안을 손상시키는 방법도 제공합니다. </font><font>이러한 취약점은 소프트웨어 디자이너가 유익한 기능을 제공하도록 허용하는 신뢰 가정을 만드는 한편, 누군가가 보안 손상에 대한 신뢰 가정을 위반할 가능성을 초래하기 때문입니다.</font></p> - -<p><font>예를 들어, 이메일 클라이언트 소프트웨어는 이메일 메시지에 HTML컨텐츠를 렌더링 하는 기능을 포함할 수 있습니다. </font><font>공격자는 HTML로 렌더링 된 하이퍼링크가 포함된 사기성 전자 메일 메시지를 조작할 수 있습니다. 하이퍼링크는 수신인에게 양호한 것으로 표시되지만 클릭하면 실제로 수신인을 악성 웹 사이트로 가져옵니다. </font><font>HTML콘텐츠 렌더링 기능 설계 시 신뢰할 수 있는 가정 중 하나는 사용자가 악의적인 하이퍼링크를 수신하지 않고 클릭하지 않는다는 것입니다.</font></p> - -<p><font>소프트웨어 기능 오용 취약점은 소프트웨어 또는 소프트웨어 구성 요소의 설계 중에 발생합니다(예:소프트웨어가 구현하는 프로토콜). </font><font>신뢰 가정은 사실일 수 있습니다. 예를 들어, 설계자는 보안 약점을 인식하고 별도의 보안 통제가 이를 보상할 것이라고 판단합니다.</font></p> - -<p><font>그러나, 신뢰가 도입할 위험을 먼저 평가하지 않고 특징을 생성하는 것과 같이, 신뢰 가정은 주로 암묵적입니다. 위협 요소는 소프트웨어 수명 주기 또는 소프트웨어에 사용되는 프로토콜에 따라 변경될 수도 있습니다.</font></p> - -<p><font>예를 들어 주소 결정 프로토콜(ARP)는 ARP 응답이 매체 접근 제어(MAC) 및 인터넷 프로토콜(IP) 주소 간의 올바른 매핑을 포함하고 있다고 신뢰합니다. </font><font>ARP 캐시는 유용한 서비스를 제공하기 위해 이 정보를 사용하여 로컬 네트워크 내의 장치 간에 데이터를 보낼 수 있도록 합니다. </font><font>하지만 공격자는 잘못된 ARP 메시지를 생성하여 시스템의 ARP 테이블을 손상시키고 서비스 거부 또는 메시지 가로채기(man-in-the-middle)공격을 시작합니다.</font></p> - -<p><font>ARP 프로토콜은 25년 전에 표준화되었으며, 그 이후로 위협이 크게 변화하여, 설계에 내재한 신뢰 가정이 현재에도 여전히 타당하지는 않을 것입니다.</font></p> - -<p><font>소프트웨어 기능 오용 취약점을 다른 두 범주와 구별하기 어려울 수도 있습니다. 예를 들어, 소프트웨어 결함 및 오용 취약점은 소프트웨어 설계 프로세스의 결함으로 인해 발생할 수 있습니다. 하지만 소프트웨어 결함은 보안이나 기능에 긍정적인 이점을 제공하지 않으므로 추가 기능 제공의 결과로 소프트웨어 기능 오용 취약점이 발생할 수 있습니다.</font></p> - -<p><font>또한 어떤 면에서 구성된 방식으로 기능을 활성화하거나 비활성화할 수 있는 기능의 오용 취약점과 보안 구성 문제에 대해서도 혼동이 발생할 수 있습니다. 주요 차이점은 오용 취약점의 경우 구성 설정이 전체 기능을 활성화 또는 비활성화하고 전체 기능만 특별히 변경하지 않는다는 것입니다. 보안 구성 문제의 경우 구성 설정은 소프트웨어의 보안만 변경합니다.</font></p> - -<p><font>예를 들어 전자 메일에서 HTML을 모두 사용할 수 없도록 설정하면 보안 및 기능에 큰 영향을 미치므로 이 설정과 관련된 취약성은 오용 취약점이 됩니다. 전자 메일 클라이언트에서 암호화 기능을 사용하지 않도록 설정하면 보안에만 큰 영향을 미치므로 이 설정의 취약점은 보안 구성 문제 취약성으로 간주됩니다.</font></p> - -<h2 id="취약점의_존재">취약점의 존재</h2> - -<p><font>100% 안전한 시스템은 없습니다. 모든 시스템에 취약점이 있습니다. 어</font><font>느 때나 시스템에 알려진 소프트웨어 결함이 없을 수 있지만 보안 구성 문제 및 소프트웨어 기능 오용 취약점은 항상 존재합니다.</font></p> - -<p><font>각 기능은 신뢰성 평가를 기반으로 해야 하기 때문에 소프트웨어 기능에는 남용 취약점이 내재되어 있으며, 이러한 가정은 상당한 비용과 노력이 수반되지만 손상될 수 있습니다. </font><font>보안 구성 문제도 다음의 두가지 이유로 불가피합니다.</font></p> - -<p><font>첫째, 대부분의 구성 설정은 기능을 줄이는 대신 보안을 강화하므로 가장 안전한 설정을 사용하면 소프트웨어를 사용할 수 없거나 사용할 수 없게 될 수 있습니다. </font><font>둘째, 많은 보안 설정은 보안에 긍정적인 영향과 부정적인 영향을 모두 미칩니다.</font></p> - -<p><font>예를 들어, 사용자 계정을 잠그기 전에 허용하려는 연속적인 인증 실패 횟수를 들 수 있습니다. </font><font>이를 1로 설정하면 암호 추측 공격에 대한 가장 안전한 설정이 되지만 합법적인 사용자가 암호를 한번 잘못 해독하면 계정 하나를 더 쉽게 생성할 수 있습니다.</font></p> - -<p><font>보안 구성 설정 및 소프트웨어 기능 오용 가능성에 내재된 취약점의 수와 지정된 시간에 시스템의 소프트웨어 결함 취약점의 수 때문에 단일 시스템에는 수 십 개 또는 수 백 개의 취약점이 있을 수 있습니다.</font></p> - -<p><font>이러한 취약점은 다양한 특성을 가질 수 있습니다. </font><font>어떤 것들은 매우 이용하기 쉬운 반면, 다른 것들은 매우 가능성이 적은 조건들의 조합에 의해서만 설명될 수 있을 것이다.</font></p> - -<p><font>한 취약점은 시스템에 대한 루트 수준 액세스를 제공하는 반면 다른 취약성은 중요하지 않은 파일에 대한 읽기 액세스만 허용할 수 있습니다.</font></p> - -<p><font>궁극적으로 조직은 누군가가 각 취약성을 이용하는 것이 얼마나 어려운지, 그리고 취약점을 이용할 경우 어떤 영향을 미칠 수 있는지 알아야 합니다.</font></p> - -<h2 id="웹사이트의_취약점">웹사이트의 취약점</h2> - -<p><font>OWASP또는 Open Web Security Project는 소프트웨어 및 웹 응용 프로그램의 보안을 향상시키는 데 초점을 맞춘 비영리 자선 단체입니다. Open Web Application Security Project에 따르면, XSS는 2017년에</font> <a href="https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf" rel="noopener">7번째로 흔한 웹 응용 프로그램 취약점</a> <font>이었습니다.</font></p> - -<p><font>이 단체은 다양한 보안 조직의 데이터를 기반으로 상위 웹 보안 취약점 목록을 게시합니다.</font></p> - -<p><a href="https://developer.mozilla.org/en-US/docs/Web/Security">웹 보안</a><font>취약성은 WordPress, Joomla, Magento, Wocommerce등의 CMS가 될 수 있는 배포 가능성, 탐지 가능성 및 소프트웨어 영향에 따라 우선 순위가 지정됩니다.</font></p> - -<p><font>다음은 자신을 보호해야 하는 6가지 가장 일반적인 웹 사이트 취약성입니다.</font></p> - -<p><font><font>1. SQL주입</font></font><br> - 2. <a href="https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting">사이트간 스크립팅(XSS)</a><br> - <font><font>3. 망가진 인증 및 세션 관리<a href="https://papago.naver.net/apis/site/proxy?data=lY2EyqzIfo3Oypv5go3ccoTkuYz9lMl9yov1IHl9xo2AmY0SlL2ucqzHiFJEyoaEcqUyALJ5uM2IlVa1IC0RlrlW1pzjvBvWbqUEjpmbi">-</a></font></font><a href="https://developer.mozilla.org/en-US/docs/Archive/IdentityManager"> IdentityManager</a><br> - <font><font>4. 안전하지 않은 직접 객체 참조 <a href="https://papago.naver.net/apis/site/proxy?data=JW1pzjvBvWbqUEjpmbiY2EyqzIfo3Oypv5go3ccoTkuYz9lMl9yov1IHl9xo2AmY0qfo3AmLKW5Y0ECGFW9F3EHrl">- </a></font></font><a href="https://developer.mozilla.org/en-US/docs/Glossary/DOM">DOM (문서 객체 모델)</a><br> - <font><font>5. 보안 오구성</font></font><br> - 6. <a href="https://developer.mozilla.org/en-US/docs/Glossary/CSRF">사이트 간 요청 위조(CSRF)</a></p> - -<h2 id="See_also">See also</h2> - -<ul> - <li><a class="external" href="https://www.owasp.org/">Open Web Application Security Project (OWASP)</a></li> - <li><a href="https://cve.mitre.org/">Common Vulnerabilities and Exposures (CVE)</a></li> - <li><a href="https://secure.wphackedhelp.com/blog/wordpress-vulnerabilities-how-to-fix-guide-tools/">Common WordPress Security Vulnerabilities</a></li> - <li><a href="https://en.wikipedia.org/wiki/Vulnerability_database">Vulnerability database</a></li> -</ul> - -<div class="originaldocinfo"> -<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3> - -<ul> - <li>Author(s): Elizabeth LeMay, Karen Scarfone, and Peter Mell</li> - <li>Title: National Institute of Standards and Technology (NIST) Interagency Report 7864, The Common Misuse Scoring System (CMSS): Metrics for Software Feature Misuse Vulnerabilities</li> - <li>Last Updated Date: July 2012</li> - <li>Copyright Information: This document is not subject to copyright.</li> -</ul> -</div> - -<p>{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}</p> |