Etiket Bulutu

Benchmark Convert_IMplicit Database High Availability Database Mirroring datawarehouse dimension table dmv Dynamic Data Masking Execution Execution Plans fact table Failover Cluster Node ekleme Failover Clustering FileStream generate script High Availability Implicit Instant File Initialization index Kinect Linux Live Query Statistics Log Shipping Mirroring object explorer object explorer details ODBC Driver pass performance performance tuning Plan Handle Planü Power View reporting services rol Row Level Security script sql serer 2016 sql server SQL Server 2008 SQL Server 2008 Log Shipping SQL Server 2012 SQL Server 2012 installation SQL Server 2012 Kurulumu SQL Server Backup SQL Server da Backup planı SQL Server da Maintenance Plans oluşturma SQL Server database mirroring SQL Server Disaster Recovery sql server dynamic management views SQL Server Failover Cluster SQL Server High Availability SQL Server Log Shipping SQL Server Maintenace Plans sql server performans SQLDIAG SQLDIAG Troubleshooting T24 Temenos truncate table t-sql unique index performance 1. Dünya savaşı istatistikleri 1456 451 ACID advanced analytics Advanced Data Analytics Affinity algı Alter index Alter table ALTER TABLE .. ALTER COLUMN Altın Oran Always On ALWAYSON AlwaysOnDemoTool amazon web services kinesis AMR analiz analysis service Ankara Antivirus apache kafka Arduino Article Assembly asymmetric audit Authentication Auto Growth Availability Group azure Azure Backup azure event hub partition azure event hubs azure event hubs servisi azure event hubs veri edinme Azure File Share Azure Fiyatlandırma Azure HDInsight Azure Hizmet Modelleri Azure ML Azure New Portal Azure Pricing Azure Queue azure sql database configuration azure sql database kullanımı azure sql database stream veriyi tutma azure sql database table partitioning Azure Storage azure stream analytics azure stream analytics dashboard azure stream analytics ölçeklendirilmesi azure stream analytics servisi Azure Table BA Backup backup encyrption backupset Bakım BASE bellek Best Practice BI Semantic Model Big Data Big User blocking blocking disable trigger blocking enable trigger Buffer Cache buffer pool Buffer Pool Extension bulk logged Buluta Veri Depolama Buluttaki Disk Business Analytics Conference business intelligence Büyük Veri Case Central Management Server certificate changed data capture Cloud Computing Cloud DR CLR Cluster clustered columnstore index Clustered Index Code Snippets Cold Purging collation column store column-level columnstore ColumnStore Indexes Compress ComputerNamePhysicalNetBIOS Concurrency Conditions Contained Database Contained Databases convert CONVERT_IMPLICIT Corruption Credentials cube DAC Dashboard Tasarımı data cleansing Data Compression Data Consistency Model data encryption data matching data mining Data Page data profiling data quality Data Services Data Warehouse Design Database database list Database Management Sistem database master key Database Mirroring Database Snapshot database trigger database-level Data-Ink Ratio datasets datasource DataZen date date dimension db_owner DBA DBCC dbcc dropcleanbuffers dbcc freeproccache DBMS dbo user DDL deadlock debugging DecryptByKey DecryptByPassPhrase deleted bitmap delta store Denali Denali SSAS deny database list deşifre detail index developer DIFFERENTIAL BACKUP DirectQuery Dirty Read Disaster Recovery Distribution Yapılandırma Distributor Distributor Agent dm_server_services DMF DMO DMV document db dosya bazlı şifreleme dqs dr Dynamic Management Function Dynamic Management Object Dynamic Management View ecrypt Effected Report Design Techniques Eğitim EncryptByKey EncryptByPassPhrase encryption endpoint Environment Variable error Error 5030 Error Log Estetik Raporlama Estimated Rows Eş Zamanlılkk Etkili Rapor Tasarlama Teknikleri Etkinlik ETL event Event Viewer except;intersect;sql execution Execution Plan export formats extended events Extended Stored Procedure Facets Failover Failover Cluster fast n execution plan FETCH NEXT FILELISTONLY FILLFACTOR File Table file-level FileStream Filter Pack Filtered Index First_Value Flat File fn_repl_hash_binary Focal Point foreignkey FORMAT Forwarded Record forwarded_record_count ftp task FULL BACKUP Full Recovery Full-Text Search functions Gartner Geocluster Gerçek Zamanlı Dashboard gestalt Golden Ratio görsel duyu group by Güvenlik ha Hadoop hafıza Hash HASHBYTES HEADERONLY headers footers Heap Hekaton hicri High Availability hijr Hiyerarşi Hybrid Cloud IaaS Index Index Scan In-Memory InMemory DW In-Memory DW InMemory OLTP In-Memory OLTP Internet of People Internet of Things IO IOT IoT nedir Isolation Level indeks index inmemory in-memory oltp internet of things isolation level istatistik istatistikler İş zekası İzolasyon Seviyesi Job json json support knowledge base kolon-satır bazlı kurulum küp Lag Lansman latch Lead linked server lock locking locking hints Log Backup Log Reader Agent Log Shipping login Lost-Update LQS Machine Learning Maintenance Management Studio matrix Max Text Replication Size mdx memory Memory Optimization Advisor Memory Optimized Table Memory Optimized Tables merge Merge Agent merge kullanımı Merge Publication Merge Replication merge type 1 slowly changing dimension merge type 1 slowly changing dimension örneği merge type 1 vs type 2 scd merge type 2 slowly changing dimension merge type 2 slowly changing dimension örneği merge type 3 slowly changing dimension merge type 4 slowly changing dimension message Microsoft Advanced Data Analytics Çözümleri microsoft azure Microsoft Bulut Microsoft Sanal Akademi Microsoft SQL Server Microsoft SQL Server 2014 Yenilikleri Microsoft SQL Server 2016 Mirror mirroring missing index Monitoring move Msdb multi_user multiversion concurrency control MVP MVP Roadshow MySnippet Named Pipes Natively Store Procedures Natively Stored Procedures Nesnelerin İnterneti Network Binding Order NoEngine Approaches nonclustered columnstore index Non-Repetable Read NoSQL NoSQL Approaches NoSQL Dünyası object explorer Odak Noktası ODBC Office 365 Offline OFFSET olap OLAP Backup OLE DB OLTP Online Index order attributes Otomatik Büyüme OVER PaaS PAD_INDEX page out page properties PAGE RESTORE PAGEIOLATCH paging parameters partition partitioning PASS PASS Summit PASS Summit 2014 Performance Performance Tuning performans performans tuning Phantom Read pivot Policies Policy Based Management Filtreleme Policy Management Power BI Power BI Dashboard Power BI Rest API power bi power view PowerBI PowerBI for Office 365 powerbi PowerMap PowerPivot PowerQuery powershell powershell ile sql yönetimi PowerView PowerView raporlarının web sayfalarına gömülmesi precon Primary Key primarykey Project Deployment Model Project Variable Protokol Proxy Proxy Account Publisher Purging on Independent Tables QL Server 2014 Yenilikleri Que Reader Agent Query Plan query store R Range Raporlama Raporlama Projeleri için Strateji Belirleme Raporlama Projelerine Hazırlık Read Committed Read Uncommitted RealTime Dashboard Rebuild RECONFIGURE RECONFIGURE WITH OVERRIDE Recovery model Relational Engine relationships Rename SSRS Database Repeatable Read Replication Replication Monitoring replikasyon report manager web site report parts reporting service reporting services reporting servis Resource Governor RESTORE Restore Database Restore Generate Restore Generate Script Restore transaction log rollback rs Rule of Thirds sa user SaaS sayfalama scd 3 demo scd karşılaştırma scd type 4 demo Scheduling Schema Comparison script Security segment elimination select into Self-Service BI Semantic Search Serializable Server Core SERVERPROPERTY Service services shared data sources shared datasets Shared Memory sharepoint Sharepoint 2010 ShowPlan Shrink simple recovery sing_user sliding window Slowly Changing Dimension snapshot Snapshot Agent Snapshot Publication Snapshot Replication Snippet snowflake sorting sp_configure sp_describe_first_result_set sp_server_diagnostics sp_spaceused sql SQL Agent Job SQL Azure sql bilgi yarışması SQL CLR SQL DIAG SQL DIAG Performans verisi toplama SQL endpoint SQL Login SQL Onculeri SQL Öncüleri sql script sql server SQL Server 2005 SQL Server 2008 SQL Server 2011 CTP3 SQL Server 2011 Denali SQL Server 2012 SQL Server 2012 CTP3 SQL Server 2012 RC SQL Server 2012 RC0 SQL Server 2012 ShowPlan Enhancements SQL Server 2012 T-SQL Enhancements SQL Server 2014 Sql Server 2014 Cardinality Estimator SQL Server 2014 Yenilikleri sql server 2016 SQL Server 2016 New Features SQL Server 2016 Yenilikleri sql server agent sql server assembly ekleme SQL Server Authentication sql server cast ve convert sql server clr integration sql server clr kullanımı sql server clr örnek sql server cluster SQL Server Code Name Denali SQL Server da Kullanıcı Yaratma SQL Server Database Project sql server dmv ve dmf sql server execution plan temizleme SQL Server Express Backup sql server fast n option örneği sql server fast n seçeneği SQL Server login sql server management stdio sql server merge into örnek sql server merge komutu sql server merge performnas sql server merge type 1 scd sql server merge type 2 scd sql server merge type 3 scd SQL Server Mobile Report Publisher SQL Server Network Interface SQL Server Onculeri SQL Server Öncüleri SQL Server Öncüleri Ankara SQL Server Performance sql server performans SQL Server Profiler SQL server recovery model SQL Server Reporting Services SQL Server Restore Generate Script SQL Server sa SQL Server Security SQL Server SQL DIAG sql server tarih dönüşüm işlemi sql server tarihsel veriler ile çalışma SQL Server User SQL Server yetki SQL Server yetkilendirme sql servera .net kodu ekleme SQL Serverda yetkilendirme nasıl SQL Serverda yetkilendirme nasıl yapılır sql to oracle linked server sql türkiye SQL User With Password sql yarışma SQLCMD sql'den oracle'a linked server SQLDIAG SQLDIAG Report SQLOS sqlsaturay SQLSaturday SQLSaturday #182 SQLSaturday #359 sqlsaturday #451 sqlserveronculeri ssas SSAS 2012 SSIS SSIS 2012 ssis SSMS SSMS Project SSMS Solution ssrs Stanby Database star schema STOPAT STOPBEFOREMARK STORAGE Storage Engine stored procedure stream analytics job subreports Subscriber Subscription subscriptions symmetric SYS sys.dm_db_index_physical_stats sys.dm_db_index_usage_stats sys.dm_db_missing_index_columns sys.dm_db_missing_index_details sys.dm_db_missing_index_group_stats sys.dm_db_missing_index_groups sys.server_principals sysadmin System Databases System View şifre şifreleme table table difference TableHasClustIndex TableHasIdentity TableHasPrimaryKey Tablet PC Tabular Mode Tabular Model TCP/IP TDE Tempdb time series Transaction Transactional Publication Transactional Replication Transparent Data Encryption trigger Troubleshooting TRY_CONVERT TRY_PARSE tsql t-sql T-SQL 2012 tsql mistakes Undocument union unionall Updatable ColumnStore İndex upgrade Veri ambarı veri edinme seçenekleri Veri Güvenliği Veri Hizmetleri Veri madenciliği Veri Mürekkep Oranı Veri Tabanı Yönetim Sistemleri Veri Tipi Veri Tutarlılık Modelleri Veri Yönetimi Evrimi verinin evrimi Veritabanı oluşturmak VERİTABANI YEDEKLEME STRATEJİLERİ veritabanı yedeklerinin şifrelenmesi Veritabanı Yöneticisi Veritabanı Yönetimi VeritPaq view any database Visual Studio VTYS web services Webcast Windows 7 Windows 8 Windows Authentication Windows Azure Windows Failover Clustering wmi WRITELOG xevents xp_sqlagent_enum_jobs YEDEKLEME STRATEJİLERİ Yedekli Çalışma Yetkilendirme Yiğit Aktan ysfkhvc yusuf kahveci Yüksek Erişilebilirlik Yüksek Süreklilik zip

