Dzisiejszy wpis w tematyce startupowej. Opiszę sześć najważniejszych cech, które według mnie powinno posiadać dobre MVP. Jeśli masz w planach lub pracujesz nad własnym projektem ten post jest dla ciebie obowiązkowy MVP (ang. minimum viable product) – jest to wersja produktu, która posiada minimalne funkcjonalności, umożliwiające wprowadzenie na rynek. Ta wersja ma zweryfikować przydatność twojego produktu, z...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
W poprzednich częściach znęcałem się nad biblioteką ClrMd i zawartym w niej niedopatrzeniu – poważnym problemie z deadlockiem. Korzystając, że jest to Open Source dostępny na GitHubie, czuję się w obowiązku spróbować dostarczyć oficjalną poprawkę. A to świetna okazja do napisania artykuliku o tym, jak to formalnie przeprowadzić.
Daj się poznać 2016 3129 dni, 15 godzin, 55 minut temu 83 źrodło rozwiń
Post/Redirect/Get or PRG in short is a common pattern used amongst many web applications, that was designed to prevent duplicate submissions of the forms. Not using such pattern may result e.g. in multiple transactions by POSTing the same form twice, which is something that we definitely do not want to see in our applications. Although, it’s quite easy to be implemented in it’s purest form, it’s a little bit more tricky if we want to save the input data provided by the user (let’s say the form has a lo...
Daj się poznać 2016 3154 dni, 21 godzin, 12 minut temu 157 źrodło rozwiń
Cześć! Dziś wpis, który powstał przez przypadek. Jak mawia stare chińskie przysłowie: There are only two hard things in Computer Science: cache invalidation and naming things. Taaaak, każdy to zna 😉 Pytania o to jak nazwać zmienną, metodę czy klasę to standard jeśli chodzi o programowanie. Wynika to z kilku rzeczy. Po pierwsze chcemy mieć pewność, że nazwa dokładnie oddaje istotę danego „bytu”, po drugie każdy ma swoje standardy nazewnictwa, które mogą nie być tak oczywiste dla innych jak dla n...
Daj się poznać 2016 3156 dni, 20 godzin, 19 minut temu 147 źrodło rozwiń
Projekt MemoryVisualizera toczy się w kilku wątkach, ale jak na razie dość mało poświęciłem jednemu z najważniejszych - analizy pamięci. Planuję bardziej rozbudowany post o tym jak można się do pamięci dobrać i co tak naprawdę siedzi pod spodem. Na razie jednak jako "zajawkę...
Daj się poznać 2016 3157 dni, 18 godzin, 29 minut temu 35 źrodło rozwiń
W rozwoju każdego oprogramowania przychodzi ten moment, że zdarza się pierwszy bug. Potem są już kolejne. No i ja mam za sobą ten etap – aż z wrażenia założyłem Issue we własnym projekcie...
Daj się poznać 2016 3157 dni, 18 godzin, 29 minut temu 37 źrodło rozwiń
MVC jest królem! Z modelu, przez kontroler, do widoku! Mówili. Słuchaliśmy. Polegliśmy. Niezależnie od wykorzystywanej technologii czy frameworka: jeżeli “dziubiesz webówki” to prawdopodobnie działasz w MVC. I to “C” może reprezentować różne pojęcia. Czasami jest to Controller, czasami Module, czasami coś jeszcze innego.
Sztuka programowania 3152 dni, 21 godzin, 27 minut temu 263 źrodło rozwiń
21/04/2016 ~ Powrót Praca wre, coś się kompiluje, coś się linkuje coś się uruchamia, a coś nie. Tym czymś na „nie” była (była bo już rozwiązane) baza mssql. Problem który napotkałem wyglądał tak:Geneza: Chce aby oprócz śledzenia kanałów z RSSami, użytkownik śledzić mógł też poczynania innych użytkowników. Aby tego dokonać potrzebuje gdzieś w bazie danych posiadać klasę/tabelę, która będzie trzymać informację o tym kto i kogo obserwuje. Uproszczona klasa użytkownika prezentuje się ta...
Daj się poznać 2016 3161 dni, 21 godzin, 22 minuty temu 93 źrodło rozwiń
Jak już nie raz wspominałem, chciałbym by sercem MemoryVisualizera był język zapytań oparty o Cypher, a właściwie leżąca pod spodem baza grafowa Neo4j. Ma mi to zapewnić dużą ekspresyjność zapytań oraz (mam nadzieję) dużą szybkość działania. Tutaj pojawia się pewien drobny temat do przemy...
Daj się poznać 2016 3160 dni, 21 godzin, 19 minut temu 96 źrodło rozwiń
W dzisiejszym poście powiem nieco więcej na temat kodu przedstawionego w poprzednim wpisie oraz pokaże fizyczny układ do testowania danego kodu wykorzystując studenckie Visual Studio 2013 Jak zapowiedział w poprzednim poście dziś omówię w bardziej szczegółowy sposób kod napisany w języku C, który wgrałem do swojego mikrokontrolera AVR. Nie tracąc waszego czasu przejdę do konkretów. Pierwszą funkcją jaką napisałem jest funkcja inicjalizująca UART. Dla przypomnienia: void uart_init (void) {...
Daj się poznać 2016 3195 dni, 19 godzin, 4 minuty temu 95 źrodło rozwiń
Implementacja INotifyPropertyChanged w aplikacjach wykorzystujących MVVM potrafi przysporzyć o niemały ból głowy. Redundantny kod, monotonia zapisu, rozwlekłe klasy, a wszystko to opatrzone niezliczoną ilością niepotrzebnego kodu. Wraz z ewolucją języka i rozwojem bibliotek starano się optymalizować użycie tego mechanizmu poprzez coraz to nowocześniejsze rozwiązania. Lambdy, refleksje, wykorzystanie atrybutu [CallerMemberName] z C# 5.0 – wszystko to jedna...
Daj się poznać 2016 3197 dni, 16 godzin, 5 minut temu 197 źrodło rozwiń
Korzystając z Entity Frameworka warto zwracać uwagę na sposób pobierania danych. W przypadku, gdy nie będziemy ich modyfikować, a chcemy jedynie pobrać dane tylko do odczytu, przydatna okaże się metoda AsNoTracking(). Wywołanie metody skutkuje brakiem śledzenia danych przez kontekst. Dzięki temu nie marnujemy niepotrzebnie zasobów. Przyjrzyjmy się poniższemu przykładowi, w którym porównamy pobieranie danych z i bez metody AsNoTracking(). Na początek pobieramy dane standardowo. W tym celu modyfikujemy...
Daj się poznać 2016 3197 dni, 16 godzin, 5 minut temu 269 źrodło rozwiń
Napisany przez paweltymura on Swift to szybki, bystry czy chyży. Słowo to oznacza również sympatycznego ptaka jeżyka. Jest też samochód firmy Suzuki o tej nazwie i chyba do niego najbardziej podobny jest ten język. Taki trochę ciasny, mały i średnio dopracowany. Ale o co chodzi? Dowiecie się w artykule...
Daj się poznać 2016 3197 dni, 18 godzin, 47 minut temu 182 źrodło rozwiń
Co to jest kontener IoC? IoC czyli Inversion of Control lub też odwrócenie zależności, brzmi bardzo ogólnie, ale co się pod tym kryje? Możemy tutaj zaliczyć wzorzec fabryki, service locatora (lub też antywzorzec), czy też dependency injection i na tym ostatnim się skupimy. Wzorzec ten może zostać zaimplementowany np. poprzez: constructor injection, property injection, jednak najbardziej sensowny jest ten pierwszy sposób. Polega on na wstrzyknięciu zależności poprzez konstruktor. Kontener IoC ma nam...
Daj się poznać 2016 3190 dni, 20 godzin, 50 minut temu 227 źrodło rozwiń
W poprzedniej części opisałem wymagania wobec projektu MemoryVisualizer. Teraz pora przejść do konkretów, czyli technologii. Dla przypomnienia, piszę narzędzie, które pozwoli za pomocą jakiegoś języka zapytań wizualizować pamięć procesu .NETowego.
Daj się poznać 2016 3211 dni, 12 godzin, 39 minut temu 95 źrodło rozwiń
Many of the programmers falls into the trap of creating too many unnecessary abstractions in code, that may introduce even more chaos and maintenance issues, instead of simplifying overall project structure and providing some real benefit. One of such abstractions, that have been discussed countless number of times, is the (one and only) repository pattern.
Architektura 3211 dni, 6 godzin, 4 minuty temu 238 źrodło rozwiń
← Tradycyjny Hello WorldOpublikowano, autor:Tomasz J Pewnie większość z czytelników nie ma pojęcia czym jest i do czego służy język R ? Zacznijmy więc od podstaw. Język R to interpretowany język stworzony specjalnie w celu ułatwienia obliczeń matematycznych, statystycznych i wizualizacji wyników. Szczególną popularnością cieszy się w publikacjach bioinformatycznych. Czas na konkrety. Zaczerpniemy tutaj wiedzy z wpisu na temat języka R w polskiej wersji Wikipedii. https://pl.wikipedia.org/wiki/R_...
W ostatnich dwóch wpisach pokazałem zasady działania modelu aktor. W kolejnych postach będę korzystał już z Akka.net zamiast pseudokodu. Dzisiaj czysty opis podstaw API – bez konkretnego problemu do rozwiązania. Akka.net można zainstalować w formie pakietu Nuget: Install-Package Akka
Programowanie rozproszone 3315 dni, 11 godzin, 59 minut temu 289 źrodło rozwiń
Sprawa komunikowania klienta w usłudze WCF pracującej jako RESTful może nie być proste na pierwszy rzut oka, jednak chwila googlingu i sprawa okazała się banalna. Jak skonfigurować usługę WCF żeby działała jak RESTful? Nasz interfejs, oraz usługa wygląda mniej więcej tak: Interfejs: [ServiceContract] public interface Iv1 { [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = We...
Architektura 3315 dni, 11 godzin, 59 minut temu 177 źrodło rozwiń
Z SQL Injection jest jak z polio czy odrą: w drugiej dekadzie XXI wieku możemy o nim zapomnieć. Wystarczy się zaszczepić, czyli: nie sklejać ręcznie poleceń SQL. Prawda? “Użyj parametrów z ADO.NET, a będzie cacy” – mówili. “Użyj Simple.Data, a złęgo obawiać się nie musisz” – mówili. Ależ kłamali! Jakież przeogromne było moje zdziwienie, gdy niedawno dostałem buga mówiącego, iż “coś dziwnego się dzieje jeśli w nazwie rekordu wstawi się apostrof”. WTF, jak to? Oczywiście sugestią naprawienia błędu od str...
Bazy danych i XML 3371 dni, 19 godzin, 23 minuty temu 278 źrodło rozwiń