Προς το περιεχόμενο

Portmaster

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    37
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

Σχετικά με Portmaster

  • Ημερομηνία γέννησης 31/10/1982

Portmaster's Achievements

  1. https://m.youtube.com/watch?v=MoB3qX7ODIU
  2. Είναι λάθος το http request που κάνεις. Είναι ξεκάθαρο από το doc ότι το api δεν παίζει με json, εσύ με το postman στέλνεις content type application/json. Στείλε content type application/x-www-form-urlencoded και στο body post=json.
  3. Το συγκεκριμένο query προφανώς και δεν επιστρέφει καρτεσιανό γινόμενο. Πραγματικά τα πιο διαστροφικά πράγματα μπορείς να τα ακούσεις από κάποιον που προσπαθεί να ερμηνεύσει γιατί ένα query δεν έχει το αναμενόμενο performance. Να βάλουμε order by, να βάλουμε limit, να αλλάξουμε font... και αφού όλα αυτά αποτύχουν αρχίζει να αναφέρεται για το rdbms λες και έχει ψυχή, νοημοσύνη. Well, τα rdbms αυτού του επιπέδου είναι πιο complex από λειτουργικά συστήματα. Με το input κάθε πικραμένου developer πρέπει να υπολογιστεί το optimal execution plan στον ελάχιστο δυνατό χρόνο. Ας συνυπολογίσουμε σε όλα αυτά τα όποια bugs και ιδιαιτερότητες όλες αυτές οι εκατομμύρια γραμμές κώδικα αυτών των συστημάτων μπορεί να έχουν. Σταματήστε να μαντεύετε the fuck, ο μόνος τρόπος πέρα από κάποια text book cases να καταλάβεις τι στα @@ γίνεται είναι να δεις το execution plan. Indexes υπάρχουν, όπως και λεφτά... Μερικά πολύ βασικά πράγματα, δεδομένου ότι δεν δίνεις exec plan. Οι πίνακες έχουν indexes... αλλά σε άσχετα columns. Ακόμη και εάν τα 2 συγκεκριμένα columns έχουν index, στο select φέρνεις τα πάντα όλα. Εάν τα indexes δεν είναι clustered πρέπει για κάθε row να γίνει key lookup ώστε να γίνουν fetch τα data από το clustered. Εάν είναι clustered, υπάρχει περίπτωση το μέγεθος των δεδομένων να είναι μεγάλο. Το καλύτερο perf θα το πάρεις από non clustered index seek, όσο μικρότερο είναι το μέγεθος του index, τόσο λιγότερα είναι τα iops που χρειάζεσαι να το σκανάρεις. Οι πίνακες μπορεί να έχουν user uploads και να είναι 5mb κάθε row... Το rdbms είναι στην Αμερική και χρησιμοποιείς modem 56k να συνδεθείς.
  4. Το να μην εκτελέσεις το query θα κάνει το execution ταχύτερο όταν από πριν δεν περιμένεις κάτι από το rdbms. Όμως είναι σπάνιο να χρησιμοποιείς rdbms και να ξέρεις από πριν ότι δεν θες τίποτα από αυτό. Νομίζω πήγα το optimization σου στο επόμενο level, σβήστε τα queries
  5. Sorry για το off topic var list = new List<Action>() { () => Console.WriteLine("a"), () => Console.WriteLine("b") }; list.ForEach(x => x());
  6. @M2000 Έδωσε ο παπι sample με async function, δεν είμαστε στις σπηλιές ούτε αυτά τα πράγματα πρέπει να γίνονται στο UI thread.
  7. Decouple the fuck namespace WindowsFormsApplication1 { using System; using System.Threading; using System.Windows.Forms; using System.Threading.Tasks; public partial class Form1 : Form { private Worker worker_ = new Worker(); public Form1() { InitializeComponent(); } private async void button1_Click(object sender, EventArgs e) { try { await worker_.DoWorkAsync( new Progress<string>(_ => label1.Text = _)); } catch (OperationCanceledException) { label1.Text = "Work cancelled"; } } private void button2_Click(object sender, EventArgs e) { worker_.CancelWork(); } } internal class Worker { private CancellationTokenSource cts_; public Task DoWorkAsync(IProgress<string> pg) { if (pg == null) { throw new ArgumentNullException(nameof(pg)); } if (cts_ != null) { return Task.FromResult(0); } cts_ = new CancellationTokenSource(); return Task.Run(async () => { for (; { cts_.Token.ThrowIfCancellationRequested(); // work work work work work work pg.Report(Environment.WorkingSet.ToString()); await Task.Delay(500, cts_.Token); } }); } public void CancelWork() { cts_?.Cancel(); cts_?.Dispose(); cts_ = null; } } }
  8. Ακριβώς αυτό είναι και το μεγαλύτερο πρόβλημα του .NET, οι περισσότεροι σκέφτονται έτσι και χρησιμοποιούν σχεδόν αποκλειστικά ότι προτείνει η Microsoft. Το EF ήταν για τα σκουπίδια μέχρι να βγάλουν το code first. Τα ASMX είναι αρχαία ιστορία, στο μεταξύ είχαμε το WCF (άλλο πανάθλιο πράμα) το οποίο είναι πρακτικά obsolete, μετά WebApi που στην ουσία είναι και αυτό obsolete λόγω MVC6 / .NETCore.
  9. Θα τσιμπήσω εγώ γιατί είμαι μετά από πιεστικό rollout και θέλω να ξεδώσω στο internet. Γιατί στην καλύτερη είναι C# του 2005, πως σου φαίνεται;
  10. SELECT Id, SUM([value]), SUM(SUM([value])) OVER() FROM table GROUP BY Id; Εφόσον το rdbms σου υποστηρίζει window functions
  11. Δεν ισχύουν αυτά που γράφεις για το refresh rate των LCD, ότι refresh rate και να βάλεις σε μια LCD δεν έχει τρεμόπαιγμα γιατί πολύ απλά το κάθε pixel ανάβει πάντα, σε αντίθεση με τις CRT που η φωτεινότητα αρχίζει να εξασθενεί αμέσως μετά σάρωμα. Τα pixels στις LCD απλά αλλάξουν state και το μόνο που παίζει ρόλο σε αυτό είναι το response time του πάνελ. Δεν υπάρχει περίπτωση να σε ενοχλούν τα μάτια σου λόγω refresh rate στις LCD. Επίσης αναφορικά με την apple (και όχι μόνο) το ότι η οθόνη μπορεί να είναι ips είναι το λιγότερο. Όπως ανέφερα αυτό που κάνει την διαφορά είναι το ppi, συγκεκριμένα το 15αρι έχει 2880 x 1800 ανάλυση και το OS παίζει με 200% DPI scaling, δηλαδή φυσική επιφάνεια 1440 x 900. Αυτό κάνει όλη την διαφορά του κόσμου γιατί πολύ απλά κάθε pixel της εικόνας χρησιμοποιεί 4 φυσικά pixel της οθόνης με αποτέλεσμα το κείμενο να είναι τελείως ανάγλυφο / εξωπραγματικό. Σε σημείο που αν το συνηθίσεις οι υπόλοιπες οθόνες να σου φαίνονται προβληματικές. Sorry αλλά τα τελευταία 15 χρόνια περνάω 10+ ώρες την ημέρα μπροστά σε μια οθόνη
  12. Καλησπέρα, Το ipad έχει hidpi οθόνη, με απλά λόγια η συγκέντρωση των pixels είναι πολύ μεγαλύτερη ανά τετραγωνικό εκατοστό από ότι στις συμβατικές οθόνες. Αντίστοιχα ποιοτικές οθόνες έχουν το surface 3 (216 ppi), τα macbook pro retina 13 και 15 ίντσες (227 / 220ppi) και thinkpad x1-carbon (210 ppi) Επίσης πάρα πολύ καλή υποστήριξη για hidpi οθόνες υπάρχει στα windows 8.1 / visual studio 2013, windows 7 / 8 και vs <= 2010 είναι unusable. To 13αρι macbook νομίζω θα το ευχαριστηθείς, πήγαινε δες το σε ένα μαγαζί, η τιμή του αρχίζει από τα 1100 / 1200 euro. Μπορείς πολύ εύκολα να το χρησιμοποιήσεις και για windows αλλά και στο OSX έχεις άπειρα πράγματα να ασχοληθείς για dev. Μην πετάξεις τα λεφτά σου σε κάποιο μηχάνημα με συμβατική οθόνη εφόσον έχεις και πρόβλημα, η διαφορά είναι χαοτική.
  13. Retina είναι apple speak για τις οθόνες high dpi. Η apple χρησιμοποιεί 200% dpi scaling, έτσι για παράδειγμα το 15αρι rMBP έχει ανάλυση 2880x1800 και στο default scaling η επιφάνεια εργασίας έχει φυσικό μέγεθος 1440x900. Αυτό έχει σαν αποτέλεσμα κάθε pixel να αναπαρίσταται από 4 φυσικά pixel της οθόνης. Γενικά δεν ήμουν ποτέ apple fan, θεωρώ το iphone υπέρ κοστολογημένο (ειδικά τα τελευταία χρόνια), αλλά πραγματικά το macbook air για παράδειγμα είναι πολύ τίμιο μηχάνημα για αυτά που προσφέρει. Δεν νομίζω ότι υπάρχει κάτι καλύτερο σε χαμηλότερη τιμή. Αντίστοιχα το rMBP είναι state of the art πραγματικά, όποιος έχει ψάξει για laptop σοβαρά ξέρει πόσο δύσκολο είναι να βρεις κάτι με σοβαρή οθόνη / ανάλυση. Ένα Thinkpad T440s πχ με i7, 14' 1080p, 256GB ssd, 8GB ram, χωρίς dedicated gpu έχει ~2k, γιατί να μην πάρεις το retina; Ασύγκριτα καλύτερη οθόνη, καλύτερο σασί, touchpad / keyboard + gpu Αντίστοιχα συγκρίνετε το X1 carbon με το AIR
  14. Ίσως δεν θες να καταλάβεις, ίσως δεν μπορείς. Το blue ray σου ή η κάρτα ήχου του laptop στην ψηφιακή τους έξοδο δεν βγάζουν ήχο, κάνουν passthrough το bitsream από το δισκάκι στο DAC του ενισχυτή σου. Είναι σαν να συγκρίνεις σκληρούς δίσκους και sata καλώδια για το ποιο είναι η καλύτερη πηγή ήχου... Δύο players μπορεί να έχουνε διαφορετική τιμή για πάρα πόλους λόγους, η ποιότητα της ψηφιακής σύνδεσης δεν είναι ένας από αυτούς...
  • Δημιουργία νέου...