Hakkımda

26 Mart 2025

PumpKIN açık kaynaklı, tamamen işlevsel ve ücretsiz bir TFTP sunucusu ve TFTP istemcisi

Merhaba Dostlar,
Bu uygulamayı uzun zamandır arıyordum, bir çok web site linkleri silmiş, bu uygulama ne işe yarıyor ondan bahsedeceğim,  
PumpKIN açık kaynaklı, tamamen işlevsel ve ücretsiz bir TFTP sunucusu ve TFTP istemcisi olup, RFC1350 standardına uygun olarak TFTP protokolünü uygular. Ayrıca, 32MB'tan büyük dosyaların aktarılmasını sağlayan blok boyutu seçeneğini, RFC2348 ve RFC2349'da tanımlanan dosya boyutu ve zaman aşımı seçeneklerini de destekler.

PumpKIN'in başlıca kullanım amacı, ağ ekipmanlarının bakımını yapmak (örneğin, yönlendirici yazılım güncellemeleri için TFTP sunucusundan dosya almak) olsa da, ntalk bağlantısı üzerinden dosya aktarımı için de kullanılabilir. Bunun yanı sıra, artık eski olan 'wintalk' programı üzerinden yapılan ntalk konuşmalarını da algılayabilir. Not: Bu işlev yalnızca Windows sürümünde mevcuttur.

PumpKIN'in Temel Özellikleri

  • Tamamen standartlara uygun TFTP dosya aktarımı

  • TFTP sunucusu ve istemcisi için sınırsız eşzamanlı dosya transferi

  • TFTP blok boyutu seçeneğini destekler, böylece hem sunucu hem de istemci desteklediği sürece büyük dosyalar aktarılabilir

  • Kullanışlı grafiksel arayüz (GUI)

  • TFTP sunucusu ve istemcisi bir arada

  • Başlangıçta Windows 95 için geliştirildi, ancak tüm Win32 platformlarında çalıştığı bildiriliyor: Windows 98, Windows NT, ME, XP ve Mac OS X'e de taşındı (şu an için yalnızca Mountain Lion üzerinde test edilmiştir)

  • Arka planda çalışabilir, bildirim alanında yalnızca 16x16 piksellik bir simge kaplayarak sistem kaynaklarını minimum seviyede kullanır (yalnızca Windows için)

  • Açık kaynak kodludur, eksik özellikleri eklemek, hataları düzeltmek veya kodu incelemek isteyenler için uygundur

  • Dilediğiniz gibi test edebilirsiniz, ancak orijinal yazarın adını korumalısınız

  • Tamamen ücretsizdir, ancak bağış yaparak projeye destek vermek isterseniz memnun oluruz

  • Windows sürümünün indirme boyutu, aşağıda verilen yüksek kaliteli ekran görüntüsü kadar küçük bir boyuta sahiptir (Mac sürümü ise, çeşitli çözünürlükler için sağlanan grafikler nedeniyle biraz daha büyüktür)

Önemli Not:
PumpKIN bir FTP sunucusu veya FTP istemcisi değildir, TFTP sunucusu ve TFTP istemcisidir. TFTP, FTP’den farklı bir protokoldür. TFTP, FTP gibi genel amaçlı dosya paylaşımı veya dünya genelindeki FTP sunucularından dosya almak için değil, ağ ekipmanlarına (örneğin, yönlendirici, switch, hub vb.) yazılım güncelleme, yapılandırma yedekleme ve geri yükleme işlemleri için kullanılır.

İşte Windows üzerindeki görünümü:


İndirmek İçin Tıklayın:

30 Eylül 2024

TURKISS Türkiye İnternet Servis Sağlayıcısı kimdir? (DOLANDIRICI) Mutlaka Okuyun

 Değerli Takipcilerim,

Size TURKISS Türkiye İnternet Servis Sağlayıcısı hakkında bilgi vermek istiyorum. Lütfen bu yazıyı dikkatlice okuyun. Maalesef, bu firma ile yaşadığım deneyim, karşılaştığım en amatör ve umursamaz hizmet anlayışıyla ilgili.

Firma ile tanışma sürecim şöyle başladı: Bir gün 0800’lü bir numara tarafından arandım. Arayan kişi, kendisinin Türk Telekom'dan aradığını ve altyapımda iyileştirme çalışması yapıldığını, bu hizmeti farklı bir firma üzerinden sunacaklarını belirtti. Mevcut hızımın 50 Mbps olduğunu, ancak bu hızın hiçbir zaman tam olarak sağlanmadığını ifade ettim. Arayan kişi, hızımı 100 Mbps olarak vereceklerini söyledi ve üyelik bilgilerimi istedi. Ben de XDSL hizmet numaramı verdim.

