Java kullanıcı dilini değiştirmek

Eğer işletim sisteminiz Türkçe ise, java da bu ayarı otomatik olarak okuyacaktır. Özellikle toUpperCase methodunda küçük i harfini büyük İ ve toLowerCase metodunda da büyük I harfini küçük ı yapmaktadır. Reflection youluyla metodlara erişen, dinamik kod çağıran, dosya sistemine erişen kodlarda kullanılan bu metotdar hataya neden olmaktadır.

JVM’i işletim sistemindeki dil ayarından farklı bir dil ile çalıştırmak için JAVA_TOOL_OPTIONS adındaki ortam ya da sistem değişkenine -Duser.language=en değerini ekleyerek java’ın her açılışında dil ayarını değiştirmesini sağlayabilirsiniz.

Ortam değişkenlerini ayarlamak için Bilgisayarım (Thıs PC) içine girin. Boş bır alanda sağ tıklayarak Özellikler (Properties) seçeneğini seçin. Sol tarafta Gelişmiş sistem seçenekleri yer almaktadır. Bu kısma girerseniz Ortam Değişkenleri‘ni (Enviroment Variables) görebilirsiniz.

Komut oturumunda hızlıca test etmek için komut satırında aşağıdakileri uygulayarabilirsiniz. Yapmış olacağınız ayarın sadece içinde olduğunuz komut oturumu için geçerli olacağını unutmayınız. Kalıcı olması için yukarıdaki ayarı yapmalısınız.

set JAVA_TOOL_OPTIONS=-Duser.language=en
java -XshowSettings -version

Aşağıdaki gibi bir çıktı elde etmiş olmalısınız. Çıktıda Picked up bilgisi ile alınan parametreler yazılır, bir hata varsa Unrecognized option ifadesi çıkacaktır.

Picked up JAVA_TOOL_OPTIONS: -Dsuser.language=en
VM settings:
    Max. Heap Size (Estimated): 9.95G
    Using VM: OpenxJDK 64-Bit Server VM
. . .
Locale settings:
    default locale = English (United States)
    default display locale = English (United States)
    default format locale = English (United States)
    available locales = , af, af_NA, af_ZA, agq, agq_CM, ak, ak_GH,
. . .

Enum tipindeki alanlar için varsayılan değer atamak

 
<enumtypes>
    <enumtype code="MyEnum" generate="true" autocreate="true">
        <value code="MyValue1" />
        <value code="MyValue2"/>
    </enumtype>
</enumtypes>

<itemtype code="MyItem" extends="BaseItem" autocreate="true" generate="true" jaloclass="de.hybris.platform.warehousing.jalo.MyItem">
    <attributes>
        <attribute type="MyEnum" qualifier="myAttribute">
            <modifiers optional="false" />
            <defaultvalue>em().getEnumerationValue("MyItem", "MyValue1")</defaultvalue>
            <description>My attribute.</description>
            <persistence type="property" />
        </attribute>
    </attributes>
</itemtype>

Belli başlı git komutları

Sıkça kullandığım git komutlarını listelemeye çalıştım.

No Komut Açıklama
1 git checkout dev Lokaldeki dev brach’ine geçmenizi sağlar.
2 git pull Tüm brach güncellemelerini sunucudan indirir.
3 git checkout -b bug/yeni Yeni bir lokal brach oluşturur.
4 git checkout bug/yeni  Lokal bug/yeni branch’ine geçmeyi sağlar.
5 git commit -m “Açıklama” Yapılan değişiklikleri çalışılan lokal brach’e kaydeder.
6 git push Kaydedilen değişiklikleri çalışılan brach ile aynı isimle sunucuya gönderir.
7 git merge dev Çalışılan brach’i lokal dev branch’ine birleştirir.
8 git stash Yapılan değişikliği geçici olarak kaydeder.
9 git stash pop Kaydedilen geçici değişikliği geri getirir.
10 git cherry-pick commitno Commit’i aktif branch’a taşır.
11 git reset --hard HEAD~x hard yapılan değişiklikleri geri alır.
HEAD commit referansı vermek için kullanılır, kullanılmazsa sadece commit edilmemiş değişiklikleri dikkate alır.
x commit öncesine döner. ~x yerine ^ kullanılırsa son commit’i ifade eder.
12 git push -f <remote> <branch> brach geçmişini temizleyerek gönderir.
13 git stash clear Geçici dosyaları temizler.
14 git reset HEAD^ Son commit’i geri alır, değişiklikler korunur.
15 git clean -fd Takip edilmeyen dosya ve klasörleri siler

Komutların kullanımı için örnek senaryolar:

Yeni geliştirme yapılması:
1 -> 2 -> 3 -> 5 -> 6 -> 1 -> 2 -> 4 -> 7 -> 6

Henüz sunucuya gönderilmemiş (6) değişiklikleri farklı bri brach’e taşımak:
4 -> 10

Sunucuya gönderilmiş commitleri silmek:
11 -> 12

Sunucuya gönderilmiş commit’i silerek yeni bir commit ile göndermek için:
14 -> 12

Henüz commitlenmemiş değişikleri geri alarak takip edilmeyen dosya ve klasörleri silmek için:
11 -> 15

Sunucuya gönderdilmiş commit içindeki bir dosyaya ait değişliğin kaldırılması:
git show commitno -- some_file.c | git apply -R

Aynı kodların başka bir git sunucusuna aynalanması / kopyalanması:
git push --mirror https://github.com/mkysoft/myproject.git

Detaylar: http://ohshitgit.com/

Git konusunda değerli bir kaynak: https://www.slideshare.net/lemiorhan/git-antipatterns-extended-version-with-28-common-antipatterns-scturkey-meetup

UBL-TR şema kontrol

UBL-TR belgelerinden e-Fatura, e-Arşiv, e-İrsaliye, Ticari Cevap, e-İrsaliye Cevap için şema (schema) kontrolü yapabilen, php ‘de basit bir sayfa yaptım, umarım birilerinin işine yarar.

http://mkysoft.com/ubltr/

distribution_policy not exist

Depending on SQL Server version some columns are change. In sap_tf_sysdatabases functions reference to distribution_policy column in sys.tables. With program MSSPROCS (run with se38) you can change stored procedure and functions which are using by SAP.

SOAP Üzerinden RFC Fonksiyon Çağırmak

Aşağıdaki URL’i kullanarak SAP üzerinden ilgili fonksiyonun WSDL’i alınabilir:

http://sapserverurl/sap/bc/soap/wsdl?sap-client=clientnumber&services=functioname

Elde edilen WSDL kullanılarak gerekli client geliştirilebilir.