Tutorial kategória bejegyzései

Emojik Windowson

Biztos vannak, akik nem tudják, de a mobilos virtuális billentyűzetekhez hasonlóan asztali gépen/laptopon (Windows 10) is nagyon egyszerűen lehet szmájlikat használni ezzel a billentyűkombinációval:

Win + . (pont)

 

Emojik Windowson

C# verzió inkrementálás .NET Core 2-től

A régebbi, főleg a .NET Framework (4.8-ig bezárólag) használói valószínűleg megjegyezték, hogy a produktum automatikus verziózása egyszerűen megoldható volt a projekt tulajdonságai között az assembly verziót átírni (pl.) 1.0.* formátumra és az utrolsó két szekció automatikusan inkrementálódott (pl. 1.0.xxxx.yyyy).

.NET Core áthidaló megoldás

Na, ez a megoldás a .NET Core 2-től (a hibrid 5.0-t is beleértve) nem, vagy legalábbis nem pont így működik. De erre is van megoldás.

Amivel biztosan működik

.NET Core 2, 3 esetén, valamint a .NET 5.0 framework verziók esetében egészen biztosan működik az alábbi trükk.

Ehhez két fájlt kell módosítani, lehetőleg külső editorral, miközben a Visual Studio-ban az adott projektünk be van zárva.

A projektfájl (.jcsproj)

Ez egy XML fájl lesz, melyben kell lennie egy PropertyGroup csomópontnak, az itt lévő többi tulajdonság változtatása nélkül kell beszúrni a két, alábbi tulajdonságot. Mentsük a fájlt és zárjuk be.


	…
	False
	False
	…

A program class (program.cs)

Azt a program.cs fájl kell még editálnunk, amelyben a Main() metódus található.

Ide szúrjuk be az alábbi sort, az using szekció alá, annak utolsó sorát követő új sorba.

[assembly: System.Reflection.AssemblyVersionAttribute("1.0.*")]

Innentől kezdve minden build esetén inkrementálódik a verziószám utolsó szekciója, az utolsó előtti pedig minden nap fog új kombinációt kapni.

Műanyagok szelektíven - na de melyiket?

Ha te is elkötelezettje vagy a fennartható jövőnek, a környezettudatosságnak és a szelektív hulladékgyűjtésnek, úgy ahogy én, valószínűleg érdekel is, vajon mit lehet újrahasznosítani és mit nem. Már csak azért is, hogy ne dolgozzunk a konyhában feleslegesen.

Az emberek egy része környezettudatos, de ezek közül is vannak jó páran, akik csak "műanyag - papír - fém" elvet követnek, pedig ezek közül is ezerféle van. A cím alapján az alábbiakban a műanyagokról lesz szó.

Műanyagok

Általános iskolai kémiaóráról ismerősen cseng korunk egyik leggyakoribb és egyben legvitatottabb találmánya a műanyag névre keresztelt kőolajszármazék. Nehezen képzelhető el nélküle az életünk, de épp annyi vita, tévhit és probléma övezi. Főleg a hulladékkezelésüket - ami legtöbbször nincs, ez a gond. Pedig a műanyagok jó része újrahasznosítható. Az iskolából még rémlik talán, hogy rengeteg féle műanyag létezik, mind különböző célra, talán még az is megvan, hogy két-három betűs rövidítéseket kaptak: PP, PET, PE, satöbbi. Az már végképp az alma mater homályába veszik, hogy pontosan mi is a nevük, legfeljebb arra emlékszünk, hogy "polivalami". És valóban, polietilén, polisztirol, polikarbonát. Hogy az olyat ne is említsem, hogy akrilnitril butadién sztirol. Micsoda nyelvtörő kifejezések, hát hogy lehetne ezeket megjegyezni?

Szelektív gyűjtés. De hogyan?

Ez sem újkeletű, rémlik olyan tévképzet, hogy ezeket valami sárga színű kukába kell gyűjteni. Talán még az is, hogy érdemes a szennyezetteket elmosni, de inkább csak elöblíteni. Tehát nem kell nekiesni mosószerrel, üvegkefével, vagy mosogatógéppel, ezek teljesen szükségtelenek.

Vannak, akik műanyak-műanyag alapon mindent bedobnak. Tiszta vagy sem, valóban csak műanyag-e vagy sem (esetleg műanyag és valami más kombinációja), újrahasznosítható-e vagy sem.

