IT, Technológia kategória bejegyzései
Újra aktívan a GitHubon
◴ 2022.11.02. 13:42Bár már egy ideje van accountom a GitHubon, most újra elkeztem aktív lenni. Egyrészt oda kerülnek a privát fejlesztéseim, másrészt pedig publikus projekteket keztem el ott hostolni. Kódokat, projekteket, sample-öket vegyesen.
Remélhetőleg sok új és hasznos repoval bővíthetem az accountomat.
C# verzió inkrementálás .NET Core 2-től
◴ 2022.04.08. 08:51A 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.
Régi falióra működésre bírása egyszerűen
◴ 2022.03.09. 16:07Néha az ember nem a tényleges értéke miatt ragaszkodik bizonyos dolgokhoz, hanem egyszerűen azért, mert megszokta, megszerette. Ez történt a cirka 25-30 éves IKEA-s faliórával is, aminek történetesen letört a negatív pólusa az elem felől.
Hogy az óra se végezze a süllyesztőben, kapott egy patkolást, méghozzá egy natúr, festetlen gemkapocsból kivágott és meghajtogatott kiegészítéssel.
A bypass műtétet követően már újra ketyeg a vén ketyegő, a kiegészítő érintkező stabil 1,5 V feszültséget szolgáltat az őskövület óraszerkezet felé.
Erről egy rövidke videó:
Elektromos vagy elektronikus?
◴ 2022.01.25. 10:17Meglepően sokan keverik, vannak akik szinonímaként használják, de olyanok is, akik felcserélik az elektronikus és az elektromos fogalmát.
Biztos már sok helyen leírták már, de megpróbálom a két elnevezés közti, nem épp elhanyagolható különbséget és kapcsolatot (mert ilyen is van) közérthetően, egyértelműen és röviden megmagyarázni.
Elektromos
Ez volt régebben, talán erről is tudnak többen (csak talán nem tudják, hogy ez az, amire ők gondolnak). Elektromos eszköz, gép, berendezés az, ami elektromos árammal működik. Pl. 220 volttal, 1,5 volttal, 12 volttal, stb.
Ilyen pl: villanykörte, televízió, rádió, mosógép, merülőszivattyú, hűtőszekrény, elektromotor, stb.
Elektronikus
Sokkal újabb fogalom, mint az előző, gyakorlatilag a félvezetők feltalálása óta ismert. Elektronikus minden olyan eszköz, berendezés, ami tranzisztort, mikrochipet, mikroprocesszort, vagy bármilyen egyéb félvezetőalapú áramkört tartalmaz.
A legtipikusabb elektronikus eszköz a számítógép, de pl még: mobiltelefon/okostelefon, a legtöbb modern szórakoztatóelektronikai eszköz (a modern televíziótól kezdve a DVD/Blu-Ray lejátszón át a projektorig), az okosotthon elemei, okoseszközök, digitális karórák, a legújabb autók infotainment rendszerei, digitális fényképezőgép vagy kamera, stb.
A fentiekből kitűnik egy egyirányú igazság:
Minden elektronikus eszköz elektromos, de nem minden elektromos eszköz elektronikus
Bízom benne, hogy így sikerül kicsit gyakorlatias, egyszerű és laikusok számára is könnyen értelmezhető különbséget tenni a két modern, összekeverhető, de alapjaiban mást jelentő fogalom között.
Egyszerű világos/sötét téma váltó Powershell segítségével
◴ 2021.06.20. 10:45A 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:
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.
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.
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.
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"
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.