MySnippet 1.0 - T-SQL Kod Deposu

Ekleyen: Yiğit Aktan Microsoft - Data Platform Solution Architect Tarih:11.10.2014 Okunma Sayısı:3789


Uzun süredir yeni bir snippet uygulaması arayışındaydım. Daha önceden kullandığım snippet uygulaması bazı durumlarda yetersiz kalıyordu. Yetersiz kaldığı noktalardan en önde geleni, yazmış olduğum mevcut T-SQL kod'ları üzerinde zaman içerisinde çok fazla revizyon yapıyor olmam ve uzun kodlarda bu revizeleri görmek benim için çok zor olmasıydı. Bunun üzerine kendi snippet uygulamamı yazmaya karar verdim. Bu makalede sizler için faydalı olacağını düşündüğüm yazmış olduğum MySnippet uygulamasından bahsedip, uygulamanın download link'ini sizlerle paylaşıyor olacağım.



 

 MySnippet

Download

 



Uygulamanın ana ekran görüntüsü aşağıdaki gibidir (Resme tıklayarak büyük halini yeni pencerede görebilirsiniz).


MySnippet, kullanımı kolay, XML tabanlı T-SQL kodlarınızı barındırabileceğiniz bir uygulamadır. Minumum .NET Framework 3.5 ile çalışabilmektedir. Kod bloklarınızı highlighted olarak kategorize ederek rahatlıkla store etmenize olanak sağlar. Bunu yaparken de kod revizyonlarınızı ayrı ayrı barındırır. Örneğin Function kategorisi altındaki Count Words isimli kod bloğunuzu zaman içerisinde değiştirdiniz ve bu değişiklikleri de save ettiniz. Bütün revizyonlar Count Words altında ayrı ayrı toplanır. Kod bölümünün üstündeki toolbar'ın sağ tarafındaki Revisions kısmında değişikliği yaptığınız tarihler gösterilir. Tarihleri ComboBox'dan seçerek revizyonlarınızı görüntüleyebilirsiniz. Eğer kod bloğunuz üzerindeki revizyonlarınızı satır satır görmek isterseniz Compare Revisions button'una tıklayarak mevcut version kod bloğunuz ile zaman içerisinde yaptığınız değişiklikleri aynı ekran altında, aralarındaki farklar ile görmeniz mümkündür.

 

