Excel’deki formüllerin İngilizce ve Türkçe Karşılıkları


Bilgisayarınızdaki işletim sistemi ve ön tanımlı dile göre excel kullanırken yazacağınız foksiyonların adları da değişmektedir. Bunun için aşağıdaki tablodan faydalanabilirsiniz.

İngilizce İsmi Türkçe İsmi Fonksiyon Kategorisi
ADDRESS ADRES Arama ve Başvuru
AREAS ALANSAY Arama ve Başvuru
CHOOSE ELEMAN Arama ve Başvuru
COLUMN SÜTUN Arama ve Başvuru
COLUMNS SÜTUNSAY Arama ve Başvuru
GETPIVOTDATA ÖZETVERİAL Arama ve Başvuru
HLOOKUP YATAYARA Arama ve Başvuru
HYPERLINK KÖPRÜ Arama ve Başvuru
INDEX İNDİS Arama ve Başvuru
INDIRECT DOLAYLI Arama ve Başvuru
LOOKUP ARA Arama ve Başvuru
MATCH KAÇINCI Arama ve Başvuru
OFFSET KAYDIR Arama ve Başvuru
ROW SATIR Arama ve Başvuru
ROWS SATIRSAY Arama ve Başvuru
TRANSPOSE DEVRİK_DÖNÜŞÜM Arama ve Başvuru
VLOOKUP DÜŞEYARA Arama ve Başvuru
CELL HÜCRE Bilgi
ERROR.TYPE HATA.TİPİ Bilgi
INFO BİLGİ Bilgi
ISBLANK EBOŞSA Bilgi
ISERR EHATA Bilgi
ISERROR EHATALIYSA Bilgi
ISEVEN ÇİFTMİ Bilgi
ISLOGICAL EMANTIKSALSA Bilgi
ISNA EYOKSA Bilgi
ISNONTEXT EMETİNDEĞİLSE Bilgi
ISNUMBER ESAYIYSA Bilgi
ISODD TEKMİ Bilgi
ISREF EREFSE Bilgi
ISTEXT EMETİNSE Bilgi
N S Bilgi
NA YOKSAY Bilgi
TYPE TÜR Bilgi
ACCRINT GERÇEKFAİZ Finansal
ACCRINTM GERÇEKFAİZV Finansal
AMORDEGRC AMORDEGRC Finansal
AMORLINC AMORLINC Finansal
COUPDAYBS KUPONGÜNBD Finansal
COUPDAYS KUPONGÜN Finansal
COUPDAYSNC KUPONGÜNDSK Finansal
COUPNCD KUPONGÜNSKT Finansal
COUPNUM KUPONSAYI Finansal
COUPPCD KUPONGÜNÖKT Finansal
CUMIMPT TOPÖDENENFAİZ Finansal
CUMPRINC TOPANAPARA Finansal
DB AZALANBAKİYE Finansal
DDB ÇİFTAZALANBAKİYE Finansal
DISC İNDİRİM Finansal
DOLLARDE LİRAON Finansal
DOLLARFR LİRAKES Finansal
DURATION SÜRE Finansal
EFFECT ETKİN Finansal
FV GD Finansal
GDPROGRAM GDPROGRAM Finansal
INTRATE FAİZORANI Finansal
IPMT FAİZTUTARI Finansal
IRR İÇ_VERİM_ORANI Finansal
ISPMT ISPMT Finansal
MDURATION MSÜRE Finansal
MIRR D_İÇ_VERİM_ORANI Finansal
NOMINAL NOMİNAL Finansal
NPER TAKSİT_SAYISI Finansal
NPV NBD Finansal
ODDFPRICE TEKYDEĞER Finansal
ODDFYIELD TEKYÖDEME Finansal
ODDLPRICE TEKSDEĞER Finansal
ODDLYIELD TEKSÖDEME Finansal
PMT DEVRESEL_ÖDEME Finansal
PPMT ANA_PARA_ÖDEMESİ Finansal
PRICE DEĞER Finansal
PRICEDISC DEĞERİND Finansal
PRICEMAT DEĞERVADE Finansal
PV BD Finansal
RATE FAİZ_ORANI Finansal
RECEİVED GETİRİ Finansal
SLN DA Finansal
SYD YAT Finansal
TBILLEQ HTAHEŞ Finansal
TBILLPRICE HTAHDEĞER Finansal
TBILLYIELD HTAHÖDEME Finansal
VDB DAB Finansal
XIRR AİÇVERİMORANI Finansal
XNPV ANBD Finansal
YIELD ÖDEME Finansal
YIELDDISC ÖDEMEİND Finansal
YIELDMAT ÖDEMEVADE Finansal
AVEDEV ORTSAP İstatistiksel
AVERAGE ORTALAMA İstatistiksel
AVERAGEA ORTALAMAA İstatistiksel
BETADIST BETADAĞ İstatistiksel
BETAINV BETATERS İstatistiksel
BINOMDIST BİNOMDAĞ İstatistiksel
CHIDIST KİKAREDAĞ İstatistiksel
CHIINV KİKARETERS İstatistiksel
CHITEST KİKARETEST İstatistiksel
CONFIDENCE GÜVENİRLİK İstatistiksel
CORREL KORELASYON İstatistiksel
COUNT BAĞ_DEĞ_SAY İstatistiksel
COUNTA BAĞ_DEĞ_DOLU_SAY İstatistiksel
COUNTBLANK BOŞLUKSAY İstatistiksel
COUNTIF EĞERSAY İstatistiksel
COVAR KOVARYANS İstatistiksel
CRITBINOM KRİTİKBİNOM İstatistiksel
DEVSQ SAPKARE İstatistiksel
EXPONDIST ÜSTELDAĞ İstatistiksel
FDIST FDAĞ İstatistiksel
FINV FTERS İstatistiksel
FISHER FISHER İstatistiksel
FISHERINV FISHERTERS İstatistiksel
FORECAST TAHMİN İstatistiksel
FREQUENCY SIKLIK İstatistiksel
FTEST FTEST İstatistiksel
GAMMADIST GAMADAĞ İstatistiksel
GAMMAINV GAMATERS İstatistiksel
GAMMALN GAMALN İstatistiksel
GEOMEAN GEOORT İstatistiksel
GROWTH BÜYÜME İstatistiksel
HARMEAN HARORT İstatistiksel
HYPGEOMDIST HİPERGEOMDAĞ İstatistiksel
INTERCEPT KESMENOKTASI İstatistiksel
KURT BASIKLIK İstatistiksel
LARGE BÜYÜK İstatistiksel
LINEST DOT İstatistiksel
LOGEST LOT İstatistiksel
LOGINV LOGTERS İstatistiksel
LOGNORMDIST LOGNORMDAĞ İstatistiksel
MAX MAK İstatistiksel
MAXA MAKA İstatistiksel
MEDIAN ORTANCA İstatistiksel
MIN MİN İstatistiksel
MINA MİNA İstatistiksel
MODE ENÇOK_OLAN İstatistiksel
NEGBINOMDIST NEGBİNOMDAĞ İstatistiksel
NORMDIST NORMDAĞ İstatistiksel
NORMINV NORMTERS İstatistiksel
NORMSDIST NORMSDAĞ İstatistiksel
NORMSINV NORMSTERS İstatistiksel
PEARSON PEARSON İstatistiksel
PERCENTILE YÜZDEBİRLİK İstatistiksel
PERCENTRANK YÜZDERANK İstatistiksel
PERMUT PERMÜTASYON İstatistiksel
POISSON POISSON İstatistiksel
PROB OLASILIK İstatistiksel
QUARTILE DÖRTTEBİRLİK İstatistiksel
RANK RANK İstatistiksel
RSQ RKARE İstatistiksel
SKEW ÇARPIKLIK İstatistiksel
SLOPE EĞİM İstatistiksel
SMALL KÜÇÜK İstatistiksel
STANDARDIZE STANDARTLAŞTIRMA İstatistiksel
STDEV STDSAPMA İstatistiksel
STDEVA STDSAPMAA İstatistiksel
STDEVP STDSAPMAS İstatistiksel
STDEVPA STDSAPMASA İstatistiksel
STEYX STHYX İstatistiksel
TDIST TDAĞ İstatistiksel
TINV TTERS İstatistiksel
TREND EĞİLİM İstatistiksel
TRIMMEAN KIRPORTALAMA İstatistiksel
TTEST TTEST İstatistiksel
VAR VAR İstatistiksel
VARA VARA İstatistiksel
VARP VARS İstatistiksel
VARPA VARSA İstatistiksel
WEIBULL WEIBULL İstatistiksel
ZTEST ZTEST İstatistiksel
AND VE Mantıksal
FALSE YANLIŞ Mantıksal
IF EĞER Mantıksal
NOT DEĞİL Mantıksal
OR YADA Mantıksal
TRUE DOĞRU Mantıksal
ABS MUTLAK Matematik ve Trigonometri
ACOS ACOS Matematik ve Trigonometri
ACOSH ACOSH Matematik ve Trigonometri
ASIN ASİN Matematik ve Trigonometri
ASINH ASİNH Matematik ve Trigonometri
ATAN ATAN Matematik ve Trigonometri
ATAN2 ATAN2 Matematik ve Trigonometri
ATANH ATANH Matematik ve Trigonometri
CEILING TAVANAYUVARLA Matematik ve Trigonometri
COMBIN KOMBİNASYON Matematik ve Trigonometri
COS COS Matematik ve Trigonometri
COSH COSH Matematik ve Trigonometri
DEGREES DERECE Matematik ve Trigonometri
EVEN ÇİFT Matematik ve Trigonometri
EXP ÜS Matematik ve Trigonometri
FACT ÇARPINIM Matematik ve Trigonometri
FLOOR TABANAYUVARLA Matematik ve Trigonometri
GCD OBEB Matematik ve Trigonometri
INT TAMSAYI Matematik ve Trigonometri
LCM OKEK Matematik ve Trigonometri
LN LN Matematik ve Trigonometri
LOG LOG Matematik ve Trigonometri
LOG10 LOG10 Matematik ve Trigonometri
MDETERM DETERMİNANT Matematik ve Trigonometri
MINVERSE DİZEY_TERS Matematik ve Trigonometri
MMULT DÇARP Matematik ve Trigonometri
MOD MOD Matematik ve Trigonometri
MROUND KYUVARLA Matematik ve Trigonometri
MULTINOMIAL ÇOKTERİMLİ Matematik ve Trigonometri
ODD TEK Matematik ve Trigonometri
PI Matematik ve Trigonometri
POWER KUVVET Matematik ve Trigonometri
PRODUCT ÇARPIM Matematik ve Trigonometri
QUOTIENT BÖLÜM Matematik ve Trigonometri
RADIANS RADYAN Matematik ve Trigonometri
RAND S_SAYI_ÜRET Matematik ve Trigonometri
RANDBETWEEN RASTGELEARADA Matematik ve Trigonometri
ROMAN ROMEN Matematik ve Trigonometri
ROUND YUVARLA Matematik ve Trigonometri
ROUNDDOWN AŞAĞIYUVARLA Matematik ve Trigonometri
ROUNDUP YUKARIYUVARLA Matematik ve Trigonometri
SERIESSUM SERİTOPLA Matematik ve Trigonometri
SIGN İŞARET Matematik ve Trigonometri
SIN SİN Matematik ve Trigonometri
SINH SİNH Matematik ve Trigonometri
SQRT KAREKÖK Matematik ve Trigonometri
SQRTPI KAREKÖKPİ Matematik ve Trigonometri
SUBTOTAL ALTTOPLAM Matematik ve Trigonometri
SUM TOPLA Matematik ve Trigonometri
SUMIF ETOPLA Matematik ve Trigonometri
SUMPRODUCT TOPLA.ÇARPIM Matematik ve Trigonometri
SUMSQ TOPKARE Matematik ve Trigonometri
SUMX2MY2 TOPX2EY2 Matematik ve Trigonometri
SUMX2PY2 TOPX2AY2 Matematik ve Trigonometri
SUMXMY2 TOPXEY2 Matematik ve Trigonometri
TAN TAN Matematik ve Trigonometri
TANH TANH Matematik ve Trigonometri
TRUNC NSAT Matematik ve Trigonometri
CHAR DAMGA Metin
CLEAN TEMİZ Metin
CODE KOD Metin
CONCATENATE BİRLEŞTİR Metin
DOLLAR LİRA Metin
EXACT ÖZDEŞ Metin
FIND BUL Metin
FIXED SAYIDÜZENLE Metin
LEFT SOLDAN Metin
LEN UZUNLUK Metin
LOWER KÜÇÜKHARF Metin
MID PARÇAAL Metin
PROPER YAZIM.DÜZENİ Metin
REPLACE DEĞİŞTİR Metin
REPT YİNELE Metin
RIGHT SAĞDAN Metin
SEARCH MBUL Metin
SUBSTITUTE YERİNEKOY Metin
T M Metin
TEXT METNEÇEVİR Metin
TRIM KIRP Metin
UPPER BÜYÜKHARF Metin
VALUE SAYIYAÇEVİR Metin
BESSELI BESSELI Mühendislik
BESSELJ BESSELJ Mühendislik
BESSELK BESSELK Mühendislik
BESSELY BESSELY Mühendislik
BIN2DEC BIN2DEC Mühendislik
BIN2HEX BIN2HEX Mühendislik
BIN2OCT BIN2OCT Mühendislik
COMPLEX KARMAŞIK Mühendislik
CONVERT ÇEVİR Mühendislik
DEC2BIN DEC2BIN Mühendislik
DEC2HEX DEC2HEX Mühendislik
DEC2OCT DEC2OCT Mühendislik
DELTA DELTA Mühendislik
ERF HATAİŞLEV Mühendislik
ERFC TÜMHATAİŞLEV Mühendislik
FACTDOUBLE ÇİFTFAKTÖR Mühendislik
GESTEP BESINIR Mühendislik
HEX2BIN HEX2BIN Mühendislik
HEX2DEC HEX2DEC Mühendislik
HEX2OCT HEX2OCT Mühendislik
IMABS SANMUTLAK Mühendislik
IMAGINARY SANAL Mühendislik
IMARGUMENT SANBAĞ_DEĞİŞKEN Mühendislik
IMCONJUGATE SANEŞLENEK Mühendislik
IMCOS SANCOS Mühendislik
IMDIV SANBÖL Mühendislik
IMEXP SANÜS Mühendislik
IMLN SANLN Mühendislik
IMLOG10 SANLOG10 Mühendislik
IMLOG2 SANLOG2 Mühendislik
IMPOWER SANKUVVET Mühendislik
IMPRODUCT SANÇARP Mühendislik
IMREAL SANGERÇEK Mühendislik
IMSIN SANSIN Mühendislik
IMSQRT SANKAREKÖK Mühendislik
IMSUB SANÇIKAR Mühendislik
IMSUM SANTOPLA Mühendislik
OCT2BIN OCT2BIN Mühendislik
OCT2DEC OCT2DEC Mühendislik
OCT2OCT OCT2HEX Mühendislik
DATE TARİH Tarih ve Saat
DATEVALUE TARİHSAYISI Tarih ve Saat
DAY GÜN Tarih ve Saat
DAYS360 GÜN360 Tarih ve Saat
EDTE SERİAY Tarih ve Saat
EOMONTH SERİTARİH Tarih ve Saat
HOUR SAAT Tarih ve Saat
MINUTE DAKİKA Tarih ve Saat
MONTH AY Tarih ve Saat
NETWORKDAYS TAMİŞGÜNÜ Tarih ve Saat
NOW ŞİMDİ Tarih ve Saat
SECOND SANİYE Tarih ve Saat
TIME ZAMAN Tarih ve Saat
TIMEVALUE ZAMANSAYISI Tarih ve Saat
TODAY BUGÜN Tarih ve Saat
WEEKDAY HAFTANINGÜNÜ Tarih ve Saat
WEEKNUM HAFTASAY Tarih ve Saat
WORKDAY İŞGÜNÜ Tarih ve Saat
YEAR YIL Tarih ve Saat
YEARFRAC YILORAN Tarih ve Saat
DAVERAGE VSEÇORT Veritabanı
DCOUNT VSEÇSAY Veritabanı
DCOUNTA VSEÇSAYDOLU Veritabanı
DGET VAL Veritabanı
DMAX VSEÇMAK Veritabanı
DMIN VSEÇMİN Veritabanı
DPRODUCT VSEÇÇARP Veritabanı
DSTDEV VSEÇSTDSAPMA Veritabanı
DSTDEVP VSEÇSTDSAPMAS Veritabanı
DSUM VSEÇTOPLA Veritabanı
DVAR VSEÇVAR Veritabanı
DVARP VSEÇVARS Veritabanı
Reklamlar

