Skip to content

Instantly share code, notes, and snippets.

View emrekgn's full-sized avatar

Emre Kağan Akkaya emrekgn

View GitHub Profile
@emrekgn
emrekgn / XmppClient.java
Created November 29, 2015 18:17
Smack API example (uses Smack v4.1.5)
package xmpp.client.example;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Collection;
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
import org.jivesoftware.smack.SmackException.NotConnectedException;
@emrekgn
emrekgn / RepoSourcesListParser.java
Last active December 1, 2015 18:02
sources.list URL Parser - Prints out packages defined by repository URL
package tr.org.sources.list.parser;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;
@emrekgn
emrekgn / isimler
Last active April 26, 2024 13:14
Türkçe İsim Listesi
JALE
ALİ
MAHMUT
MANSUR KÜRŞAD
GAMZE
MİRAÇ
YÜCEL
KUBİLAY
HAYATİ
BEDRİYE MÜGE
@emrekgn
emrekgn / soyisimler
Created December 4, 2015 08:44
Türkçe Soyisim Listesi
ŞEN
KANDEMİR
ÇEVİK
ERKURAN
TÜTEN
ÖZTÜRK
YÜZBAŞIOĞLU
VURAL
YÜCEL
SÖNMEZ
@emrekgn
emrekgn / checkstyle.xml
Created February 22, 2016 20:53
Checkstyle configuration for Google coding conventions
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
Source = https://github.com/checkstyle/checkstyle/tree/master/src/main/resources
Checkstyle configurartion that checks the Google coding conventions from:
- Google Java Style
@emrekgn
emrekgn / AhenkPlugin.cs
Last active November 4, 2016 14:34
Sample Implementation for Ahenk pGina Plugin
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using pGina.Shared.Types;
using log4net;
/*
* See https://github.com/pgina/pgina/wiki/Plugin-Tutorial

blueprint.xml

The possible reference :

blueprintBundle Provides bundle's Bundle object.

@emrekgn
emrekgn / jdk8-kurulum.md
Created August 24, 2017 10:47
Java 8 Kurulumu

Java 8 kurulumu

Debian tabanlı (Debian, Ubuntu, Mint, Pardus gibi) Linux sistemlerde (paket deposunda bulunmadığı taktirde) JDK8 aşağıdaki adımlar izlenerek kurulabilir:

  1. sudo apt-get install software-properties-common komutu ile (eğer yoksa) add-apt-repository komutuna ilişkin kurulum yapılır.
  2. sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" komutuyla Java 8'in bulunduğu paket deposu sisteme eklenir.
  3. sudo apt-get update && sudo apt-get install oracle-java8-installer komutuyla Oracle JDK 8 kurulumu tamamlanır.
  4. Kurulumu sınamak adına java -version komutu çalıştırılarak sürümün doğruluğu kontrol edilebilir.

Java kurulumlarının yönetimi

@emrekgn
emrekgn / ELK-kurulumu.md
Created August 25, 2017 13:56
Debian tabanlı sistemlerde Elasticsearch, Logstash, Kibana kurulumu

ELK (Elasticsearch, Logstash, Kibana) Kurulumu

Bu kılavuz Debian tabanlı Linux sistemlerde (Debian, Ubuntu, Mint, Pardus gibi) Filebeat ile birlikte ELK (Elasticsearch, Logstash, Kibana) kurulumunu anlatır.

  1. Kurulum yapılacak sistemde Java sürümü 8 veya üstü olmalıdır. java -version komutu ile sürüm kontrol edilebilir.
  2. wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - komutuylaa Elastic APT deposunun anahtarını sisteme tanımlamak için çalıştırılır.
  3. echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list komutu ile Elastic APT deposu sisteme eklenir.
  4. sudo apt-get update && sudo apt-get install -y elasticsearch logstash kibana filebeat komutu ile Elasticsearch, Logstach, Kibana bileşenleri ve Filebeat ajan yazılımı kurulur.
  5. /etc/filebeat/filebeat.yml dosyası dilediğiniz bir metin editörü yardımıyla (sudo olarak!) açılarak Elasticsearch'e ait olan alanlar silinmeli ya d
@emrekgn
emrekgn / when-to-use-jta-xa.md
Created September 21, 2017 12:31
When to use JTA / XA

When to use?

JTA/XA is a kind of system insurance against data corruption (and the resulting business losses). The most common use cases are: Processing JMS messages from a queue and inserting the results in a database: you don't want a crash to lose messages whose results are not yet stored in the database. Updating two or more legacy back-end systems in the same transaction In general, whenever you access more than one back-end system in the same transaction the use of JTA/XA is highly recommended. Otherwise, the risk of data loss or corruption is too high (and not necessarily visible!). Many programmers try to avoid the "overhead" of JTA/XA by programming application-specific recovery code (such as trying to handle duplicate requests, storing extra state in the database, etc). However, all these approaches are brittle (not reusable, application-specific, and hard to test). In the end, the perceived overhead of JTA/XA is often replaced by equivalent but buggy overhead at the application level.

A sample