MySnippet, XML tabanlı kendi veritabanını kullanır. İçeriği encrypt edilmiştir. Böylelikle clear-text olarak editörler üzerinden kodlarınıza ulaşım engellenmiş olur. Ayrıca MySnippet içerisinde birden fazla veritabanı kullanımına olanak sağlanmıştır. Eski MySnippet veritabanlarınızı uygulamaya load edebilirsiniz. MySnippet için eğer yeni bir version geliştirdiysem uygulamayı açtığınızda bunun uyarısını verir. İsterseniz size yeni versionu'nu download ettirir.

 

Unutmayınki MySnippet şahsi kullanımım için geliştirmeye başladığım bir uygulamadır. Public olarak paylaşmaya karar verdiğim zaman bir kaç feature ekledim. Bug'ları olabilir. Eğer karşılaştığınız bug veya eklenmesini istediğiniz bir feature varsa lütfen yigit@yigitaktan.com e-mail adresime feedback gönderiniz. Göndereceğiniz feedback'ler üzerine hep birlikte MySnippet'i geliştirmeye devam edebiliriz.

 

Uygulama içerisinde üç frame bulunmaktadır. Bu frame'leri ve o bölümler içerisinde neler yapılabildiğini aşağıda inceleyelim.



 

 



1. Sol Frame



