Wednesday, November 9, 2022

Javascript tarih formatı değiştirme

 Javascript kullanmaya yeni başlayan yada yıllardır javascript kullanan insanlar bazen backendden yada herhangi bir kaynaktan aldıkları tarihleri belli bir formata çevirmek isterler. Javascriptin kendi özellikleri arasında bulunan 8 farklı formatta tarihi stringe çevirme ile ilgili örnekler ve outputları verilmiştir. 



Ayrıca yazılımcı arkadaşlar yukarıdaki formatlar haricinde kendisine göre format oluşturmak için küçük fonksiyonlar yazabilirler. buna bir örnek de aşağıdaki gibi olabilir. Aşağıdaki fonksiyon Uluslararası format olan YYYY-MM-DD ye çevirmek için kullanılabilir. 

 function dateToYMD(date) {

    var d = date.getDate();

    var m = date.getMonth() + 1; //Month from 0 to 11

    var y = date.getFullYear();

    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);

}


Wednesday, July 21, 2021

Java Spring boot api ye swagger kurulumu

Swagger Nedir Ne İşe Yarar? 

Swager uygulama geliştiricilerin geliştirme esnasında oluşturdukları API yi postman gibi herhangi bir araç kullanmadan test etmeye yarar. Swager Java .NET vb dillerle yazılmış API lerle implemente edilerek Apilerin testlerinde kolaylık sağayan arayüzdür.

Kurulum aşamaları:

Güncel versiyonları takip edebilmek için aşağıdaki ingilizce kaynaktan da yararlanabilirsiniz.

https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api

swagerin kurulumu düşünüldüğü kadar karışık değildir. Spring Boot Apisine İmplementasyonu 4 aşamadan oluşmaktadır. Bu aşamalar şu şekildedir.

1. projenizde bulunan pom.xml dökümanını açarak aşağıdaki satırları dependencies tagının içine yapıştırınız ve kaydediniz.

                    <dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

<version>3.0.0</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-boot-starter</artifactId>

<version>3.0.0</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.9.2</version>

</dependency>

2. pom.xml e eklenen dependency lerin projeye download edilmesi için projeyi kapatıp açmanızı öneririm. projeyi kapatıp açmak istemez iseniz de Maven menüsü altından önce clean sonra install yada package configrasyonlarına tıklayabilirsiniz.  


3. Bu işlem sonrası projenizin ana dizininde bulunan projeadiApplication.java dosysının içinde (src --> main --> java --> com --> projeadı ) aşağıdaki kodları yapıştırın.

public class projeadiApplication.java üstüne @EnableSwagger2 anatasyonu ekleyiniz ve kütüphanesini import ediniz.

public class projeadiApplication.java içinde bulunan main methodunun altına aşağdaki kodları yapıştırın ve ve kütüphanesini import ediniz.

            @Bean

            public Docket api() {

            return new Docket(DocumentationType.SWAGGER_2)

                .select()

                .apis(RequestHandlerSelectors.any())

                .paths(PathSelectors.any())

                .build();

            }

Eğer bir sebepten ötürü kütüphaneleri ideniz import etmiyorsa aşağıdaki satırları projenize ekleyebilirsiniz.

import org.springframework.context.annotation.Bean;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;



4.Swagger kurulumu tamamlandı. kurulumu test etmek için projeyi çalıştıralım ve aşağıdaki adrese gidelim. Eğer port numarasında değişiklik yapmadı iseniz 8080 port numarası varsayılan olarak set edilecektir. Proje başlatıldığında hangi porttan çalıştığı görülmektedir. 


http://localhost:8080/swagger-ui.html bu adrese gidildiğinde başarı ile gerçekleşti ise sizi aşağıdaki ekran karşılamaktadır. 


Artık API nizde geliştirdiğiniz tüm methodları rahatlıkla tarayıcı üzerinden Swagger ile test edebilirsiniz. 




Sunday, July 18, 2021

Kişisel Windosws bilgisayara Postgre SQL kurulumu

Postgre, Dünyanın En Gelişmiş Açık Kaynak İlişkisel Veritabanıdır. Tamamen ücretsizdir. Orta ölçekli bir web sitesinin tüm veritabanı ihtiyaçlarını fazlası ile karşılar. Profesyonel Projelerde PostgreSql MYSQL'e oranla performanstan cok stabiliteyi ön planda tutar. 

 Kısaca anlattığımıza göre hadi gelelim kurulum aşamalarına 

 1.https://www.enterprisedb.com/downloads/postgres-postgresql-downloads adresine gidilerek aşağıdaki görseldeki ekrandaki gibi son stabil versiyonu işletim sisteminize göre indirilebilir yada özellikle tercih ettiğiniz versiyonu varsa onu da indirebilirsiniz.



