Muszę się spytać, bo od parunastu godzin mam te myśl w głowie.
O co dokładnie chodzi z tym "zepsutym"(a przynajmniej tak co poniektórzy twierdzą) rynkiem juniorskim w #programowanie?
Moje jedyne przemyślenia z tym związane to zalew ludzi po miesięcznych bootcampach z wiedzą czysto teoretyczną ( ͡° ͜ʖ ͡°) daleko od rzeczywistości?

Sam od paru tygodni cisnę z nauką C#(od lat pare jezykow siedzialo mi w glowie bo
@daczka92: akurat c# nie jest tak #!$%@? jak java i front, i idzie w tym jeszcze jako tako znaleźć pracę na początku. Adminowanie nie jest tak ciekawe jak programowanie, sieci podobnie. Na architekta nie weźmiesz randoma który ma zerową wiedzę w programowaniu, i nie każdy na to się nadaje, więc próg wejścia jest po prostu wyższy ( ͡° ͜ʖ ͡°)
Chciałbyś sprawdzić i wykorzystać swoje umiejętności #programowanie w #cpp, #java, #csharp, #python lub #javascript?
Otóż bardzo dobrym sposobem do tego jest udzielanie się w projektach open source.

Jednym z bardzo dynamicznie rozwijających się projektów, jest silnik do tworzenia gier(i nie tylko) Godot Engine. Napisany jest w C++03(C++11 będzie dostępny w wersji 4.0), dzięki czemu tworzenie kodu powinno być proste i przyjemne.

Godot oferuje graficzny edytor na platformy
źródło: comment_ByTjm2z5V9RmT9SB5v9S5hAKi2JWtn6D.jpg
Mam dwie listy, jedna stara, druga z nowymi danymi. Aktualizuje stara listę, w momencie gdy 2 typy z listy starej zgadzają sie z dwoma listy nowej. Docelowo lista przechowuje 6 elementów, tu podglądowa ma 4.
Czy da się wykonać to jakoś bardziej optymalnie?