Bu bölümde T-SQL kod'larınızı ekleyeceğiniz kategori isimleri tutulur. Sınırsız sayıda kategori ismi oluşturup bu kategori isimleri altına T-SQL kod'larınızı ekleyebilirsiniz.


 


A. Kategori Eklemek


Kategori eklemek için yapmanız gereken sol frame altındaki "Artı" şeklindeki icon'a tıklayıp açılan menü'den New Category 'yi seçmeniz gerekmektedir.


New Category 'ye tıkladıktan sonra sol frame'in üstünde kategori ismini girebileceğiniz bölüm gösterilir. Bu bölüm içerisinde kategori ismi girilerek yeni kategori yaratılır.


 


B. Kategori İsmini Yeniden Adlandırmak


Kategori ismini değiştirmek için kategori ismine sağ tıklayarak açılan menü'den Rename Category 'yi seçmek gerekmektedir.


Rename Category 'ye tıkladıktan sonra Sol frame'in üstünde kategori ismini değiştireceğiniz bölüm gösterilir. Bu bölüm içerisinde yeni kategori ismi girilerek eskisi ile rename edilir.


 


C. Kategori İsmini Silmek

Kategori ismini silmek için silmek istediğiniz kategorinin üstüne sağ tıklayarak Remove Category 'yi seçmeniz gerekmektedir.