Scikit ile Makine Öğrenmesi Kodlamak


Makine öğrenmesi çalışmalarında şimdiye kadar hep R kullanmıştım. Scikit ve Tensorflow hakkında kaggle’daki istatistikleri görünce biraz da Python’a dair eğilimle, Scikit kullanmaya karar verdim. Direkt Scikit öğrenmek R’dan sonra karmaşık geldiği için, Numpy ve Pandas dokümantasyonları inceleyip bir kaç deneden sonra “Hands-On Machine Learing” kitabını keşfettim. Kitap kitap değil hazine mübarek. Anlatım güzel olmakla birlikte yazarının derin bilgisi yüzünden resmen bilgi pompalıyor. Bu yüzden biraz zorluyor.

2017-12-01 21_16_54-Hands-On Machine Learning with Scikit-Learn and TensorFlow_ Concepts, Tools, and.png

Ben de hem kendim denemek hem de İngilizce ile arası iyi olmayan veri bilimci adayları için örnekleri ekstra açıklamalı olarak yeniden kurguladım. Şu linkte kodlarını ve yazdığım yorumları açıkça paylaştığım kod deposu (repository) var.

Link şurada.

İlgilenenlerin işine yarayacağını umuyorum.

Yorumlarınızı, katkılarınızı, sorularınızı memnuniyetle beklerim.