Geçiş işlemi gerçekleştirildi. Ancak, Turknet'ten aldığım hizmetin yarısını bile almadım; hızım 5 ile 10 Mbps arasında değişiyordu. Pop noktamın Kocaeli olarak verildiğini öğrendim. Destek personeline, Gümüşhane ve Samsun'da bulunan pop noktalarına taşınmamı talep ettim. Ayrıca, statik IP talebinde bulundum. Ancak internetim 3 gün boyunca kesildi ve sonrasında düzeldi denildi; ama hızım yine 5 ile 10 Mbps arasında değişiyordu.

Tekrar destek talebi açtım. Ancak, talebimin kapatıldığını öğrendim. Günde sadece bir destek talebi açabildiğiniz için, aynı sorun devam ederse tekrar talep açamıyorsunuz. Örneğin, internetiniz o gün gittiğinde bir talep açtıysanız, internet tekrar gittiğinde tekrar talep açma imkanınız kalmıyor.

Sonuç olarak, eski sağlayıcım olan Turknet'e geçmek istedim; fakat 3 ay beklemem gerektiği bilgisi verildi. Bu durum, mevcut hizmeti alamadığınız bir firma hakkında şikayet etme imkanının olmaması nedeniyle oldukça sorunlu. 299 TL anlaşmasıyla başladığım hizmetin, 1 ay sonra 499 TL'ye çıkarılmasına maruz kaldım. İptal etme imkanım yoktu ve santrallerin ilk aydan sonra çalışmadığını fark ettim. Muhtemelen, kayıtlı olan numaram santral üzerinden engellenmiş olabilir.

Firmanın ofisi yok ve sanal bir firma olarak varlığını sürdürüyor. Google Haritalar'daki yorumlar, diğer kullanıcıların nasıl sorunlar yaşadığını gözler önüne seriyor.

3 ayın sonunda Turknet’i arayarak geri geçmek istediğimi belirttim. Ancak, adımda birden fazla hesap numarası olduğundan, güncel XDSL numaramı vermemi istediler. TURKISS tarafından verilen hesap numarası değil, Türk Telekom tarafından verilen port numaranız hakkında bilgi veremeyeceklerini, beni arayacaklarını belirttiler. Ancak, kimse aramadı. Tekrar aramaya çalıştım, fakat müşteri hizmetleri ile iletişim kuramadım. Destek taleplerim, yanıt verilmeden kapatıldı.

Yaşadığım tüm bu olumsuzlukları Cumhurbaşkanlığı İletişim Merkezi’ne (CİMER) ilettim. Ancak, aldığım yanıt şu şekildeydi:



Sizden ricam bu yazıyı okumadan o firmadan hizmet almayın.

Ticket görselleri aşağıdaki gibidir;














24 Eylül 2024

Aras Kargo Entegrasyon Çalışma Örneği C#

 Merhaba dostlar,

Bu yazımda sizlere Aras Kargo'nun entegrasyon uygulaması örneğini göstereceğim,

using System;

using System.Data;

using System.Threading.Tasks;

using System.Windows.Forms;

using ArasKargoEntegrasyonServisi.AraskargoService;  // Servis referansı

using System.ServiceModel;  // CommunicationException için gerekli


namespace ArasKargoEntegrasyonServisi

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        // Button tıklama olayı: Veriyi servisten çeker ve DataGridView'e ekler

        private async void btnLoadData_Click(object sender, EventArgs e)

        {

            string loginInfo = @"<LoginInfo>

                <UserName>kullanıcı_adı</UserName>

                <Password>sifre</Password>

                <CustomerCode>musterikodu</CustomerCode>

            </LoginInfo>";


            string queryInfo = @"<QueryInfo>

                <QueryType>39</QueryType>

                <TrackingNumber>takip_no</TrackingNumber>

            </QueryInfo>";


            // Servisten veriyi getir

            string result = await GetShipmentDetailsAsync(loginInfo, queryInfo);


            if (!string.IsNullOrEmpty(result))

            {

                // Gelen veriyi bir DataSet'e veya DataTable'a aktar

                DataSet dataSet = new DataSet();

                dataSet.ReadXml(new System.IO.StringReader(result));


                // DataGridView'e ekle

                if (dataSet.Tables.Count > 0)

                {

                    dataGridView1.DataSource = dataSet.Tables[0];

                }

                else

                {

                    MessageBox.Show("Gelen veri boş.");

                }

            }

            else

            {

                MessageBox.Show("Sonuç alınamadı.");

            }

        }


        // Servis çağrısı yapan fonksiyon

        public static async Task<string> GetShipmentDetailsAsync(string loginInfo, string queryInfo)

        {

            var client = new ArasCargoIntegrationServiceClient();

            try

            {

                var response = await client.GetQueryXMLAsync(loginInfo, queryInfo);

                return response;

            }

            catch (Exception ex)

            {

                MessageBox.Show("Hata: " + ex.Message);

                return null;

            }

            finally

            {

                try

                {

                    client.Close();

                }

                catch (CommunicationException)

                {

                    client.Abort();

                }

                catch (TimeoutException)

                {

                    client.Abort();

                }

                catch (Exception)

                {

                    client.Abort();

                    throw;

                }

            }

        }

    }

}