Remove Category 'ye tıkladıktan sonra açılan uyarı mesajına "Yes" olarak tıklandığında seçilen kategori ve o kategori içerisindeki bütün T-SQL kod'lar silinecektir.


 


D. Kod Eklemek

Kategori içerisine kod eklemek için "Artı" şeklindeki icon'a tıklayıp açılan menü'den New Snippet 'i seçmeniz gerekmektedir.


Kod eklemek için bir diğer yol kategori isimleri üzerine sağ tıklayarak açılan menü'den New Snippet 'i seçmektir.


New Snippet 'e tıklandığında yeni kod bloğunun ekleneceği alan sağ frame'de belirir.


Snippet Name yazan alana T-SQL kodunuzun ismini yazmalısınız. Bu ismi sizin için anlamlı bir isim olarak verirseniz filtrelemede yardımcı olacaktır. Snippet Description yazan alana T-SQL kodunuzun açıklamasını girmelisiniz. Bu açıklama ekleyeceğiniz kod bloğu hakkında size açıklayıcı bilgi niteliğindedir. Açıklama bölümünün altındaki ComboBox'da ise bu kod bloğunu hangi kategori altına ekleyeceğinizi seçersiniz. ComBox 'ın altında ise ekleyeceğiniz kod bloğunun yazılacağı alan vardır.

MySnippet içerisinde kod'larınız tamamen highlighted olarak gösterilir. SSMS üzerinde kod'larınızı hangi renklerde görüyorsanız MySnippet içerisinde de aynı şekilde kod'larınızı yazmaya başladığınızda keywork'ler renklenecektir.

 


E. Yeni Veritabanı Yaratılması


MySnippet içerisinde kodlarınızı birden fazla veritananı içerisinde barındırabilirsiniz. Bunun için sol frame'in en altında bulunan Ayarlar icon'una tıklayarak Create New Database demeniz gerekmektedir. Yaratılan yeni veritabanı iki örnek kategori ismi ile yaratılır.


 


F. Veritabanı Dosyalarının Çağrılması

Önceden oluşturulmuş veritabanı dosyalarının MySnippet'e load edilmesi için sol frame'in en altında bulunan Ayarlar icon'una tıklayarak Load Database demeniz gerekmektedir. *.ygt uzantılı dosyalar MySnippet'in veritabanı dosyalarıdır. *.ygt uzantılı dosyaları açılan pencerede load ettiğinizde MySnippet restart olacak ve artık seçtiğiniz veritabanı üzerinden çalışacaktır. Veritabanı dosyalarının *.ygt olması MySnippet uygulamasının ilk olarak kendim için yazmaya başlamış olmamdan ötürüdür.



 

 