Son bir not benim gibi R’cılar için, Scikit ile R Caret arasında basit bir mukayese:

Scikit-in R’dan farkı

Daha önce makine öğrenme algoritmalarını daha çok R ile denemiştim. Python ve Scikit kullanımında en çok dikkat ettiğim özellikler şunlar. İşte tecrübe:)

Scikit’in artıları:

  • Scikit özellikle Imputer ve OneHotEncoder ile çok kullanışlı ve ileri özellikler sunuyor. R’da muhakkak vardır ancak hiç karşılaşmadım.
  • Pipeline ve Pipeline’ları bir araya getiren FeaturedUnion özelliği’de Scikit’de sevdiğim özellikler’den. R’da görmedim.
  • GridSearch özelliğine yani en iyi kombinasyonun da bi zahmet makine tarafından bulunması (Hyperparameter Tuning) özelliğine bayıldım.

R’ın artıları:

  • Jupyter Notebook halen R Studio’nun yanından geçmez.
  • SciKit NumPy üzerinde çalışıyor ancak Pandas data frameleri üzerinde çalışmıyor. Bu bir ayıp. R’da makine öğrenme modelleri benim kullandığım caret kütüphanesi üzerinde data frame’de çalışıyor.

Her ikisinde de mevcut olanlar:

  • K-Folding R’da Caret kütüphesinde de var.

 

 

