Merhaba ,
Bugünkü araştırmamda aslında ilgimi gerçekten çok çeken ve yakın zamanda daha çok yaygınlaşacağını düşündüğüm bir Mobil Gelişme hakkında bilgi vermek istiyorum.
Beacon,Türkçe karşılığı "Deniz Feneri , İşaret Fişeği" anlamına gelmektedir. Yaklaşık olarak 2-3 yıldır Amerika'da bir alışveriş merkezi ve Apple Storelarda kullanılmıştır. Temel amacı; Bluetooth düşük enerji teknolojisini kullanarak GPS ile cihazımıza sinyal gönderen vericiler sayesinde bilgi edinme maksadıyla kullanılan yeni nesil lokasyon uygulamasıdır.
Temelde belirli bir bölgeye yerleştirilmiş vericilere yüklenen verileri dağıtımı için kullanılmaktadır.
Cihazımız geçerli alana giriş yaptığında size bu vericilerin ilettiği bilgilerin ulaşmasıdır amacı.
Etki alanı içerisindeki uygulaması açık olan cihazlara vericilerin kayıtlı verileri iletmesi...
Kullanım alanı sınırsız olarak tanımlanan uygulama için güvenlik endişesi için tatmin verici bir açıklama yapılmamış olsa da , Kütüphanede bir kitap ararken! veya bir mağaza önünde beğendiğiniz bir ürün hakkında bilgiyi mağaza görevlisine sormadan Mobil cihazınızdan erişmek oldukça hoş bir uygulama olarak karşımıza çıkmaktadır.
Peki ulusal güvenlik adında! istihbarat birimlerinin veya kötü amaçlı hackerlerin hedefi olmaktan kaçınılabilir mi? Bu önemli soruya tatmin verici bir açıklama yapılmadan uygulama kullanımının 3.Dünya ülkelerinde yaygınlaşabileceğini şuanda düşünmüyorum.
Bir Banka! ürünlerini veya fırsatlarını tanıtmak için lokasyondaki kendi müşterilerine bunu iletebilir mi , bu uygulamayı kullanabilir mi! ...
Geçen senelerde konu hakkında yapılan bir söyleşi ;
https://www.youtube.com/watch?v=VHsGbEL52eY
Gorkem Karayel
Software Developer [Java]
18 Şubat 2016 Perşembe
17 Şubat 2016 Çarşamba
Android Telefonlarda Geliştirici Modu Hakkında
Merhaba ,
Bugün yapmış olduğum araştırmada Android cihazlarımızda "Geliştirici Seçenekleri" nasıl açılır? Ne işe yarar?
- Android cihazımızı ilk aldığımızda veya yeni bir sistem yüklediğimizde geliştirici modu aktif olmaz.Aynı zamanda normal bir kullanıcı da bu ayarlara her zaman ihtiyaç duymayabilir.
Geliştirici Seçeneği ile Neler Yapılabilir?
Özet olarak, telefonumuz ile ilgili detaylı ayarların yapılmış olduğu bir alandır.
* Bilgisayarımızda yapılan android uygulamanın telefonumuzda çalıştırmak istediğimizde ihtiyacımız olan USB Debugging Modu geliştirici seçeneklerinden aktif edilebilir.
*Telefonumuza root atmak için gerekli ayarlar yapılabilir.
*Ayrıntılı hata raporları alınabilir.
*Telefon işlemci ayarları yapılabilir.
*Dokunmatik ekran ve Güç ayarları kontrol edilebilir.
Geliştirici seçeneklerini açmak için; Ayarlar --- Cihaz --- Telefon Hakkında --- Yapım Numarası [7 Kez üzerine tıklanması gerekmektedir.]
Bugün yapmış olduğum araştırmada Android cihazlarımızda "Geliştirici Seçenekleri" nasıl açılır? Ne işe yarar?
- Android cihazımızı ilk aldığımızda veya yeni bir sistem yüklediğimizde geliştirici modu aktif olmaz.Aynı zamanda normal bir kullanıcı da bu ayarlara her zaman ihtiyaç duymayabilir.
Geliştirici Seçeneği ile Neler Yapılabilir?
Özet olarak, telefonumuz ile ilgili detaylı ayarların yapılmış olduğu bir alandır.
* Bilgisayarımızda yapılan android uygulamanın telefonumuzda çalıştırmak istediğimizde ihtiyacımız olan USB Debugging Modu geliştirici seçeneklerinden aktif edilebilir.
*Telefonumuza root atmak için gerekli ayarlar yapılabilir.
*Ayrıntılı hata raporları alınabilir.
*Telefon işlemci ayarları yapılabilir.
*Dokunmatik ekran ve Güç ayarları kontrol edilebilir.
Geliştirici seçeneklerini açmak için; Ayarlar --- Cihaz --- Telefon Hakkında --- Yapım Numarası [7 Kez üzerine tıklanması gerekmektedir.]
16 Şubat 2016 Salı
Brackets
Merhaba,
Bugün incelediğim ve aslında kullanım kolaylığı olarak oldukça hoşuma giden bir arayüz hakkında bilgi vermek istiyorum. (Brackets)
Türkçe karşılığı "Parantez" olan bu isim aslında karşımıza açık kaynak kod ile geliştirilmiş bir Adobe ürünü olarak çıkıyor. Aynı zamanda MacOS ve Windows platformlarında çalışan bir uygulama.
Açık kaynak kodlu bir projenin neden Linux ortamına destek vermediğini merak ediyor olabilirsiniz . Bunun nedeni halihazırda Adobe’nin müşteri portföyünün MacOS ve Windows kullanıcılarından oluştuğu ve “hayrına” bir iş yapılacaksa mevcut ya da potansiyel kullanıcıların işine yarayacak bir ürünün ortaya çıkmasının tercih edileceği şeklinde yanıtlayabiliriz.
Brackets ile ilgili detaylı bilgi için brackets.io adresinden erişebilirsiniz.Projeye destek olmak mümkün.Brackets in kaynak kodları Adobe'nin github hesabı github.com/adobe/brackets altında yer almaktadır.
JavaScript,CSS ve HTML üzerine inşaa edilerek Choromium destek vermesi aynı zamanda açık kaynak kodlu olması onu çekici yapan özellikler arasındadır.
İndirebileceğiniz adres;
http://brackets.io/
Bugün incelediğim ve aslında kullanım kolaylığı olarak oldukça hoşuma giden bir arayüz hakkında bilgi vermek istiyorum. (Brackets)
Türkçe karşılığı "Parantez" olan bu isim aslında karşımıza açık kaynak kod ile geliştirilmiş bir Adobe ürünü olarak çıkıyor. Aynı zamanda MacOS ve Windows platformlarında çalışan bir uygulama.
Açık kaynak kodlu bir projenin neden Linux ortamına destek vermediğini merak ediyor olabilirsiniz . Bunun nedeni halihazırda Adobe’nin müşteri portföyünün MacOS ve Windows kullanıcılarından oluştuğu ve “hayrına” bir iş yapılacaksa mevcut ya da potansiyel kullanıcıların işine yarayacak bir ürünün ortaya çıkmasının tercih edileceği şeklinde yanıtlayabiliriz.
Brackets ile ilgili detaylı bilgi için brackets.io adresinden erişebilirsiniz.Projeye destek olmak mümkün.Brackets in kaynak kodları Adobe'nin github hesabı github.com/adobe/brackets altında yer almaktadır.
JavaScript,CSS ve HTML üzerine inşaa edilerek Choromium destek vermesi aynı zamanda açık kaynak kodlu olması onu çekici yapan özellikler arasındadır.
İndirebileceğiniz adres;
http://brackets.io/
HTTP Hatası 403.14 - Forbidden asp.net hatasının çözümü
HTTP Hatası 403.14 - Forbidden
Web sunucusu bu dizinin içindekileri listelemeyecek şekilde yapılandırılmış. hatası alıyorsanız hatanın sebebi IIS üzerindeki ASP.NET kayıtlarının eksik olması veya bozulmuş olması sorunun kaynağı olabilir.
Arkadaşlar bunun için, c:\Program Files\IIS klörü içerisinde CMD de (Windows+R) ile girdikten sonra aşağıdaki kodu yazmanız yeterli olacaktır ;
appcmd set config /section:directoryBrowse /enabled:true
17 Ocak 2016 Pazar
Threadler synchronized
Merhaba ,
Birlikte Threadleri sırayı sokma için en mantıklı örneği birlikte yapıcaz , threadleri iyi anlamak için şöyle bir örnek düşünelim , banka hesap numaranız var ve bundan belirli bakiyenizden para çekiyorsunuz.Siz ATM den para çekerken aynı milisaniye içerisinde sizin hesabınıza erişim yapapilen eşiniz,dostunuz internet bankacılığı aracılığı ile alışveriş yapmakta. Banka öncelikle hangi işlemi öne alacak? 1000 liralık hesabınızdan iki kişiden 550 TL lik işlem yaparsa banka 100 lira zarara girecektir. İşte kilit nokta burası , eğerki threadleri programınızda doğru yerlerde kullanmazsanız yapılacak işlemler karışabilir ve istenmeyen sonuçlar çıkabilir.
Thread, javanın bize sunduğu multi process işlemidir. Aynı anda birden fazla işlemi çalıştırabilmektedir. synchronized ise bunları sıraya sokar ve karışıklığı engeller , az önce söylediğim örnek beraber yapalım ..
// Öncelikle banka hesabımızdaki bakiyeyi oluşturuyoruz
public class BankHesap {
private double bankHesap;
public BankHesap(double bankHesap) {
this.bankHesap = bankHesap;
}
synchronized public void paraCek(String kim , double tutar){
if (tutar > this.bankHesap) {
System.out.println(kim+ " Hesapta yeterli bakiye yok ");
System.out.println("Çekilmek istenen tutar = " + tutar);
System.out.println("Bakiye = " + this.bankHesap);
}else{
bankHesap -= tutar;
System.out.println(kim + " " + tutar + " Para çekti kalan bakiye = " + this.bankHesap);
}
System.out.println(" ");
}
}
// Daha sonra işlemleri sıraya sokacak threadler ile işlemleri kolaylaştırıyoruz
public class thClass extends Thread{
private BankHesap baHesap;
private String kim;
private double tutar ;
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO: handle exception
e.printStackTrace();
}
baHesap.paraCek(kim, this.tutar);
}
public thClass(BankHesap baHesap,String kim,int tutar) {
this.baHesap=baHesap;
this.kim=kim;
this.tutar=tutar;
}
}
// Daha sonra main metotu ile işlemi tamamlıyoruz
import java.util.Scanner;
public class ParaCek {
public static void main(String[] args) {
int bakiye ;
Scanner scanner = new Scanner(System.in);
System.out.println("Bu dönemki bakiye = ");
bakiye = scanner.nextInt();
BankHesap hesap=new BankHesap(bakiye);
thClass t1=new thClass(hesap, "Merve", 600);
thClass t2=new thClass(hesap, "Görkem", 330);
thClass t3=new thClass(hesap, "Tolga", 233);
thClass t4=new thClass(hesap, "Ali ", 444);
thClass t5=new thClass(hesap, "Veli", 66);
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}
Unutulmaması gereken diğer nokta Thread sınıflardan extend edilen veya runnable sınıfını implement ettiğimiz zaman run metotunu override etmemiz gerekir.
26 Aralık 2015 Cumartesi
Write once , run every where
Herkese Merhaba ,
Bilge Adam eğitim kurumundan almış olduğum ve devam eden java-android uygulama geliştirme bölümünde bugüne kadar bize destek olan bora hocamızın bize aktardığı bilgilerin aklımda kaldığı kadarıyla burda sizlerle paylaşıyor olacağım aynı zamanda java uygulama dilinde en başından en karmaşık projelerin derinliklerini beraber incelemek için analizler yapacağız.
.
Java Uygulama dilinde - Şuan güncel sürümü olan 8.65 JDK sürümünü PC nize indirdikten sonra herhangi bir arayüz kullanmadan notepad'de uygulama yazarak ekrana yansıtacağımız çıktının nasıl aktarıldığını görelim .
(Write once , run every where ) prensibi ile yola çıkarsak java dilinin her işletim sisteminde çalışıyor olacağını anlayacağız . Açık kaynak kod ile geliştirilen java dilinde özelliklerini bir kenara bırakırsak en basit haliyle şu şekilde göreceğiz ...
public class HelloWorld{
public static void main(String[] args){
system.out.println("HELLO WORLD");
}
}
Bende burdan java ailesine Hello World demek istiyorum...
Bilge Adam eğitim kurumundan almış olduğum ve devam eden java-android uygulama geliştirme bölümünde bugüne kadar bize destek olan bora hocamızın bize aktardığı bilgilerin aklımda kaldığı kadarıyla burda sizlerle paylaşıyor olacağım aynı zamanda java uygulama dilinde en başından en karmaşık projelerin derinliklerini beraber incelemek için analizler yapacağız.
.
Java Uygulama dilinde - Şuan güncel sürümü olan 8.65 JDK sürümünü PC nize indirdikten sonra herhangi bir arayüz kullanmadan notepad'de uygulama yazarak ekrana yansıtacağımız çıktının nasıl aktarıldığını görelim .
(Write once , run every where ) prensibi ile yola çıkarsak java dilinin her işletim sisteminde çalışıyor olacağını anlayacağız . Açık kaynak kod ile geliştirilen java dilinde özelliklerini bir kenara bırakırsak en basit haliyle şu şekilde göreceğiz ...
public class HelloWorld{
public static void main(String[] args){
system.out.println("HELLO WORLD");
}
}
Bende burdan java ailesine Hello World demek istiyorum...
26 Eylül 2015 Cumartesi
CPU Ussage with Powershell ( Graph)
Herkese Merhaba ,
Yaptığım çalışmada Process lerimizde açık uygulamalar listemizde CPU yu en çok kullanan uygulamaların son 5 ini sıralıyıp bunu görselleştireceğiz .
Scriptimize geçmeden önce , açık uygulama listemizi görelim (Resim-1) :
Resim-1
Scriptimiz ve Ekran görüntümüz :
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$Chart = New-object System.Windows.Forms.DataVisualization.Charting.Chart
$Chart.Width = 500
$Chart.Height = 400
$Chart.Left = 40
$Chart.Top = 30
$ChartArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$Chart.ChartAreas.Add($ChartArea)
$CPUPercent = @{
Name = 'CPUPercent'
Expression = {
$TotalSec = (New-TimeSpan -Start $_.StartTime).TotalSeconds
[Math]::Round( ($_.CPU * 100 / $TotalSec), 2)
}
}
$CPU = Get-Process | Select-Object -Property Name, $CPUPercent | Sort-Object -Property CPUPercent -Descending | Select-Object -First 4
$ProcNames = @(foreach($CPUs in $CPU){$CPUs.Name } )
$WS = @(foreach($CPUs in $CPU){ $CPUS.CPUPercent/ 1MB })
[void]$Chart.Series.Add("Data")
$Chart.Series["Data"].Points.DataBindXY($ProcNames, $WS)
$Chart.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor
[System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left
$Form = New-Object Windows.Forms.Form
$Form.Text = "CPU Kullanımı"
$Form.Width = 600
$Form.Height = 600
$Form.controls.add($Chart)
$Form.Add_Shown({$Form.Activate()})
$SaveButton = New-Object Windows.Forms.Button
$SaveButton.Text = "Save"
$SaveButton.Top = 500
$SaveButton.Left = 450
$SaveButton.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right
$SaveButton.add_click({$Chart.SaveImage($Env:USERPROFILE + "\Desktop\Chart.png", "PNG")
[System.Windows.Forms.MessageBox]::Show("Ekran Görüntüsü Masaüstüne Kaydedilmiştir . ")
})
$Form.controls.add($SaveButton)
$Chart.Series["Data"].Sort([System.Windows.Forms.DataVisualization.Charting.PointSortOrder]::Descending, "Y")
$ChartArea.AxisX.Title = "Açık Uygulamalar"
$ChartArea.AxisY.Title = "Çalışan Uygulamalar (MB)"
$maxValuePoint = $Chart.Series["Data"].Points.FindMaxByValue()
$maxValuePoint.Color = [System.Drawing.Color]::Red
$minValuePoint = $Chart.Series["Data"].Points.FindMinByValue()
$minValuePoint.Color = [System.Drawing.Color]::Green
$Chart.Series["Data"]["DrawingStyle"] = "Cylinder"
$Form.ShowDialog()
Kaydol:
Yorumlar (Atom)