Limak Atlantis Deluxe Tatilimiz Hakkında

Merhaba sevgili arkadaşlar,

Yaklaşık 12 yıldır tuttuğum bu blog altında bugüne kadar 14 yazı girmiştim. Tembellik ve zamansızlık gibi sebeplerim vardı ancak bu anlatacaklarım için özellikle saatlerimi ayırmak istedim.

Bundan yaklaşık 7 ay önce ve büyük hayaller kurarak yaptığımız tatil hayallerimizin nasıl suya düşüp boğulduğunu tek tek anlatmak istiyorum.

Herşey 12 Ocak 2015 tarihinde Limak Atlantis Deluxe Otelde 1 haftalık rezervasyon yaptırmamız ile başladı. Stres atıp rahatlamayı planladığımız tatil bizim için ailece bir kabusa dönüştü, ki birazdan tüm detaylarını anlatacağım.

Ancak öncesinde ilk günden başlayan tersliklerden başlamak istiyorum. Tatilimizin ilk günü olan 8 Ağustos 2015 tarihinde THY aracılığı ile yapacağımız uçuşun (TK 2926) 2 saat rötarlı gerçekleşmesi, tatilin kötü başladığının bir habercisi gibiydi. Rötarsız ve kaliteli uçuş için seçtiğimiz havayolu şirketi olan THY, uçuş sırasını kaçırma gibi bir bahane arkasına sığınarak 2 saat geç kalkış yaptı. Aslında 3 saat olarak açıklanan rötar yolcuların kıyamet koparması üzerine 2 saate indirgenerek güç bela uçuş gerçekleştirildi.

2 saat gecikmeli olarak vardığımız otelimizde standart bir kaşılama ile odamıza alındık. Klasik valizlerin yerleştirilmesi ve hızlı bir hazırlığın ardından koşar adımlarla denize indik ancak lodos rüzarının bulanıklaştırdığı denize alışamadığımız için, istemesek de havuza yönelmek durumunda kaldık. Bizi bekleyen büyük tehlikeyi farketmeden ilk günümüzü havuzda eğlenerek sonlandırdık. Takip eden 2 gün de (pazar ve pazartesi) ilk önce deniz denemesi ve ardından tekrar havuzda devam etme şeklinde tamamladık. Bu esnada pazartesi günü ilk şokumuzu sabah kahvaltısında yaşadık: Eşimin ilk kahvaltısında çok severek ve beğenerek aldığı menemenden 2. günde kıl çıktı. Hemen restoran görevlisi Nazmiye Hanım’ a durumu iletip şikayette bulunduk. Ancak esas büyük sürpriz 11 Ağustos 2015 Salı günü bizi bekliyordu. Sabah, kızım Damla’ nın saat 6 da uyanması ile güne başladık. Normale göre çok erken olan bu uyanma o gün yaşayacaklarımızın bir ön habercisi gibiydi. Saat 9′ a kadar yatakta oyalayıp en sonunda dayanamayıp kahvatıya indik. Tam tabaklarımızı hazırlayıp masaya oturmaya hazırlanırken Damla masa başında hiçbirşey yememiş olmasına rağmen içinde ne varsa istifra etmek suretiyle çıkardı. O ana kadar hiç öyle bir durum yaşamamış olmanın verdiği şokla masayı olduğu gibi bırakıp odaya çıkarak üstünü değiştirip tekrar masaya geri döndük. Kahvaltıyı bitirip masadan kalkmaya hazırlanırken yediği ne varsa hepsini masaya geri iade etti. Normal olmayan bir durum olduğu ortadaydı. Yediği yemek mi dokundu yoksa havuzdan mikrop mu kaptı gibi düşüncelerle tekrar odaya çıkıp üstünü değiştirip lobiye indik ve eşim ile birlikte oturup Damla’ ya çubuk kraker yedirdik. Aradan yarım saat geçti, tam kusması geçti diye rahatlayalım derken Damla tekrar istifra ederek içindeki herşeyi çıkardı. Olağanüstü bir durum olduğu artık ortadaydı ve odaya çıkıp üstünü değiştirdikten sonra otelin resepsiyonunu arayıp otel doktoru ile görüşmek istediğimi söyledim. Otelin doktorunun olmadığını ancak sağlık görevlisi olduğunu konusunda bilgi verip ona aktardılar. Yaşadığımız durumu anlattıktan sonra sağlık görevlisi ciddi bir durum olabileceği konusunda bizi uyarıp hastaneye gitmemiz konusunda telkinde bulundu. Teşekkür edip apar topar hazırlanarak resepsiyona indik ve hastaneye gitmek istediğimizi belirtip otelin bir aracı olup olmadığını sorduk. Aldığımız “otelin bu tip bir hizmeti bulunmadığı” cevabı ile bir kez daha şok olup taksi çağrılmasını rica ettik. Bize hangi hastaneye gitmek istediğimiz soruldu (sanki yıllardır orada yaşayıp oradaki tüm hastaneleri bildiğimiz düşünülerek). En hızlı ulaşabileceğimiz ve güvenilir olan hangisi ise ona gitmek istediğimizi aktardık ve bu doğrultuda bir taksi çağırıldı.