2.İndirilme sonrası indirilen exe dosyası çalıştırılır. Çalıştırılınca aşağıdaki uyarı çıkacaktı ve yes diyerek kuruluma devam edilir.



3. Açılan Pancerede birkere next diyerek Kurulum için istenilen bileşenlerin seçildiği yere gelinir. Biz tüm bileşenleri bilgisayarımıza kurmak istediğimizden tümünü işaretleyerek next butonuyla kurulumu devam ettiriyoruz.

4. Aşağıdaki görseldeki gibi kurulumun yapılacağı dizin ve veritabanıyla ilgili birkaç özet bilgilerin olduğu bir ekran gösterilir. isterseniz bu kısmı not alıp ileride ihtiyaç halinde kullanablirsiniz.




5.Birkaç kere next dedikten sonra aşağıdaki görseldeki gibi kurulum süreci başlamış olur.



6. İşlem tamamlandıktan sonra aşağıdaki gibi bir görsel gelecek ve ekrandaki tik işaretli yerin tik işaretini kaldırıp kurulumu tamamlayabilirsiniz.



7. Kurulum işlemi tamamlandı artık sırada veritabanı arayüzüne erişmekte. Bilgisayarın arama çubuğuna pgadmin yazarak postgresql in arayüzünü açabilirsiniz.

8.Arayüzü açtıktan sonra pgadmin in sol üst köşesindeki Database'e sağ tık Create --> Database tıklayarak yeni veritabanı oluşturabilirsiniz.


9. Açılan ekranda General Sekmesindeki Database yazan yere veritabanı ismi oluşturularak eğer isterseniz veritabanına bir sahip atamak için owner kısmını değiştirebilirsiniz.


10. Save yaptığımızda veritabanımız oluşmuş olur. oluşan veritabanına tablolar eklemek için varitabanı üstüne sağ tıklayarak create --> Table seçeneğini kullanabilirsiniz.

 
11. Eğer Tabloları oluştururken SQL kodları kullanmak isterseniz yukadırdaki görseldeki ekrandan Query Tool seçeneğini seçerek sql query editör ü açabilirsiniz. 

12. Halihazırda veritabanı tablolarını içeren SQL scriptleriniz var ise Query editörün üstündeki dosya işaredinden bilgisayarınızdaki SQL scriptinin açılmasını sağlayabilirsiniz. 


13. Yazdığınız yada import ettiğiniz sql scriptlerinizi çalıştırmak için aşağıdaki görselde yuvarlak içine alınan execute butonuna basarak çalıştırabilirsiniz.









Tuesday, December 15, 2020

itextScharp üzerinde TRY simgesinin yazdırılması

Bilgisayarınız güncel ve altgt+t tuşuna bastığınızda ₺ simgesi eklenmede sorun yok ancak c# üzerinde pdf generate ederken ₺ simgesi yerine hiç birşey basmıyorsa yapılacaklar. 

http://www.bilkur.com/download/Argox/dokuman/TCMB/AbakuTLSymSans-Regular.ttf adresinden 

AbakuTLSymSans-Regular.ttf dosyasını bilgisayarınıza indirin ve bu dosyayı proje içine erişebileceğiniz bir yere kopyalayın.

ben projenin içinde img adında klasör oluşturarak oraya taşıdım. 

ve aşağıdaki kodu kullandım





Wednesday, November 25, 2020

Offline flash belleği online e çevirmek

 Yeni almış olduğum sandisk marka 32GB USB3.0 flash belleğimi bilgisayara taktığımda herhangi bir disk görmedim. Bilgisayarım a sağ tıklayarak Yönet ->disk yöneticisi kısmından flash belleğimi gördüm ancak hiçbir işlem yapamıyordum. tüm işlemler pasif vaziyette idi. İnternette birçok araştırmalar yaptım. diskpart kullanarak birçok yöntem denedim ancak "Virtual Disk Service error: The operation is not allowed on a disk that is offline." bazen de "virtual disk service error the object is not found" hatası alıyordum. Sonunda https://www.partitionwizard.com/partitionmagic/virtual-disk-service-error.html adresindeki yöntemi denedim. Bu yöntemde anlatılan problerin aynısını bire bir yaşamıştım. MiniTool Partition Wizard sitesinden ilgili uygulamayı indirerek açamadığım flash belleği seçip sağ tıkladım açılan menüden format a bastım. sol tarafta apply butonuna basarak flash belleğin formatını başlattım. İşlem 5 dakikadan az sürdü ve sonuç beklediğim gibi düzelmişti.



