Zacząłem ostatnio pracować nad aplikacją do certyfikowania sędziów dla Polskiej Ligi Quidditcha. Postanowiłem napisać ją w F# i Suave, mając na celu zrobić jak najlepszą robotę pod względem bezpieczeństwa. Postanowiłem zaimplementować swój własny system sesji, który jest prostszy od gotowego w Suave.
Strona głównaUżytkownik
manio143 | użytkownik
O narzędziu CodeFormatter, służącym do formatowania projektów dotnetowych, działający z linii poleceń zarówno pod Windowsem jak i pod Linuxem pod Mono. Do tego napisałem skrypt instalujący go na Linuxie.
Czasem się zdarzy, że postanowicie upublicznić prywatne repo, ale znajdujecie w nim plik konfiguracyjny, w którym na sztywno wpisaliście swoje hasło, którego używacie też gdzieś indziej (o tym, że jest to problemem przeczytasz w moim artykule o hasłach). Jak w miarę prosty sposób usunąć lub zmienić to hasło w historii? Mówimy tu o repozytorium Git, najlepszego systemu kontroli wersji.
Miałem przyjemność polecieć do Stanów Zjednoczonych, do Seattle i wziąć udział w konferencji Microsoft Build. Jest to największa konferencja MS dla deweloperów, podczas której ogłaszają nowości, nad którymi pracują. Postanowiłem opisać całą moją przygodę oraz wybrane nowinki.
Każdy z nas używa haseł jako mechanizmu autenfikacji na setkach portali internetowych. Dużo się mówi o tym, że hasło powinno być bezpieczne. Ale wiele ludzi, w tym ja do niedawna, nie przejmuje się takimi detalami… W tej historii opowiem wam jak w ciągu kilku godzin zmieniłem moje nastawienie do haseł i podam kilka rad jak być bezpieczniejszym w sieci. Wszystko zaczęło się kilka dni temu...
Daj się poznać 2017 2752 dni, 5 godzin, 28 minut temu 162 źrodło rozwiń
W ostatnim poście mieliście szansę zobaczyć już jaką formę będzie miała moja funkcja przetwarzająca input z klawiatury. Teraz nieco wgłębimy się w temat. W klasie KeyboardInfo znajdziemy informacje o stanie naszej klawiatury...
Daj się poznać 2017 2801 dni, 4 godziny, 29 minut temu 29 źrodło rozwiń
Zależności określają, jak klasa lub moduł wykorzystuje inną klasę lub moduł. W zakresie globalnym biblioteki mają zależności, korzystając z funkcjonalności innych bibliotek. Tylko te zależności mogą się rozrosnąć i wprowadzić dodatkową złożoność w naszej aplikacji. W F# nie można tworzyć cyklicznych zależności ze względu na kolejność kompilacji kodu. Ale jak ich omijać podczas programowania?
Daj się poznać 2017 2805 dni, 4 godziny, 8 minut temu 66 źrodło rozwiń
Bardzo często pracując z cudzą biblioteką zetkniemy się z tym, że dane rozwiązanie jest szersze, bądź inaczej zrobione, niż to czego potrzebujemy. Dlatego warto napisać wrapper, czyli jakiś interfejs dostępu do funkcjonalności biblioteki, ale na naszych warunkach.
Daj się poznać 2017 2806 dni, 18 godzin, 17 minut temu 137 źrodło rozwiń
Czas zacząć pracę na grą Mars-Buggy. Moje posty będą miały nieco tutorialową formę, aby ułatwić mi samemu pracę z SadConsole w przyszłości. Zobaczymy jak zainstalować i uruchomić prostą aplikację, korzystającą z SadConosole.
Daj się poznać 2017 2812 dni, 18 godzin, 25 minut temu 51 źrodło rozwiń
Nadeszła kolejna edycja konkursu Daj Się Poznać i mimo iż początkowo byłem niechętny, żeby się zarejestrować, to w końcu jednak to zrobiłem. Ten post będzie wprowadzeniem do mojego projektu: Mars-Buggy, prostej gry konsolowej, którą chcę napisać w F#.
Daj się poznać 2017 2817 dni, 1 godzinę, 27 minut temu 18 źrodło rozwiń
Azure jest świetną platformą chmurową, ma dużo opcji i dość sensowny panel administracyjny. Jego główną wadą jest cena, choć dla dużych firm nie będzie ona stanowiła problemu. Studenci zaś mogą skorzystać z darmowej oferty Microsoft Azure for Students. Jednak aby uruchomić moją aplikację F# + Suave na Azurze musiałem się nieco namęczyć.
W ostatnim poście napisałem na końcu, że mój algorytm jest O(n^2). Co to właściwie oznacza? Problem złożoności obliczeniowej to pytanie “Jak długo mój algorytm będzie działał?” Najprostsza odpowiedź jest “To zależy”. Ale od czego?
Sztuka programowania 2825 dni, 15 godzin, 56 minut temu 151 źrodło rozwiń
Wpadłem ostatnio na pomysł, aby przeanalizować jakie pytania są najczęściej zadawane na StackOverflow. Ponieważ wiele słyszałem, jaki to F# jest pomocny w analizowaniu danych, to postanowiłem napisać w nim skrypt, który mi pomoże. Zacząłem od pobrania paczki FSharp.Data...
W programowaniu funkcyjnym pracuje się często znacznie bliżej matematyki, a co za tym idzie pewne pojęcia brzmią bardzo skomplikowanie choć wcale takie być nie muszą. Dziś zobaczymy czym jest monada oraz jak F# ułatwia nam korzystanie z monad przez wyrażenia komputacyjne.
Sztuka programowania 2830 dni, 13 godzin, 43 minuty temu 107 źrodło rozwiń
Mam konto na Twitterze od roku i nadal zadziwia mnie ilość informacji jaka przepływa przez niego każdego dnia. Odkąd prowadzę bloga, około raz w tygodniu wrzucam tweet z informacją o nowym poście. Do tego często rano, gdy jadę z rodzicami do Warszawy, to podczas gdy oni słuchają informacji w radiu, ja przeglądam mój feed. Jak się ma Twitter do programowania?
Ostatnio zacząłem pisać aplikację webową w F# i Suave, w której korzystam z bazy danych. Poniżej opiszę dwie metody, za pomocą których można się odwołać do danych z bazy. - SQLTypeProvider oraz Dapper
Bazy danych i XML 2856 dni, 4 godziny, 13 minut temu 68 źrodło rozwiń
Najpopularniejszym frameworkiem webowym dla aplikacji .NET jest ASP.NET MVC. Pracując w C# sprawdza się on się świetnie, ale bazuje na obiektowym paradygmacie programowania, co nie do końca współgra z funkcyjnym podejściem F#. Na szczęście jest Suave, który pozwala na proste i funkcyjne pisanie aplikacji w F#.
Wczoraj opisałem pusty projekt, który dostajemy w Visual Studio, tworząc projekt F# > Android. Dziś czas na zbudowanie krok po kroku naszej pierwszej aplikacji - prostej listy zadań.
Dziesiejszym rynkiem rządzą aplikacje mobilne. Zazwyczaj tanie (względnie), ale przy dużej ilości użytkowników twórcy zarabiają miliony. Dlatego warto umieć tworzyć aplikacje mobilne. A najlepiej tworzyć je na platformie, którą się zna i lubi - .NET
Życie jest pełne wyborów, ale czasem trzeba dodać “why not both?”. Uwielbiam .NET, jest prosty do opanowania, pozwala na szybkie tworzenie aplikacji i ma bogatą bibliotekę standardową. Jednocześnie lubię pracować na Linuxie, ponieważ mogę instalować aplikacje i biblioteki jednym poleceniem w terminalu, mam szeroki wybór powłok graficznych, jest często szybszy i zajmuje mniej miejsca na dysku niż Windows. Czy jestem w stanie pogodzić .NET i Linux? Tak!