Projeyi derlemeden önce web servis linkini servislere eklemeyi unutmayın.

23 Eylül 2024

WordPress yönetim paneline (wp-admin) erişmeye çalıştığınızda beyaz sayfa görüyorsanız.

 WordPress yönetim paneline (wp-admin) erişmeye çalıştığınızda beyaz sayfa görüyorsanız, bu sorun genellikle "Beyaz Ölüm Ekranı" olarak adlandırılır ve birkaç olası neden olabilir. İşte bu sorunun yaygın sebepleri ve olası çözümleri:

1. Bellek Sınırının Aşılması

  • Sebep: WordPress siteniz, hosting sağlayıcınız tarafından belirlenen bellek sınırını aşmış olabilir.
  • Çözüm: wp-config.php dosyanıza aşağıdaki satırı ekleyerek PHP bellek limitini artırmayı deneyebilirsiniz:
    php
    define('WP_MEMORY_LIMIT', '256M');

2. Eklenti veya Tema Çakışması

  • Sebep: Hatalı bir eklenti veya tema WordPress’in çalışmasını durduruyor olabilir.
  • Çözüm: FTP ya da hosting panelinizden (örneğin cPanel) erişerek eklentileri devre dışı bırakabilirsiniz:
    • wp-content/plugins klasöründeki her eklenti klasörünün ismini değiştirerek eklentileri devre dışı bırakın.
    • Aynı şekilde temayı devre dışı bırakmak için wp-content/themes klasöründeki aktif tema klasörünün ismini değiştirin ve WordPress varsayılan temayı (örneğin, Twenty Twenty-One) otomatik olarak etkinleştirir.

3. Hatalı .htaccess Dosyası

  • Sebep: .htaccess dosyanız bozulmuş olabilir.
  • Çözüm: FTP ile sitenizin kök dizinindeki .htaccess dosyasını geçici olarak yeniden adlandırarak bu dosyayı devre dışı bırakın. Sorun çözülürse, WordPress yönetim panelinde "Ayarlar > Kalıcı Bağlantılar" sayfasına giderek yeni bir .htaccess dosyası oluşturabilirsiniz.

4. PHP Sürüm Uyumsuzluğu

  • Sebep: Hosting sağlayıcınızın PHP sürümü, WordPress'in veya eklentilerinizin gereksinimlerini karşılamıyor olabilir.
  • Çözüm: Hosting panelinizden (örneğin cPanel, Plesk) PHP sürümünüzü kontrol edin ve WordPress'in önerdiği en son sürüme yükseltin (genellikle PHP 7.4 veya daha üstü).

5. Bozulmuş WordPress Çekirdek Dosyaları

  • Sebep: WordPress çekirdek dosyalarınız bozulmuş olabilir.
  • Çözüm: WordPress dosyalarını tekrar yükleyerek bu sorunu çözebilirsiniz:
    1. WordPress'in en son sürümünü WordPress.org'dan indirin.
    2. FTP kullanarak sitenizin kök dizinine gidin.
    3. wp-content klasörünü ve wp-config.php dosyasını hariç tutarak, diğer tüm dosyaları yenileriyle değiştirin.

Bu adımları izleyerek sorununuzu çözmeyi deneyebilirsiniz. Eğer problem hala devam ediyorsa, hosting sağlayıcınızla iletişime geçerek sunucu hatası olup olmadığını kontrol etmeleri gerekebilir.

30 Temmuz 2024

Eflow GetLineItemTableEx Kullanımı Hakkında

 Merhaba Dostlar,

Bu Makalede GetLineItemTableEx kullanımı hakkından bahsedeceğiz,

Elimizde sayım adında bir tablo var, sayım ve stok arasındaki farkı bulmak istiyoruz, fark alanının tablonun 9 sütununda olduğunu var sayarak, buradaki koşulumuz sayım farkının 0 dan büyük olanları farklı bir tabloya kopyalamak olduğunu düşünelim,


Yazım şeklimiz bu şekilde olmalı

GetLineItemTableEx(%sayim%,[0,1,2,3,4,5,6,7,8],{9:'>0'})


Koşulunu görüldüğü üzere tek tırnak içerisine yazdık, Bazı yazılımcı arkadaşlar tek tırnağın text alan olarak değerlendirebilir ancak, eflow da tek tırnak içerisine koşul belirtilir.

Faydası olması dileğiyle

 Bir sonraki makalede görüşmek üzere

01 Temmuz 2024

Logo Tiger Sipariş Satırları Sorgusu

 Merhaba Dostlar,

