- Yettel topik
- Nem fogy a Galaxy S25 Edge?
- Fotók, videók mobillal
- iPhone topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Keretmentesít a Galaxy S25 FE
- Xiaomi 14T Pro - teljes a család?
- Honor 200 - kétszázért pont jó lenne
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Erős specifikáció, kompakt formában
Új hozzászólás Aktív témák
-
Froclee
őstag
En is dotnet melobol mentem at Python-ba tavaly. (Mondjuk en nem nagyon nezem a hasznalt nyelveket munkahelyvaltasnal, nekem tok mindegy.
) A tapasztalatom az igy masfel ev utan, hogy kva szar.
Scriptek irasara, meg data science-re egyebkent nagyon szuper, de tipusok hianyaban remalom egy 3 ezer soros webapp-ot fenntartani (raadasul Python 2-est). A masik baj vele, hogy mocsok lassu - fika loadra 30-40 instancet kell fenntartani, Amazon rajtunk gazdagszik meg.
-
Froclee
őstag
Teljesen jó ilyen célra. Talán CSV is elég, de feltétlezem hogy gyakorlás miatt EF Core.
-
Froclee
őstag
Nem port exhaustion? Egy static httpclient-el kell használni és nem szabad dispose-olni.
-
Froclee
őstag
válasz
Hunpriest #8192 üzenetére
Bocsi, ha nyersként jött le amúgy, tényleg no offense, csak személyes tapasztalat. Nem sorrendben.
Hosting. Nekünk az új appunkat Azure helyett AWS-ben kellett hostolnunk és a framework-el iszonyat mód megszívtuk volna, pláne hogy Beanstalk-ot nem használhatunk. Nincs dedikált ops csapatunk se, szóval nem fogunk EC2-eseket managelgetni meg Octopus-t telepíteni. Docker-rel viszont pár perc volt összedobni egy ECS service-ben. Google cloud-ban ugyanennyi lenne kb. Egyébként rühellem az IIS-t, örülök is, hogy nem kell látnom többet.
Windows kötöttség. Nyilván nem feltétlen zavaró tényező, de sok minden kinyílt nekünk azzal, hogy cross platform. Fentebb említettem a Docker-t, de tök jó, hogy nem csak Windows-os build agent-eken futhatnak a build-ek. Ezen felül az is tetszik, hogy a Macbook-omon is tudok fejleszteni, bár hazudnék ha azt mondanám hogy a Mac-es Visual Studio van olyan jó mint a Windows-os.
Ökoszisztéma. Az, hogy az egész dependency injection alapú (+ beépített DI container), már nagyon jó, de a tény is, hogy gyakorlatilag az aspnetcore csak egy nuget package, sűrű frissítések, de ott van a nagyon könnyen bővíthető logging framework, a middleware felépítés (tudom, OWIN is tud ilyet), zseniális config framework, új razor pages stb.
Tesztelés. Asszem OWIN is tud hasonlót, de nekünk mínusz egy test environment-et jelentett ez a frankó kis rendszer.
Open source + transzparencia. Tök jó, hogy le lehet követni közvetlen a bugfixeket és issue-t is lehet nyitni, ha problémád van.
Másik irányból megközelítve. Mi van a Framework-ben, ami a Core-ban nincs? A mi projektjeinkben nem találtunk ilyet. Ja de, az idióta SOAP-ot, azt egy workaround-dal kellett megoldanunk sajna. Illetve, talán aki komolyabb Entity Framework feature-öket használ, annak még kellhet, de nekünk nem volt ilyen feature.
Jövőkép. Persze, mindig mondják, hogy majd a Framework-be is visszamennek a változások, de kétlem, hogy örökké így lesz. Sőt, igazából csak egy része megy vissza, ha elolvasod Stephen Toub utolsó mondatát az egyik kommentjében itt. A Core a jövő, nem is kérdéses.
Egyébként itt és itt találsz még egy rövidke összefoglalót az MS-től, ha az ő véleményük is érdekel.
-
Froclee
őstag
static void Main(string[] args)
{
Console.WriteLine(string.Join("\t", KettesSzamerender(25)));
Console.ReadKey();
}
static List<int> KettesSzamerender(int szam)
{
var eredmenyek = new List<int>();
while (szam > 0)
{
eredmenyek.Add(szam % 2);
szam = szam / 2;
}
return eredmenyek;
}vagy
static IEnumerable<int> KettesSzamerender(int szam)
{
while (szam > 0)
{
yield return szam % 2;
szam = szam / 2;
}
} -
Froclee
őstag
válasz
Zalanius #8151 üzenetére
Érdekes. Mi 1 éve Core-ban fejlesztünk, sosem nyúlnánk többet a full framework-hoz. Illetve merem kijelenti, hogy szerintem totál hülye az, aki egy új projektet a full framework-ön kezd el.
(#8153) lord.lakli - jól, azt is használjunk production-ben, bár nekünk viszonylag egyszerűbb sémánk van (8-9 tábla). group by-t pl viszont csak 2.1-től fog tudni. Itt van a többi új feature. gondolom 1-2 év és szépen elhalad az EF mellett majd.
Ha már maturity-nál tartunk. Angularral és npm-el agyunkat is szétszopjuk néha...
-
Froclee
ő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
-
Froclee
őstag
Hogyan mérted? Debugger attacholva van? Function előtt és után DateTime? (Stopwatch-al kell.) Egyébként a JIT-től is lehet szóval érdemes loopban futtatni kb 20szor.
-
Froclee
őstag
válasz
joysefke #7933 üzenetére
tényleg jó a bad practice bemutatására.
(no offense)
kis olvasmány -
Froclee
őstag
-
Froclee
őstag
UI-t csak UI thread-ről tudsz updatelni, Dispatcher-rel. Amúgy exceptionre dobsz egy google-t ki is hozza.
Hasonló kérdés volt 2 hónapja: [link]"Na meg az onclick által meghívott háttérlogika metódus blokkolja a GUI-t amíg az be nem fejezi."
Nem akarok bunkónak tűnni, de ezt nem egyszer leírtuk neked (pl itt és itt is volt figyelmeztetés).
(#7834) togvau: C#-ban getter setter láthatóságot lehet állítani.
-
Froclee
őstag
válasz
Szabesz #7815 üzenetére
Szerintem ne bátorítsuk itt az embereket depracated api-k használatára.
(WebClient)
HttpClient tökéletes párhuzamos request-ekre, sőt kifejezetten ajánlott static-ként használni, ha nem akarsz port exhaustion-t.togvau példája nem olyan rossz, de veszélyes a .Result, a Factory-ban indítot Task nincs await-elve (, és idegesítőek a java naming convention-ök használata
). Illetve az akadozó network sebességre nincs tippem, soha nem találkoztam még ilyen problémával.
"nem minden esetben, de az esetek nagy részében igen, jobb a java"
Mint nyelv, a legtöbb esetben sokkal butább a Java, szerintem ezt nehéz vitatni. Getter-setter pl egy agyrém. És a C# egyébként komoly tempóban halad. A Java körül az eco-system viszont marhajó, ez tény. -
Froclee
őstag
Task.Run-ban 99%ban nem szabad semmit wrappelni. (+ link) Pláne hogy mégcsak async-á se tetted.
var currencies = await Service.CurrencyService.GetListAsync(); // naming convention: async metódus async-ra végződik
if (currencies != null)
{
foreach (Model.Currency curr in currencies)
{
if (curr.Name == "USD") this.Usd = curr.Value;
if (curr.Name == "EUR") this.Eur = curr.Value;
if (curr.Name == "GBP") this.Gbp = curr.Value;
}
}Ez hol hal meg? RaisePropertyChanged dob exceptiont? Illetve fingom sincs UWP-ban hogy van a szálkezelés, de tudtommal, ha UI controlt akarsz frissíteni másik threadről nem árt Dispatcher-t használni.
-
Froclee
őstag
Az
if (x.Attributes.Item(1).InnerText == "USD")
után tennék a helyedben egy entert és a breakpointot acurrList.Add(new Model.Currency { Name = "USD", Value = int.Parse(x.InnerText) });
sorba tenném. Ha beakadt a breakpoint nyomj egy F10-et és kapni fogsz egy exceptiont."a Model.Currency Value értéke integer, nincs szükséges a tört részre"
Akkor ügyesen parse-old.
-
Froclee
őstag
Nekem lefut kicsit átalakítva.
1.) Nem int.Parse hanem double.Parse kell.
2.) Ahogy martonx írta, olvashatóság miatt inkább var-t használj.
3.) Illetve ezt kellett még átalakítani:var eRatesRequestBody = new ServiceReference1.GetCurrentExchangeRatesRequestBody();
var eRatesResponseBody = await client.GetCurrentExchangeRatesAsync(eRatesRequestBody);
var resultAsString = eRatesResponseBody.GetCurrentExchangeRatesResponse1.GetCurrentExchangeRatesResult;
XmlDocument eRatesDoc = new XmlDocument();
eRatesDoc.LoadXml(resultAsString);GetCurrentExchangeRatesAsync visszatérési értéke GetCurrentExchangeRatesResponse, nálad pedig ResponseBody.
De egyébként debuggert nem használsz?
-
Froclee
őstag
válasz
eddie17 #7666 üzenetére
Mi az hogy éles? Miért nem csinálsz valami kis saját gyakorló projektet pl githubon? Mondjuk valami eCommerce alkalmazás microservice-ekkel, ott aztán mindent tudsz gyakorolni.
Docker, SPA frontend, backend, ORM stb. Microsoft-é jó kiinduló pont lehet.
Hogyha úgy érzed ez nem menne, akkor csinálhatsz csak egy szimpla MVC projektet is, az is tök jó gyakorlás.
-
Froclee
őstag
válasz
szoke12 #7658 üzenetére
1. )Nagyon rosszak a naming conventionök. Mi az hogy z? Mi az hogy Kerdezo?
2.) Igen, a flow így nem igazán jó. Aszinkron lett, viszont szinkronnak kell lennie. Fontos, hogy a Show() után ne menjen tovább a kód.
a.)
public void ExecuteWhateverLogicOnZ(int z)
{
var dialogResult = new Kerdezo().ShowDialog();
//kezdj valamit a result-tal. lényeg hogy addig ne folytatódjon a kód amíg nincs eredménye a kérdezőnek.
}b.)
public void ExecuteWhateverLogicOnZ(int z)
{
if (z == 0)
{
new Kerdezo(this).Show();
return; //egyből kilépsz a metódusból
}
// more code here
}public class Kerdezo : Form
{
private OriginalForm _originalForm;
public Kerdezo (OriginalForm originalForm)
{
_originalForm = originalForm;
}
private void Form1_FormClosing(object sender, EventArgs e) //arra az eventre iratkozz fel amikor a z módosul
{
var result = sender as WhateverResult;
_originalForm.ExecuteWhateverLogicOnZ(result.Valasz);
}
} -
Froclee
őstag
válasz
szoke12 #7656 üzenetére
"Az lenne a célom, hogy amikor fut a program, akkor addig várjon egy ponton, amíg az egyik változó értéke meg nem változik."
Nem szívesen mondanám el, mert ha ilyet kell csinálnod, 90% hogy rossz az alkalmazás design-ja. Ha raksz be pár code snippetet (az egész is mehet pastebin.com-ra) akár tudunk segíteni, hogyan lehetne ezt normálisan.
-
Froclee
őstag
válasz
valyogvisko #7635 üzenetére
Az emlitett sort a metoduson kivulre rakd, ne belulre.
-
Froclee
őstag
Múlt pénteken megjelent a .NET Core 2.
Nektek tapasztalatok a Core-ról? Van rajtunk kívül valaki, aki használja productionben?
-
Froclee
őstag
nem tudom, nagyon fura az editorod. amúgy 13 overloadja van és mindegyik property selector.
egyébként ha egy func-nak csak egy argumentumja van, nem kell zárójelezni a lambda bal oldalát.
arg1 => arg1
(arg1, arg2) => arg1*arg2
-
Froclee
őstag
válasz
BTminishop #7499 üzenetére
jquery nagyon 2014.
en egyenesen egy frameworkkel kezdenek, mint amiket Goose is felsorolt. React-ot meg hozzaadnam, esetleg a signalr-t is.
-
Froclee
őstag
válasz
BTminishop #7472 üzenetére
Kis help: Console.Write nem ír új sort, csak a Console.WriteLine. Hajrá.
-
Froclee
őstag
válasz
Flowtation #7342 üzenetére
Guglizz picit.
lblEredmeny.Text stringet vár de te int-et adsz neki. Át kell konvertálni.TryParse-ot hagyd egyelőre.
megelőztek
-
Froclee
őstag
válasz
texriddick #7321 üzenetére
-
Froclee
őstag
Nem hiszem hogy reg fájlt exébe tudnál csomagolni szimplán. Vagy egy installert akarsz vagy egy zip fájlt szerintem.
martonx arra gondolt, hogy van egy olyan dolog hogy current directory és ha relatív akarsz hivatkozni a fájlokra, akkor ahhoz képest kell nézned. a current directory valszeg pont maga az exe fájlt mappája lesz.
pl
C:\Program Files\Myprogram\core\program.exe
ha itt van egy fájl:
C:\Program Files\Myprogram\fajl.batakkor így kell rá hivatkozni:
..\fajl.bat -
Froclee
őstag
Deferred execution egyébként érdekes téma. Akit érdekel, debugger-rel biggyesszen egy breakpoint-ot a foreach-re és lassan nyomogassa az F10-et, és nézze a konzol output:
string sourceFolderPath = $"C:\\Users\\{Environment.UserName}\\Desktop";
string filePattern1 = @".txt";
string filePattern2 = @".exe";
var matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.TopDirectoryOnly).Where(x =>{
Console.WriteLine($"executing now on {x}");
return x.EndsWith(filePattern1) || x.EndsWith(filePattern2);
});
foreach (string filePath in matchingFiles)
{
Console.WriteLine("one iteration in foreach");
Console.WriteLine(filePath);
}És nézze meg ugyanezt, ha .ToList()-et végére biggyeszt.
var matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.TopDirectoryOnly).Where(x =>{
Console.WriteLine($"executing now on {x}");
return x.EndsWith(filePattern1) || x.EndsWith(filePattern2);
}).ToList(); -
Froclee
őstag
válasz
don_peter #7265 üzenetére
Ez meg egy overkill (mivel a BlockCopy-nak is működnie kéne), de pl nálam ez is üzemel:
byte[] rows = new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
byte[] rows2 = new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
byte[] rows3 = new byte[8] { 0,0,0,0,0,0,0,0 };
byte[] rows4= new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
var osszefuzott = new byte[rows.Length+rows2.Length+rows3.Length+rows4.Length];
using (MemoryStream ms = new MemoryStream(osszefuzott))
{
ms.Write(rows, 0, rows.Length);
ms.Write(rows2, 0, rows2.Length);
ms.Write(rows3, 0, rows3.Length);
ms.Write(rows4, 0, rows4.Length);
osszefuzott = ms.ToArray();
} -
Froclee
őstag
string sourceFolderPath = @"forrásmappa";
string filePattern1 = @".kiterjesztes1";
string filePattern2 = @".kiterjesztes2";
string destinationFolderPath = @"celmappa";
List<string> matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.AllDirectories).Where(x=> x.EndsWith(filePattern1) || x.EndsWith(filePattern2)).ToList();
foreach (string filePath in matchingFiles)
{
var fileSpec = new FileInfo(filePath);
File.Move(filePath, Path.Combine(destinationFolderPath, fileSpec.Name));
}(#7265) don_peter:
Memória másolás:
A BlockCopy-s verziódnak mennie kéne. Ugyanez Array.Copy-val:var osszefuzott = new byte[DataLenght];
rows.CopyTo(osszefuzott, 0);
rows2.CopyTo(osszefuzott, rows.Length);
rows3.CopyTo(osszefuzott, rows.Length + rows2.Length);
ows4.CopyTo(osszefuzott, rows.Length + rows2.Length + rows3.Length); -
Froclee
őstag
válasz
netpeti98 #7227 üzenetére
passz, de a VS2017, meg a C# 7 is elég királynak tűnik. ez a local function mivel hasznosabb mint egy Func vagy egy Action? nekem nem olyan szimpi, könnyen összekutyulhatja a kódot.
a tuple literal elég javascript feelingja és lesz visual studio (nem vs code) Mac-re. már van preview: link
ja, meg, amit eddig is tudtunk, a project.json sajna már megint csproj lesz a jövőben.
-
Froclee
őstag
.NET Core 1.1 kint, főleg bugfixekkel.
A Kestrel-t viszont (Core beépített webszervere) 1.822.366 request/second-re tuningolták. -
Froclee
őstag
Szia.
Berakod pastebin-re és feltöltöd megint azt a részt? A max-min algoritmusnak 1nél nagyobb tömbben mennie kell. Lord.rakli 4)-es pontját is fixáltad?
+ csak egy tipp: nem csak a min-t, hanem a max-ot is megkaphatod ugyanazon a cikluson belül, ha a kacsacsőrt a másik irányba fordítod.
És akkor nem kell 2x végigmenni a tömbön.
edit: látok arra esélyt, hogy a probléma az lesz hogy azelőtt elérted a 100as szummát mielőtt feltöltötted a tömb mind a 10 tagját. Majd mikor végigiterálsz rajta a keresőn dob egy null exceptiont, a fel nem töltött elemre.
Pl. tomb[9]-re dob egy null reference-t, mert nem töltötted fel az első ciklusban, mert csak tomb[5]-ig jutottál el, de a tomb[6],tomb[7],tomb[8],tomb[9],tomb[10] mind null (ami nem nulla!). -
Froclee
őstag
Ez és a tuple milyen helyzetekben hasznos? Separation of concerns-t meg az olvashatóságot nem hágja át csúnyán?
Mármint ha pl nevet és hozzátartozó id-t szeretnék visszaadni, szerintem azt se Tuple-el csinálnám. Inkább csinálnék egy person osztályt, és akkor a tagjai nem anonymousok (Item1,Item2,Item3) -
Froclee
őstag
Nem ide tartozik, de érdekességképp.Tervbe van egy ilyen feature:
(string, string, string) LookupName(long id) // tuple return type
{
... // retrieve first, middle and last from data storage
return (first, middle, last); // tuple literal
} -
Froclee
őstag
De ha simán el tudom képzelni, hogy van két overloaded metódus, az egyik int-t ad vissza, a másik stringet, és ha nem figyelsz a paraméterezésnél, akkor a var walami=metodus(); a rosszabbikat fogja neked választani.
Azért az kemény lenne.
Type 'Program' already defines a member called 'Get' with the same parameter types
ja, sorry, te "hasonló" paraméterekről beszéltél és figyelmetlenségről. ebben az esetben nem fogadom el az érved.
-
Froclee
őstag
válasz
sirszevenap #7143 üzenetére
egy otlet: mikor konstrualod a form-ot jegyezd le hogy honnan nyitottak.
Form2 form= new Form2(nameof(Form1));
public Form2(string source)
{
this.source = source;
} -
Froclee
őstag
válasz
alratar #7130 üzenetére
Az XML file-t amit beillesztettél vágólapra, teszed utána:
utána egyszerű:
XmlSerializer xser = new XmlSerializer(typeof(player));
using (StreamReader sr = new StreamReader("playerlist.xml"))
{
var obj = (player) xser.Deserialize(sr);
}PS: Egyébként a StreamReader-edet using-al vedd körül.
-
Froclee
őstag
oké, kellett 5 másodperc mire leesett mi az a kapcsolati karakterlánc
(forrás: MS oldal)
-
Froclee
őstag
válasz
sirszevenap #7116 üzenetére
Pontosabban erre.
-
Froclee
őstag
válasz
sirszevenap #7116 üzenetére
Erre az eventre reagálj.
#7112: Egyetértek nagyrészt. Hangnemen meg se lepődök már.
Egyébként, hogy Java elhúzott úgy értettem, hogy amit tapasztalok, az az, hogy több vállalati alkalmazás Java alapú, mint .NET. A Java 8-at amúgy gyengébbnek tartom, mint a C# 6-ot.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- MSI Thin A15 B7VF 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- TUF A17 FA706IU 17.3" FHD IPS Ryzen 7 4800H GTX 1660 Ti 16GB 512GB NVMe gar
- Lenovo Thinkpad X13 Gen4 - AMD R5 7450U/32GB/1TB
- ELADÓ - LENOVO LEGION SLIM 7i 16IAHV - 40GB RAM, 1.5 TB SSD
- 27" AOC C27G4ZXE Gaming 280Hz 0.3ms válaszidő
- LG 45GS95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- HP Probook 650 G4 15,6 i5-8350u 8. gen. GYÁRI MAGYAR VILÁGÍTÓ BILL!!!
- Csere-Beszámítás! Asus Prime RTX 5060Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Turbózd fel géped a jövő RAM-jával!
- Apple iPhone 14 Pro 128GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged