Press "Enter" to skip to content

Kategoria: programowanie

Modyfikacja stringa w c#

Tak, lubię, jak okazuje się, że można zrobić coś, czego uczymy się że nie można tego zrobić.
Na przykład tego, że „strings are immutable”, albo jak kto woli, że łańcuchy znakowe są niezmienne. To znaczy jak mamy zmianę, to tak naprawdę tworzy się dla nas pod spodem nowy string. Czy to prawda? No jeżeli zamkniemy się do bezpiecznego kodu zarządzalnego to jest prawda, jednakże ogólnie da się zmodyfikować stringa, pod warunkiem że odtańczymy taniec szamana (użyjemy wskaźników), przeskoczymy nad ogniem (czyli nasz kod będzie w sekcji unsafe) i zagrozimy śmieciarzowi by trzymał się od naszej zmiennej z daleka (więc zablokujemy „wskaźnik” na stercie).
Więc zróbmy tak, by w naszym stringu poszło oczko.

U mnie działa – zależnie od maszyny

Po miesiącu wrócił do mnie z gwarancji lapek – w pełni sprawny i gotów do działania. Trzeba więc na powrót przenieść do niego wszelakie projekty. W tym… api webowe.
Zależało mi na selfhostowaniu – ktoś mógłby powiedzieć – przecież iis nie ma takich problemów. Ale to już serwer HTTP i tak ręka mi drży jak mam go odpalić, więc wolę nie, przynajmniej na razie.

Mówiłam już jak bardzo kocham projekty webowe? Między innymi dlatego.

 

InvalidOperationException: Unable to resolve service for type [INazwa] while attempting to activate [MojKontroler]

Mam taką manierę, że jak ogarnęłam jak się coś robi w jednym miejscu, czasami się rzucam na pałę i zbyt analogicznie próbuję to zrobić w drugim.
Bawiłam się w autofac pod desktopem i fajnie było, więc próbując uczyć się pisać webapi (pod kątem pisania pracy dyplomowej) postanowiłam że sobie też poużywam, bo zaczęło mi się podobać, że jak chcę użyć funkcji z innej klasy, to zamiast kombinować z tworzeniem klas z jej zależnościami, po prostu wrzucam interfejs w konstruktor i gotowe, mam całkiem świeży obiekt na moje potrzeby.

Także miałam sobie klasę z jedną metodą

U mnie działa – ale tylko pod debuggerem

Jedną z zalet tego, jak coś się robi jest to, że czasami coś udaje że działa. A jak to mówi mój wybranek życiowy – „Jak coś czasami nie działa, to to nie działa”. Także piszę sobie kod uczelniany typowo, i w którymś momencie, ten wg mnie „skończony” projekt próbuję odpalić poza debuggerem. I tak zaczyna się moja historia, bo okazuje się, że to NIE działa. No chyba że uruchomię poza debuggerem i potem debugger podepnę.

TypeInitializationException

Istnieje pewna klasa błędów, których rozwiązanie sprowadza się do edycji (lub przeniesienia) jednej linijki kodu. Do tych błędów należy ten, który udało mi się ostatnimi czasy popełnić (hmm… nie podam dokładnie kiedy, bo za cholerę nie jestem w stanie sobie przypomnieć daty urodzenia napisanego z rąsi ostatniego kawałku kodu). Ok, nie był do końca napisany ręcznie, bo użyłam snippetu „propdp”, który służy do genowania propert które sobie możemy użyć potem z poziomu XAMLa chociażby.

Niewiarygodne ale prawdziwe, odcinek 1

Mam takiego współpracownika, nazwijmy go piłkarz z gitarą, jako że wolał pozostać anonimowy (ale zezwolił na publikację zadania i rozwiązań). W którymś momencie podszedł do tablicy i napisał „Sum(1)(2)(3)()) -> ma zwrócić liczbę” i powiedział, że mamy 10 minut od teraz. Jeszcze coś wspomniał, że zadanko to ma potencjał do bycia zadaniem rekrutacyjnym dla seniorów, bo trzeba pomyśleć trochę nieszablonowo.