Bulk replacing Turkish characters in R


Turkish character sometimes became the menace for the data scientist. To avoid the risks you may want to change it with safe characters. To do that you can use this code:

#turkce karakter donusumu
to.plain <- function(s) {

# 1 character substitutions
old1 <- “çğşıüöÇĞŞİÖÜ”
new1 <- “cgsiuocgsiou”
s1 <- chartr(old1, new1, s)

# 2 character substitutions
old2 <- c(“œ”, “ß”, “æ”, “ø”)
new2 <- c(“oe”, “ss”, “ae”, “oe”)
s2 <- s1
for(i in seq_along(old2)) s2 <- gsub(old2[i], new2[i], s2, fixed = TRUE)

s2
}
df$source=as.vector(sapply(df$source,to.plain))

Arduino Kullanmaya Giriş


ar2

Arduino yukarıdaki resimde sol tarafta gördüğünüz cihazdır. Bu cihaz bilgisayara bağlanarak içerisine program yüklenebilir ve yüklediğiniz program ile dış dünyaya ses, ışık gibi sinyaller gönderebilirsiniz. Arduini bilgisayara USB ile bağlanıyor.

Sağdaki nesne ise breadboard’dur (İngilizcesi ekmek tahtası) türkçeye devre tahtası olarak çevrilir. Bu nesne elektronik parçaları (diyot, led, direnç) birbirine lehimsiz bağlamak için kullanılır.

