BLOG

Epic Zone Technology

Introduction to Socket Programming to Build Backend for a Coin Ticker Screen

For Turkish Version, please click here.

We’ve started to research to build a backend for real time coin dashboard using socket programming. At the back of our mind, we may benefit from SignalR; but we are open for anything. We’ve chosen 15 articles & tutorials by using a search engine to have knowledge and experience about the subject. Here you are :

What is Web Socket

https://lnkd.in/dbxhAwFJ

Using the Binance WebSocket for the latest Bitcoin price

https://lnkd.in/dUk89UD

Building a cryptocurrency dashboard using Plotly and Binance API

https://lnkd.in/de7J6yFV

The client-server-peer-to-peer blockchain application

https://lnkd.in/dQGZHXwz

Build a cryptocurrency dashboard with React

https://lnkd.in/dyMvBJyY

Creating a Real-Time Bitcoin Ticker Dashboard in React

https://lnkd.in/d99PtCym

Building a Currency Ticker With NodeJS and Socket.io

https://lnkd.in/dx-D5JYm

Live demo :  https://lnkd.in/drNpNzZ7

Node.js WebSocket Programming Examples

https://lnkd.in/dVEGme6y

Build a Cryptocurrency Price Tracker in 5 Minutes

https://lnkd.in/d7YQ5mj6

Tutorial: Creating a Real-Time Bitcoin Ticker in JavaScript

https://lnkd.in/d6mSZwpG

Cryptocurrency Exchange Feed Handler

https://lnkd.in/dq4zCWS6

Messaging with Azure SignalR & ASP.NET 5

https://lnkd.in/dAqPSwUr

Azure SignalR Service | Azure Friday

https://lnkd.in/dsVdPfR2

Real-time web applications with ASP.NET Core SignalR

https://lnkd.in/dxsB2zpk

Bring serverless apps to life with Azure SignalR Service – THR3008

https://lnkd.in/daZwHEH4

Build Real-time Applications with ASP.NET Core SignalR

https://lnkd.in/dZFfqCFN

Use Azure SignalR Service to decrease complexity and increase scalability

https://lnkd.in/dEm6cGQ9

Coin Fiyat Değişim Ekranı Backend’i için Soket Programlamaya Giriş

Yazının İngilizcesi için lütfen tıklayınız.

Soket üzerinden gerçek zamanlı bir coin dashboard backend’ini hazırlamak için araştırmalara başladık. Aklımızın bir köşesinde SignalR’dan faydalanmak var ama her şeye açığız. Konu hakkında bilgi sahibi olmak ve deneyimlemek için arama motorundan 15 tane makale & tutorial seçtik ve sizinle de paylaşmak istedik. Buyrun :

Web Socket Nedir?

https://lnkd.in/dbxhAwFJ

Güncel Bitcoin Fiyatlarını Elde Etmek için Binance WebSocket Kullanmak

https://lnkd.in/dUk89UD

Plotly ve Binance API Kullanarak Kripto Para Portali Geliştirmek

https://lnkd.in/de7J6yFV

İstemci-Sunucu Bir Uçtan Diğer Uca Blok Zincir Uygulaması

https://lnkd.in/dQGZHXwz

React ile Kripto Para Portali Geliştirmek

https://lnkd.in/dyMvBJyY

React ile Gerçek Zamanlı Bitcoin Değişim Portali Oluşturmak

https://lnkd.in/d99PtCym

NodeJS ve Socket.io Kullanarak Döviz Değişim Ekranı Geliştirmek

https://lnkd.in/dx-D5JYm

Live demo :  https://lnkd.in/drNpNzZ7

Node.js ile WebSocket Programlama Örnekleri

https://lnkd.in/dVEGme6y

5 Dakikada Kripto Para Fiyat Takip Ekranı Geliştirmek

https://lnkd.in/d7YQ5mj6

Öğretici Başlangıç : JavaScript ile Gerçek Zamanlı BitCoin Fiyat Takip Ekranı Oluşturmak

https://lnkd.in/d6mSZwpG

Kripto Para Değişim Besleme İşleyicisi

https://lnkd.in/dq4zCWS6

Azure SignalR ve ASP.NET 5 ile Mesajlaşma

https://lnkd.in/dAqPSwUr

Azure SignalR Service | Azure Friday

https://lnkd.in/dsVdPfR2

ASP.NET Core SignalR ile Gerçek Zamanlı Web Uygulamaları

https://lnkd.in/dxsB2zpk

Azure SignalR Service ile Sunucusuz Uygulamalar Hayata Geçirmek

https://lnkd.in/daZwHEH4

ASP.NET Core SignalR ile Gerçek Zamanlı Uygulamalar Geliştirmek

https://lnkd.in/dZFfqCFN

Kompleksiteyi Azaltmak ve Ölçeklendirmeyi Yükseltmek için Azure SignalR Service Kullanmak

https://lnkd.in/dEm6cGQ9

Detecting Index Fragmentations of Indexes on Microsoft SQL Server Tables/Views