Władca czasu

Chyba wrócę do bycia interopem. Można dostać euforii (żeby nie nazwać tego inaczej) kiedy wywołuje się w swoim kodzie czyiś kod, zwłaszcza, jeżeli nie był on dedykowany specjalnie na Twoją platformę. Kiedy wywołujesz jakąś losową dllkę, napisaną w czymkolwiek pod cokolwiek… a już najwyższym stopniem tejże euforii będzie … wywołanie funkcji z dllki systemowej. Takiej wiecie, System32 czy coś… takiej, no weźmy kernel32.dll. Brzmi strasznie. Zróbmy coś, od czego komp nie wybuchnie. Ustawmy mu czas.

Modyfikatory dostępu nie takie święte

Choroba ma swoje dobre strony. Jak akurat nie boli, można się za coś wziąć. Na przykład za napisanie posta na blogu, na którym nie pisało się nic od prawie roku.
No to i piszę;)

Dziś wezmę na tapetę modyfikatory dostępu. Temat zdaje się prosty i oklepany. Mamy ich kilka i są dobrze zdefiniowane:
• Private – dostęp tylko z klasy
• Protected – dostęp z klasy i jej dzieci (klas dziedziczących po klasie)
• Public – dostęp skąd popadnie
• Internal – dostęp w zakresie jednego assembly
• Protected internal– dostęp w zakresie jednego assembly, nielimitowany dla dzieci (dzieci nie muszą być z tego samego assembly, ale nie-dzieci już muszą)

i …

Pierwsza „książka” WPFowa w naszej bibliotece

Hejo.

Trzeba napisać jakiegoś technicznego posta do DSP, a tu wyjazd i nie ma jak;). Na szczęście jadę dopiero jutro, więc mam jeszcze kilka godzin dnia dzisiejszego, aby coś popisać.

Mam nadzieję, że jakiś kod mimo wszystko powstanie w pociągu, acz z publikacją posta może być gorzej, tak czy inaczej, postanowiłam opisać coś, co może być przydatne na początku kariery, jednocześnie nie jest to żadne rocket science wymagające większego przygotowania.

A więc…

Odkopać projekt

Hej,
a więc pierwsze co zrobiłam, to wywaliłam z okna głównego to, co nie jest już za bardzo potrzebne. Na razie spróbuję zrobić wyłącznie to, co trzeba. Potem zastanowię się jak zrobić to „ładnie”.

List a IEnumerable

DISCLAIMER:
Artykuł jest pisany na poziomie ameby tudzież ucznia podstawówki. Jeżeli masz choć blade pojęcie na temat .net czy c# zrezygnuj z czytania tego artykułu i zajmij się czymś ciekawszym.

Pewnego razu trafiło mi się na facebookach takie pytanie „dlaczego z listy konwertuje na IEnumerable a odwrotnie nie” -cytat jest skopiowany żywcem, autor wolałby pozostać anonimowy. Jako że nie ma głupich pytań i każdy kiedyś zaczynał, odpowiem koledze i innym ciekawym.

ILSPY – SZPIEGUJEMY SZPIEGA

Hej,

Z góry przepraszam że mnie wcięło, pociągi mi bokiem wychodzą, jak i ta cała praca. Nie tak dawno temu minął mi rok, z czego się bardzo cieszę. Jeszcze tylko rok i milestone przepracować pierwsze dwa lata życia będzie zaliczony.

Kiedy akurat nie czytam książki, nie śpię lub nie pracuję, przeglądam inne blogi. Siedzę a to na dotnetomaniaku, a to u któregoś ze slackowych (ircowym coś się nie chce blogować ostatnio) znajomych odpalę arta czy dwa, no i okazało się, że procent robi fajny konkurs. Tzn nie tyle konkurs fajny (acz nagroda przednia), co propozycje tematów. Art nie pasuje do żadnej z kategorii, ale nawiązuje tematycznie do całego wydarzenia. No może trochę. A z pewnością stanowiło inspirację. Tak czy inaczej, zapraszam do lektury.