Peki bu cihazları nasıl edineceksiniz? Ben 60 TL’ye şuradan aldım.

Değerli hocalarımdan birinin oğluma hediye ettiği bir Arduino kitabı ile benim de Arduino merakım başladı. Zaten kitabın üzerinde 9+ ∞  yazıyordu. Yani çocuktan babasına herkes kullanabilir demek.

Arduino ile ses algılayıcısısından yanıp sönen ledlere (sizin yaptığınınz programa göre), oradan canlı butonlarla etkileşen programlara kadar her şeyi yapabiliyorsunuz.

Arduino çocukların elektronlik devreleri anlamaları, kendileri yapmaları ve eğlenmeleri için müthiş bir araç. Kesinlikle analitik düşünme ve sabır için bire bir.  Oğlum da Arduino ile çok eğleniyor.

Peki programlamayı nasıl öğrenecekler? Malum Arduino’da diyelim ki 10 saniyede bir lambayı yak söndür demek için şu kodları yazarsınız:

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Bu kodları Çocukların yazması zordur ancak onun için de bir çözüm üretilmiş. Mblock  adlı program yardımı ile çocuklar Scratch mantığında yani sürükle bırak yaparak görsel olarak program geliştiriyorlar. Bunu gerçekten başarıyorlar. Oğlum Agah sıkı bir Scratch kullanıcısı. Scratch hakkındaki yazımı buradan okuyun.