De mit tegyen a földi halandó, ha még ezt a kissé bonyolult feladatot, mint a műanyagok újrahasznosítása, szeretné sokkal hatékonyabban és környezettudatosabban végezni?

Ez nem is annyira bonyolult, mint elsőre gondolnánk. A műnyagok 90%-a csomagolási műanyag, ezeken elvben kötelezően, gyakorlatilag inkább nagyrészt megtalálható egy körkörös háromszög, valamint a két-három betűs rövidítés.

Viszont, amit lehet eddig nem figyeltél, vagy nem vettél észre, többnyire (de sajnos ez sem mindig) egy számjegy is van a háromszögben. Ez az igazi varázslat. Bár a számokból sok van, neked mindössze hármat kell megjegyezned és profi műanyag újrahasznosító leszel.

Műanyag típusok, újrahasznosítás

Amennyiben a kérdéses műanyagon megtalálható a szám, neked csak a 3, 6 és 7 számjegyeket kell fejben tartani. Ezek ugyanis nem újrahasznosíthatóak, a fenti ábrán ezek pirossal vannak jelölve:

  • 3 - PVC (polivinil-klorid)
  • 6 - PS (polisztirol)
  • 7 - egyéb

Ha bármelyik másik műanyag jelölést találod és nem kombinált anyag (pl. fémmel sajtolt, gőzölt), hanem tényleg csak műanyag, nem tudsz mellé lőni: mehet a szelektívbe. És még csak a poszt elején említett furcsa poli-kezdetű szavakat se kell megjegyezni.

Kivételek, tévhitek

Nyilván mint mindig, van kivétel, tehát nem minden használható újra, ami annak látszik. Kivételekből is felsorolhatatlanul sok van, csak két, saját tapasztalatból látott tévképzetet sorolnék fel.

A polisztirol hab, amit a hétköznapi életben csak hungarocellként hívunk, a 6-os számot viseli, ez nem újrahasznosítható, ne dobjuk a sárga kukába (sajnos ennek ellenére sokszor látom).

A CD, DVD lemez anyagát ugyan sokan ismerik: polikarbonát: rendkívül ellenálló műanyag, ebből készülnek még napszemüvegek, rendőrségi pajzsok és sok más, műanyag burkolatok (pl. lámpa, elektromos/elelktronikus eszköz), olyan helyzetben használatos eszközök esetén, ahol az ellenállóság nagyon fontos. Nos, a CD egy része valóban ez, de sok más egyéb anyagot is tartalmaz, pl. fémeket, lakkot, festéket. Ezért, bár a fő anyaga műanyag, mégsem hasznosítható újra.

 

Bízom benne, hogy ezek után már nem fog fejtörést okozni egy műanyag csomagolóanyag sorsa, csupán megnézed az oldalát vagy az alját, a kis körkörös háromszöget, a rövidítést és a számkódot keresve, és már tudni fogod, hol a helye. ;)

A legegyszerűbb nyakkendőcsomó - half Windsor

Ritkán hordasz nyakkendőt és ha épp szükséges, akkor hosszú félórákat töltesz a próbálkozással, miközben a telefonodon Youtubereket követve próbálsz ihletet gyűjteni. Ismerős.

Én is sok videót láttam már nyakkendőkötésről, egy részük egyszerűen használhatatlan, mivel nem kellően illusztrálja a folyamatot.

Akkor jöjjön a világ legegyszerűbb nyakkendőkötése, ami ráadásul baromi jól néz ki. Kipróbáltam, tényleg ennyi, ahogy a csinos szőke hölgy a videóban csinálja. Ahogy a videó címe is mutatja, ez egy "half Windsor", tehát nem az a nagy, bumszli igazi "full Windsor knot", de sokszor ez nem is lényeges. Ez kevesebb hurokból áll és kisebb csomót eredményez, cserébe baromi egyszerű és az utómunka is könnyű, mire formára állítod a csomót.

Ennyi... tényleg mindössze két percet vesz igénybe. A legkomolyabb események (esküvő, nagy presztízsű esemény) kivételével nyugodtan használhatod ezt a csomót, akár egy állásinterjú, vagy egy céges karácsonyi összejövetel során is.

Egyszerű világos/sötét téma váltó Powershell segítségével