2. Sağ Üst Frame

Sağ üst frame'de kategorilere tıkladıkça içerisindeki T-SQL Kod'larınızın isimleri listelenir.


 


A. Kod Bloklarının Editlenmesi

Eğer mevcut T-SQL kodunuzu değiştirip yeni version olarak kaydetmek istiyorsanız, sağ üst frame içerisinde editlemek istediğiniz kod bloğunuza sağ tıklayarak Edit Snippet demeniz gerekmektedir.


Edit Snippet 'e tıkladıktan sonra karşınıza editlemek istediğiniz kod bloğunuzun değiştirileceği ekran gelir.


Bu ekranda yapacağınız değişiklikler kod bloğunuz için yeni version olarak atanacaktır.

 



B. Kod Bloklarının Silinmesi

Kod bloklarını silmek isterseniz sağ üst frame içerisinde silmek istediğiniz kod bloğunuza sağ tıklayarak Remove Snippet demeniz yeterli olacaktır.


Remove Snippet 'e tıkladığınızda karşınıza bir uyarı mesajı çıkacaktır. Bu uyarı mesajında sileceğiniz kod bloğunun bütün revizyonları ile beraber silineceğinin ve geri dönüşünün olmadığı bildirilir. "Yes" derseniz kod bloğunuz önceki revizyonları ile beraber silinecektir.



 

 



3. Sağ Alt Frame


 

Sağ alt frame'in en üstünde kod bloğunuzun adı hemen altında ise açıklaması yer alır. Bir alt bölümde ise kod editörünün toolbar'ı vardır. Bu toolbar içerisindeki objeler aşağıda açıklanmaktadır.

 


A. Find


Kod bloğu içerisinde istenilen aramayı bu bölümde gerçekleştirirsiniz. Find 'a tıkladığınızda karşınıza ufak bir ekranda arama kriterleri belirir. Bu kriterler doğrultusunda arama gerçekleştirebilirsiniz. Örn: Regex


 


B. Export


Export kısmında T-SQL kod bloğunuzu ister SQL dosyası ister HTML dosyası olarak kaydedebilirsiniz.



 


C. Print


Kod bloğunuzu bu bölümde yazdırmanıza olanak sağlanmıştır.


 


D. Compare Revisions


Compare Revisions 'a tıkladığınızda eğer kod bloğunuzu ilk eklenmesinden sonra en az bir kere edit'lediyseniz yeni bir pencerede satır satır revizyonlarınız incelenir.


Açılan ekranda silinen ve yeni eklenen satırlar ayrı renklerde belirtilir. Revision adındaki ComboBox 'dan önceki revizyonlarınızı seçerek bu ekranda satır satır incelemenize olanak sağlanmıştır.

 

 


Filtrelemeler


Hem kategori hem de Kodların isimlerinin listelendiği bölümlerin üstünde filtreleme alanları vardır. Bu alanlar kullanılarak detaylı olarak filtreleme gerçekleştirilebilir.


yorum yaz
Yavuz Filizlibay

Yavuz Filizlibay


18.07.2014 10:00


Teşekkürler, elinize sağlık.

İsmail Hakkı ŞEN

İsmail Hakkı ŞEN


18.07.2014 11:09


Teşekkürler. Buna benzer herhangi bir yazılım kullanmıyordum. Sql kodlarını metin dosyalarında saklıyordum.

Mehmet Salih Deveci

Mehmet Salih Deveci


18.07.2014 17:02


Paylaşım için teşekkürler Abi.

serdar toprak

serdar toprak


21.01.2015 14:10


çok faydalı bir tool olmuş.Fakat ben şuan işte Araxis Merge kullanıyorum bu tooluda tavsiye ederim.

Yiğit Aktan

Yiğit Aktan


26.01.2015 12:39