scr.png

Yukarıda Scratch’ın web sayfası görülüyor. Sağ bloktaki görüntü görsel kodlamaya ait renkli bloklar.

Scratch’ın bir benzeri de var o da code.org. Bu site çocuklara sertifika da veriyor. Sertifika verdiğini de oğlumun atladığı seviyelerden sonra bana haber vermesi ile öğrendim.

Şimdi gelelim Arduino ile yaptığımız ilk projeye. Bu bir robot veya uzay aracı değil:) yeni başlayan işi bir program. Mantığı şu; Arduino’ya bağladığımız led lambanın bizim belirlediğimiz aralıkla bizim belirlediğimiz kez yanmasını istiyoruz. Adım adım yaptığımız şuydu:

1- Mblock’ta görsel kodlama ile programı yaz.

Ekran görüntüsü şöyle:

ar1

Gördüğünüz gibi sol blokta mantıksal olarak kolayca anlaşılabilen süreç Mblock tarafından otomatik olarak Arduino koduna dönüştürülüyor.

2- Gerekli bağlantıları yap

ar2

Breadborad ile Arduino arasında yaptığımız bağlantı yukarıdaki gibi. Detaylı çizimi ise şöyle:

ExampleCircuit_sch

Arduino’nun resmi sitesindne aldığımız bu devrede aslında olay birbirine seri bir biçimde bağlanmış 220 ohm’luk bir direnç ve LED’den ibaret. Tabi çıkışı D13’e bağladığımızı unutmayalım. Çünkü kodda bunu Arduino’ya söylüyoruz.

3- Programı Arduino’ya yüklüyoruz

İlk aşamadaki ekran görüntüsüne baktığımızda Bağlan>Seri Port üzerinden COM1 veya COM kaç gelmiş ise onu seçiyoruz. Hangisinin doğru olduğu deneme yanılma.  Daha sonra da sağ blokta yazan “Arduino’ya yükle” butonuna basınca kodlarımız Arduino’nun beynine:) gidiyor.