A Windows 10-ben már régóta elérhető a világos/sötét téma (vagy ahogy a neten találkozni vele: dark mode), csak épp a mindennapokban kicsit kényelmetlen elérni. Ráadásul a Windows 10 frankó, automatikus éjszakai fény módjával (ami a kék fényt csökkenti a monitoron) ellentétben nem időzíthető.

Előbbire tökéletes egy Powershell script, aztán ezt kicsit megspékeljük pár extra kényelmi funkcióval, pl. időzítjük.

Így néz ki a Windows 10 beépített számológépe világos és sötét témában:

Számológép

A Powershell script maga

Az alábbi kódot másoljuk be bármilyen szövegszerkesztőbe, és mentsük el DarkMode.ps1 néven. Ha az egyszerűbb nekünk, akkor erről a GitHub linkről magát a scriptet le is tölthetjük.

##############################################################################
# DARKMODE POWERSHELL SCRIPT
# The easiest way to set dark/light theme or switch between of those
# Prerequisites: PowerShell 5.0 or later
# Version: 1.0
# Author: Iminetsoft
# GitHub: https://github.com/iminet/DarkMode
# License: CreativeCommons (CC BY 4.0)
# Usage: DarkMode.ps1 [status|dark|light|toggle] 
#        (without the optional switches, the toggle command will be performed)
##############################################################################

$regkey = "HKCU:SOFTWAREMicrosoftWindowsCurrentVersionThemesPersonalize"
$property = "AppsUseLightTheme"
$darkvalue = 0
$lightvalue = 1
function  SetDark 
{
    Set-ItemProperty -Path $regkey -Name $property -Value $darkvalue
}

function  SetLight 
{
    Set-ItemProperty -Path $regkey -Name $property -Value $lightvalue
}

function IsDark
{
    if ($(Get-ItemPropertyValue -Path $regkey -Name $property) -eq $darkvalue)
    {
        return $true
    }
    else
    {
        return $false    
    }
}

function Toggle
{
    if (IsDark -eq $true) { SetLight }
    else { SetDark }
}

if ($args.Count -ge 1 -and $args[0] -eq "dark") { SetDark }
elseif ($args.Count -ge 1 -and $args[0] -eq "light") { SetLight }
elseif ($args.Count -ge 1 -and $args[0] -eq "status") { Write-Host $(if (IsDark -eq $true) { "Dark theme" } else { "Light theme" } ) }
=======
##############################################################################
# DARKMODE POWERSHELL SCRIPT
# The easiest way to set dark/light theme or switch between of those
# Prerequisites: PowerShell 5.0 or later
# Version: 1.0
# Author: Iminetsoft
# GitHub: https://github.com/iminet/DarkMode
# License: CreativeCommons (CC BY 4.0)
# Usage: DarkMode.ps1 [status|dark|light|toggle] 
#        (without the optional switches, the toggle command will be performed)
##############################################################################

$regkey = "HKCU:SOFTWAREMicrosoftWindowsCurrentVersionThemesPersonalize"
$property = "AppsUseLightTheme"
$darkvalue = 0
$lightvalue = 1
function  SetDark 
{
    Set-ItemProperty -Path $regkey -Name $property -Value $darkvalue
}

function  SetLight 
{
    Set-ItemProperty -Path $regkey -Name $property -Value $lightvalue
}

function IsDark
{
    if ($(Get-ItemPropertyValue -Path $regkey -Name $property) -eq $darkvalue)
    {
        return $true
    }
    else
    {
        return $false    
    }
}

function Toggle
{
    if (IsDark -eq $true) { SetLight }
    else { SetDark }
}

if ($args.Count -ge 1 -and $args[0] -eq "dark") { SetDark }
elseif ($args.Count -ge 1 -and $args[0] -eq "light") { SetLight }
elseif ($args.Count -ge 1 -and $args[0] -eq "status") { Write-Host $(if (IsDark -eq $true) { "Dark theme" } else { "Light theme" } ) }
>>>>>>> 345d11e52f667be4e06c990f35c19b3143d8e82c
else { Toggle }

A script használata

Használat előtt feltétlenül tegyük a letöltött/elmentett fájlt a saját Dokumentumok mappánkba.

Mivel Powershellről van szó, nyilvánvaló, hogy ehhez szükségünk van a Powershellre. Indítsuk el úgy, hogy balra lent megnyomjuk a Start menüt, majd elkezdjük gépelni, hogy powershell. Amikor felbukkan a jellegzetes kék (újabb verziónál fekete) hátterű ikon, nyomjuk meg azt.

