Wykresy? No to może warto użyć Live Charts?

Jeśli komuś nie wystarczają możliwości kontrolki Charts dostarczonej przez Microsoft wraz z Visual Studio to może sięgnąć po rozwiązanie dostarczane przez strony trzecie – takim rozwiązaniem jest Live Charts https://lvcharts.net/

Przy pomocy tego rozwiązania możemy stworzyć bardzo dobrze wyglądające wykresy, które z pewnością będą dobrze prezentować się w aplikacjach tworzonych przez nas. Co jest potrzebne? Jeśli korzystamy z VS (ja korzystam z VS2015) to pobieramy do naszego projektu paczkę Livecharts (albo Livecharts.Wpf) z Nuget Managera. Po zainstalowaniu możemy przejść do działania.
Czytaj dalej Wykresy? No to może warto użyć Live Charts?

Deserializacja klasy z XML

Odczyt stanu programu z poprzedniej sesji jest podstawową funkcjonalnością oprogramowania dzisiejszych czasów. Nikt chyba nie wyobraża sobie sytuacji gdy po zamknięciu programu i ponownym jego uruchomieniu trzeba wklepać wszystko od nowa. W tym wpisie pokażę jak odczytać dane, które zapisaliśmy (serializowaliśmy) do pliku XML.
Czytaj dalej Deserializacja klasy z XML

Serializacja klasy do XML

Pisząc program, choćby prostą aplikację „ToDo” chcielibyśmy zachować stan naszej aplikacji tak by po jej ponownym uruchomieniu odczytane zostało to, co wprowadziliśmy podczas poprzedniego uruchomienia. Możemy oczywiście użyć zapisów do bazy danych (w tym do SQLite, gdzie może to być baza plikowa), zapisów do plików z wykorzystaniem własnych formatów. Możemy także użyć zapisu do plików w formacie XML, o których pisałem już kiedyś. Zapisz do plików XML ma sporo zalet, choćby to, że są to pliki tekstowe i łatwe do odczytu, modyfikacji i przenoszenia pomiędzy systemami.
Czytaj dalej Serializacja klasy do XML

WCF – dobieramy się do danych na serwerze

WCF – Windows Communication Foundation, bo o tym będzie mowa to, to framework do budowania aplikacji zorientowanych na serwisy (service-oriented applications). Przy jego pomocy jest możliwe przesyłanie informacji od jednego endpointa serwisu do innego endpointa. Przykładowo może to być przesyłanie danych pomiędzy serwerem (gdzie będziemy mieć zaimplementowane zbieranie danych z urządzeń) a klientem, który będzie dane pobierał z serwera i prezentował je w formie graficznej.
Czytaj dalej WCF – dobieramy się do danych na serwerze

Konwencja nazewnicza w bazach danych

Projektując bazę danych na potrzeby projektu trzeba przyjąć jakąś konwencję tworzenia nazw obiektów bazy danych. Jeśli mamy konwencję firmową/klienta dla którego pracujemy to dylematu nie mamy. Jeśli nie mamy doświadczenia to poniższe zestawienie może pozwolić utworzyć swoją konwencję tworzenia nazw. To tylko przykłady, z których można skorzystać gdy jest taka potrzeba.

Uwaga: jeśli projekt nie zakłada inaczej stosujemy nazewnictwo angielskie

1. Konwencja nazewnictwa dla tabel i widoków w bazie danych:
– wykorzystujemy tylko małe litery w nazwach tabel
– jeśli nazwa jest wieloczłonowa korzystamy z kreski dolnej „_” do łączenia poszczególnych wyrazów w nazwie
– nie korzystamy ze znaków diakrytycznych w nazwach (ą, ł, ś itd. zostawmy sobie do pisania wierszy)
– nazwa powinna być znacząca i możliwie krótka
– nazwę widoku rozpoczynamy znakami „view_” czyli „view_nazwa_tabeli”;
– nie można używać słów zarezerwowanych przez bazę danych;
– nie stosujemy znaków specjalnych;

– do nazywania tabel stosujemy rzeczowniki w liczbie mnogiej;
Czytaj dalej Konwencja nazewnicza w bazach danych

MSSQL w wersji Express

Kilka informacji na temat SQLServera dla tych, którzy muszą go użyć a niekoniecznie znają różnicę pomiędzy wersjami.

https://msdn.microsoft.com/pl-pl/sqlserver2014express.aspx

