[PostgreSQL] Znakowe typy danych

Często się zdarza, że programista jest zmuszony zmodyfikować istniejącą strukturę bazy danych bądź zaprojektować takową od podstaw. Definiując nową tabelę musi zastanowić się jakiego typu powinna być kolumna przechowująca określone dane. Jest to dosyć istotna decyzja, ponieważ jej skutki mogą być odczuwalne, w dotkliwy sposób, w późniejszym etapie realizacji projektu. Nieprzemyślana struktura bazy danych może doprowadzić do problemów wydajnościowych lub znacząco utrudnić (a nawet uniemożliwić w obecnej postaci) dalszą rozbudowę projektu.

Niniejszy wpis przedstawia i szczegółowo opisuje dostępne typy znakowe (character types) w PostgreSQL. Tekst dotyczy aktualnej stabilnej wersji 9.5.3, chyba że zostanie bezpośrednio wskazana inna wersja. Jednakże w większości przypadków, przedstawiona tutaj wiedza może zostać wykorzystana do pracy ze starszymi wersjami PostgreSQL.

Kontynuuj czytanie

[OneNote API + OAuth2] – Przykład

Niniejszy post, zgodnie z obietnicą, opisuje bardzo prostą aplikację webową, która wyświetla użytkownikowi listę jego notatników OneNote. Notatniki są pobierane przy użyciu odpowiedniego zapytania OneNote API, a proces uzyskania dostępu opiera się na protokole OAuth 2.0. Oznacza to, że użytkownik uzyskuje dostęp do swoich notatników dopiero po pomyślnym przejściu procesu uwierzytelnienia za pomocą swojego konta Microsoft.

Aplikacja jest typu proof of concept i ma za zadanie zobrazować mechanizm uwierzytelnienia i autoryzacji OAuth 2 w przypadku usługi OneNote API. Z tego względu zaleca się weryfikację kodu przed jego użyciem w produkcji, szczególnie pod względem bezpieczeństwa. Projekt o nazwie OneNoteNotebooks można znaleźć pod tym adresem:

https://bitbucket.org/mieczyk/onenotenotebooks

Kontynuuj czytanie

OneNote API – uwierzytelnienie i autoryzacja

Wprowadzenie

OneNote zapewnia bezpieczny dostęp do swoich notesów za pośrednictwem dwóch usług: konta Microsoft (znanego wcześniej jako Live Connect) oraz Azure Active Directory (AD). Oznacza to, że użytkownik korzystający z zewnętrznej aplikacji, aby otrzymać dostęp do notesów OneNote, musi pomyślnie przejść proces uwierzytelnienia, czy to za pośrednictwem konta MS, czy Azure AD.

Wybór odpowiedniego narzędzia zależy od rodzaju usługi OneNote. W przypadku notesów prywatnych, przechowywanych w usłudze OneDrive, dostęp uzyskuje się za pomocą konta MS. Do notesów biznesowych, dostępnych w usłudze Office365, powinno się korzystać z Azure AD. W obu przypadkach, do przeprowadzenia procesu uwierzytelnienia użytkownika, wykorzystuje się protokół OAuth 2.0.

Niniejszy wpis skupia się na uzyskaniu dostępu do notatników przechowywanych za pomocą usługi OneDrive, więc przedstawiony opis pokazuje, w jaki sposób można uwierzytelnić użytkownika, wykorzystując jego konto Microsoft. Jeśli chodzi o proces uzyskiwania dostępu do notatników Office365, za pomocą Azure AD, to więcej informacji można znaleźć w dokumentacji.

Każde żądanie/zapytanie wysłane do OneNote API musi zawierać prawidłowy token dostępu, przesyłany w nagłówku Authorization. Protokół OAuth 2.0, który jest implementowany przez wspomniane wcześniej usługi, określa sposób uzyskania takiego tokena.

Kontynuuj czytanie

OneNoteNotifier – plan działania

Po co planować?

Przed rozpoczęciem prac nad jakimkolwiek większym projektem, warto najpierw sobie wszystko poukładać w głowie, a później przelać to na papier (lub zapisać na innym dowolnym nośniku danych, jak kto woli). Dzięki temu będziemy mieli plan działania, który poprowadzi nas do określonego celu – w tym przypadku jest to działająca aplikacja, spełniająca swoją funkcję. Wystarczy tylko ów plan konsekwentnie realizować. Proste, prawda? Otóż nie do końca. Trudno jest bowiem ułożyć perfekcyjny plan realizacji, który pozostanie niezmienny do ostatniego etapu procesu tworzenia. Na szczęście nie o to chodzi. Plan nie musi być doskonały ani niezmienny. Plan może (a nawet powinien) ewoluować, w zależności od różnych sytuacji napotykanych podczas implementacji poszczególnych części aplikacji. Ważne jest natomiast, aby główne cele zostały niezmienne i w końcu zrealizowane.

Kontynuuj czytanie

Ready, Steady, Go!

Już od dłuższego czasu planowałem założenie bloga technicznego, którego używałbym do porządkowania wiedzy i gromadzenia pomysłów. Pewnie jeszcze długo bym planował, gdyby nie impuls w postaci konkursu Daj Się Poznać 2016. Szczerze mówiąc, rywalizacja nie jest moim głównym celem i nie liczę na żadne nagrody, bo w porównaniu z niektórymi konkursowymi projektami, mój wydaje się być dosyć… nudny. Właściwie to nawet trudno mi przewidzieć, czy będę w stanie publikować wpisy i fragmenty kodu z wymaganą częstotliwością, jednakże jeśli uda mi się zainteresować choć kilku czytelników swoimi wypocinami, to już będzie dla mnie sukces.

Kontynuuj czytanie