Az szoftvertesztelésrűl

Nemrég előadást tartottam a szoftvertesztelés gyakorlati hasznairól és módozatairól, gondoltam itten is megosztom veletek írásos formában.  Read more ›

Tagged with:
Nincs kategorizálva kategória

WebPack(olás) Numero Uno

Pár hete “kicsit” elgurult a gyógyszerem, minek eredményeként az alábbi képen látható kirohanás keletkezett. A véleményemet továbbra is tartom (mindjárt leírom majd, hogy miért), de a helyzet az, hogy ha továbbra is akarok frontend fejlesztéssel foglalkozni (márpedig akarok), akkor kénytelen leszek WebPack ninja rockstar SITH LORD lenni. Read more ›

Tagged with: , ,
Nincs kategorizálva kategória

Hogyan cseréljük le a céges lock screen-t?

Az alábbi kis program lecseréli a munkahelyen ránk erőltetett lock screen-t a Bing napi képére (cicás/kutyás/naplementés). Task Schedulerben napi futásra beütemezve máris színesebb lesz az életünk. A fordításhoz NewtonSoft.Json nuget csomag szükséges. Természetesen futtatása nem ajánlott, hiszen a céges policy az céges policy 😉

using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using Microsoft.Win32;
using Newtonsoft.Json;

namespace LogMeOutPolicyScreen
{
    class Program
    {
        private const string BingUrl = "http://www.bing.com";
        private const string BingDailyImage = "http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US";
        private const string PersonalizationEntryKey = @"SOFTWARE\Policies\Microsoft\Windows\Personalization";
        private const string LockScreenImageKey = "LockScreenImage";
        private const string ScreenImagePath = @"C:\Windows\Web\Screen";

        static void Main()
        {
            RegistryKey personalizationKey = Registry.LocalMachine.OpenSubKey(PersonalizationEntryKey, true);

            if (personalizationKey == null)
            {
                return;
            }

            string newImage = DownloadDailyBingImage();

            personalizationKey.SetValue(LockScreenImageKey, newImage);
        }

        private static string DownloadDailyBingImage()
        {
            using (HttpClient client = new HttpClient())
            {
                string dailyImage = client.GetStringAsync(BingDailyImage).Result;
                DailyImageResponse response = JsonConvert.DeserializeObject<DailyImageResponse>(dailyImage);

                string imageUrl = $"{BingUrl}/{response.Images[0].Url}";
                byte[] imageBytes = client.GetByteArrayAsync(imageUrl).Result;

                string imagePath = $"{ScreenImagePath}\\{Guid.NewGuid()}.jpg";

                File.WriteAllBytes(imagePath, imageBytes);

                return imagePath;
            }
        }
    }

    public sealed class DailyImageResponse
    {
        [JsonProperty("images")]
        public List<DailyImageEntry> Images { get; set; }
    }

    public sealed class DailyImageEntry
    {
        [JsonProperty("url")]
        public string Url { get; set; }
    }
}
Nincs kategorizálva kategória

DotNet Core Kalandok

Microsofték adtak SPA template-eket a dotnet SDK-hoz, amit gondoltam, hogy felhasználok az egyik pet-projektemben. Nem mentek a dolgok zökkenőmentesen ami egy kicsit aggasztó annak fényében, hogy két hétre vagyunk a Visual Studio 2017 release-től. Read more ›

Tagged with: ,
Nincs kategorizálva kategória

Interjúkérdések demisztifikálva – Érték- és referenciatípusok 1.

Az elmúlt pár hónapban elég sokat interjúztattam és az igazság az, hogy nincsenek jó tapasztalataim. Alapvetően az lehet a probléma, hogy a szakmai interjú az valamiféle tortúraként van jelen a köztudatban és ezért ritkán alakul ki olyan társalgás ami egyébként a célja lenne. Legnagyobb szívfájdalmam, hogy nagyon sokszor egymondatos sablonválaszokat kapok egy-egy általánosabb kérdésre amikről egyébként órákig lehetne beszélni. Ebben a sorozatban ilyen kérdéseket fogok felboncolni, nem csak .NET témában, lesz itt minden, mi szem s szájnak ingere. Read more ›