Bu makalede Logo Tiger içerisinde sipariş detayları sorgusunu paylaşacağım. Web üzerinde aradım bulamadım, belki size de lazım olabilir düşüncesi ile burada paylaşmak istedim. Umarım işine yarar.

SELECT 

ORFLINE.LINENO_,

ORFICHE.FICHENO FişNo,

--ORFICHE.LOGICALREF,

CLCARD.CODE CariKod,

CLCARD.DEFINITION_ CariUnvan,

--ORFICHE.STATUS Statu,

CONVERT (VARCHAR,ORFICHE.DATE_,104) Tarih,

ORFICHE.SPECODE ÖzelKod,

ORFLINE.LINEEXP SatırAçıklaması,

CASE WHEN ORFLINE.LINETYPE=0 THEN ITEMS.CODE ELSE '' END SMKKod,

CASE WHEN ORFLINE.LINETYPE=0 THEN ITEMS.PRODUCERCODE WHEN ORFLINE.LINETYPE=2 THEN DECARDS.CODE ELSE '' END [MalzemeKodu / Indirim Kodu],

CASE WHEN ORFLINE.LINETYPE=0 THEN ITEMS.NAME WHEN ORFLINE.LINETYPE=2 THEN DECARDS.DEFINITION_ ELSE '' END [MalzemeAdı / Indirim Aciklaması],

ORFLINE.AMOUNT Miktar,

ORFLINE.PRICE BirimFiyat,

ORFLINE.DISCPER İndirimOranı ,

ORFLINE.TOTAL BrütTutar,

ORFLINE.LINENET NetTutar,

ORFLINE.VAT KDVOranı,

ORFLINE.PRPRICE DövizBirimFiyat,

DövizTürü=(CASE ORFLINE.PRCURR WHEN '1' THEN 'USD' WHEN '11' THEN 'CHF' WHEN '20' THEN 'EUR' WHEN '160' THEN 'TL' WHEN '0' THEN 'TL' WHEN '17' THEN 'GBP' END),

ORFLINE.PRRATE Kur,

ORFLINE.ADDTAXAMOUNT EkVergiTutarı,

ORFICHE.TOTALDISCOUNTS Toplamİndirim,

ORFICHE.TOTALDISCOUNTED Toplam,

ORFICHE.TOTALADDTAX ToplamEkVergi,

ORFICHE.TOTALVAT ToplamKDV,

ORFICHE.NETTOTAL NetToplam

 

FROM LG_001_01_ORFICHE ORFICHE WITH(NOLOCK)

LEFT JOIN LG_001_01_ORFLINE ORFLINE WITH(NOLOCK) ON ORFICHE.LOGICALREF=ORFLINE.ORDFICHEREF

LEFT JOIN LG_001_ITEMS ITEMS WITH(NOLOCK) ON ORFLINE.STOCKREF=ITEMS.LOGICALREF

LEFT JOIN LG_001_CLCARD CLCARD WITH(NOLOCK) ON ORFLINE.CLIENTREF=CLCARD.LOGICALREF

LEFT JOIN LG_001_DECARDS DECARDS WITH(NOLOCK) ON DECARDS.LOGICALREF=ORFLINE.STOCKREF AND DECARDS.CARDTYPE=2

 

WHERE ORFICHE.FICHENO IN ('Sipariş Fiş No Buraya Yazılır')

ORDER BY ORFLINE.LINENO_

Faydası olması dileğiyle. 

11 Haziran 2024

Eflow iki tarih arasında fark bulma işlemi

 Merhaba Dostlar, bu makalede eflow üzerinde sıkça lazım olan iki tarih arasında fark bulmaktan bahsedeceğim,

Tarih kontrolü yaparken eflow üzerinde DayDiff fonksiyonunu kullanıyoruz, peki DayDiff ne işe yarıyor, int değer olarak iki tarih arasındaki gün farkını buluyor. Böylelikle bizde istemiş olduğumuz tarih arasındaki gün farkını hesaplamış oluyoruz.


Örnek bir görsel ile;


Burada şuanki yani sürecin başladığı tarih ile, Tarih yani kullanıcının seçmiş olduğu tarih arasını hesaplatıyoruz, Hesaplanan gün farkı sayısını fark ismindeki integer tipindeki değere atıyoruz.

Ardından Karak Verme elementi içerisinden farkı kontrol ediyoruz, eğer fark eşit değil ise farklı senaryolar yazabiliriz.


Faydası olması dileğiyle.


PumpKIN açık kaynaklı, tamamen işlevsel ve ücretsiz bir TFTP sunucusu ve TFTP istemcisi

Merhaba Dostlar, Bu uygulamayı uzun zamandır arıyordum, bir çok web site linkleri silmiş, bu uygulama ne işe yarıyor ondan bahsedeceğim,   P...