For Turkish version, please click here.

When a table gets insert/update/delete, indexes are constantly fragmented. If the fragmentation pct. is high, indexes can reduce query performance. One of the important part of database maintenance is detecting fragmentation.

We can list the fragmentations by using Dynamic management views and functions on SQL Server. If the percentage is above 30%, rebuild the index (alter index indexName on tableName rebuild), if the percentage is between 10 and 30, reorganize the index (alter index indexName on tableName reorganize).

Don’t forget to rebuild the index with ONLINE option which makes the related table accessible while index maintenance process is being held on it ( …rebuild WITH (ONLINE = ON) ).

SELECT  
OBJECT_NAME(i.OBJECT_ID) AS [Table Name], 
i.name AS [Index Name], 
ips.index_type_desc AS [Index Type],
ips.page_count AS [Page Count],
ips.avg_fragmentation_in_percent AS [Fragmentation Pct]

FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) ips
INNER JOIN sys.indexes i ON i.object_id = ips.object_id AND i.index_id = ips.index_id

where — you can comment out all 3 filters
i.is_disabled = 0 AND –only active indexes 
ips.index_type_desc != ‘HEAP’ AND –only tables which have clustered index
ips.page_count > 40 –don’t include indexes which have small page count

ORDER BY [Fragmentation Pct] DESC

Microsoft SQL Server üzerinde Index’lerin Bozulma Oranlarını Görüntüleme

Yazının İngilizcesi için lütfen tıklayınız.

Bir tablo insert/update/delete aldığında, o tablodaki index’ler sürekli bozulur. Eğer bozulma yüzdesi yüksekse, index’ler sorgu performansını düşürmeye başlar. Veri tabanı bakımının önemli adımlarından bir tanesi, index’lere rebuild/reorganize işlemlerini uygulamadan önce index’lerin bozulma oranlarını tespit etmektir.

Microsoft SQL Server üzerinde yer alan dynamic system view ve function’lar kullanılarak index’lerin bozulma oranlarını listelemek mümkündür. Bu sorguyu aşağıda bulabilirsiniz.

Bir index için bozulma oranı %30’un üzerinde ise rebuild (alter index indexName on tableName rebuild); bozulma oranı %10 ile %30 arasında ise reorganize edilir (alter index indexName on tableName reorganize).

Bir index’in rebuild işlemi devam ederken üzerinde bulunduğu tablonun diğer sorgulara cevap vermeye devam etmesini isterseniz, ONLINE opsiyonunu kullanmayı unutmayın (…rebuild WITH (ONLINE = ON) )

SELECT  
OBJECT_NAME(i.OBJECT_ID) AS [Tablo Adı], 
i.name AS [Index Adı], 
ips.index_type_desc AS [Index Tipi],
ips.page_count AS [Indexin Sayfa Sayısı],
ips.avg_fragmentation_in_percent AS [Bozulma Yüzdesi]

FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) ips
INNER JOIN sys.indexes i ON i.object_id = ips.object_id AND i.index_id = ips.index_id

where 
i.is_disabled = 0 AND –sadece aktif indexler
ips.index_type_desc != ‘HEAP’ AND –sadece clustered index’li tablolar
ips.page_count > 40 –küçük sayfa sayılı index’ler dahil edilmeyebilir

ORDER BY [Bozulma Yüzdesi] DES

Microsoft SQL Server Index Maintenance Scripts

For Turkish version, please click here.

It is important that maintain your indexes on tables and views in Microsoft SQL Server to get maximum performance from your database.

We recommend using Ola Hallengren’s SQL Server Maintenance Solution for rebuilding and reorganizing indexes and updating statistics by setting up an SQL Server Agent Job to excute this script periodically. It is supported on SQL Server 2008 and later versions along with Azure SQL Database and Azure SQL Database Managed Instance.

You can reach the script here : https://lnkd.in/djVAJS9

Microsoft SQL Server Index Bakım Script’leri

Yazının İngilizcesi için lütfen tıklayınız.

Veri tabanınızdan maksimum performans almaya devam etmek için tablo ve view’lerinizde yer alan index’lerin bakımlarını yapmamız önemlidir.

Bu işe yönelik bir SQL Server Agent Job kurarak düzenli olarak çalıştırılabilecek, index’leri reorganize ve rebuild yapıp istatistikleri güncellemesi için Ola Hallengren’in hazırladığı bakım çözümünü kullanmanızı öneririz. Bu çözüm SQL Server 2008 ve sonrasındaki bütün versiyonlarla birlikte Azure SQL ve Azure SQL Managed Instance’ı da desteklemektedir.

Index bakım script’ine şuradan erişebilirsiniz :
https://lnkd.in/djVAJS9

Enabling and Disabling an Index on Microsoft SQL Server

For Turkish version, please click here.

We sometimes need to disable an index; either before a bulk and large insert/update or we won’t use that index anymore according to the system statistics. To disable an index on a table, we use DISABLE keyword.