Taksicinin de yönlendirmesi ile önce devlet hastanesine, orada aradığımız doktoru (taksicinin kendi çocuklarını götürdüğü doktoru) bulamamanın ardından Özel Anadolu Hastnaesi’ ne gittik) Hasta kayıt bankosunun önüne gelmeden Damla 4. kez bütün ortalığı batırdı. Acilen kayıt işlemlerini yaptırıp çocuk doktoru ile görüştük ve neticesinde Damla, damardan serum ve antibiyotik almak suretiyle 5 saatimizi hastanede geçirdik. Serum takılırken geçirdiğim saniyeler hayatımın en ızdırap dolu anlarıydı. Hemşirenin damar yolunu bulamaması ve Damla’ nın o an attığı çığlıklar hala kulaklarımda uğulduyor diyebilirim. Bu esnada yapılan kan tahlillerinde CRP (kanındaki iltihap oranı) en fazla 6 olması gerekirken 10 çıkmıştı. Doktorun bize verdiği bilgiye göre yediği bir yemek veya aldığı bir sıvı (havuzda ağzından su kaçması gibi) neticesinde aldığı mikrop bağırsaklarından kanına bulaşmıştı ve bu da o gün yaşadığımız olaylara sebep olmuştu. Bu esnada bir kere bile otel tarafından aranmadık. Tüm yaşadıklarımızın tek sebebi olan “çok değerli” otelimizin umrunda değildik. Üstelik otele dönerken sohpet ettiğimiz taksi şoförü o gün bizimle birlikte 4 farklı ailenin de benzer şikayetler ile hastaneye gittiğini öğrendik (sonrasında akıbetleri hakkında bir bilgi alamadık).

Otele döndükten sonra eşim ile kızımı odaya bırakıp müşteri ilişkileri müdür yardımcısı Ünsal Bey’ in yanına inerek bütün yaşadıklarımızı, hastane raporlarını da sunarak anlattım. Kendisi durum hakkında ne kadar üzgün olduğunu belirtip oteli adına özür dilemiş olsa da yaşadıklarımızın telafisi yoktu. Benzer vakaların bir daha yaşanmaması için gerekli önlemlerin alınmasını rica ederek odaya geri çıktım.

Akşam yemeği için Türk fasıl gecesi düzenlenmişti. Biz de, bir gün öncesinden rezervasyon yaptırdığımız için katıldık ancak ne yemeklerinden ne de müziklerinden tad alabildik. Neyse ki Damla için taze pişirilen yemekler vardı ve tekrar bir kusma vakası yaşamadık. Yemek esnasında bizi ziyaret eden diğer müşteri ilişkileri yetkilileri de özürlerini tek tek beyan ettiler. En sonunda Ünsal Bey’ tekrar yanımıza gelerek otelin Genel Müdür Yardımdımcısı Gökhan Bey’ in bizimle bizzat görüşmek istediğini iletti. Ertesi gün saat 11 de görüşmek üzere anlaştık.

Ertesi gün saat 11 de otelin lobisinde Gökhan Bey ve müşteri ilişkileri müdürü Maria Hanım ile yaşadığımız olayların tekrar üzerinden geçtik. Denetimlerin nasıl yapıldığı, kontrollerin ne kadar sık uygulandığı konularını dinledik ancak bunlar bizim ve diğer 4 ailenin yaşadıklarını engel olamamıştı malesef. Maria Hanım ince bir düşünce ile kirlenen kıyafetlerimizi temizlemeye verebileceğimizi ileterek görüşmeyi sonlandırdık.

O gün ve sonraki günlerde sadece akşam saat 16:00-17:00 arası birer saatlik denize girerek tatilimizi tamamladık. Tabi bu esnada yediğimiz simitten kıl çıkması, akşam üstü değişen yaztık kılıflarının kirli çıkması, sabah kahvaltıda açık büfenin üstünde hamam böceği görmemizden bahsederek sizi daha fazla boğmak istemiyorum. THY’ nin dönüşte 1,5 saat rötar yapması konusuna ise girmek dahi istemiyorum.

Uzun lafın kısası, personelin güler yüzlü ve cana yakın olması dışında hiçbir yönünü beğenmediğimiz, verdiğimiz paraya zerre değmeyecek bir tatil yaptık. Siz siz olun, Limak otellerinde tatil yapmadan önce bir kez daha düşünün..