4-Programı çalıştırmak

Program Arduino’nun beynine yüklendiği anda ekrana yükleme tamamlandı yazısı çıkıyor ve Arduino emirlerimizi uyulayarak ledi istediğimiz aralıkta yakıp söndürüyor.

Videosu:

Çocuğunuza öğretici bir merak kazandırmak istiyorsanız kesinlikle Arduino ile ilgilenin.

Kendi HTML Taglarınızı Oluşturun: Polymer Kullanmaya Giriş


polymer_logo

Polymer Framework’u kendi html etiketlerinizi üretmeye ve kullanmaya yarıyor. Üstelik bu etiketlere CSS stilleri ve Javascript ekleyebiliyorsunuz. Böyle ‘yeniden kullanılabilir’ nesneler, yani butonlar, portletler, formlar vs. oluşturabiliyorsunuz.

Örneğin:

<benim-obicim-tagim></benim-obicim-tagim>

<yenieklebutonu renk=’mavi’ id=’cabbar’></yenieklebutonu>

Bu özellikle temaya bağlı tasarımlarda her bir eleman için tekrar tekrar CSS tanımlamak, çağırmak, kullanmak gibi işlerden oluşan yükü hafifletebilir.

Basit bir örnek olarak aşağıdaki kodları göstereyim:

<!DOCTYPE html>
<html lang=”en”>
<head>
https://polygit.org/webcomponentsjs+1.0.0-rc.5/components/webcomponentsjs/webcomponents-loader.js

<!– Polymer nesnemizi aşağıdaki gibi çağırıyoruz html içinden html:)–>
<link rel=”import” href=”dom-element.html”>
</head>
<body>

<!– Aşağıdaki elemanın adını keyfimize göre veriyoruz –>
<dom-element></dom-element>
</body>
</html>

Burada dom-element’ini sonradan tanımladık. Bunu ise aşağıdaki html dosyası içinden üretiyoruz:

<link rel=”import” href=”https://polygit.org/polymer+2.0.0-rc.2/components/polymer/polymer-element.html”&gt;

<dom-module id=”dom-element“>
<template>

<style>
.kirmizi{
color:red;
}
</style>

<p class=”kirmizi”>Aha bu benim öz tag’ımdır</p>
</template>

class DomElement extends Polymer.Element {
static get is() { return “dom-element”; }
}
customElements.define(DomElement.is, DomElement);

</dom-module>

Sonuç da şu:

polymer

Detaylı bilgi için: Polymer Resmi Sitesi

Python Peewee


2017-04-08 19_52_35-peewee — peewee 2.9.2 documentation

Python ile birlikte birçok küçük ve orta ölçekli projenizde kullanabileceğiniz Peewee adlı bir veri tabanı var. Peewee ORM(Object Relational Map) imkanı da sunuyor. Yani veri tabanına eklenecek kayıtları bir nesne olarak tanımlayabiliyorsunuz.  Ben Flask ile birlikte bir web projemde kullanmış ve pratikliğinden epey memnun kalmışım.  Peewee Sqlite ile birlikte de çalışabiliyor:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()
    is_relative = BooleanField()

    class Meta:
        database = db # This model uses the "people.db" database.

Örnek bir kod burada:
Kayıt yapmak bu kadar kolay:

>>> from datetime import date
>>> uncle_bob = Person(name='Bob', birthday=date(1960, 1, 15), is_relative=True)
>>> uncle_bob.save() # bob is now stored in the database

Bu da veri çekmek için:

>>> grandma = Person.select().where(Person.name == 'Grandma L.').get()

Peewee dökümantasyonu: buradaburada

Constructor ne işe yarar?


Modern tüm programlama dillerinde constructor yapısı mevcuttur. Onu daha önce kullanma ihtiyacı duymamış olabilirsiniz.  Ancak bu yapıyı öğrenmek işinize çok yarayacaktır.  Constructor yapısını anlayabilmek için class (sınıf)  yapısını anlamak gerekir.

