-
-
Notifications
You must be signed in to change notification settings - Fork 109
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
1,626 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# The URL of the site. It is used in the atom feed, the sitemap, the Open Graph meta field of each page, and the robots.txt | ||
# No trailing slashes! | ||
url: https://es.code-maven.com | ||
|
||
# site_name is used in the atom feed and in the Open Graph meta field of each page | ||
site_name: Code Maven en Español con errores gramaticales | ||
|
||
# The source of the https://rust.code-maven.com site is in a public git repository | ||
# using the 'main' branch. | ||
# We wanted each page on the site to link directly to the source of that page. | ||
# The following 3 parameters help do this. | ||
# You can disable this feature by keeping `link_to_source` as `false`. | ||
# You can enable this feature by putting the correct repo link and correct branch name | ||
# and setting `link_to_source` to `true` | ||
repo: https://github.com/szabgab/es.code-maven.com | ||
branch: main | ||
link_to_source: false | ||
|
||
# Each page will have a footer as defined by the `footer` field that can contain markdown. | ||
footer: "[Code Maven](https://code-maven.com/) en ingles" | ||
|
||
# Each site has a /tags page generated from the tags in the individual pages. | ||
# The following parameters set the `title` of the page and the content of the `description` meta-tag. | ||
tags: | ||
title: Tags | ||
description: Articles about Foo Bar | ||
|
||
# Each site has a /archive page generated from all the pages, except the main page (the root index.md file). | ||
# The following parameters set the `title` of the page and the content of the `description` meta-tag. | ||
archive: | ||
title: Archivo | ||
description: Archivo de este sitio | ||
|
||
# If you have setup Google Analytics add your code here and uncomment the following field | ||
# google_analytics: G-BLABLA | ||
|
||
|
||
# Fields used by the email sender | ||
# TODO: Explain the whole email sending via `sendgrid` | ||
from: | ||
name: Foo Bar | ||
email: [email protected] | ||
|
||
# On each page show the list of pages that link to the current page. | ||
# Define the title of the section when the related pages are shown | ||
show_related: true | ||
related_pages_title: Otras páginas | ||
|
||
# Each page can have an `author` field in the front-matter containing the nickname of the author. | ||
# Here we list all the authors of the site. | ||
# The name will be displayed on the page | ||
# In addition there can be a folder called `authors` with makrdown files using the nicknames (so in the example it would be authors/foobar.md) | ||
# Those file can contain information about the author that will be displayed at the bottom of each page. | ||
# TODO: where is the image located | ||
authors: | ||
- name: Gabor Szabo | ||
nickname: szabgab | ||
picture: szabgab.png | ||
- name: Jeffrey Thalhammer | ||
nickname: thalhammer | ||
picture: thalhammer.png | ||
|
||
# The following section defines the menu. The "start" will be left-aligned the "end" will be right aligned. | ||
# TODO: Once we implement rtl site this will probably be the other direction too | ||
# TODO: Support also drop-down menus | ||
navbar: | ||
start: | ||
- path: / | ||
title: Casa | ||
- path: /tags/ | ||
title: Tags | ||
end: | ||
- path: /archive | ||
title: Archivo | ||
- path: /about | ||
title: About | ||
|
||
# search: Resultsos de buscada |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
--- | ||
title: "About Perl Maven" | ||
timestamp: 2013-06-02T00:10:00 | ||
published: true | ||
translator: kbeyazli | ||
archive: false | ||
--- | ||
|
||
## Perl Maven sitesi kimler için? | ||
|
||
Perl programlama dilini <b>sistem uzmanlığı</b> veya | ||
<b>konfigürasyon yönetimi</b> amacı ile kullanan insanlar vardır. | ||
<br /> | ||
Bazı kişiler Perl kullanarak <b>web siteleri</b> veya <b>web uygulamaları</b> geliştirirler. | ||
Diğer bir kesim ise sadece <b>küçük scriptler</b> için Perl diline ihtiyaç duyarlar. Ya da bu şekilde olduğu söylenir. | ||
<b>Biyoinformatik</b> veya başka | ||
<b>bilimsel hesaplamaların</b> oluşumu için de Perl dilini kullananlar vardır. | ||
Perl dilini <b>test otomasyonu</b> için kullananlar da bulunmaktadır. | ||
Bu aynı zamanda benim favori ilgi alanlarimdan biri. | ||
|
||
Perl Maven sitesi tüm bu insanlar için oluşturulmuştur. Sitenin amacı | ||
<b>işlerinizin yapılması için size yardımcı olmaktır</b>. | ||
|
||
<b>Perl öğrenmek</b> eğlenceli bir iştir. Birkaç saatlik okuma ile | ||
küçük scriptler oluşturabilir ve üretken olabilirsiniz. Diğer taraftan yıllarca Perl kullanıyor olsanız bile | ||
hala yeni şeyler keşfedebilirsiniz. Bu keşif programa dilinde veya CPAN da olabilir. | ||
Öğrenme eğrisi düz fakat uzundur. Çok uzun. | ||
|
||
## Bir Perl Maven nedir? | ||
|
||
Kaynak [Wikipedia](http://en.wikipedia.org/wiki/Maven): | ||
|
||
<b>Maven belli alanda uzmanlaşmış, bilgisini başkalarına aktarmak için arayışta olan bilgisine güvenilir uzman kişidir.</b> | ||
|
||
Ümidim o ki sitedeki makaleleri takip eder, kitapları okur ve video derslerini izlerseniz | ||
Perl uzmanlığınızı sürekli artıracaksınız. Kısa zamanda <b>Perl Maven olabilirsiniz</b>. | ||
|
||
Bu site fazlaca ücretsiz makale, | ||
ucretli birçok [Perl kitabı](/perl-books) ve [video kursu](/perl-videos), | ||
ve [Perl Maven Pro](/pro) bircok makaleyi kapsayan abonelik içermektedir | ||
|
||
## Perl Versiyonları | ||
|
||
Eminim ki hangi Perl versiyonunu kullanacağımızı merak ediyorsunuz. Şimdilik Perl 5 uzerinden gidecegiz | ||
ve Perl 6 ile alakali makaleleri baska yerde yayinlayacağiz. Cunku su an uretimde kullanilan surum Perl 5. | ||
Perl 5 ile pragmatik olmaya çalişacağız. Daha fazla insanın kendini geliştirdigini | ||
ve en yeni Perl sürümlerini kullandığını görmek mükemmel olsa da, gerçekçi olmak zorundayız. Birçok firmada bu olanaksız. | ||
Çözümlerin Perl 5.8 ailesinde çalışabildigine emin olmak için denemeler yapıyoruz, ama | ||
gerektiğinde daha yeni Perl versiyonuna yönelebiliriz. | ||
|
||
Yeni bir Perl versiyonu kullanmanın kodunuzu nasıl geliştirdiğini ve ayni zamanda bu Perl versiyonunu | ||
kullanma noktasına nasıl geldiğinizi göreceksiniz. | ||
|
||
## Yardımcı Olan İnsanlar | ||
|
||
Perl Maven sitesinin içeriğine yardımcı olan insanlar var. Özel bir sıralama olmadan asagida birkaçı listelenmistir: | ||
|
||
* [Darin McBride](http://ca.linkedin.com/pub/darin-mcbride/32/a53/184) | ||
* [Smylers](http://twitter.com/Smylers2) | ||
* [Aaron Crane](http://uk.linkedin.com/in/aaroncrane) | ||
* [Shlomi Fish](http://www.shlomifish.org/) | ||
* Konrad Borowski (MrGlitch) | ||
* Alexander Karelas | ||
* Neil Hainer | ||
|
||
<h2 id="translations">Tercümeler</h2> | ||
|
||
Gönüllülere teşekkür ediyoruz, site birçok dile tercüme edilmektedir. | ||
Eğer bu tercümeler için yardımcı olmak veya başka dillere tercüme yapmak istiyorsanız, | ||
lütfen Gabor ile iletişime geçiniz. | ||
|
||
## Tercümanlar | ||
|
||
[meta](https://meta.perlmaven.com/) sitesine bakınız. | ||
|
||
<h2 id="contact">İletişim bilgisi</h2> | ||
<p> | ||
E-mail: [email protected] | ||
|
||
Eğer burada yayınlanan çözümler ile ilgileniyorsanız, lütfen | ||
[haber bültenimize ](/perl-maven-newsletter) üye olun. | ||
Yeni bir makale yayınlandığında bilgilendirileceksiniz. | ||
|
||
## Kurucu & Şef Editör | ||
|
||
<div class="about"> | ||
<img src="/img/szabgab.png" alt="Gabor Szabo" /> | ||
Ben [Gabor Szabo](https://szabgab.com/), | ||
uzun zamadır Perl geliştiricisi ve eğitmeniyim. | ||
1995 yılından beri Perl kullanıyorum, ve 2000 yılından beri tüzel sınıflarda eğitmenlik yapıyorum. | ||
Sınıf eğitmenliği yapmayı seviyorum, ama maalesef bu ulaşabileceğim insan sayısını kısıtlıyor. | ||
Perl programlama dilini kullanmada size yardım etmek ve problemleri çözmek için bu siteyi oluşturdum. | ||
[Padre, Perl IDE](http://padre.perlide.org/)'nin kurucusu, | ||
[Perl Haftalık bülteni](http://perlweekly.com/) nin mimarı | ||
ve Perl topluğu tarafından White Camel ödülü ile ödüllendirilen kişiyim. | ||
</div> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
--- | ||
title: "Perl kodunuzda her zaman use strict ve use warnings kullanın!" | ||
timestamp: 2015-07-05T17:00:01 | ||
tags: | ||
- strict | ||
- warnings | ||
published: true | ||
original: always-use-strict-and-use-warnings | ||
books: | ||
- beginner | ||
author: szabgab | ||
translator: kbeyazli | ||
archive: true | ||
--- | ||
|
||
|
||
Eğer [Perl Maven Başlangıç dersleri](/beginner-perl-maven.html) | ||
veya sınıf derslerimden Perl dilini öğrenmiş iseniz bu konuyu çoktan öğrenmişsiniz demektir. | ||
Maalesef hala `use strict` ve `use warnings` kullanımının öneminin | ||
farkında olmayan Perl geliştiricileri bulunmakta. | ||
|
||
|
||
Perl'i kendi başına veya meslektaşlarından öğrenenlerin bazıları | ||
bu 2 kullanımın önemini kavrayamıyor veya internetten rastgele örnekler bulup | ||
kopyala-yapıştır yaptıklarından kullanmamaya meyilli oluyor. | ||
|
||
Kullansalar bile, bunlara neden ihtiyaç duyulduğunu anlayamayabiliyorlar. | ||
|
||
Bunun sebebi aslında açık, birçok eski ders notu ve kitaplarda | ||
Bu 2 onemli konudan sonlara doğru bahsediliyor. | ||
Tonlarca koda ek olarak, şirketlerde ve webde yayınlanan programlar bu 2 | ||
önemli yapı kullanılmadan yazılmış. Daha kötüsü, bu 2 yapıyı kullanmaya savaş açmış | ||
insanlar bulunmakta çünkü bu durumu "özgürlüğün genişlemesi" olarak görüyorlar. | ||
|
||
Küçük ekstra maliyet ya da bu araçları kullanmanın vermiş olduğu rahatsızlık | ||
sağladıkları değerden daha ağır basar. | ||
|
||
Kullanımı aşağıdaki gibidir. | ||
|
||
Kodunuzun herhangi bir bölümünde <b>her zaman use strict and warnings</b> | ||
kullanmanız iyi olacaktır | ||
|
||
Bu özelliği sadece çok kısıtlı alanlarda veya gerçekten ekstra güce ihtiyacınız | ||
olduğunda kapatınız. | ||
|
||
(Kuaföre gittiğinizde kask giymeye büyük olasılıkla ihtiyacınız yoktur, değil mi?) | ||
|
||
Zamanla nasıl ve ne zaman bu özelliği kapatacağınızı öğreneceksiniz. | ||
Ama bir çoğumuz için bu yapıları default kullanmak iyi bir yaklaşımdır. | ||
|
||
## strict ve warnings nedir? | ||
|
||
Derleyiciye Perl'i daha katı derlemesi için direktif veren derleyici işaretçileridir. | ||
|
||
Varlık sebepleri birçok ortak program hatasından kaçınmaya yardımcı olmaktır. | ||
|
||
Ayrı bir makalede karşılaşabileceğiniz [ortak hata mesaj ve uyarılarını](/common-warnings-and-error-messages) | ||
görebilirsiniz. | ||
|
||
## use warnings | ||
|
||
`-w` işaretçisini şimdiye kadar perl derleyici tanımının yapıldığı satırda | ||
aşağıdaki gibi görmüş olabilirsiniz: | ||
`#!/usr/bin/perl -w`. | ||
|
||
`use warnings`, `-w` işaretçisinin "yeni" ve gelişmiş versiyonudur. | ||
Sayısız avantajı vardır ve her perl scriptinin `-w` kullanımından | ||
<h>warnings` kullanımına dönüştürülmesini öneriyorum. | ||
|
||
"new" 2000 yılında 5.6 versiyonu ile Perl diline eklenmiştir. | ||
Bu nedenle gerçekten yeni değildir, ama maalesef hala birçok Perl | ||
geliştiricisine yenidir. | ||
|
||
`warnings` kullanımı potansiyel bir soruna sebep olabilecek | ||
birçok çalışma zamanı hatasını görmemizi sağlar. | ||
|
||
Genelde uyarıları görmek iyidir fakat son kullanıcıların uygulamada | ||
bu uyarıları görmesini istemeyiz. | ||
Bazı durumlarda bu uyarıları düzeltmeye çalışmak son kullanıcılar | ||
açısından istenmeyen durumların oluşmasına sebep olabilir. Boylece | ||
son kullanıcının ürüne olan guveni sarsılabilir. | ||
|
||
Hiç kimse uygulamayı kullanırken etrafta uçuşan her türlü "hata mesajları"nı | ||
gerçekten görmek istemez. | ||
|
||
Bu nedenle bazı insanlar warnings yapısının ürün ortamında (production) kullanılmaması | ||
gerektiği yönünde tavsiyede bulunurlar. Son kullanıcılarının Perl'den | ||
gelen bu uyarıları görmesini istemezler. Bu anlaşılabilir bir yaklaşımdır | ||
fakat warnings yapısının istenmeyen etkilerinden kurtulmanın başka | ||
metotları vardır. | ||
|
||
Bu linkten görebilirsiniz [how to capture and save warnings](/how-to-capture-and-save-warnings-in-perl). | ||
|
||
Eğer bir uyarı çalışma boyunca sürekli tetikleniyorsa "bazı" problemlere işaret ediyordur. | ||
Kesinlikle daha dikkatli kodlama ile uyarıları en aza indirecek birisi olabilir. | ||
Bu nedenle kesinlikle her zaman warnings kullanımını şiddetle tavsiye ediyorum. | ||
|
||
Kodumuzda oluşan uyarıları gidermenin birçok yolunu göreceğiz. | ||
|
||
Görebileceğiniz bazı uyarılar aşağıdadır: | ||
|
||
* [Use of uninitialized value](/use-of-uninitialized-value) | ||
* [Name "main::x" used only once: possible typo at ...](/name-used-only-once-possible-typo) | ||
* ["my" variable masks earlier declaration in same scope](/my-variable-masks-earlier-declaration-in-same-scope) | ||
* [Argument ... isn't numeric in numeric ...](/argument-isnt-numeric-in-numeric) | ||
|
||
## use strict | ||
|
||
Bu yapının 3 farklı özelliği vardır. Yukarıdaki gibi kullanıldığında | ||
3 özellik birden aktif edilmiş olur. Bu önerilen kullanım şeklidir. | ||
|
||
Bu 3 özellikten en çok görüleni her değişkenin `my` veya `our` anahtar | ||
sözcükleri ile tanımlanmasını zorunlu kılan kullanımdır. Sadece bu özelliği aktif etmek gerektiğinde | ||
`use strict 'vars';` şeklinde tanımlama yapılır. | ||
|
||
Bu özellik aktif edildiğinde eğer ki yukarıda belirtildiği gibi tanımlama | ||
yapılmaz ise aşağıdaki hata mesajı alınır: | ||
[Global symbol requires explicit package name](/global-symbol-requires-explicit-package-name) | ||
|
||
`use strict 'refs';` [sembolik referans](/symbolic-reference-in-perl) | ||
ie karşılaşıldığında çalışma zamanı hatası üretir. Başka bir bölümde sembolik | ||
referans kavramını açıklayacağız. Perl dosyamızın en başında bu özelliği kullanmış | ||
isek ne zaman faydalı olduğunu ne nasıl kullanılması | ||
gerektiğine değineceğiz. | ||
|
||
`use strict "subs"` kullanımı uygunsuz [barewords](/barewords-in-perl) | ||
kullanımını (derleme zamanında) engeller. Aşağıdaki hata mesajını oluşturur: | ||
[Bareword not allowed while "strict subs" in use](/barewords-in-perl). | ||
|
||
Daha basit bir ifade ile, string değişkenlerini çift veya tek tırnak içine | ||
almanız gerekir. | ||
|
||
``` | ||
"Foo" # iyi | ||
'Bar' # iyi | ||
Baz # kötü | ||
``` | ||
|
||
## Uyarılardan kaçınmak | ||
|
||
Uyarılardan kaçınmanın yollarından biri kodunuzu daha kurşun geçirmez | ||
hale getirmektir. Uyarının oluşabileceği her yerde özel koşulları kontrol eden, | ||
varsayılan değerleri atayan ya da uyarıdan kaçınmayı sağlayacak uygun kodun | ||
çalışmasını sağlayacak daha fazla kod yazın. | ||
|
||
Tabi bu durumda uyarıların nerede oluşacağını bildiğinizi varsayıyoruz. | ||
Bu iyi bir egzersiz olabilir, ama daha fazla kod ve disiplin gerektirir. | ||
|
||
Mutlaka perl ile geliştirilen bir uygulama için gerekli değildir. | ||
|
||
Kesinlikle var olan bir uygulamanın içinde kolaylıkla yapabileceğiniz bir şey değildir. | ||
|
||
## splain ve diagnostics | ||
|
||
Kodumuzdan net olmayan bir uyarı aldığımızda, [use diagnostics;](/use-diagnostics-or-splain) | ||
ifadesini kodumuza ekleyerek daha detaylı açıklama isteyebiliriz. Veya | ||
[splain](/use-diagnostics-or-splain) komut satırı aracını kullanarak bunu yapabiliriz. | ||
|
||
## Ölümcül uyarılar (Fatal warnings) | ||
|
||
Aşağıdaki kullanım tüm uyarıları hataya dönüştürür. | ||
Bu üretim (production) kodumuzda iyi bir fikir gibi gözükmeyebilir ama | ||
geliştirme (development) kodumuzda sizi ve takımınızı uyarıları hızlıca temizlemeye zorlar. | ||
|
||
```perl | ||
use warnings FATAL => 'all'; | ||
``` | ||
|
Oops, something went wrong.