Skip to content

Commit 5ac7663

Browse files
committed
Translate 17_day_web_stroges to Turkish
1 parent 6ffb5ea commit 5ac7663

File tree

1 file changed

+234
-0
lines changed

1 file changed

+234
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
<div align="center">
2+
<h1> 30 Days Of JavaScript: Web Storages</h1>
3+
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
4+
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
5+
</a>
6+
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
7+
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
8+
</a>
9+
10+
<sub>Author:
11+
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
12+
<small> January, 2020</small>
13+
</sub>
14+
15+
</div>
16+
17+
[<< Gün 16](../16_Day_JSON/16_day_json.md) | [Gün 18 >>](../18_Day_Promises/18_day_promises.md)
18+
19+
![Thirty Days Of JavaScript](../../images/banners/day_1_17.png)
20+
21+
- [Gün 17](#day-17)
22+
- [HTML5 Web Storage(Depolama)](#html5-web-storage)
23+
- [sessionStorage](#sessionstorage)
24+
- [localStorage](#localstorage)
25+
- [Web Storages Kullanım Durumu(alanlar)](#use-case-of-web-storages)
26+
- [HTML5 Web Depolama Nesneleri](#html5-web-storage-objects)
27+
- [Öğeyi localStorage'a ayarlama](#setting-item-to-the-localstorage)
28+
- [Öğeyi localStorage'dan alma](#getting-item-from-localstorage)
29+
- [localStorage'ı temizleme](#clearing-the-localstorage)
30+
- [Egzersizler](#exercises)
31+
- [Egzersiz: Seviye 1](#exercises-level-1)
32+
- [Egzersiz: Seviye 2](#exercises-level-2)
33+
- [Egzersiz: Seviye 3](#exercises-level-3)
34+
35+
# Gün 17
36+
37+
## HTML5 Web Storage(Depolama)
38+
39+
Web Depolama (sessionStorage ve localStorage), geleneksel tanımlama bilgilerine göre önemli avantajlar sunan yeni bir HTML5 API'sidir. HTML5'ten önce, uygulama verilerinin her sunucu isteğine dahil olan çerezlerde saklanması gerekiyordu. Web depolaması daha güvenlidir ve büyük miktarda veri web sitesi performansını etkilemeden local(yerel) olarak depolanabilir. Çerezlerin birçok web tarayıcısında veri depolama sınırı, çerez başına yaklaşık 4 KB'dir. Web Storage çok daha büyük verileri (en az 5MB) depolayabiliriz ve asla sunucuya aktarılmaz. Aynı veya bir kaynaktan gelen tüm siteler aynı verileri depolayabilir ve bunlara erişebilir.
40+
41+
Depolanan verilere JavaScript kullanılarak erişilebilir; bu, geleneksel olarak sunucu tarafı programlama ve ilişkisel veritabanlarını içeren birçok şeyi yapmak için istemci tarafı komut dosyası oluşturma yeteneğinden yararlanmanızı sağlar. İki Web Depolama nesnesi vardır:
42+
43+
- sessionStorage
44+
- localStorage
45+
46+
localStorage, sessionStorage'a benzer, ancak localStorage'da depolanan verilerin sona erme süresi olmamasına rağmen, sessionStorage'da depolanan verilerin sayfa oturumu sona erdiğinde, yani sayfa kapatıldığında silinmesi dışında.
47+
48+
localStorage veya sessionStorage'da depolanan verilerin sayfanın protokolüne özel olduğuna dikkat edilmelidir.
49+
50+
Anahtarlar ve değerler her zaman dizelerdir (nesnelerde olduğu gibi tamsayı tuşlarının otomatik olarak dizelere dönüştürüleceğini unutmayın).
51+
52+
![web_storage](../images/web_storage.png)
53+
54+
### sessionStorage
55+
56+
sessionStorage yalnızca tarayıcı sekmesinde veya pencere oturumunda kullanılabilir. Verileri tek bir web sayfası oturumunda depolamak için tasarlanmıştır. Bu, pencere kapatılırsa oturum verilerinin kaldırılacağı anlamına gelir. sessionStorage ve localStorage benzer yöntemlere sahip olduğundan, sadece localStorage'a odaklanacağız.
57+
58+
### localStorage
59+
60+
HTML5 localStorage, son kullanma verisi olmadan tarayıcıda veri depolamak için kullanılan web depolama API'sinin para birimidir. Veriler, tarayıcı kapatıldıktan sonra bile tarayıcıda mevcut olacaktır. localStorage, tarayıcı oturumları arasında bile tutulur. Bu, tarayıcı kapatılıp yeniden açıldığında ve ayrıca sekmeler ve pencereler arasında anında verilerin hala mevcut olduğu anlamına gelir.
61+
62+
Web Depolama verileri, her iki durumda da farklı tarayıcılar arasında mevcut değildir. Örneğin, Firefox'ta oluşturulan depolama nesnelerine tıpkı çerezler gibi Internet Explorer'da erişilemez.
63+
Yerel depolama üzerinde çalışmak için beş yöntem vardır:
64+
_setItem(), getItem(), removeItem(), clear(), key()_
65+
66+
### Web Storages Kullanım Durumu(alanlar)
67+
68+
Web Depolarının bazı kullanım durumları şunlardır:
69+
70+
- verileri geçici olarak depolamak
71+
- kullanıcının alışveriş sepetine koyduğu ürünleri kaydetme
72+
- veriler, sayfa istekleri, birden çok tarayıcı sekmesi arasında ve ayrıca localStorage kullanılarak tarayıcı oturumları arasında kullanılabilir hale getirilebilir
73+
- localStorage kullanılarak tamamen çevrimdışı olarak kullanılabilir
74+
- Web Depolama, sonraki isteklerin sayısını en aza indirmek için istemcide bazı statik veriler depolandığında harika bir performans kazancı olabilir. Görüntüler bile Base64 kodlaması kullanılarak dizelerde saklanabilir.
75+
- kullanıcı kimlik doğrulama yöntemi için kullanılabilir
76+
77+
Yukarıda bahsedilen örnekler için localStorage kullanmak mantıklıdır. O halde sessionStorage'ı ne zaman kullanmamız gerektiğini merak ediyor olabilirsiniz.
78+
79+
Bazı durumlarda, pencere kapanır kapanmaz verilerden kurtulmak istiyoruz. Ya da uygulamanın başka bir pencerede açık olan aynı uygulamaya müdahale etmesini istemiyorsak. Bu senaryolar en iyi şekilde sessionStorage ile sunulur.
80+
81+
Şimdi, bu Web Depolama API'lerinden nasıl yararlanılacağını görelim.
82+
83+
## HTML5 Web Depolama Nesneleri
84+
85+
HTML web depolama, istemcide veri depolamak için iki nesne sağlar:
86+
87+
- window.localStorage - son kullanma tarihi olmayan verileri depolar
88+
- window.sessionStorage - bir oturum için veri depolar (tarayıcı sekmesi kapatıldığında veriler kaybolur) Çoğu modern tarayıcı Web Depolamayı destekler, ancak localStorage ve sessionStorage için tarayıcı desteğini kontrol etmek iyidir. Web Depolama nesneleri için mevcut yöntemleri görelim.
89+
90+
Web Depolama Nesneleri:
91+
92+
- _localStorage_ - localStorage nesnesini görüntülemek için
93+
- _localStorage.clear()_ - localStrogedaki her şeyi kaldırmak için
94+
- _localStorage.setItem()_ - verileri localStorage'da depolamak için. Bir anahtar ve bir değer parametresi alır.
95+
- _localStorage.getItem()_ - localStorage'da depolanan verileri görüntülemek için. Parametre olarak bir anahtar alır.
96+
- _localStorage.removeItem()_ - depolanan öğeyi localStorage'dan kaldırmak için. Parametre olarak bir anahtar alır.
97+
- _localStorage.key()_ - localStorage'da depolanan verileri görüntülemek için. Parametre olarak indeks alır.
98+
99+
![local_storage](../images/local_storage.png)
100+
101+
### Öğeyi localStorage'a ayarlama
102+
103+
Bir localStorage'da saklanacak verileri ayarladığımızda, bir dize olarak saklanacaktır. Bir diziyi veya nesneyi depoluyorsak, orijinal verinin dizi yapısını veya nesne yapısını kaybetmediğimiz sürece, formatı korumak için önce onu dizgelendirmemiz gerekir.
104+
105+
Verileri localStorage'da _localStorage.setItem_ yöntemini kullanarak depolarız.
106+
107+
```js
108+
//syntax
109+
localStorage.setItem('key', 'value')
110+
```
111+
112+
- String ifadeleri localStorage üzerinde saklama
113+
114+
```js
115+
localStorage.setItem('firstName', 'Asabeneh') // değer string olduğundan onu stringleştirmeyiz
116+
console.log(localStorage)
117+
```
118+
119+
```sh
120+
Storage {firstName: 'Asabeneh', length: 1}
121+
```
122+
123+
- Number ifadeleri localStorage üzerinde saklama
124+
125+
```js
126+
localStorage.setItem('age', 200)
127+
console.log(localStorage)
128+
```
129+
130+
```sh
131+
Storage {age: '200', firstName: 'Asabeneh', length: 2}
132+
```
133+
134+
- Bir diziyi localStorage'da depolamak. Bir diziyi, nesneyi veya nesne dizisini depoluyorsak, önce nesneyi dizgelendirmemiz gerekir. Aşağıdaki örneğe bakın.
135+
136+
```js
137+
const skills = ['HTML', 'CSS', 'JS', 'React']
138+
//Biçimi korumak için önce skills dizisinin dizilmesi gerekir.
139+
const skillsJSON = JSON.stringify(skills, undefined, 4)
140+
localStorage.setItem('skills', skillsJSON)
141+
console.log(localStorage)
142+
```
143+
144+
```sh
145+
Storage {age: '200', firstName: 'Asabeneh', skills: 'HTML,CSS,JS,React', length: 3}
146+
```
147+
148+
```js
149+
let skills = [
150+
{ tech: 'HTML', level: 10 },
151+
{ tech: 'CSS', level: 9 },
152+
{ tech: 'JS', level: 8 },
153+
{ tech: 'React', level: 9 },
154+
{ tech: 'Redux', level: 10 },
155+
{ tech: 'Node', level: 8 },
156+
{ tech: 'MongoDB', level: 8 }
157+
]
158+
159+
let skillJSON = JSON.stringify(skills)
160+
localStorage.setItem('skills', skillJSON)
161+
```
162+
163+
- Bir nesneyi localStorage'da depolamak. Nesneleri bir localStorage'a depolamadan önce, nesnenin dizelenmesi gerekir.
164+
165+
```js
166+
const user = {
167+
firstName: 'Asabeneh',
168+
age: 250,
169+
skills: ['HTML', 'CSS', 'JS', 'React']
170+
}
171+
172+
const userText = JSON.stringify(user, undefined, 4)
173+
localStorage.setItem('user', userText)
174+
```
175+
176+
### Öğeyi localStorage'dan alma
177+
178+
_localStorage.getItem()_ yöntemini kullanarak yerel depodan veri alıyoruz..
179+
180+
```js
181+
//syntax
182+
localStorage.getItem('key')
183+
```
184+
185+
```js
186+
let firstName = localStorage.getItem('firstName')
187+
let age = localStorage.getItem('age')
188+
let skills = localStorage.getItem('skills')
189+
console.log(firstName, age, skills)
190+
```
191+
192+
```sh
193+
'Asabeneh', '200', '['HTML','CSS','JS','React']'
194+
```
195+
196+
Gördüğünüz gibi skills string formatında. Normal diziye ayrıştırmak için JSON.parse() kullanalım.
197+
198+
```js
199+
let skills = localStorage.getItem('skills')
200+
let skillsObj = JSON.parse(skills, undefined, 4)
201+
console.log(skillsObj)
202+
```
203+
204+
```sh
205+
['HTML','CSS','JS','React']
206+
```
207+
208+
### localStorage'ı temizleme
209+
210+
Clear yöntemi, yerel depolamada depolanan her şeyi temizleyecektir.
211+
212+
```js
213+
localStorage.clear()
214+
```
215+
216+
🌕 Kararlısınız. Artık Web Depolama biliyorsunuz ve küçük verileri istemci tarayıcılarında nasıl depolayacağınızı biliyorsunuz. Büyüklüğe giden yolda 17 adım öndesin. Şimdi beyniniz ve kasınız için bazı egzersizler yapın.
217+
218+
## Egzersizler
219+
220+
### Egzersiz: Seviye 1
221+
222+
1. Adınızı, soyadınızı, yaşınızı, ülkenizi, şehrinizi tarayıcınızın localStorage'ında saklayın.
223+
224+
### Egzersiz: Seviye 2
225+
226+
1. Bir öğrenci nesnesi oluşturun. Öğrenci nesnesinin adı, soyadı, yaşı, becerileri, ülkesi, kayıtlı anahtarları ve anahtarların değerleri olacaktır. Öğrenci nesnesini tarayıcınızın localStorage'ında saklayın.
227+
228+
### Egzersiz: Seviye 3
229+
230+
1. personAccount adlı bir nesne oluşturun. ad, soyad, gelirler, giderler özelliklerine sahip olup totalIncome, totalExpense, accountInfo,addIncome, addExpense ve accountBalance yöntemlerine sahip olsun. Gelirler bir dizi gelirdir ve tanımı ve giderleri de bir dizi gider ve tanımıdır.
231+
232+
🎉 TEBRİKLER ! 🎉
233+
234+
[<< Gün 16](../16_Day_JSON/16_day_json.md) | [Gün 18 >>](../18_Day_Promises/18_day_promises.md)

0 commit comments

Comments
 (0)