Tesekkurler. Araxis Merge'i biliyorum. Eskiden onu da kullanmistim. Araxis Merge sadece diff almak icin faydali. MySnippet'i yapmamdaki neden asil SQL script'lerin store edildigi basit, kucuk ama istenildiginde kullanisli bir arayuzden yonetimi. Araxis Merge 'de ki gibi diff ozelliginide ekledim. Ara ara gelistirmeye devam ediyorum. Yeni version cikarttikca uygulamayi actiginizda yeni version uyarisi cikacaktir.

Ömer faruk Güçlü

Ömer faruk Güçlü


31.01.2015 23:32


Yiğit bey, elinize sağlık. Gerçekten hem başarılı, hem de görsel olarak çok estetik bir araç olmuş. Ben kategorilerde bir hiyerarşi (sınırsız veya en az 2 seviyeli) olmasını önereceğim. Böylece kategorileri daha anlamlı olarak gruplayabiliriz. Bir de Find ve Export arasında bir Copy butonu koyup, tek tıklama ile kodu kopyalabiliriz. Ancak bunlar sadece kullanım kolaylığı açısından benim önerilerim. Yoksa gerçekten arayüzü çok beğendim ve program benim bir ihtiyacımı başarılı olarak karşılıyor.

Ömer faruk Güçlü

Ömer faruk Güçlü


05.02.2015 10:12


Yiğit bey, Programı bir kaç gündür kullanıyorum. İnternette benzer işleri yapan programlar var, ancak bu araç hepsinden başarılı. Daha önce kategorilerde hiyerarşi olabilir mi diye önermiştim. Bir kaç günlük kullanım sonunda, epey snippet kaydettiğim için, şimdi de search sorunu oluştu. Kategoride ayrı, snippet içinde ayrı arama yapmaktansa, tüm kategorilerde ve snippetlar içinde tek arama yapmak mümkün olabilir mi?

Yiğit Aktan

Yiğit Aktan


05.02.2015 12:54


Omer Bey merhaba, kusura bakmayin ancak yazabiliyorum. Onerileriniz icin tesekkur ederim. Dediginiz treeview yapisi tabikide olabilir. Ben MySnippet'i tasarlarken kullanimi kolay flat bir tasarim olsun istedim. Dikkat ettiyseniz hemen hersey flat gorunumdedir. Dediginiz yapi uygulanabilir. Nekadar modifikasyon gerekir ona bakmam lazim. Alt yapi ve code'larin store edilmesi komple degismesi demek. Copy buttonu kolay. Onu bir sonraki release'e eklerim. Search tarafina gelince dediginiz olabilir. Onuda ekleyebilirim. Bilmiyorum sizin nekadarlik snippet ve kategoriniz var. Ornegin benim lokalimde 40 dan fazla kategori ve 500 den fazla snippet var. Hal bole olunca sadece kategorileri search ettirmenizde bazi durumlarda gerekiyor. Herzaman direkt snippet aramiyorsunuz. O yuzden simdilik bence bole kalsin. Aslinda uygulamanin kullanim orani konusunda bir bilgim yok suanda. Eger bir kitleye yayildiysa ve aktif kullaniliyorsa online bir modul eklemek istiyorum. Ornegin istediginiz kategorileri publish ettiginizde bu uygulamayi kullanan kisilerin ekranina o kategori belirecek isterlerse accept edip kendilerine ekleyecekler. Mevcut snippet uzerinde bir degisiklik yaptiklarinda o versionu sizde goreceksiniz isterseniz siz de kendinize o versionu ekleyebileceksiniz. Kafamda bole birsey var ama acikcasi bu zaman alacak bir modul. Bu tarz uygulamalari ilk kendim icin yazmaya basliyorum sonra kullanisli olursa disariyada publish ediyorum. Bu da onlardan biri :)

Ömer faruk Güçlü

Ömer faruk Güçlü


06.02.2015 10:24


