Új hozzászólás Aktív témák
-
Keem1
addikt
És valóban! Hálás köszönet!
Már csak érdekességből kérdezem: mi az a két bájt, amit kitömörítéskor le kell szedni, betömörítéskor meg hozzá kell biggyeszteni?
Alapvetően a webszerver esetén is megvan, de egyrészt a JSON forrása eltérő is lehet, és ott nem biztos, hogy a HTTP-ben történik a tömörítés, másrészt a kliens által visszaküldött anyagot is tömöríteni kell.
[ Szerkesztve ]
-
Ahogy fent írtam, nem ismerem a SerialPortot, de ez a SerialPort.ReadLine() -a nevéből ítélve - blokkol nem? Innentől kezdve a thread amihez hozzá van kötve IO-limitált.
kódodnál nem azért nem fogja feleslegesen terhelni a CPU-t, mert áttetted a futását egy másik szálra
igen ezzel tisztában vagyok[ Szerkesztve ]
-
veterán
Szia!
Egy olyan kérdésem lenne, hogy a program által kiküldött string végére mindig tesz egy "\r\n" -t (új sor, előre ugrás). Valahogy megoldható, hogy ezeket ne küldje csak a string-et?
A program igazából jól működik csak valami gondja van a vezérlőnek és próbáljuk kizárni a lehetséges hibákat hátha ez segítene.
-
cigam
félisten
Köszi! Sikerült is beolvasni pár cellát, de ha éppen üres, attól kiborul. Ha pedig nem numerikus érték (szám) van az adott cellában, akkor nem a szöveget adja vissza, hanem egy számot. De hogy pl. a "teszt"-ből hogyan lesz 9 az nem teljesen világos.
Tuti valamit rosszul csinálok, de mit?
Ez a kód[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
cigam
félisten
a GetCellValue függvényből egész számot kapsz vissza szövegként
Ez az, hogy nem kapok. Egy üres semmit ad vissza nem a dátumot szöveges formában. Megttenéd hogy rákukkantasz?[link] a /bin-ben van a táblázat is.Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
coco2
őstag
A memory cache résszel nincsen problémám, azt könnyű megírni egyébként is, a linkelt webes kiszolgálók pedig nem támogatnak tls-t, és anélkül kb használhatatlanok. Már minden https, amit csak weben fellelni lehet. A chrome is, meg a firefox is konkrétan blokkolják, ami nem támogat https-t, legyen az akár csak egy webapi kiszolgáló.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
Kár, hogy a fél világ ezt nem tudja,
Ha el akarnám viccelni, most azt mondanám, hála az égnek a világnak van egy olyan fele is, amelyik nem ért a programozáshoz. Nélkülük nem lenne, aki fizet érte.Hanem a redisből én akkor sem kérek. Az a része húzós volt, mire a 7 sql táblányi szénaboglyát le tudtam cserélni 8 kbyte-os user profileokra, de így utólag már mezei file-ok és memória blokkok elegendőek az sql szerver helyett, ami bizony egyszerűbbé teszi a dolgokat - akár hiszed, akár nem.
Részemről inkább azt a kérdést tartom nehezen megválaszolhatónak, hogy a c# topikban miért c stuffokat preferálnak a népek?
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
Céges projecteknél, amikor a termék már kint van piacon, nyilván másmilyen állapotok vannak. Például egy kezdeti gyenge design döntés miatt - amit hála az égnek ráerőszakolt a projectre valaki önjelölt "zseni" - utólag nem tehetsz mást, mint lapátolod a sza*t, amíg el nem fogy az ügyfél pénze, és akkor a cég is jóllakott, meg új termék sem került piacra, sikerült két legyet ütni egy csapásra. Elvégre minden élő dolognak táplálkoznia kell - szó nincs róla, hogy azzal vitatkozni akarnék.
Viszont aligha spanyolviasz, hogy kispolcos projectnél nincsenek olyan kötöttségek az elején, és nem kötelező design tévedéseket elkövetni.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
Köszi a tippet!
Lehet kipróbálom ezt is, de amikor keresgéltem, ráakadtam erre:
https://github.com/NuGet/Home/issues/5895itt meg azt írták, nem fogják megoldani, aztán valahol a hozzászólások között találtam azt a megoldást amit feljebb írtam is!
-
A poén az hogy mégis működik, kipróbáltam. Lehet hogy a bejegyzés óta eltelt majd két évben meggondolták magukat...
Sőt, egyelőre jobban működik mint a Choose/When -féle megoldás, mert ott a package upgrade csak a csomaghoz tartozó legelső verziószám bejegyzést módosítja, míg a másikban az egyetlen verziószám-bejegyzés szépen módosul.
-
vlevi
nagyúr
Méginkább. Biztos voltam benne, hogy C#-ban is van valami közvetlen megoldás a képernyőmásolatra.
Az üzenetküldő nem rossz dolog, de, aki nem számít rá, hogy ezek üzenetek, és bizonyos sorrendben dolgozza fel a rendszer, azt érhetik meglepeétsek. pl. jelen esetben, ha előtte van egy minimize window üzenet -
zsolti_20
senior tag
Ez valóban sokkal jobban működik. Van lehetőség arra, hogy azt csinálja mint az ALT+ PT screen? Hogy csak az adott aktív ablakról csináljon képernyőmentést. Vagy egy process ID-t lekérve csinálna egy printscreent. Bár nem tudom hogy ha megnyitnék egy notepadot, majd bezárnám és újra megnyitnám, akkor honnan tudná mivé változott a process ID.
De ha már az elérhető lenne, hogy csak az aktív windows ablakról készítsen képernyőmentést az is elég lenne. -
Keem1
addikt
Köszönöm , ez a linkelt library így első olvasatra jónak tűnik. Kipróbálom, addig a saját magam által feltalálandó spanyolviaszt felfüggesztem
Igen, webszerver elkerülése a cél. Azt nem használhatunk.Egy nagy multinál dolgozom, ahol azért nem olyan egyszerű dolgokat átvinni a security policy-n. Saját dolgainkhoz kaptunk egy helyet és egy Ethernet kábelt a helyi szerverteremben, ahová egy i7 procis Lenovo desktop gép bekerült. Ez már eleve tűzfal, proxi, stb. mögött ül, élvezve az egész épület biztonsági szolgáltatásait. A gép célja, hogy a munkánk megkönnyítése érdekében különböző toolokat futtassunk rajta. A többiek Pythonban programoznak, de én nem tudok kígyóuk, én maradnék a C#-nál. Nem programozók vagyunk, nem programok írása a feladatunk munkaidőben, ezzel a saját napi munkáinkat segítjük/kiegészítjük/egyszerűsítjük, így amihez ezek kellenek, abban produktívabbak, gyorsabbak vagyunk.
Adatbázist se használhatunk, a config adatokat ini fájlokban tároljuk. -
Keem1
addikt
VS 2019 Community van fent, gondolom, megfelelő lesz, ugye?
Már átállítottam a beállításokban a package reference-t.Persze, érthető hogy a lefordított projektben benne lesznek a dll-ek, csak a package-k ne legyenek már külön projektenként.
Még nem próbáltam ki, de köszönöm az infót!
-
Keem1
addikt
Bár lehet hogy nem a legjobb stratégia, de én szeretem azokat a technikákat előnyben részesíteni, amik szinte szabvánnyá váltak és a legtöbb helyzetben egyértelműek, elfogadottak. Pl. ezért használok XMLRPC-t. Elég világosan lefektetett szabályai vannak, szinte minden platformon implementálták és mindenhol ugyanúgy használható.
Az lenne a jó, ha ugyanez XML helyett JSON-ban lenne (elvileg van rá törekvés: JSON-RPC). -
Keem1
addikt
Hálás köszönet
Még valami!
Mivel eddig nem volt, Raspberry Pi-re fordítottam System.Data.SQLite binary-t. A NuGet a saját SQLite.Interop.dll-jét faszán megcsinálta: van egy x86 meg egy x64 mappa, benne a megfelelő dll, ugyanezen a néven. Ha az exe mellé hozzácsapom (a fenti két mappán kívül) az arm-es dll-t, akkor frankón működik. Viszont ez eléggé favágó megoldás. Ha létrehozok egy linux-arm mappát, és beleteszem a dll-t, nem találja (szól, hogy nincs ez a fájl). Rá tudom valahogy venni a Visual Studio-t, hogy "figyelj, van egy arm binary is, azt is használd"?Igen-igen, a tooljaimat már platformfüggetlenre írom. Minden faszán megy arm linux alatt is, kivéve - eddig - az SQLite. A favágó megoldással viszont már az is.
[ Szerkesztve ]
-
Keem1
addikt
Ez az, így van, sikerült is, sőt, kibővítettem úgy, hogy magába a Test osztályba tettem be a metódusokat, megfejelve azzal, hogy void helyett string a visszatérési értéke.
Nagyon köszi az útmutatást
public static class Test
{
public static string Add(string input)
{
return input;
}
public static string ToConsole(this string text)
{
Console.WriteLine(text);
return text;
}
public static string ToFile(this string text, string FilePath)
{
try
{
System.IO.File.AppendAllLines(FilePath, new[] { text }, System.Text.Encoding.UTF8);
}
catch { }
return text;
}
}[ Szerkesztve ]
-
sztanozs
veterán
(bocsi nem neked, neki ment volna)
TL;DR
SQLite-ban nincs DateTime típus, ki kell iratni simán stringbe és meg kell néz ki, hogyan néz ki, mert lehet kézzel rakták be, nem a megfelelő datetime funkciókkal.Bővebben az SQLite doksiból:
2.2. Date and Time Datatype
SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Keem1
addikt
-
-
Eddig csak az első linket néztem meg (azt is egyelőre csak NET6-tal), de szerintem nekem pontosan erre (Roslynra) lesz szükségem.
Valamiért az volt bennem, hogy csak modern platformra van, ezért nem is néztem utána. Az "Add-Type" valami régi fordítót használ, régi C# verió támogatással és a hibaüzenetei borzalmasak.
Aztán hajrá a C# szintaktikájú saját DSL létrehozásához.
Annál azért egyszerűbbnek 'tűnik':
Http szolgáltatás daemon-kliens oldalára szeretnék a kliens HttpMessageHandler pipelinejába beépülő nem-interaktív autentikációs komponsenst (pld OAuth2 Client credentials flow) ami a lehető legszabadabban konfigurálható.A szabad konfigurálhatóság biztosítaná, hogy az autentikáció pontosan úgy történjen, ahogy az autentikációs végpont (token url) diktálja illetve a Http üzenetbe a token -vagy ami az autentikáció meglétét jelképezi -abban a formában kerüljön bele, ahogyan a szerver oldal szeretné.
Az tűnik a kiindulási állapotnak, hogy a jövőben több féle (standardtől kicsit eltérő) lehetőség lesz, mintsem hogy azt statikus konfigurációval le tudjuk fedni.
J.
[ Szerkesztve ]
-
Roslyn-nal sikerült működésre bírnom a dolgot, (kb end-to-end megy fordítástól, az authentikációig és sikeres API hívásig )
De a fordítás csak úgy működik, ha CSharpScript-et használok, ez az opció ahogy látom impliciten felhasználja a runtime betöltött assembliket referenciaként a fordításhoz /ami nincs betöltve csak azt kell referálni/.
CSharpCompilation-nal ugyanaz a fordítás nem működik. Itt nekem kéne expliciten megadni az assembly referencákat, amit természetesen hiánytalanul meg is tesztek. Aztán kapok egy undorító, Google által jól ismert fordítási hibát ami arra panaszkodik hogy a System.Net.Http.dll verzió mismatch van, az assembly ahonnal dinamikusan fordítom a kódot (és ahová interfész miatt függősége van a fordított kódnak) 4.2.0.0-t val lett fordítva, a Roslyn pedig 4.0.0.0-t akarna használni. Hogy a 4.2.0.0 honnan jött, azt nem tudom, de kézzel nem tudom betölteni. Hogy CSharpScript-tel ez miért és hogyan működik azt persze nem tudom.
Majdnem biztos vagyok benne, hogy a hibának semmi köze nincsen a Roslynhoz magához vagy akár a kódomhoz, egyszerűen nem azt a verziót kapom DLL-ből amit szeretnék.
Akik nálam jobban értenek a fordításhoz biztos meg tudnák oldani, meg lesz ez nálam is oldva, hogy "CSharpCompilation"-nel is működjön, de ez így egyáltalán nem bizalomgerjesztő...
Félek, hogy ami az én gépemen dinamikusan fordul, produktív gépen majd esetleg nem fog. Egy halom DLL-t pedig nyilván nem akarok betenni a repoba és nuget helyett azokat referálgatni vagy hasonló okosság.
===
Szóval most a pluginok kerültek fel az asztalra:
Talán ahelyett, hogy konfigból (encryptált DB-ből) on the fly fordítjuk a konkrét megvalósítás kódját, jobb ötlet lenne szükség esetén egy újabb plugin-dll-t berakni egy plugin könyvtárba aztán onnan betölteni a konkrét megvalósítást.Ilyen önműködő plugin megvalósításhoz van net 472-re ennél jobb cucc?
Managed Extensibility Framework (MEF) - .NET Framework | Microsoft DocsHasználta ezt már valaki?
[ Szerkesztve ]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kertészet, mezőgazdaság topik
- sziku69: Fűzzük össze a szavakat :)
- Yettel topik
- Windows 10
- Samsung Univerzum: Az S23-at is megbabonázta a Galaxy AI
- Diablo IV
- Gaming notebook topik
- Villanyszerelés
- Futott egy Geekbench kört egy új HTC készülék
- Magga: PLEX: multimédia az egész lakásban
- További aktív témák...