class ClientList
{
public string Name { get; set; }
public DateTime Date { get; set; }
public int Int1 { get; set; }
public int Int2 { get;
@zibizz1: ok poczytam o tym i spróbuję ;) a to sprawi że będzie szybciej się to wykonywać? Zależy mi na szybkości wykonywania. Możliwe że każda lista będzie zawierać około 500obiektow. Nie wszystkie będą się pokrywać
via Wykop Mobilny (Android)
  • 0
@mdlejtecole: przy kilkuset elementach to już konieczne. Chodzi o to że iterujemy po jedej liście a w drugiej szukamy z kosztem stałym czyli złożoność N. Obecnie masz N2, czyli słabo
#programowanie #webdev #csharp

Czy w Web API powinno się w ogóle catchować wyjątki w kontrolerach? Zrobiłem sobie już zapięcie pod globalny catcher, który wyświetla jakiś bardziej przyjazny napis + Exception.Message żeby była dla użytkownika albo raczej przede wszystkim przy tworzeniu frontu jakaś poszlaka co się wysrało, żeby łatwiej można było potem przetrzepać logi - to powinno załatwić obsługę wszystkiego co wysra się niespodziewanie.

No i jeszcze można catchować wyjątki "obsłużone" gdy wiemy
@Szab: Logowanie jest automatyczne. Nawet nie muszę robić Ilogger.LogError, bo to od razu leci z tego co widzę do konsoli w pełnej postaci - a co leci do konsoli siedzi w rurce logów, więc można sobie to zrzucić jakimś listenerem gdziekolwiek, do pliku czy bazy. Ale to już kwestia podpięcia się pod logi aniżeli samej obsługi wyjątków.
@object: No tak jak mówiłem, wyjątki których się spodziewam obsługuję inaczej. Jeśli wiem jaki kod SQL może wystąpić podczas jakiegoś przewidywalnego scenariusza, to nie ma powodu aby rzygać jakimiś błędami w response, skoro taka sytuacja to normalny scenariusz użycia - błędnego tak dokładniej.
Pomożecie towarzysze?:
Wywołanie metody klasy:
Wybierz wszystkie poprawne odpowiedzi:
a. możliwe jest tylko po utworzeniu obiektu tej klasy
b. nie jest nigdy możliwe w sposób bezpośredni
c. jest możliwe bez tworzenia obiektu, jeśli wywoływana metoda jest metodą statyczną
d. jest możliwe tylko w przypadku metod wirtualnych

W języku C# atrybuty i metody oznaczone dyrektywą dostępu „private”:
Wybierz wszystkie poprawne odpowiedzi:
a. dostępne są tylko w obrębie metod tej samej klasy
b. dostępne
#programowanie #csharp #webdev #bazydanych

Używał ktoś EF Core w połączeniu z npgsqlem jako code-first? Mam problem z relacją wiele-wiele.

https://www.entityframeworktutorial.net/code-first/configure-many-to-many-relationship-in-code-first.aspx

W tym przykładzie gość po prostu dorzucił wzajemne kolekcje i framework sam wykminił aby sobie zrobić table łączące, nawet bez drutowania niczego w model builderze. No ale domyślam się że to w użyciu z MSSQL a nie PostgreSQL.

U mnie jak wrzuciłem tylko wzajemne kolekcje, to EF rzygał, że nie wie o
via Wykop Mobilny (Android)
  • 1
@Khaine: netcore 3 implementuje .netstandard 2.1 jakby co. Ogólnie wszystke .netowe implementacje (.net framework, mono, core) dążą żeby mieć zaimplementowany .netstandard. Oczywiście potrzebują czasu żeby to zrobić a nawet finalnie okazuje się że niektóre rzeczy na niektórych platformach są dostępne ale w środku siedzi NotImplementedException
#programowanie #csharp #webdev

Żeby położyć dobry fundament pod uniwersalne i skalowalne API potrzeba tyle roboty, że ja #!$%@?ę ( ͡° ʖ̯ ͡°) Mówię bez kontrolerów jeszcze nawet, same meta-flaki które będą te kontrolery potem odpowiednio we wszystkim wspomagać, odpowiednie rozdzielenie architektury, zaprojektowanie podstawowej struktury bazy danych, logowania, autoryzacji, autentykacji, obsługi błędów itd.

Pod tym względem chyba wolę desktopy, bo dużo mniej gnojowicy trzeba odgarnąć zanim zrobi się cokolwiek
@Khaine: jak wymyślasz koło na nowo to tak, może masz rację, ale to o czym piszesz jest robione od dwucyfrowej liczby lat i jest tyle gotowców że po prostu robisz sobie pod górkę, możesz sobie wybierać do woli i na pewno ktoś już zaimplementował w sposób wystarczający to czego szukasz

Pułapka perfekcjonizmu "zawsze może być lepiej" to prosta droga do overengineeringu i zapętlenia się we własnej głupocie, trust me
#aspnet #csharp #dotnet #entityframework

Czy zwracanie modeli widoku z repozytorium to zła praktyka? Powinienem dodać jakąś warstwę między repozytorium a kontrolerem?

Czy posiadanie dużej ilości metod w repozytorium to zła praktyka? Powinienem rozdzielić repozytorium na kilka innych? Czy może poprzerabiać metody na uogólnione lub przyjmujące argument delegatu?
#programowanie #bazydanych #webdev #csharp

Stoimy z chłopakami przed pewnym dylematem i brakuje nam wiedzy aby być w stanie go jakoś rozstrzygnąć. Obecnie sprawa wygląda tak, że jest sobie baza MSSQL która ma od pyty procedur składowanych w których to dzieje się cała magia. Danych jest bardzo dużo i przychodzą non stop, backend jest szczątkowy - właściwie tylko przewala gotowce z bazy do frontu. Mówimy o potencjalnie setkach gigabajtów danych, które to mogą

Co byś wybrał?