Yiğit bey, Bende de yaklaşık 10 kategoride 100' e yakın snippet var. Ben sadece SQL değil, mesela Excel makroları gibi bilgileri de ekliyorum. Programınızın ne kadar yaygın kullanıldığını bilmiyorum ancak epey tool denedim ve sizinki kadar başarılı olanı bulamadım. Benim önerilerimde doğal olarak benim ihtiyaçlarıma yönelik. O yüzden daha çok önerim olacaktır size :) Online modül ise gerçekten çok iyi bir fikir. Paylaşılan ortak kodların çok büyük fayda getireceği aşikar. Zaten bu sitedeki yazarlar gibi bilgiyi paylaşan insanlar sayesinde bizler de yeni şeyler öğreniyoruz. Benim yeni önerilerim ve görebildiğim aksaklıklar ise şöyle: 1- Snippet' ları türkçe karakterlerle save edemiyoruz . 2- Bir snippet' ı edit etmek istediğinizde, name ve description alanlarında düzeltme yapamıyorsunuz. 3- Yeni bir snippet create ederken, mesela description alanını boş bırakırsanız, program bir uyarı vererek komple atıyor sizi. 4- Program genelinde, font tipi ve size' ı seçilemiyor. 5- Name ve description alanlarının uzunlukları bazen yeterli gelmiyor. 6- Snippet' lara dosya attach edilebilir. Mesela, bir resim, bir text ya da excel dosyası vs. Bu dosyaların, program içinden preview edilmesi gerekmez. Dosyaya tıklayınca ilgili program ile dosya açılır. Emeğiniz için teşekkürler, elinize sağlık.

Yiğit Aktan

Yiğit Aktan


06.02.2015 13:56


Omer Bey merhaba, onerilerinizdeki maddelere cevaplarim su sekilde: 1- Bu olabilir. Bazi durumlarda TR karakterler problem yaratiyor diye onlari en basta exclude etmistim. Bir de ben 10 senedir TR klavye kullanmiyorum. O yuzden bana o an normal gelmisti. Degistirebilirim. Ama DB'niz icerisinde onceden girilen yazilar icin ne yapabiliriz dusunmek lazim. 2- Evet. Bu benide rahatsiz eden bir durum. Ama ilk XML DB tarafini tasarlarken Name ve Desc ile sorgulama yaptigimdan bunlarin editlenmesini disabled etmistim. Eger yapiyi relational ID yapsina gore degistirirsem bnunu da ekleriz. 3- Uyariyi verdirip attirmamayi yaparim. Bunu neden bole yaptim bende anlamadim suan gordum :) 4- Standart olmasindan yanayim. Bu bole kalsin. 5- Arttirilabilir, fakat neye gore, kime gore nekadar uzunluk belirlemek lazim? Onu dusunmem gerek. Belki calistigi uygulamanin screen resolution'ini alip MySnippet'in o an ki size'ini hesaplayarak birseyler yapabilirim. 6- Bunu bende dusundum ama bunu MySnippet database'i altinda tutamadiginizdan daginik bir yapi olacaktir. Ayni directory icerisinde cok fazla dosya kirliligi olabilir. Ama bunun icin bir RC versionu cikartabilirim. Isterseniz MySnippet'in tester'i olun. Bu uygulamanin son kullanicida bukadar ilgi cekici oldugunu bilsem en bastan cok daha iyi birsey yapardim :) Bir de ben developer degilim. Bir senior developer kadar know-how'im yok. Kendime yetecek kadar bilgim dogrultusunda yaziyorum :)

Ömer faruk Güçlü

Ömer faruk Güçlü


09.02.2015 16:49


Yiğit bey, Seve seve tester olurum. Çünkü gerçekten çok işime yaradı bu araç. Halen aktif olarak kullanıyorum ve snippet sayısı gün geçtikçe artıyor. "uygulamanin son kullanicida bukadar ilgi cekici oldugunu bilsem en bastan cok daha iyi birsey yapardim" cümlesi yanlış olmuş bence. Çünkü uygulama zaten çok iyi. Benim gördüğün eksiklikler sadece kullanım kolaylığına yönelik, yoksa yapısal olarak program yapması gerekeni yapıyor.

Üye Girişi

Kullanıcı Adınız

Şifreniz

Şifremi Unuttum

Arkadaşına Tavsiye Et

Tavsiye edebilmek için siteye giriş yapmalısınız