Tuesday, April 14, 2020

Java Spring Tool Suit 4 e Lombok eklentisi kurulumu

LOMBOK NEDIR ? 

java projelerinde IDE'ye entegre edilebilen bir anotasyon ile kod üretme (code generation) kütüphanesidir. Örneğin bir model oluşturulduğunda model içinde getter setterlar tanımlanmaya gerek olmadan otomatik olarak bunların tanımlanmasını sağlar. 

Getter Setter nedir? 
Java da tanımlanmış modellerin entitiylerine c# daki gibi direkt erişim söz konusu değildir. Örneğin: c# da user objesi olduğunu varsayarsak. 
Bu objenin içindeki datalara aşağıdaki şeklinde erişebiliriz.
var name = user.name;
var surname =  user.surname;

Bu objenin içindeki dataları aşağıdaki şekilde güncelleyebiliriz.
user.name ="ali";
user.surname ="öz";

Ancak Javada bu kullanım söz konusu değildir. 
Bu kullanım yerine objenin datasını çekmek için getter, objenin datasını update etmek için setter kullanılır. 
Örneğin: Java da user objesi olduğunu varsayarsak. 
Bu objenin içindeki datalara aşağıdaki şeklinde erişebiliriz.
String name = user.getName();
String surname = user.getSurname();

Bu objenin içindeki dataları aşağıdaki şekilde güncelleyebiliriz.
user.setName("ali");
user.setSurname("öz");

Bu kullanılan set ve get lere genel isim olarak setter getter denilir. Lombok olmasaydı aşağıdaki gibi bunun Model içinde tanımlanması gerekirdi .

Lombok eklentisiz oluşturulan getter ve setter kullanılan Java modeli

@Entity
@Table(name="user")
public class user 
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)  
@Column(name="id")
private Long id;
@Column(name="name")
private String name;
@Column(name="surname")
private Long surname;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getSurname() {
return surname;
}
public void setSurname(Long surname) {
this.surname = surname;


}

Lombok eklentili oluşturulan Java modeli

import lombok.Data; 

@Entity
@Table(name="user")
@Data
public class user 
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)  
@Column(name="id")
private Long id;
@Column(name="name")
private String name;
@Column(name="surname")
private Long surname;

}

Java Spring Tool Suit 4 e Lombok eklentisi kurulumu
Lombok un ne işe yaradığını kısaca anladığımıza göre gelelim Java Spring Tool Suit 4 e kurulumuna. 
1.Öncelikle açık olan tüm Spring Tool Suit i kapatmamız gerekmektedir.
2.https://projectlombok.org/download adresinden lombok.jar ı bilgisayarınıza indirin.
3.indirdiğiniz jar dosyasını kopyalayıp Spring Tool Suit 4 ün kurulu olduğu klasöre gidip plugins klasörünün içine yapıştırın.
4.cmd yi açıp yapıştırdığınız dizine gidin.
5.java -jar lombok.jar bu komut satırını tetikleyerek indirdiğimiz jar dosyasının çalışmasını sağlayalım.
6. Bir ekran açılacaktır ve sistemde kurulu ide taraması başlayacaktır. Biraz bekleyip sistemdeki bulunan tüm idelerin içinden Spring Tool Suit 4 i seçerek Install/Update butonuna basın. 
7.Sonra Quick install butonuna basarak kurulumu tamamlayın.
8.Lombok kurulumu tamamlanmıştır. Spring Tool Suit i açabilrsiniz.




Tuesday, February 25, 2020

javascript reactjs Array içindeki kelimeleri alfabetik sıraya göre dizme.

javascript reactjs dizi içindeki kelimeleri alfabetik sıraya göre dizme için kodlar aşağıdaki gibidir.



let str1 = ["sanane","ankara","lefke","lefkoşa","güzelyurt",
"girne","iskele","gazimagusa"];

    var n = str1.sort((a,b)=> { return a.localeCompare(b)});
  
  console.log(n)

javascript reactjs dizi içindeki kelimeleri harf uzunluğuna göre en az karakter sayılıdan çok karakter sayılıya göre dizme için kodlar aşağıdaki gibidir.


     var str1 = ["sanane","ankara","lefke","lefkoşa","güzelyurt",
"girne","iskele","gazimagusa"];

  var n = str1.sort((a,b)=> { return a.length - b.length});

console.log(n)
keys: reactjs, javascript, angularjs, arraydaki kelimeleri sıralama, alfabetik sıraya koyma, artan azalan sıralama.JavaScript String localeCompare(), dizi içindeki kelimeleri karakter sayısına göre dizme, sort array in javascript, Birden Çok Başlangıç(Multiple Startup) Projesi,