  • NoSQL + agregowanie w backendzie 19.0% (8)
  • SQL (db-first) + agregowanie w backendzie 61.9% (26)
  • SQL (db-first) + agregowanie w prockach 19.0% (8)

Oddanych głosów: 42

@Khaine: procedury skladowane moze i przywiazuja do jakiejs bazy, ale maja podstwaowe rzeczy, tzn, to one dbaja o spojnosc danych, nie ma problemu, ze ktos uruchomi niewlasciwa wersje programu, po wtore jak sam zauwazyles dzial to szybko, po trzecie, nie widziałem, żeby klienci przeskakiwali z bazy na bazę. Co najwyżej moze kosztem być utrzymanie 2 kodów dla 2-3 baz danych. Inne podejście miałbm do jakiś drobnych kodów, gdzie rzeczywiście możńa się
Potrzebuję wskazania kierunku w którym iść i jakich technologii użyć. Mam apkę w C# z jakimiś tam triggerami na desktopa. Jak najlepiej przekazać dane z tego programu do rozszerzenia w Chrome? Na podstawie tych danych rozszerzenie ma wykonać swoją pracę w obrębie przeglądarki. Metoda taka, a nie inna, bo nie jestem w stanie dobrać się do Chrome z poziomu C# (Selenium odpada).

#naukaprogramowania #csharp
@bacteria: A czy Selenium pozwoli mi działać w obszarze bieżącej instancji przeglądarki czy musi stworzyć swoją? Dotychczas tak to właśnie wyglądało, że tworzył swoją. Jeśli da się zrobić tak żeby dogadał się z już otwartą przeglądarką z której korzystam na co dzień, to pójdę w tym kierunku.
@avangarda: Selenium potrzebuje swojej instancji zeby moc zaladowac dllki. Jak chcesz komunikowac sie z obecnie otwartej instancje poprzez dostep do DOM to raczej jakis server-client w JSie - kiedys bylo cos takiego jak TamperMonkey / GreeseMonkey.
#programowanie #backend #csharp

Tym razem pytanie z grupy designu systemu od strony bebechów.

Generalnie w starych aplikacjach pisanych przez raczej średnio zorganizowanych ludzi autoryzacja jest zbudowana na systemie ról. Mamy tam 5 czy 6 twardo zdefiniowanych ról i potem w pierdylionie miejsc w kodzie mamy sprawdzenia typu if (User.Role == Roles.Admin) to cośtam xD Zahardkowane bo czemu nie, jak lepić paździerza to po całości.

A potem przychodzi klient i mówi "wiecie co,
@budyn: Tak właśnie myślałem, że role sobie mogą być ALE po pierwsze możemy definiować nowe role w locie złożone z dowolnych claimów jakie tylko mogą być. Walidujemy claimy a rola to jest tylko pakiet żeby było łatwiej to zebrać do kupy.
@Khaine: no to ogolnie u nas najlepiej sie sprawdzaja grupy w active directory. Autoryzujesz grupy a ich management oddajesz w rece it supportu ewentualnie team infrastruktury. Ten sam patent mozna wykorzystac w roznych tierach aplikacji, np. W data access layerach jak Sql, itd. Na start polecam troche literatury https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/active-directory-security-groups
KONKURS! TENERYFA! ( ͡º ͜ʖ͡º)

Zacznij nową pracę i poleć z Your Extended Team na Teneryfę!

Szukasz nowej pracy a nie byłeś jeszcze na wymarzonym urlopie?
Chciałbyś podjąć nowe wyzwania a jednocześnie solidnie naładować baterie?

Mamy dla Was idealne rozwiązanie! ( ͡° ͜ʖ ͡°)

Wystarczy, że w sierpniu zapoznacie się z naszą ofertą i zdecydujecie się podjąć zatrudnienie bezpośrednio w Your Extended Team
źródło: comment_ZuV5SjH2A6yP8MORaqarcCU6gtcuSYjC.jpg
Mirek właśnie wrócił i jest zachwycony. ( ͡~ ͜ʖ ͡°) Podoba mu się, że pracując w Iterative/YourExtendedTeam zamiast pracować zdalnie z domu, zabiera swoją dziewczynę, wsiada w samolot, leci do Hiszpanii i pracuje zdalnie, mając wszystko załatwione i opłacony pobyt. ( ͡° ͜ʖ ͡°) Ten Mirek docenia również, że rekruterzy wykonali ciężką pracę i słyszeli wiele negatywnych komentarzy by do niego dotrzeć i połączyć
Nigdy nie używałem nHibernate (fluent) więc postanowiłem zerknąć sobie co i jak. Tak sobie dłubię i sprawdzam, ale nie mogę poradzić sobie z poprawnym mapowaniem klucza obcego. W profilerze na bazie wygląda wszystko ok, problem pojawia się przy mapowaniu na obiekt. Obiekty referencyjne się dociągają, ale ten zasrany Id nie.

public class UserAccountMapMap : EntityMap
{
public UserAccountMapMap()
{
Table("UserAccountMaps");
Map(x => x.RecordId);
References(x => x.User).LazyLoad();
}
}

Jakby References nie generowało
źródło: comment_esvbjS61TUTbtanKW6z5K9Ch07tjW1y1.jpg
Hej, jak zapewne wiecie, świat zmierza w kierunku pracy zdalnej. My wiemy, że praca zdalna może być nawet bardziej wydajna niż praca na miejscu. Dlatego postanowiliśmy pójść o krok dalej. Kilka late temu Maciej, współzałożyciel YourExtendedTeam (wcześniej Iterative) miał kontrakt w Hiszpanii, klient opłacił mu pobyt na kilka miesięcy. To był świetny okres. Każdego dnia słońce, praca z widokiem na jachty. Maciej wiedząc, że praca zdalna to przyszłość, postanowił wtedy, że gdy
źródło: comment_pfM2svll3X0tXO5u1HX1jfNPjB8ndrJZ.jpg
@Kamilex97: W Assembly wersję zmieniasz ręcznie lub ustawiasz coś w rodzaju [assembly: AssemblyVersion("1.0.*")] żeby zwiększało build i revision automatycznie. Wersję z publikacji możesz pobrać z "ApplicationDeployment.CurrentDeployment", ale nie będzie to działać w trybie Debugowania.

if (ApplicationDeployment.IsNetworkDeployed)
return ApplicationDeployment.CurrentDeployment.CurrentVersion;
else
// Stored in Properties -> AssemblyInfo.cs
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;