Tagged with:
Nincs kategorizálva kategória

Tiszta Kód: Miért rossz a ‘var’?

Az elmúlt egy évben elkezdtem nagyobb hangsúlyt fektetni arra, hogy a forráskód amit írok ne csak helyesen működjön de tiszta is legyen. Mitől lesz néhány sornyi programkód tiszta? Elsőre azt gondolná az ember, hogy ez egy szubjektív dolog, mindenki maga ízlése szerint dönti ezt el, de ez nem igaz. Jómagam a következő pontokat, vagyis feltételeket fogalmaztam meg: Read more ›

Tagged with: ,
Nincs kategorizálva kategória

Web API + Angular + XSRF

Az egyik saját projektemet Single Page Application-ként készítem el, de mivel ez számomra ismeretlen terület ezért sok esetben gondolkodnom kell, hogy mi a jó megoldás. Viszonylag sok fejtörést okozott az MVC-s AntiForgeryToken infrastruktúra SPA-sítása, ebben a cikkben ezt a megoldásomat mutatom be Angular alapokon. Read more ›

Tagged with: , , ,
Nincs kategorizálva kategória

Visual Studio 2013 C#5 – C#6 váltás

Kipróbáltam a Visual Studio 2015-öt egy projektemen amit még VS 2013 alatt C# 5-tel kezdtem el. Úgy döntöttem, hogy maradok is ennél a verziónál, viszont elkövettem azt a hibát, hogy paraméter ellenőrzéskor a szokásos sztringkolbász helyett a nameof operátorra írtam át egy kivétel üzenetét. Ez viszont már C# 6 fícsőr, úgyhogy a VS 2013 szólt is, hogy ezt így ebben a formában hanyagoljam.

Sebaj, a Resharper felajánlotta, hogy átállítja a projektet C# 6-ra, amit meggondolatlanul meg is engedtem neki, viszont úgy határoztam, hogy nekem mégis a C# 5 kell. Kérdés, hogyan állítom vissza a verziót? Megoldás: klikk a projekten (sima bal klikk), majd Properties fül megnyitása és ott lesz egy C# Language Level property ahol kiválaszthatjuk a megfelelő fordítót. A VS 2013 Default értéke a C# 5.

Capture

Tagged with:
Nincs kategorizálva kategória

Ambiguous call extension method használatakor

Egészen furcsa hibába ütköztem. Van egy elég egyszerű extension method a projektemben ami elvileg teljesen jól kellene működjön, mégis amikor lefordítom a solution-t, akkor a címben lévő hibát adja vissza a fordító. Ami miatt érdekes az egész az az, hogy a függvény amivel ütközne az önmaga, ami valljuk be nem túl életszerű 🙂

Utólag kiderült, hogy a Resharper a névtér behivatkozáskor sunyi módon hozzáadta a projekthez magát a projektet referenciaként, így fordításkor egyrészt megtalálja az eredeti függvényt, másrészt ugyanennek a függvénynek a hivatkozott referenciában lévő változatát is, ezzel jó kis kavarodást okozva. A megoldás természetesen a referencia eltávolítása. Jópofa bug ez, és ami zavaró, hogy simán reprodukálható, illetve az, hogy ez csak egyetlen interfész kiegészítésén keletkezik (névleg az IPrincipal), van más extension mehod is a projektben, azokkal ilyen nem fordult elő. Két különböző gépen is próbáltam és folyamatosan csinálja.

A probléma a legfrissebb Resharper-t is érinti, rémlik, hogy korábbi verziók is csináltak ilyesmit.

Tagged with:
Nincs kategorizálva kategória

Web API Owinosítás

Az egyik saját projektemen dolgozva arra a döntésre jutottam, hogy megszabadulok a feleslegtől és átváltok OWIN-ra. Ez ugyan meglehetősen pervazív beavatkozásnak látszódott, viszont hosszú távon kifizetődik a middleware architektúra, így belevágtam. Mint kiderült ez a valóságban úgy 10 percet vesz igénybe, viszont bele lehet futni érdekes dolgokba. Read more ›

Tagged with: ,
Nincs kategorizálva kategória
Design a site like this with WordPress.com
Kezdjük el