LocalDB (SqlLocalDB)
——————————————-
LocalDB to uproszczona wersja produktu Express, która ma wszystkie funkcje programistyczne, ale działa w trybie użytkownika, ma szybką, niewymagającą konfiguracji instalację oraz krótką listę wymagań wstępnych. Jest przydatna dla użytkowników, którzy oczekują prostego sposobu tworzenia baz danych i pracy z nimi z poziomu kodu. Można jej używać w połączeniu z narzędziami do projektowania aplikacji i baz danych, takimi jak Visual Studio, ale można ją również osadzić w aplikacji, która potrzebuje lokalnych baz danych.

Express (SQLEXPR)
——————————————-
Wersja Express zawiera jedynie aparat bazy danych SQL Server. Najlepsza wersja do akceptowania połączeń zdalnych i zdalnego administrowania.
Czytaj dalej MSSQL w wersji Express

PLC i inne sprawy związane z automatyką (przemysłową?)

Jako, że ładny kawałek zawodowego życia związany jestem z automatyką aż dziw bierze, że do tego czasu nie zamieściłem na swoich stronach nic na ten temat. Jako, że strona jest w większej mierze poświęcona programowaniu to i o programowaniu będzie w postach zamieszczanych na tej stronie. Od czasu do czasu będę zamieszczał informacje na temat tego co mnie w danym momencie zainteresuje.

Na początek trochę o czytaniu danych ze sterownika PLC – kilka przykładów związanych z PLC Siemens S7-1200 oraz C#. Jak przy pomocy aplikacji napisanej w C# zrobić sobie mały system SCADA wykorzystując odpowiednie biblioteki do komunikacji z PLC.

Zapraszam do śledzenia i ewentualnego komentowania.

Certyfikat SSL dla domeny, za darmo

Chcąc uzyskać certyfikat SSL dla domeny niekoniecznie trzeba wydawać swoje lub cudze, ciężko zarobione pieniądze. Do pozyskania certyfikatu SSL może posłużyć nam https://letsencrypt.org/. Let’s Encrypt to wystawca certyfikatów, który udostępnia usługi wystawiania certyfikatów (za darmo). Od razu pewnie zastanowicie się dlaczego za darmo, skoro wasza firma hostingowa bierze za to kasę. Wasza firma bierze kasę za być może innego rodzaju certyfikat i za obsługę ;). Let’s Encrypt kasy nie bierze bo ma sponsorów i to zapewne jest powodem „darmowości”.

Wystawiany przez Let’s Encrypt certyfikat ważny jest przez 90 dni, po których trzeba go odnowić.

Na stronach Let’s Encrypt znajadują się informacje na temat tego w jaki sposób wygenerować certyfikat SSL a ja skupię się tylko na jednym rozwiązaniu umożliwiającym pozyskanie certyfikatu na komputerze z systemem Windows i późniejszym zainstalowaniu go w docelowej witrynie WWW. Tu na marginesie uwaga, że są operatorzy hostingowi, którzy z poziomu cPanela umożliwiają wygenerowanie certyfikatu i zainstalowanie do w danej witrynie www (niestety hosting, na którym jest między innymi i ta strona nie umożliwia tego).
Czytaj dalej Certyfikat SSL dla domeny, za darmo

SQLite w Visual Studio

Wiele aplikacji potrzebuje gromadzić dane na których może pracować po ponownym uruchomieniu. Można tego dokonać w najróżniejszy sposób – tworzyć własne formaty plików, w których dane będą zapisywane, można serializować obiekty do plików, można wreszcie zapisywać dane w bazach danych – w typ także plikowych. Tutaj właśnie pojawia się SQLite (https://www.sqlite.org/) czyli baza danych, która w wielu prostych zastosowaniach sprawdzi się doskonale. Nie trzeba będzie instalować specjalnej bazy danych (serwera baz danych jak przy MySQL, SQLServer czy Oracle) a wszystkie dane zostaną zapisane w pliku. Tyle tytułem wstępu.

Cały projekt w formie projektu VS2015 można pobrać stąd -> SQLiteWinForms

Czytaj dalej SQLite w Visual Studio

SQLite i kilka godzin straconych na poszukiwaniu rozwiazania

Zachciało się człowiekowi zrobić aplikację korzystającą z bazy danych SQLite jako tej najprostszej – bez instalowania, bez zbędnych śmieci. Visual Studio uruchomione, projekt założony, dodane paczki przez Nuget Package Managera (w tym SQLite). Fajnie wszystko działa – baza założona, zapisy idą do bazy. Wszystko OK. Czytaj dalej SQLite i kilka godzin straconych na poszukiwaniu rozwiazania