Új hozzászólás Aktív témák
-
Jester01
veterán
válasz joysefke #7884 üzenetére
Sequential :46211
Creating 64 sublists in parallel took: 796 ms
Concat of 64 Lists took :3 msMonduk ez mono-val linuxon és elég gyanús a sebességkülönbség, lehet, hogy nem egy futásba kellene a kettőt tesztelni.
Ahha, nem tudom mit mókol (valami inicializáció vagy ilyesmi) de ha a szekvenciálisat kiveszem akkor már 11679 ms a párhuzamos. Azt már elhiszem, hogy négyszer gyorsabb.[ Szerkesztve ]
Jester
-
-
válasz joysefke #7896 üzenetére
az int sqrtLookup[] és az int sqr[] keresőtáblák, az első a gyökvonáshoz a második a négyzetreemeléshez (mondjuk ennek nem sok haszna van)
pixelList[x][modKadder(y, 1, height)]
Ez a kódrészlet fogja és kikeresi a pixellistából az [x][y+1] pozícióhoz tartozó pixel Color értékét. a modKadder egyszerűen annyit csinál, hogy az utolsó sorból (y = height-1) a nulladik sorba ugrat (y = 0) és fordítva. Ugyanezt az x tengely mentén az oszlopokra
-
j0k3r!
senior tag
válasz joysefke #7898 üzenetére
"Lehet tényleg előrébb tartanék egy index-fordító táblázattal, kérdés, hogy a statikus tömbök rugalmatlansága mennyi plusz futásidőt eredményezne, elvinné-e a megtakarítást" - ha ez megnyugtat, akkor a List alatt is tömb van: [link]
Habár még mindig nem értem teljesen, hogy mit szeretnél, de bedobok pár kulcsszót, hátha ad ötletet: Thread-Safe Collections, TPL
mod: Szerintem egy 2 dimenziós tömbnek elégnek kellene lennie, az indexek alapján el tudod érni egy pixel összes "szomszédját", törlésnél meg lehet, hogy törlés (tömb átméretezés) helyett inkább egy speciális értéket (pl.: Color.Undefined - ezt ugye te definiálod) vagy null-t írnék be az adott helyre, és majd az enumeráláskor ellenőrizném utólag.
[ Szerkesztve ]
some men just wanna watch the world burn...
-
-
nagyúr
válasz joysefke #7902 üzenetére
private readonly string name;
// will contain standard 32bit sRGB (ARGB)
//
private readonly long value;
// ignored, unless "state" says it is valid
//
private readonly short knownColor;
// implementation specific information
//
private readonly short state;while (!sleep) sheep++;
-
-
harylmu
őstag
válasz joysefke #7933 üzenetére
tényleg jó a bad practice bemutatására. (no offense)
kis olvasmány[ Szerkesztve ]
-
Pörp
senior tag
válasz joysefke #7927 üzenetére
Megcsináltam, köszönöm a segítséget. A másik módszerrel hogy nézne ki?
Köszönöm mindenkinek!using System;
class Program
{
static void Main(string[] args)
{
bool succes = false;
float num1=0;
float num2=0;
do
{
Console.WriteLine("Kérem az összeadni kívánt számokat.");
Console.Write("Egyik szám: ");
string a = Console.ReadLine();
Console.Write("Másik szám: ");
string b = Console.ReadLine();
try
{
num1 = float.Parse(a);
num2 = float.Parse(b);
succes = true;
float osszeg = num1 + num2;
Console.CursorVisible = false;
Console.WriteLine("A két szám összege= " +osszeg);
}
catch (Exception ex)
{
Console.WriteLine("");
Console.WriteLine("Nem számot adtál meg!");
}
}
while (succes != true);
}
} -
válasz joysefke #7939 üzenetére
Ez float.Parse(string) helyett
bool float.TryParse(string, out float)
-tal van.A kettő között a különbség az, hogy a TryParse akkor sem dob exception-t ha nem sikerült a parzolás, ehelyett a sikert a TryParse(...) fgv. a visszatérési értékével jelzi. Csak akkor, ha ha mindkét számot egyszerre sikerült parzolni lesz a success változó értéke true, ekkor tudja a vezérlés elhagyni az adatbeolvasó do-while ciklust.
-
-
-
Zalanius
tag
válasz joysefke #8004 üzenetére
Pedig ott a flösch környékén lesz a hiba. Próbáld ki így:
using (MemoryStream ms = new MemoryStream())
{
using (GZipStream ds = new GZipStream(ms, CompressionMode.Compress))
{
using (StreamWriter sw = new StreamWriter(ds))
{
int i = -1;
try
{
for (i = 0; i < n; ++i) sw.WriteLine(numbers[i]);
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
Console.WriteLine("Current item: {0} \r\nhit key!", i);
Console.ReadKey();
}
/* sw.Flush();
ds.Flush();
ms.Flush();*/
}
}
compressedData = ms.ToArray();
}--= Zalán =--
-
fatal`
titán
válasz joysefke #8006 üzenetére
Nem a zárójelek javították meg, hanem az hogy a GZipStream using blokkon kívülre került a ToArray hívás, emiatt nem kell mindent bezárójelezni, de a biztonság kedvéért nem árt.
A flush pedig nem szükséges (mivel a végén van nem okoz problémát, csak kétszer hívódik), mert a Dispose során a Framework meghívja mindenképpen.
-
Goose-T
veterán
válasz joysefke #8022 üzenetére
Miért pont az Opus az érdekes? Az Android pont a Vorbist támogatja natívan, még a beépített rendszerhangok is olyan formátumban vannak (OGG Vorbis, ha úgy jobban ráismernél). Már ha androidos a telefon, bár más lehetőség nemigen van, mert IOS-re nem teszel csak úgy fel zenéket, a WP meg kvázi kihalt.
Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar
-
Keem1
addikt
válasz joysefke #8022 üzenetére
Csak halkan kérdezem: egy zenestream szolgáltatás nem lenne egyszerűbb? Spotify, Google Play Music, Deezer, Apple Music, stb.
Ezres körüli előfizetési díj, több tízmillió zene, és sohat többet nem kell zenét nagy macerával előtúrni, letölteni, esetleg konvertálni.
Csak meg kell keresni, bekattintani (esetleg listához adni) és már hallgatható. Előfizus konstrukcióban van offline mód is. Ja, és vannak edzéshez, futáshoz való listák (is).Én két és fél éve vagyok előfizető, az elején még nem gondoltam így, de mostanra már az a véleményem, hogy youtube-bal, to..enttel bohóckodjon az, akinek két anyja van
[ Szerkesztve ]
-
harylmu
őstag
válasz joysefke #8027 üzenetére
Ez a feladat tenyleg csak max gyakorlasnak jo. Spotify. Megeri, mert sok mindent nyujt, futashoz pl futos playlistet berak vagy barmit. Raadasul a kabellel se kell bohockodni hogy attoltse a zenet.
De a tokonloveshez talan ez a cikk segit: https://stackoverflow.com/questions/20500796/convert-pcm-to-mp3-ogg
[ Szerkesztve ]
-
válasz joysefke #8033 üzenetére
a hiba megvan:
Valamiért nem működik az, hogy menet közben lecserélem a letöltés metódusnak átadott dummy Progress<> objektumot egy igazira. Nem értem, hogy miért, de így van.
Tehát a progress repoltolás itt nem működik a Progress objektum cseréje után sem:
var p = new Progress<double>();
Task t = _youtubeClient.DownloadMediaStreamAsync(streamToDownload, filename, p);
// lecserélem a Progress-t valami olyanra ami csinál is valamit
p = new Progress<double> (value => {....})
await tnem működik.
Nem értem miért nem működik, hiszen a DownloadMediaStreamAsync metódus is az átadott Progress objektumnak a referenciáját használja, _tudtommal_ nem készít róla fizikai másolatot.
szerk:
Uhh bakker, milyen jó volt leírni a problémát, most jövök rá mi a baj[ Szerkesztve ]
-
Zalanius
tag
válasz joysefke #8547 üzenetére
De hát a csv-k esetében az pont szándékos, amit a (2)-ben írtál, mert a szövegjelölő " ... " nélkül nem lehetne vessző a cellákban / mezőkben egyáltalán, vagy szétesik a táblaszerkezet. Ezt minden parsernek kezdettől fogva tudnia kell, az excel is simán boldogul vele, az importáláskor még meg is adható, mit tekintsen szövegjelölőnek. Inkább arra gyanakszom, hogy CR / LF lesz egy vagy több szövegben, és azt már az Excel legendásan rosszul tűri.
Ha érdekel kódszinten is a szövegjelölők kezelése, itt egy jó régről származó példa, amit utána sokáig csiszolgattak.
--= Zalán =--
-
válasz joysefke #8550 üzenetére
Semmilyen jelölőkarakter nincsen az ilyen köztes sortörések előtt...
helyesbítek: annyi jelölés van, hogy sor közbeni sortörés csak aposztrófok között lehetséges.
Ez lesz a megoldás : https://github.com/22222/CsvTextFieldParser/blob/master/CsvTextFieldParser/CsvTextFieldParser.cs[ Szerkesztve ]
-
válasz joysefke #8551 üzenetére
Nem tudom, mit szeretnél, de: https://www.nuget.org/packages/CsvHelper/9.2.3
-
martonx
veterán
válasz joysefke #8570 üzenetére
1. ha nem értesz a frontend fejlesztéshez, akkor ne SPA-val kezdj hanem maradj a HTML-nél, és igyekezz minél több mindent html és mvc alapokon tartani. Ha hirtelen szépet is akarsz, akkor maximum húzz be egy bootstrap-et, bár esetedben még annak is erősen utána kellene olvasni, hogy az mit hogy, miért csinál.
2. MVC - megvan, hogy mit jelent az MVC? Akkor miért nem használod? Miért ViewBag-el akarsz bohóckodni? De ha ragaszkodsz a ViewBag-hez (ami egyébként Core alatt már amúgy se javasolt), akkor inkább ViewData. De leginkább könyörgök használj model-t a viewban, hiszen erről szól az MVC
3. A konkrét kérdéseidben olyan evidenciákat kérdezgetsz, amiket nem is kellene megkérdezni, hiszen bakker így működik az MVC.
4. Hogy szerinted mi az optimális, azt rohadtul nem ezen a szinten kellene feszegetni, hanem majd amikor megcsináltad, és fut a rendszer, és a terhelés függvényében úgy érződik, hogy lassú, és már mindent értesz, átlátsz, tudod mitől, hogyan működik az Asp.Net Core, és megírtad pár év alatt a már sokadik Asp.Net Core rendszeredet, majd akkor elkezdhetsz utána olvasni az optimalizációs lehetőségeknek.
5. Képek standard megoldása, hogy mennek a filerendszerbe, adatbázisba csak az elérési útjukat tároljuk.
+ bónusz: nincs olyan, hogy Asp.Net Core MVC 2 Régen volt Asp.Net MVC 1-5-ig, ezt váltotta az Asp.Net Core 1.0 - 2.2bocs a keresetlen stílusomért, egyébként szívesen segítek
Én kérek elnézést!
-
martonx
veterán
válasz joysefke #8572 üzenetére
megtisztelő
"A usernek annyi dolga van, hogy a user View-ban rábökjön, hogy jön-e vagy sem, hányan jönnek, kell-e szállás stb.." - gondolom ez egy html formban van. Remélhetőleg.
Kavarodás van a fejedben, hogy mi a statikus adat, és mi a dinamikus. Minden olyan adat, ami adatbázisból jön, az dinamikus adat. Statikus adat pl. egy img src-ben megadott kép valami 3rd party oldalon.
"hogyan lenne érdemes elszállítani a kontrollertől a renderelt user View-ba" - ModelViewController-ben mégis, hogy az istenbe lenne érdemes elszállítani, ha nem egy viewmodellben? De ezt már leírtam elég konkrétan az előbb is, légyszi ne kérdezgesd újra és újra ugyanazt.
Ennél jobban, a konkrétumok ismerete nélkül nem tudlak előre vinni. MVC-ben gondolkozz, leírtam mi dinamikus adat, és mi nem. Ennyi. Ha úgy érzed, ez sem elég, akkor keress meg nyugodtan privátban, ne ezt a topikot offoljuk szét
Én kérek elnézést!
-
martonx
veterán
válasz joysefke #8575 üzenetére
Doksit olvastad? Mert ott nem így van a példa kód: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-2.2
Én kérek elnézést!
-
petyus_
senior tag
válasz joysefke #8577 üzenetére
AttributeUsage attribute van az attribute-odon? Ott tudod megadni, hogy mire teheted rá. Most hirtelen nem tudom, mi a default, ha nem rakod rá.
Pl:
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
public class RangeAttribute : ValidationAttribute
{
}[ Szerkesztve ]
-
martonx
veterán
válasz joysefke #8617 üzenetére
Szia,
Előre bocsátom, hogy nem tudom megoldani a problémádat, csak rá szeretnék világítani az újabb kódszervezési problémákra, overengineering jelenségre.
"-A formázás, háttérkép, csicsa-micsát pedig egy az Index.cshtml-ből hívott ViewComponent (PageContentViewComponent.cs) által renderelt partial View tartalmazza (Default.cshtml)."
Erre a Layout.cshtml való. Azért is pont Layout a neve Javaslom ne bonyolítsd túl feleslegesen a kódodat. Hidd el, nem attól lesz szép a kódod, hogy a kereket kézben viszed, a szögleteset meg gurítani akarod.
Én kérek elnézést!
-
martonx
veterán
válasz joysefke #8619 üzenetére
Attól még, hogy repositoryból jönnek (felmerül a kérdés, kell-e repository patternt alkalmazni? sokszor csak egy rossz beidegződés, és felesleges bonyolítás), simán ott lehetne a Layout.cshtml-ben, hiszen ezek oda valóak, a Layout részei.
Aztán persze a Layout-on belül hozhatsz létre plusz RenderSection-öket, amiket utána úgy használsz az egyéb view-idban, ahogy jól esik.
Illetve a Layoutban is lehet Partial view-kat használni.
Egyszerűen, ami a Layoutba való, az legyen ott, ne pedig ilyen olyan eldugott komponensekben. Hidd el X év múlva amikor visszanézed és keresed, hogy XY rész hogy renderelődött oda, vért fogsz izzadni és átkozni fogod magad. Ahelyett, hogy ott sorakoznának a _Partial.cshtml-ek, normális nevezéktannal, szépen átláthatóan, hogy melyik mit csinál.
Partial view-t controllerből is ki tudsz generálni, és úgy beszúrni a parent view-ba, ezáltal a logikákat még szebben tovább tudod szeparálni.
És igen, az Index.cshtml-ed foglalkozzon csak a form feltöltésével, egyszerűen némi RenderSection, és normális partial view architektúra helyett, jelenleg érzésre össze vissza toldozod-foltozod a szerencsétlen rendszert.Én kérek elnézést!
-
sztanozs
veterán
válasz joysefke #8621 üzenetére
Az nem zavar, hogy az URL megszerzésével ellopható felhasználói fiók?
Szvsz authentikálni csak akkor érdemes, ha ténylegesen azonosítod is a felhasználókat (nem csak követni akarod őket valami módon). Amúgy meg tök mindegy, hogy egy végtelen élettartamú session azonosítóval vagy felhasználónévvel URL-ben azonosítod.
[ 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...
-
kutkut
addikt
válasz joysefke #8626 üzenetére
Nekem is így volt eddig, de én nem erre gondoltam. Hanem arra, hogy amikor magát A VS-t telepítenéd a D-re (márpedig én ezt szeretném), akkor csak egy részét tudja a D-re rakni, a többi a C-ből vesz el helyet. Eddig nem volt probléma, mert az egész csomag (amit használtam) volt kb. 3GB, de egy fullos Xamarin csomag ennek kb. a tízszerese.
A kérdésem az, hogy ebből mennyit akar a telepítő a C-re rakni.
Meizu MX3 32GB
-
martonx
veterán
válasz joysefke #8624 üzenetére
Megint túlkomplikálod, és kevered a szezont a fazonnal. Akiket te usereknek hívsz, azok nem is igazi userek, hiszen a userek attól userek, hogy authentikálnak. Ezeket hívjuk inkább mondjuk participantoknak, akiket meg elég teljesen lazán, másképpen kezelni.
Belép az oldalra, bejelentkezik egy eseményre a megadott adataival, de ő ettől nem a szó szoros Asp.Net Identity értelmében user lesz, hanem csak egy participant. Ehhez csinálsz egy DB táblát, benne a generált participant hash-el, és attól kezdve elég csak azt használnod.Én kérek elnézést!
-
martonx
veterán
válasz joysefke #8640 üzenetére
Amit kitaláltál, az így nem fog menni. Mivel az appsettings file, vagy bármilyen custom settings file, amit beillesztesz az Asp.Net Core-os settings rendszerbe, egyszer olvasódik be, a rendszer indulásakor. Azaz ez nem arra való, hogy egy admin menet közben állítgassa, ez egy statikus settings file nagyon ritkán változó értékeknek.
Amit te szeretnél, az egy bármilyen adat tárolás (DB tábla, vagy egy file), és abba szabadon írkálhat az admin, ezt mondjuk egy repository-n, vagy service-en keresztül ugyanúgy tudod DI-al használni, fölé tehetsz egy enumot, de igazán típusos sosem lesz. Ezt key-value párként fogd fel.
Az aktuális értékeket meg bedobod egy memory cache-be, amit ürítesz, amikor az admin hozzányúlt az admin felületén, és kész is vagy.Én kérek elnézést!
-
Ú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!
- Hobby elektronika
- Norton védelmi programok (NAV & NIS & N360)
- Politika
- Faragott a Radeon RX 7700 XT árán az AMD
- World of Tanks - MMO
- LEGO klub
- Garmin Forerunner 165 - alapozó edzés
- Milyen alaplapot vegyek?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- További aktív témák...