Transferring files between servers via SSH protocol with SCP

scp

You can transfer files between servers with a simple command: scp

Here’s how to use it:

 

Slug string maker

<?php

function slugger($n){


$n = preg_replace('/\%/',' percentage',$n); 
$n = preg_replace('/\@/',' at ',$n); 
$n = preg_replace('/\&/',' and ',$n); 
$n = preg_replace('/\s[\s]+/','-',$n);    // Strip off multiple spaces 
$n = preg_replace('/[\s\W]+/','-',$n);    // Strip off spaces and non-alpha-numeric 
$n = preg_replace('/^[\-]+/','',$n); // Strip off the starting hyphens 
$n = preg_replace('/[\-]+$/','',$n); // // Strip off the ending hyphens 
$n = strtolower($n); 

return $n
}

echo slugger("This is the string to be made SEO friendly!")
?>

MS SQL Server da Table ve SP deişikliklerinin DDL Triggerlar ile kayıt altına alınması

Aşağıdaki kod ile vertabanı üzerinde CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE, CREATE_TABLE komutları ile yapılan işlemleri kayıt altına alabilirsiniz.

Bu işlem için öncelikle ilgili veritabanında ChangeLog isminde bir tablo oluşturulur ve ardından yukarıda saydığımız komutları içerek SQL komutları bu tabloda birikmeye başlar.

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[ChangeLog](
	[LogId] [int] IDENTITY(1,1) NOT NULL,
	[DatabaseName] [varchar](256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[EventType] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[ObjectName] [varchar](256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[ObjectType] [varchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[SqlCommand] [varchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[EventDate] [datetime] NOT NULL,
	[LoginName] [varchar](256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
	[AllData] 1 NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING ON
GO

ALTER TABLE [dbo].[ChangeLog] ADD  CONSTRAINT [DF_EventsLog_EventDate]  DEFAULT (getdate()) FOR [EventDate]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER [backup_objects] ON DATABASE
    FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE, CREATE_TABLE,
        ALTER_TABLE, DROP_TABLE, CREATE_FUNCTION, ALTER_FUNCTION,
        DROP_FUNCTION
AS
    SET nocount ON

    DECLARE @data XML
    SET @data = EVENTDATA()

    INSERT  INTO dbo.changelog
            (
              databasename,
              eventtype,
              objectname,
              objecttype,
              sqlcommand,
              loginname,
              AllData
            )
    VALUES  (
              @data.value('(/EVENT_INSTANCE/DatabaseName)[1]', 'varchar(256)'),
              @data.value('(/EVENT_INSTANCE/EventType)[1]', 'varchar(50)'),
              @data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(256)'),
              @data.value('(/EVENT_INSTANCE/ObjectType)[1]', 'varchar(25)'),
              @data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'varchar(max)'),
              @data.value('(/EVENT_INSTANCE/LoginName)[1]', 'varchar(256)'),
              @data
            )


GO

SET ANSI_NULLS OFF
GO

SET QUOTED_IDENTIFIER OFF
GO

DISABLE TRIGGER [backup_objects] ON DATABASE
GO

ENABLE TRIGGER [backup_objects] ON DATABASE
GO

MS SQL Server da basit bir cursor örneği

Aşağıdaki örnek kod ile STE_EMAILS tablosundaki emails kolonunu PRINT ediyoruz.

DECLARE @email NVARCHAR(255)
DECLARE MyCursor CURSOR
    FOR SELECT  email
        FROM    STE_EMAILS
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @email
WHILE @@FETCH_STATUS = 0
    BEGIN
        
        PRINT '%' + @email + '%'
        FETCH NEXT FROM MyCursor INTO @email
    END
CLOSE MyCursor
DEALLOCATE MyCursor

MS SQL Server da Foreign Key lerin ALTER scriptini oluşturmak

Aşağıdaki kod ile mevcut veritabanınızdaki Foreign Key’lerin ALTER scriptini oluşturabilirsiniz.

SELECT  ('ALTER TABLE [' + OBJECT_NAME(f.parent_object_id) + ']'
        + ' ADD CONSTRAINT ' + '[' + f.name + ']' + ' FOREIGN KEY ' + '('
        + COL_NAME(fc.parent_object_id, fc.parent_column_id) + ') '
        + 'REFERENCES [' + OBJECT_NAME(f.referenced_object_id) + '] ('
        + COL_NAME(fc.referenced_object_id, fc.referenced_column_id) + ');'
        + CASE WHEN is_disabled = 1 THEN ' ALTER TABLE [' + OBJECT_NAME(f.parent_object_id) + '] NOCHECK CONSTRAINT [' + f.name + ']' ELSE '' END) AS Scripts
        -- AS SET_DISABLE
FROM    .sys.foreign_keys AS f
        INNER JOIN .sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id