——————————————————————————
USE EpicZoneDatabase
GO

ALTER INDEX [IX_Production_CategoryId] ON [dbo.Production] DISABLE
GO
——————————————————————————

To enable the same index, I’ve seen a developer last week using the ENABLE keyword, which results in error.

Because an index cannot be only enabled after it is disabled; we must rebuild it. The following syntax will enable and rebuild the index.

——————————————————————————
USE EpicZoneDatabase
GO

ALTER INDEX [IX_Production_CategoryId] ON [dbo.Production] REBUILD WITH (ONLINE = ON);
GO
——————————————————————————

As an important side note, we better use ONLINE keyword while rebuilding an index, if it is an active hour for your system. ONLINE option allows other users can continue to update and query the data. If we perform rebuild offline, it holds exclusive locks on the table data and related indexes. This prevents modifications and queries to the underlying data until the index operation is complete; so you may encounter deadlocks on your SQL Server

Microsoft SQL Server Üzerinde Bir Index’i Pasife Çekmek ve Aktifleştirmek

Yazının İngilizcesi için lütfen tıklayınız.

Bazen büyük bir insert ya da update sorgusu çalıştırmadan önce ya da sistem istatistiklerine bakarak artık ihtiyaç olmadığına karar verdiğimizde bir index’i pasife çekmek isteriz. Bir index’i pasife çekmek için DISABLE anahtar kelimesi kullanırız.

——————————————————————————
USE EpicZoneDatabase
GO

ALTER INDEX [IX_Production_CategoryId] ON [dbo.Production] DISABLE
GO
——————————————————————————

Geçen hafta yaptığımız bir danışmanlık çalışması sırasında bir geliştirici, aynı index’i aktifleştirmek için ENABLE anahtar kelimesinin neden hata verdiğini ve bunun yerine ne kullanmak gerektiğini sordu.

Çünkü Microsoft SQL Server üzerinde bir index tek başına aktifleştirilemez; o index’i rebuild etmemiz gerekir. Aşağıda sorgu, ilgili index’i rebuild ederek yeniden aktifleştirecektir.

——————————————————————————
USE EpicZoneDatabase
GO

ALTER INDEX [IX_Production_CategoryId] ON [dbo.Production] 
REBUILD WITH (ONLINE = ON);
GO
——————————————————————————

Önemli bir ek not olarak eklemek isteriz ki, eğer sisteminiz için aktif saatlerde bu işlemi yapıyorsanız, index’i rebuild ederken ONLINE opsiyonunu eklemek iyi olacaktır. ONLINE opsiyonu, diğer kullanıcıların veriyi güncellemesine ve erişmesine izin verir. Eğer rebuild işlemini (daha az disk yeri kaplayarak ve işlemin daha hızlı tamamlanması için) offline yapmayı tercih ederseniz, tablodaki veriye ve ilgili index’e özel kilit koyulur. Bu durum, index işlemi tamamlanana kadar ilgili veride güncelleme yapılmasını (update) ve verinin elde edilmesinin (select) önüne geçer; nihayetinde de SQL Server üzerinde deadlock’lar ile karşılaşabiliriz.

Hello World!

For Turkish version, please click here.

We’ve started our journey as members at Epic Zone in April 2021.

Primary mission of Epic Zone is developing enterprise applications that your company needs. We create softwares using most especially Microsoft and open source technologies. A project is started after a detailed analysis, is maintained along with project management and is realized by a 15-year-experienced team.

Epic Zone can help your company keep project management, database programming and software development skills sharp and up to date with a target oriented learning content.

You can also get consultancy on performance tuning & optimization for Microsoft SQL Server and your legacy software.

We’ve already started to create epic project, we wish you join us. You can always contact us via [email protected] mail address and contact form in our web site

Merhaba Dünya!

Yazının İngilizcesi için lütfen tıklayınız.

Biz Epic Zone üyeleri olarak Nisan 2021’de işe koyulduk.

Öncelikli misyonumuz, şirketlerin ihtiyaç duyduğu kurumsal yazılımları geliştirmek. Microsoft ve Open Source teknolojileri kullanarak geliştirdiğimiz yazılımlar, son 15 yılda onlarca orta ve büyük ölçekli kurumsal proje geliştirmiş tecrübeli ekip ile hayata geçirilmektedir.

Yazılım, veri tabanı ve proje yönetimi konularında şirketinizin ihtiyacı olan gelişim noktalarına özel kurumsal eğitimler organize edilmektedir.

On-prem SQL Server ve eski yazılımların çalıştığı ortamlarda yaşanan performans problemleri için, Epic Zone’dan problemlerin tespiti ve çözümüne yönelik danışmanlık alabilirsiniz.

Biz epik projeler geliştirmeye başladık bile; bize katılmanız dileğiyle. [email protected] mail adresi üzerinden ya da web sitemizde yer alan iletişim formunu doldurarak bizimle her zaman iletişime geçebilirsiniz.

Powered by WordPress & Theme by Anders Norén