Constructor’un ne işe yaradığını ifade etmek için soyut ifadeler yerine basit bir problemden yola çıkalım. Soyut açıklamaları sonra yaparız.

İş yerinizde çalışanlara tekabül eden Employee adlı bir sınıfınız olsun. Bu sınıfa maaş adlı bir property (özellik) eklemek istiyorsunuz. Bunu tanımlamak için constructor kullanabilirsiniz. Örnek şöyle: (C#)

public class Employee
{
public int salary;
//Constructor buradan başlar
public Employee(int annualSalary)
{
salary = annualSalary;
}
//Constructor burada biter.

}

Ne oldu peki? Henüz hiç bir şey. Ancak eğer bu Employee nesnemizi çağırırsak şöyle çağırma şansımız oluşuyor:

Employee e1 = new Employee(30000);

Bu durumda maaş bilsini sınıfa tanımlamış oluyoruz. Evet hepsi bu!. Sorunu köpürtelim: Girdiğimiz maaş bilgisi yıllık idi. Peki maaş bilgisi haftalık olursa ne olacak? Birden fazla constructor tanımlayabilir miyiz? Evet. O da şöyle:

 public class Employee
        {
            public int salary;

            public Employee(int annualSalary)
            {
                salary = annualSalary;
            }

            public Employee(int weeklySalary, int numberOfWeeks)
            {
//Haftalık maaş değeri ile hafta sayısı (bir yıldaki) çarplıyor.
                salary = weeklySalary * numberOfWeeks;
            }
        }

Sınıfımızı böyle tanımladıktan sonra ise aşağıdaki her iki türde de sınıfı çağırabiliriz.

Employee e1 = new Employee(30000);
Employee e2 = new Employee(500, 52);

Bu sınıfımız girdi olarak haftalık veya yıllık nasıl girersek girelim bize yıllık maaş olarak sonucu verecek. Constructor’lar bu dinamizmi sağlıyor.

Peki teknik tanım nedir?:

When a class or struct is created, its constructor is called. Constructors have the same name as the class or struct, and they usually initialize the data members of the new object.

Bir sınıf tanımlandığında constructor çağrılır. Constructorlar sınıf ile aynı isime sahiptirler. Genellikle yeni tanımlanan bir nesneye veri elemanlarını aktarmak için kullanılırlar.

Yararlanılan kaynak: Microsoft

Selenium with Python


Selenium is the popular testing package. It has library for Java, C#, nd Python. It is not only for testing  but also very good choice for web scraping task. I have used it during my PhD Thesis for scraping news from Google News.

In fact usage of it with Python slightly easier and readable. For Python 2.7 just install selenium with ‘pip install selenium’. If you work on windows you should use path of pip like below before install command.

“c:\python27\scripts\pip.exe”

Besides, you should download chromedriver.exe from here

Then you can use Selenium. Here is a code which download relevant image from Google Images with Selenium:

from selenium import webdriver
import urllib
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('C:/Python27/Scripts/chromedriver.exe')
word="apple"
url="http://images.google.com/search?q="+word+"&tbm=isch&sout=1"
driver.get(url)
imageXpathSelector='//*[@id="ires"]/table/tbody/tr[1]/td[1]/a/img'
img=driver.find_element_by_xpath(imageXpathSelector)
src=(img.get_attribute('src'))
urllib.urlretrieve(src, word+".jpg")
driver.close()

Windows’ta ‘PİP’ kullanımı


Python’un otomatik ve pratik kütüphane indiricisi pip uygulamasını windows’ta kullanmak için komut satırınına (cmd.exe) pip yazdığınızda windows tanımayacaktır. Bunun için pip.exe dosyasının yol adresini vermeniz gerekir. Bunu şöyle yapabilirsiniz:

“C:\Users\suat.atan\AppData\Local\Programs\Python\Python35\Scripts\pip.exe”

daha sonra istediğiniz pip komutunu (pip install gibi) kullanabilirsiniz.

 

WordPress.com'da Blog Oluşturun.

Yukarı ↑