Ha feltárult elénk a Powershell ablaka, akkor menjünk is be a Dokumentumok mappánkba, ahol a script is található:

cd ([environment]::getfolderpath("mydocuments")

Próbaképp ellenőrizzük, hogy minden működik-e:

DarkMode.ps1 status

Ha a fenti parancs begépelése után a program visszajelzése az, hogy "Light theme" (vagy nyilván, ha már most sötét módot haszálunk, akkor "Dark theme"), akkor minden jól működik.

Próbáljuk ki a téma váltást:

DarkMode.ps1 toggle

Ezt a parancsot bármennyiszer kiadhatjuk, hatása az, hogy ellenkezőjére vált a téma: világosból sötét, sötétből világos lesz.

A toggle helyett használhatjuk a light vagy a dark kapcsolót is, ebben az esetben a kívánttal megegyező téma esetén nem fog történni semmi. Ha világos témánál kiadjuk azt, hogy light, akkor nem fogunk változást észrevenni.

Powershell

Időzített témázás

Ez eddig tök jó, de csak keveset nyertünk vele, hisz ugyanúgy kézzel kell kiadni a parancsot. Most jön az igazi móka, automatizáljuk a fent megismert parancsokat. Ehhez segítségünkre lesz a Windowsba beépített Feladatütemező (Task scheduler).

Feladatütemező indítása

Indítsuk el úgy, hogy a Start menüt megnyitva elkezdjük gépelni azt, hogy Feladatütemező. Amikor megjelenik találatként az ikonja, kattintsunk rá.

Aki nem ismerné még ezt a remek programot, az elsőre megijedhet, annyi minden van benne, már alapesetben is. De mi most nem fogjuk ezt megismerni, nem célunk.

Feladat létrehozása

A felső menü Művelet menüpontját lenyitva válasszuk a Feladat létrehozása alpontot. Kapunk egy űrlapot, több füllel. Nem lesz mindenre szükségünk.

Az Általános lapon csak a nevet töltsük ki. Ez bármi lehet, de azért legyen egyértelmű, mit is csinál ez a feladat. Legyen pl. Automatikus téma - világos a neve.

Feladatütemező

Az Indítás fülön Kattintsunk az Új gombra. Itt legyen kiválasztva a Naponta, a napot hagyjuk alapértelmezetten (ez a mai dátum lesz), az időt pedig állítsuk arra a reggeli időpontra, amikor világos témára váltanánk. Pl. 6:00. Kattintsunk az Ok gombra.

Feladatütemező

A Műveletek fül kicsit érdekesebb, itt adjuk meg, hogy pontosan mit is csináljon az ütemező, ha elérkezett a fentebb kiválasztott időpont. Az Új művelet gomb megnyomása után a Program/Parancsfájl alatti mezőbe írjuk be, hogy powershell.

Az alatta lévő (Argumentumok hozzáadása) mezőbe pedig:

-Command "& 'C:Users[FELHASZNÁLÓ-]DokumentumokDarkMode.ps1' light"

Feladatütemező

Figyelem, itt a [FELHASZNÁLÓ-] helyére írjuk be a saját felhasználói nevünket. A teszteléskor használt Powershell ablakban ezt pontosan láthatjuk is. De ha mégse, akkor adjuk ki az alábbi parancsot egy üres Powershell ablakban, és másoljuk onnan ki:

[environment]::getfolderpath("mydocuments")

Kattintunk az Ok gombra, majd a Feladat létrehozása ablakban is az Ok gombra.

Az esti sötét módhoz csinájuk végig a fentieket, az alábbi módosításokkal:

  • Az ütemezési időpont legyen valamilyen esti, pl. 19:30
  • A feladat nevében legyen benne a "sötét", pl. Automatikus téma - sötét
  • az Argumentum mezőben a light helyett dark szerepeljen

Végeredmény, konklúzió

És ennyi... Ezek után reggel és este is lefut a megfelelő parancs. A dolog szépséghibája, hogy futáskor egy pillanatra felbukkan a Powershell ablaka, majd el is tűnik. Később kiegészítjük a scriptet, hogy abszolút a háttérben fusson, felvillanás nélkül.

//Statelit is marked deprecated and will be removed in the next version