C# - Problemi i rješenja izdvojena tema

poruka: 2.138
|
čitano: 860.264
|
moderatori: XXX-Man
+/- sve poruke
ravni prikaz
starije poruke gore
18 godina
odjavljen
offline
Re: C# - Problemi i rješenja
fredii kaže...
Friday kaže...
Ne, SQL kao takav je isti ali su ekstenzije razlicite. To su njihove implementacije dodatnih stvari. Sve sto je standardni SQL mora raditi svuda

 U biti, da se lakše prešaltaš na određenu bazu u slučaju potrebe. Sve isto, samo su drugačije nijanse.

 

Paaaaaa, recimo to tako. Iako razlike stvarno znaju biti goleme. Ja sam upravo poceo uciti postgres zbog novog projekta pa sam poprilicno sokiran razlikama u odnosu na mssql

Freak Show Inc.
17 godina
neaktivan
offline
C# - Problemi i rješenja

Ma da, kao što sam pokušao objasniti još učim to programiranje na samom c# tipa Paskalov trokut, Flyodova piramida, jaki brojevi, Armstrongovi brojevi... da još nisam došao do SQL-a. Da li trebam u isto vrijeme raditi i SQL?

 
0 0 hvala 0
17 godina
offline
Re: C# - Problemi i rješenja
Friday kaže...

 

Paaaaaa, recimo to tako. Iako razlike stvarno znaju biti goleme. Ja sam upravo poceo uciti postgres zbog novog projekta pa sam poprilicno sokiran razlikama u odnosu na mssql

 

Dobro ti si daleko iskuskniji, ovo je moje bilo samo primjećivanje. N00b jbg. Sad osobno prvo sam krenuo s bazom podataka, a kada se tu malo stabiliziram planiram Python, plus literaturu potrebnu za Data Analyst.

I thought that I heard you laughing I thought that I heard you sing I think I thought I saw you try But that was just a dream That was just a dream
15 godina
offline
Re: C# - Problemi i rješenja
Hamburger of death kaže...

Ma da, kao što sam pokušao objasniti još učim to programiranje na samom c# tipa Paskalov trokut, Flyodova piramida, jaki brojevi, Armstrongovi brojevi... da još nisam došao do SQL-a. Da li trebam u isto vrijeme raditi i SQL?

 Ne, idi redom.

 

Nakon sto prodjes C# (i osnove OOPa) te SQL (ali ne jos tako skoro), odmori koji dan od programiranja praveci korak u nazad i napravi pregled podrucja. Pogledaj malo teorije i kakvi su to imperativni (C#), a kakvi deklarativni jezici (SQL), kakvi jos koncepti postoje unutar ta dva podrucja i pogledaj malo sto ti koncepti omogucuju

 

Daleko od toga da je to najbitnije, ali pisem ovo samo zato sto ljudi cesto to zaborave, a nije lose znati :) 

You have to be odd to be number one
17 godina
offline
Re: C# - Problemi i rješenja
Top Bugovac kaže...

 Ne, idi redom.

 

Nakon sto prodjes C# (i osnove OOPa) te SQL (ali ne jos tako skoro), odmori koji dan od programiranja praveci korak u nazad i napravi pregled podrucja. Pogledaj malo teorije i kakvi su to imperativni (C#), a kakvi deklarativni jezici (SQL), kakvi jos koncepti postoje unutar ta dva podrucja i pogledaj malo sto ti koncepti omogucuju

 

Daleko od toga da je to najbitnije, ali pisem ovo samo zato sto ljudi cesto to zaborave, a nije lose znati :) 

 

Ja sam počeo prvo s SQL-om, a onda kako sam naveo kada se tu malo stabiliziram, planiram na Python. To je uredu?

I thought that I heard you laughing I thought that I heard you sing I think I thought I saw you try But that was just a dream That was just a dream
9 godina
offline
Re: C# - Problemi i rješenja

Moraš biti svijesan da su neki ljudi cijeli radni vjek samo na bazama, jer je jako kompleksno područije, nije to nešto što možeš savladati u dva tjedna, potrebne su godine. Moraš razlikovati dvije stvari, a to je administracija baze i programiranje baze.

Programiranje baze  do neke razine ne razlikuje se značajnije, jer postoje SQL standardi koje svi više manje koriste.

Al kad se krene s optimizacijom i "specijalnim" funkcijama/funkcionalnostima i načinima na koje su implementirane, onda zna biti zanimljivo.   

https://www.youtube.com/channel/UCgos5WloYoxCvCeUIi47ZxQ
15 godina
offline
Re: C# - Problemi i rješenja
fredii kaže...
Top Bugovac kaže...

 Ne, idi redom.

 

Nakon sto prodjes C# (i osnove OOPa) te SQL (ali ne jos tako skoro), odmori koji dan od programiranja praveci korak u nazad i napravi pregled podrucja. Pogledaj malo teorije i kakvi su to imperativni (C#), a kakvi deklarativni jezici (SQL), kakvi jos koncepti postoje unutar ta dva podrucja i pogledaj malo sto ti koncepti omogucuju

 

Daleko od toga da je to najbitnije, ali pisem ovo samo zato sto ljudi cesto to zaborave, a nije lose znati :) 

 

Ja sam počeo prvo s SQL-om, a onda kako sam naveo kada se tu malo stabiliziram, planiram na Python. To je uredu?

 Nemam toliko iskustva u poucavanju drugih (brat, sestra, par frendova), ali ono sto sam vidio je da pocetnici najbolje uce dok se zabavljaju i rjesavaju fora stvari

"Koristiti" petlje sam ih ucio primjenjivanjem kernel konvolucije nad slikama, unaprijedjenje tog koda bi im pokazalo sto, kako i koliko znaci bolje dizajnirati kod. 

Nakon toga bi ucili OOP tako da bi zajedno radili krizic kruzic tako da igra covjek protiv covjeka, nakon toga implementaciju minimax algoritma preko kojeg racunalo igra protiv covjeka.

Definiranje grafa i BFS kretanje po grafu. Pronalazenje najblizeg puta izmedju gradova

Nakon toga bi ih natjerao da implementiraju svoju jednostruko i dvostruko povezanu listu, array listu i hashset te ih natjerao da analiziraju slozenosti ubacivanja, pretrazivanja i brisanja

Nakon toga bi radili frekvencijsku analizu teksta i osnovni spell check http://norvig.com/spell-correct.html

Slijedio bi GUI, rewrite krizic kruzica da ima GUI, pacman bez duhova pa pacman s duhovima koji se krecu po BFSu tako da zele sto blize doci do covjeka.

 

Uvijek sam nekako planirao tu ubaciti i Chat s GUIjem, ali nisam nikad.

Svatko bi prije nego sto bi dosao do mene znao napraviti osnovne zadatke s jednostavnim petljama i petljama u petlji (ono, racunaj potencije, faktorijel i slicno), a neki su zagrebali i u rekurziju :)

 

Iskreno uzimalo mi je jako puno vremena, ali se isplati :) 

 

Ukratko, ako ti je zanimljivo onda je u redu. SQL i python su jezici s potpuno razlicitim pristupom (deklarativni i imperativni) pa nije problem. Iako ja mislim da je bolje krenuti s imperativnim jezicima (dakle ne SQLom).

You have to be odd to be number one
17 godina
offline
Re: C# - Problemi i rješenja
fredii kaže...
..

 

Ja sam počeo prvo s SQL-om, a onda kako sam naveo kada se tu malo stabiliziram, planiram na Python. To je uredu?

 -ovisi što je cilj.. tj karikirat ću ali vjerojatno razumljivo :) .. mozak ti može pogrešno izrasti-razviti se. tj način mišljenja ili prilaženju problemu, ovisno hoćeš li se više baviti bazama-sqlom ili programiranjem kao C-dev..

mada je to sve ''isto'' isti su tako i auti, traktori i kamioni, isti je trkač (čovjek) šprinter na 100m ili maratonac-- no nije isti, drgačije vježbe i sasvim drgi sklop mišića kao i cilj. Možeš opet karikirano koristiti pohotoshop za napisati text umjesto worda, možeš koristiti švicarski možić umjesto posebne gedore, no svaki alat je ipak specijaliziran za nešto i tad (naj)bolji ali istovremeno gubi univerzalnost i postaje lošiji za nešto drugo.

tao je s programiranjem, sve je to ista osnova kao i matematika 2+2.. ali se razlikuju softwareaši igara, office alata, knjigovodstvenog softa, upravljačkog, cnc bušilice ili nekog eeprom displaya-semafora.. mada svi rade ''istu stvar'' tj neke nule-jedinice pretvaraju u nešto i to nam prikazuju.

 

-sve je file, sve je baza, tj soft, binarno postoji samo nula-jedan, a ovisno o interperatciji podjela je na aplikativni soft koji nešto radi i podatak-data nad kojim se nešto radi, u formuli 2+2=4 operacija je funkcia tj app a znameke su podaci, jedno s drugim ima smisla, jedno bez drugog nema. Podaci su u bazi ali moramo imati app tj relaciju tj SQL upit da bi s tim podatkom nešto mogli da bi bio koristan. Pri tome to može biti adresar-ime, može biti textura skina u igri ili koordinata bušilice, može biti pjesma, slika ili bilo što, možemo pixele slike korigirati svjetlosnim efektima ili izoštravati, možemo ekvilizerom pojačati baseve slabe muzike ili pronaći nečiji oib u policijskoj bazi preko registracije automobila ili otiska prsta.. možemo sve što se radi na računalima, sve što se može digitalizirati ili prikazati kao podatak, kao binarni zapis (a to je sve što ti padne na pamet, pa i izmisliti novo pismo-oznake-morzeovu abecedu i sl..) i osnova svake baze su podaci kao najvažnjiji dio, njih se čuva-arhivira.. obrađuje, dok je app ono što nam omogućuje samo korištenje. Kad čitaš knjigu app je tvoja ruka koja drži i lista, oko koje 'OCRom' skenira i pretvara informacije u humanreadible format.. i mozak koji to obrađuje.. to je stvar appsa, guija, logike, pravila koja učiš, kao što učiš pisati ili neki jezik, strani jezik ili programski jezik .. a sve je to isto, samo što računala imaju svoj 'binarni' jezik tj kompajlerom im prevodimo human u strojno.. kao što obrnuto strojnu obradu vga prevodi u ljudski čitljivo na ekranu itd itd..

 

-sve je to isto, ali je ogromno, preveliko kao Zemlja, pa se ne vidi da je zapravo mala kugla.. i da je sve to isto-slično i drugačije ovisi što gledaš. Baze su same za sebe ogromna tema, dovoljno knjiga za zatrpati jakušavac na tu temu, dok je sql osnova kao i C .. ali naravno, svaka baza ima neki svoj poseban fičer, robustnost, proširivanje ili npr dimenzioniranje za male-velike korisnike, male servere ili farme.. mada sva računala rade na istoj osnovi kao i najslabiji calculator, nakupina tranzistora-chipova i u osnovi se nisu promijenili od doba tkalačkog stroja (prve bušene vrpce za uzorak tkanja) ili commodorea i ostalih računala.

-ako znaš programirati u Cu znaš i u javi-pythonu i obrnuto, ako znaš raditi na oracle bazi tad znaš i na ibmovoj i msovoj.. kao što znaš voziti auto ili bicikl neovisno o brandu, kao što možeš naučiti i francuski-talijanski ili kineski jezik .. uz malu prednost, matematika je u startu univerzalna i matematička logika je identična ispod haube svih računala jer na tim principima rade (do quantuma).. pa tako imaš AND, OR, NOT, XOR.. ili imaš na faksu rješavanje matematičkih matrica ili u igri ljepljenje testure.. isto je, kao što ekonomist tom formulom računa kamate tako i fraunhoferovom transrofmacijom računaš dinamiku mp3ce i dekodiraš kompresirani signal u glazbu..

 

-loša svtar? nema 'najboljeg' puta, tj stalno se izmišlja novo a dok postaneš majstor u nečemu treba vrijeme, 5-10 godina bavljenja, može to biti programiranje, može nogomet, akrobatika ili igranje pikada.. isto je, no ostale stvari se ne mijenjaju tako brzo kao računala. Klavir je stoljećima isti, nogometna lopta i golovi.. uz problem pogađanja u budućnost što će za 10 godina biti traženo.. ali istovremeno, to je ok, tj nije realno problem, jer svako znanje programiranja je ipak zajedničko svim programiranjima neovisno o platformi-jeziku, slično i ne moraš sve od nule kao što bi bilo s nogometom-pikadom-pečenjem palačinki ili francuski-kinseki jezik.. kao što je zidanje ciglom ili strojasrki poslovi dovoljno univerzalno da ne moraš učiti kako kinez mješa beton tj radi to jednako kao bosanac-zagorac.. ili varenje željezne šipke na brodu, tako je s programiranjem ista osnova, matematika-logika .. ali da bi bio majstor moraš uložiti vrijeme-iskustvo, godine. Tj razilka između majstora seniora i početnika juniora je što senior sjedne, vidi problem i natipka rješenje.. ne zato jer je to lako, nego zato jer ima godine iskustva i jednako tako gimnastičar napravi trostruki salto dok ostalima to izgleda kao čarolija. Oboje su to vježbali godinama kao brucelee kungfu :) i tad su majstori, ne preko reda. Košarka (Dražen Prtrović..) koliko je godina vježbao i koliko je puta bacio loptu u koš? Rezultat, zato je bio majstor i tako je u svakom poslu. + u ITu moraš stalno pratiti novitete i nema nezamjenjivih. Dobra strana, ako znaš (imaš znanje, senior) tad to vrijedi, tad će te platiti ali tad moraš doći i riješiti problem, ''da radi'' ne tražiti yt klipiče ili listati hawto.. neovisno radiš li na oracle ili u pythonu kao što je nevažno imaš li dizel ili benzinca za vozačku ili kojom cestom ćeš doći do ''Rima'' (jer svi putevi vode..) :)

 

-sve je to isto, ali postoje razlike kao što postoje u svemu i ne postoje dva identična čovjeka pa tako ni odgovora, nego nešto kao standard-pravila a sve ostalo moraš izmisliti sam, kao novi film-glazbu, ne biti copypasteaš ili codemonkey.. :)) tad je kuhar u frenč restoranu = kuharu u mcdonaldsu.. za jedno moraš biti majstor, drugo može bilo tko nakon uputa koje dobije u par minuta.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
Poruka je uređivana zadnji put čet 3.10.2019 15:38 (ihush).
9 godina
neaktivan
offline
C# - Problemi i rješenja

Može li mi netko molim vas pomoći. Na ovome sam zapeo i ne mogu se već danima izvući...

Naime pokušavam pristupiti Microsoftovom Face APIu preko svoje windows forms aplikacije, a slike koje saljem nalaze se u folderu, a pathovi su zapisani u text fileu(kasnije cu dodati snimanje kamerom ali prvo ovo mora proraditi). Također, ima točno 8 slika, ali to je sve sada prototip tako da ću mogućnost za više skika dodati kasnije.

Stvar je u tome da se ne mogu povezati sa PostAsyncom na Microsoftov API koliko god se trudio, jednostavno zapinje na tom koraku dok iz Console aplikacije to radi normalno i bezprijekorno (app je u windows forms ali linije za debugiranje i provjeravanje progressa se pišu u konzolu).

Pokušao sam i sa proxy disabled, ali nije pomoglo...

//Kod cijele forme:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Collections.Specialized;
using System.IO;
using System.Windows.Forms;
using Emgu.CV;
using Newtonsoft.Json.Linq;

namespace Codename_FM
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();

}

private void LogoutButton_Click(object sender, EventArgs e){
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/desktop_logout/", new NameValueCollection()
{
{ "token", GetToken },
});

string result = System.Text.Encoding.UTF8.GetString(response);
MessageBox.Show(result);
Application.Exit();

 

}
}
catch (Exception) {
MessageBox.Show("Trenutno ne možemo uspostaviti vezu sa serverom, pokušajte ponovno kasnije.");
}
}

private void SubmitButton_Click(object sender, EventArgs e){

int snapshots_n = Convert.ToInt32(Snapshots.Text);
string classroom = Classrooms.Text;
string school = Schools.Text;
string subject = Subjects.Text;
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/capture_class/", new NameValueCollection()
{
{ "token", GetToken },
{"classroom", classroom },
{"school", school },
{"subject", subject},

});
string result = System.Text.Encoding.UTF8.GetString(response);
if (result != "Error"){
int pk = Convert.ToInt32(result);
Send_Snapshots(snapshots_n, pk);
}
else MessageBox.Show("Imamo nekih tehničkih poteškoća. Pokušajte ponovno kasnije!");
}
}
catch (Exception exception) {
MessageBox.Show(exception.ToString());
}


}

public string GetToken { get; set; }

private void Form2_Shown(object sender, EventArgs e){
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/get_info/", new NameValueCollection()
{
{ "token", GetToken },
});

string result = System.Text.Encoding.UTF8.GetString(response);
try {
var json = JObject.Parse(result);
foreach(JToken i in json["schools"])
{
Schools.Items.Add(i.ToObject<string>());
}
foreach (JToken i in json["classrooms"])
{
Classrooms.Items.Add(i.ToObject<string>());
}
foreach (JToken i in json["subjects"]) {
Subjects.Items.Add(i.ToObject<string>());
}
}
catch (Exception ex) {
MessageBox.Show(ex.ToString());
}


}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}

const string subscriptionKey = "Key namjerno nije napisan ali je valjan";//NA MJESTO OVOGA IDE PRAVI SUBSCRIPTION KEY
const string uriBase = "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect";


static byte[] GetImageAsByteArray(string imageFilePath)
{
using (FileStream fileStream =
new FileStream(imageFilePath, FileMode.Open, FileAccess.Read))
{
BinaryReader binaryReader = new BinaryReader(fileStream);
return binaryReader.ReadBytes((int)fileStream.Length);
}
}
static async Task<string> MakeAnalysisRequest(string imageFilePath){
Console.WriteLine("Got to analyzing the picture");
HttpClient client = new HttpClient();

// Request headers.
client.DefaultRequestHeaders.Add(
"Ocp-Apim-Subscription-Key", subscriptionKey);

// Request parameters. A third optional parameter is "details".
string requestParameters = "returnFaceId=true&returnFaceLandmarks=false" +
"&returnFaceAttributes=age,gender,headPose,smile,facialHair,glasses," +
"emotion,hair,makeup,occlusion,accessories,blur,exposure,noise";

// Assemble the URI for the REST API Call.
string uri = uriBase + "?" + requestParameters;

HttpResponseMessage response;

// Request body. Posts a locally stored JPEG image.
byte[] byteData = GetImageAsByteArray(imageFilePath);
Console.WriteLine(byteData);

using (ByteArrayContent content = new ByteArrayContent(byteData))
{
// This example uses content type "application/octet-stream".
// The other content types you can use are "application/json"
// and "multipart/form-data".
content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
Console.WriteLine("Zadan mediatypeheader");

// Execute the REST API call.
response = await client.PostAsync(uri, content);//PROGRAM ZASTAJE OVDJE
Console.WriteLine("Vracen response");

// Get the JSON response.
Console.WriteLine("Deklarirana varijabla");
var contentString = await response.Content.ReadAsStringAsync();

Console.WriteLine("String returned");
return contentString;

}

}


public void Send_Snapshots(int snapshots_n, int pk) {
Console.WriteLine("Prvi milestone");
//Example kod dok jos nisam postavio snimanje kamerom
string imageFilePath;
//string[] images = new string[snapshots_n];
string[] jsons = new string[snapshots_n];
StreamReader f = new StreamReader("filenames.txt");
for (int i = 0; i < snapshots_n; i++){
imageFilePath = f.ReadLine();
if (File.Exists(imageFilePath))
{
try{
Console.WriteLine("Pokrenuta funkcija");
Task<string> json = MakeAnalysisRequest(imageFilePath);

jsons[i] = json.Result;

}
catch (Exception exception){
MessageBox.Show(exception.ToString());
}
}

}


}

static string JsonPrettyPrint(string j)
{
if (string.IsNullOrEmpty(j))
return string.Empty;

j = j.Replace(Environment.NewLine, "").Replace("\t", "");

StringBuilder sb = new StringBuilder();
bool quote = false;
bool ignore = false;
int offset = 0;
int indentLength = 3;

foreach (char ch in j)
{
switch (ch)
{
case '"':
if (!ignore) quote = !quote;
break;
case '\'':
if (quote) ignore = !ignore;
break;
}

if (quote)
sb.Append(ch);
else
{
switch (ch)
{
case '{':
case '[':
sb.Append(ch);
sb.Append(Environment.NewLine);
sb.Append(new string(' ', ++offset * indentLength));
break;
case '}':
case ']':
sb.Append(Environment.NewLine);
sb.Append(new string(' ', --offset * indentLength));
sb.Append(ch);
break;
case ',':
sb.Append(ch);
sb.Append(Environment.NewLine);
sb.Append(new string(' ', offset * indentLength));
break;
case ':':
sb.Append(ch);
sb.Append(' ');
break;
default:
if (ch != ' ') sb.Append(ch);
break;
}
}
}

return sb.ToString().Trim();
}
}
}

 

Fight with the best,die like the rest!
Poruka je uređivana zadnji put pon 2.12.2019 1:59 (FatMAN).
Moj PC  
0 0 hvala 0
9 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Problem sam rješio prepravljanjem funkcije SendSnapshots u Async funkciju i poziv za Makeanalasysrequest funkcijom await pozivom.

Kod:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Collections.Specialized;
using System.IO;
using System.Windows.Forms;
using Emgu.CV;
using Newtonsoft.Json.Linq;

namespace Codename_FM
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();

}

private void LogoutButton_Click(object sender, EventArgs e){
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/desktop_logout/", new NameValueCollection()
{
{ "token", GetToken },
});

string result = System.Text.Encoding.UTF8.GetString(response);
MessageBox.Show(result);
Application.Exit();

 

}
}
catch (Exception) {
MessageBox.Show("Trenutno ne možemo uspostaviti vezu sa serverom, pokušajte ponovno kasnije.");
}
}

private void SubmitButton_Click(object sender, EventArgs e){

int snapshots_n = Convert.ToInt32(Snapshots.Text);
string classroom = Classrooms.Text;
string school = Schools.Text;
string subject = Subjects.Text;
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/capture_class/", new NameValueCollection()
{
{ "token", GetToken },
{"classroom", classroom },
{"school", school },
{"subject", subject},

});
string result = System.Text.Encoding.UTF8.GetString(response);
if (result != "Error"){
int pk = Convert.ToInt32(result);
Send_Snapshots(snapshots_n, pk);
}
else MessageBox.Show("Imamo nekih tehničkih poteškoća. Pokušajte ponovno kasnije!");
}
}
catch (Exception exception) {
MessageBox.Show(exception.ToString());
}


}

public string GetToken { get; set; }

private void Form2_Shown(object sender, EventArgs e){
try
{
using (WebClient client = new WebClient())
{

byte[] response =
client.UploadValues("http://127.0.0.1:8000/desktop/get_info/", new NameValueCollection()
{
{ "token", GetToken },
});

string result = System.Text.Encoding.UTF8.GetString(response);
try {
var json = JObject.Parse(result);
foreach(JToken i in json["schools"])
{
Schools.Items.Add(i.ToObject<string>());
}
foreach (JToken i in json["classrooms"])
{
Classrooms.Items.Add(i.ToObject<string>());
}
foreach (JToken i in json["subjects"]) {
Subjects.Items.Add(i.ToObject<string>());
}
}
catch (Exception ex) {
MessageBox.Show(ex.ToString());
}


}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}

const string subscriptionKey = "PRAVI KEY NIJE UPISAN S RAZLOGOM";
const string uriBase = "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect";


static byte[] GetImageAsByteArray(string imageFilePath)
{
using (FileStream fileStream =
new FileStream(imageFilePath, FileMode.Open, FileAccess.Read))
{
BinaryReader binaryReader = new BinaryReader(fileStream);
return binaryReader.ReadBytes((int)fileStream.Length);
}
}
static async Task<string> MakeAnalysisRequest(string imageFilePath){
Console.WriteLine("Got to analyzing the picture");
HttpClient client = new HttpClient();

// Request headers.
client.DefaultRequestHeaders.Add(
"Ocp-Apim-Subscription-Key", subscriptionKey);

// Request parameters. A third optional parameter is "details".
string requestParameters = "returnFaceId=true&returnFaceLandmarks=false" +
"&returnFaceAttributes=age,gender,headPose,smile,facialHair,glasses," +
"emotion,hair,makeup,occlusion,accessories,blur,exposure,noise";

// Assemble the URI for the REST API Call.
string uri = uriBase + "?" + requestParameters;

HttpResponseMessage response;

// Request body. Posts a locally stored JPEG image.
byte[] byteData = GetImageAsByteArray(imageFilePath);
Console.WriteLine(byteData);

using (ByteArrayContent content = new ByteArrayContent(byteData))
{
// This example uses content type "application/octet-stream".
// The other content types you can use are "application/json"
// and "multipart/form-data".
content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
Console.WriteLine("Zadan mediatypeheader");

// Execute the REST API call.
response = await client.PostAsync(uri, content);
Console.WriteLine("Vracen response");

// Get the JSON response.
Console.WriteLine("Deklarirana varijabla");
var contentString = await response.Content.ReadAsStringAsync();

Console.WriteLine("String returned");
return contentString;

}

}


public async void Send_Snapshots(int snapshots_n, int pk) {
Console.WriteLine("Prvi milestone");
//Example kod dok jos nisam postavio snimanje kamerom
string imageFilePath;
//string[] images = new string[snapshots_n];
string[] jsons = new string[snapshots_n];
StreamReader f = new StreamReader("filenames.txt");
for (int i = 0; i < snapshots_n; i++){
imageFilePath = f.ReadLine();
if (File.Exists(imageFilePath))
{
try{
Console.WriteLine("Pokrenuta funkcija");
string json = await MakeAnalysisRequest(imageFilePath);

jsons[i] = json;

}
catch (Exception exception){
MessageBox.Show(exception.ToString());
}

for (int j = 0; j < snapshots_n; j++){
Console.WriteLine(jsons[j]);
}
}

}


}

static string JsonPrettyPrint(string j)
{
if (string.IsNullOrEmpty(j))
return string.Empty;

j = j.Replace(Environment.NewLine, "").Replace("\t", "");

StringBuilder sb = new StringBuilder();
bool quote = false;
bool ignore = false;
int offset = 0;
int indentLength = 3;

foreach (char ch in j)
{
switch (ch)
{
case '"':
if (!ignore) quote = !quote;
break;
case '\'':
if (quote) ignore = !ignore;
break;
}

if (quote)
sb.Append(ch);
else
{
switch (ch)
{
case '{':
case '[':
sb.Append(ch);
sb.Append(Environment.NewLine);
sb.Append(new string(' ', ++offset * indentLength));
break;
case '}':
case ']':
sb.Append(Environment.NewLine);
sb.Append(new string(' ', --offset * indentLength));
sb.Append(ch);
break;
case ',':
sb.Append(ch);
sb.Append(Environment.NewLine);
sb.Append(new string(' ', offset * indentLength));
break;
case ':':
sb.Append(ch);
sb.Append(' ');
break;
default:
if (ch != ' ') sb.Append(ch);
break;
}
}
}

return sb.ToString().Trim();
}
}
}

Fight with the best,die like the rest!
Poruka je uređivana zadnji put pon 2.12.2019 2:23 (FatMAN).
18 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Pozdrav svima.

 

Napravio sam večinu posla za zadatak za posao. Dobio sam review da trebam još:

 

 

"Poštovani,

koliko mi je vidljivo, fali vam još jedan projekt (pored MVC-a). Trebali biste imati dva projekta (fali vam Service projekt). Service projekt vam sadrži business logiku, tako da biste trebali prebaciti paging, sorting, filtering u klase u servisu.
Također bi bilo potrebno da implementirate interface-e i automapper (primjetit ćete kada razdvojite projekt na Service i MVC kako vam je potreban - uz razdvajanje View i entity modela kako je zadano zadatku)."

 

Nisam siguran što dalje. Koliko sam shvatio od ovog svega što ja imam trebam implementirati Service projekt? Paging i sorting već imam na MVC, pa ako netko može pojasniti što konkretno da napravim. Git na projekt: https://github.com/ivanradunkovic/Vozila

 

Puno hvala

Every man dies, not every man really lives. William Wallace (1272 - 1305)
9 godina
offline
Re: C# - Problemi i rješenja

Pa odvoji poslovnu logiku. Vjerovatno kao rest/soap servisi. Zamisli da budući šef kaže. Sad ovo prebacujemo na React/Angular. Očeš baciti cijelu aplikaciju u smeće. Nečeš nego samo mvc front end. Zato se te stvari odvajaju.

https://www.youtube.com/channel/UCgos5WloYoxCvCeUIi47ZxQ
18 godina
neaktivan
offline
Re: C# - Problemi i rješenja
andrijam kaže...

Pa odvoji poslovnu logiku. Vjerovatno kao rest/soap servisi. Zamisli da budući šef kaže. Sad ovo prebacujemo na React/Angular. Očeš baciti cijelu aplikaciju u smeće. Nečeš nego samo mvc front end. Zato se te stvari odvajaju.

 Jasno mi je da to moram odvojiti, ali kako? Trebam li kompletan novi projekt? Ili od postojeceg koda mogu prelraviti. Nisam to nikad radio, samo MVC

Every man dies, not every man really lives. William Wallace (1272 - 1305)
15 godina
offline
Re: C# - Problemi i rješenja
ParaNO1d kaže...
andrijam kaže...

Pa odvoji poslovnu logiku. Vjerovatno kao rest/soap servisi. Zamisli da budući šef kaže. Sad ovo prebacujemo na React/Angular. Očeš baciti cijelu aplikaciju u smeće. Nečeš nego samo mvc front end. Zato se te stvari odvajaju.

 Jasno mi je da to moram odvojiti, ali kako? Trebam li kompletan novi projekt? Ili od postojeceg koda mogu prelraviti. Nisam to nikad radio, samo MVC

 

Ne znam kak ti glasi zadatak, ali ako nije spomenuto da trebaš autorizaciju i autentifikaciju ja bi to izbacio iz igre. Pogledaj npr. moja dva projekta https://github.com/Trawis/CZD ili https://github.com/Trawis/CPM pa možda dobiješ ideju kako napravit, nije savršeno, ali je raslojeno i to je ono što tebi treba. MVC bi trebao gledat na service projekt, a service na repository koji dalje gleda na DB.

Poruka je uređivana zadnji put čet 5.12.2019 11:40 (Trawis).
9 godina
offline
Re: C# - Problemi i rješenja

Želiš reći da nikad nisi radio solution s dva ili više projekata? Da treba ti novi projekt. Najčešće se radi unutar postoječeg solutiona. Koji tip projekta moraš odabrati to moraš sam odlučiti. Možda je najlakše kao nekakav web servis. Čije funkcije pozivaš iz glavnog projekta. Ako želiš impresionirati, onda češ napraviti lib. koji češ preko dependecy injectiona inicijalizirati. Ako želiš još više impresionirati, sve to složi kao Doker kontejner.

Samo se nemoj odustati i sretno.

https://www.youtube.com/channel/UCgos5WloYoxCvCeUIi47ZxQ
18 godina
neaktivan
offline
Re: C# - Problemi i rješenja
andrijam kaže...

Želiš reći da nikad nisi radio solution s dva ili više projekata? Da treba ti novi projekt. Najčešće se radi unutar postoječeg solutiona. Koji tip projekta moraš odabrati to moraš sam odlučiti. Možda je najlakše kao nekakav web servis. Čije funkcije pozivaš iz glavnog projekta. Ako želiš impresionirati, onda češ napraviti lib. koji češ preko dependecy injectiona inicijalizirati. Ako želiš još više impresionirati, sve to složi kao Doker kontejner.

Samo se nemoj odustati i sretno.

Da, nisam nikad. Ovo mi je prvi ASP.NET zadatak koji sam ikad radio. Dosad sam pratio tutoriale za MVC i StackOverflow i napravio sam sve što sam htio, ali nisam našao ništa konkretno za Service pa sam zato tu pitao. 

Every man dies, not every man really lives. William Wallace (1272 - 1305)
14 godina
offline
C# - Problemi i rješenja

Kratko pitanje, ne znam kako se može ovo pametno napraviti:

tablica A - proizvod_id može postojati samo jedan
proizvod_id, opis_glavnog_proizvoda

tablica B - (0, 1, 2, 3 ili više zapisa)
proizvod_id, opis_dijela_b

tablica C - (0, 1, 2, 3 ili više) isto kao B
proizvod_id, opis_dijela_c


Rezultat bi trebao izgledati ovako (stavim u klasu pa sa foreach ispis u grid ili u datoteku)

red iz tablice A
red/redovi iz tablice B (ako postoje)
red/redovi iz tablice C (ako postoje)
red iz tablice A
red/redovi iz tablice B (ako postoje)
red/redovi iz tablice C (ako postoje)
....

Ne koristim nikakve baze, potrpam podatke u klase (ulazni podaci su obične txt datoteke, par kb) i do sada sam preko LINQ-a povezao tablicu A i B (JOIN), ali sad mi se pojavila i tablica C (do sad sam u primjerima dobivao 'praznu' datoteku sa podacima za tablicu C).
Znam ovo riješiti na način da pročitam red iz prve tablice, stavim u grid, sa SELECT iz B WHERE B.id = A.id upišem podatke (ako ih ima) i opet SELECT iz C WHERE C.id = A.id, opet upišem podatke ako ih ima.
Zatim slijedeći red iz tablice A, ponovo SELECT sa B i SELECT sa C i tako do kraja.

Vjerujem da se ovo riješava u jednom select upitu, nisam baš na 'ti' sa bazama, LINQ i sličnim stvarima.
Jasno mi je kad su dvije tablice pa upisivanje vrijednosti, ali kad mi se pojavi i treća tablica gdje nju staviti?

Ako postoji zapis u A, onda postoji zapis u B ili C ili u B i C (ovo će biti automatski riješeno ako je ispravan upit), ne može se desiti da je zapis samo u A.

 

Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
C# - Problemi i rješenja

Možda bubam bezveze, ali možeš spojiti podatke iz liste B i C u drugu listu BC i onda raditi JOIN prema uvjetima po kojima su Id-ji iz A jednaki sa Id-jem iz spojene liste BC.

Poruka je uređivana zadnji put uto 21.1.2020 13:38 (Xyloto).
 
0 0 hvala 0
14 godina
offline
Re: C# - Problemi i rješenja

Dobra ideja!

Hvala.

14 godina
offline
C# - Problemi i rješenja

Opet ja i linq

Imam dvije liste, lista_a se sastoji se nekakvog id-a i imena

1, Petar
2, Marko
4, Stjepan
5, Ivan
6, Hrvoje

lista_b je slična, isto postoji id i ime, naziv ili kako god

1, Coca-Cola

1, Voda
2, Heineken
6, Corona
7, Staročeško


Rezultat bi trebao ovako izgledati

1, Petar        1, Coca-Cola

1, Petar        1, Voda
2, Marko       2, Heineken
4, Stjepan      
5, Ivan      
6, Hrvoje      6, Corona
                  7, Staročeško

 

Edit:

Liste su sortirane po id-jevima, dalo bi se ručno riješiti:

uzmi prvi id, provjeri da li ima takav u drugoj listi, ako ima upiši id, podatak iz a, opet id, podatak iz b

provjeri da li slijedeći red iz liste b ima isti id ili je drugačiji.........

Poruka je uređivana zadnji put sri 11.3.2020 22:30 (Badjo_5).
Moj PC  
0 0 hvala 0
17 godina
online
Re: C# - Problemi i rješenja

Ovako nešto možda

 

public class GrupiranjeClass {     class Osoba    {         public string Ime { getset; }     }     class Pivo    {         public string NazivPiva { getset; }         public Osoba Osoba { getset; }     }     public void Grupiraj()     {         Osoba ivo = new Osoba { Ime = "Ivo" };         Osoba pero = new Osoba { Ime = "pero" };         Osoba marko = new Osoba { Ime = "marko" };         Pivo zuja = new Pivo { NazivPiva = "žuja", Osoba = ivo };         Pivo karlovacko = new Pivo { NazivPiva = "karlovacko", Osoba = ivo };         Pivo karlovacko1 = new Pivo { NazivPiva = "karlovacko", Osoba = pero };         Pivo lasko = new Pivo { NazivPiva = "laško", Osoba = marko };         List<Osobaosoba = new List<Osoba> { ivoperomarko };         List<Pivopivo = new List<Pivo> { zujakarlovackokarlovacko1lasko };         var query = from o in osoba                    join p in pivo on o equals p.Osoba into gj                     select new { Ime = o.Ime, Pivo = gj };         foreach (var q in query)         {             Console.WriteLine($"{q.Ime}:");             foreach (Pivo p in q.Pivo)             {                 Console.WriteLine($" {p.NazivPiva}");             }         }     } }

 

Guglaj malo više grouped joins.

Sry što ne radi ovo formatiranje kôda, kopiraj ga negdje u editor pa će biti bolje. Zašto je to tako, ne bi znao.

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
14 godina
offline
Re: C# - Problemi i rješenja

Najljepša/najljepši ti dala/dao

 

Prilagodio sam, radi kao urica!!

Tvojih tri linije koda naspram mojih 5-6 puta više i koje rade na pola...

Poruka je uređivana zadnji put pet 13.3.2020 21:08 (Badjo_5).
10 godina
neaktivan
offline
C# - Problemi i rješenja

Greška

Poruka je uređivana zadnji put ned 22.3.2020 11:46 (Emixman1).
 
0 0 hvala 0
15 godina
neaktivan
offline
C# - Problemi i rješenja

Imam problema sa Task-ovima. Napisao sam mali programcic u kojem neznam tocno sto se dogodilo. 

 

public class Program

{

    public static void Main(string[] args)

    {

        Console.WriteLine("Start");

 

        Action printAction = async () => await PrintLine().ConfigureAwait(false);

        printAction.Invoke();

 

        Console.WriteLine("End");

    }

 

    public static async Task PrintLine()

    {

        Console.WriteLine("BeforeDelay");

        await Task.Delay(2000);

        Console.WriteLine("AfterDelay");

        return;

    }

}

Ovo ce rezultirati ispisom:

Start

BeforeDelay

End

Nije mi jasno zasto poziv printAction.Invoke() ne priceka izvodjenje PrintLine metode s obzirom da sam akciju definirao kao "... => await PrintLine()... " i na koji nacin ovo fixat?
Poruka je uređivana zadnji put sub 25.4.2020 11:07 (etnes).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Ok, mislim da sam skuzio.

Action je metoda koja (prima argument ili void) i nema povratni tip (ja sam to zamislio kao cisti void) sto bi znacilo da se prilikom poiziva printAction.Invoke() krene izvrsavat PrinLine kao void metoda koja nece vratiti Task koji ce se sacekati sa await-om.

Nek me neko ispravit ako sam krivo protumacio

14 godina
offline
C# - Problemi i rješenja

Trebao bih složiti proceduru za prebrojavanje članova:

 

1
1 2
3 1 2
4 1
5 1 3

 

 

broj 1 se nalazi u 1, 2, 3, 4 i 5-om redu

broj 2 se nalazi u 2 i 3-ćem redu

broj 3 se nalazi u 3 i 5-om redu

broj 4 se nalazi u 4-om redu

broj 5 se nalazi u 5-om redu

 

Nisam na čisto odakle uopće krenuti, imam masu ifova, vrtim listu (array, svejedno) uduplo i sve se kotura koliko-toliko, ali uskoro će uletiti dvoznamenkasti članovi, pa će ulazni podatak izgledati ovako:

 

11
12 25
37 13 25
44 11
57 13 38

 

a to se neće nikako vrtiti...

 

Što trebam guglat?

 

Ili i ovdje uskače LINQ/RegEx?

Poruka je uređivana zadnji put čet 19.11.2020 21:52 (Badjo_5).
Moj PC  
0 0 hvala 0
14 godina
offline
C# - Problemi i rješenja

Ovako na prvu čitajući, da se smanji broj prolaza, koristio bi se Dictionary<int, List<int>> u kojem bi Key bio element koji se pojavljuje, a Value lista brojeva redova u kojem se pojavljuje (jedan prolaz kroz sve redove)

Zatim bi se u iteraciji redovima prolazilo elementima u tom redu (foreach pa foreach) te za svaki element pitalo:

  • - postoji li kao Key u Dictionaryu - ako da, dohvati njegovu listu i dodaj broj retka u nju, ako ne, dodaj zapis u rječnik za Key = element, Value = new List

Kada se prođu svi redovi, dohvati se lista ključeva u rječniku, može se i sortirati, i zatim za svaki ključ dohvati se i lista redova i prikladno ispiše.

 
0 0 hvala 0
14 godina
offline
Re: C# - Problemi i rješenja

Hvalim, za sad sam napravio prvu stvar prolaz po svim poljima (podaci nemaju razmaka, napisao sam ovako da se vidi kako su podaci složeni), znači prođem po svim poljima, sve pretvorim u dvoslovne/dvobrojne (trebao bih možda i slova, ne znam još), stavim u dictionary da dobijem popis svih iskorištenih brojeva(slova). Nakon toga foreach za svaki zapis u dictionary i prelazim po listi koju sam kreirao nn-nn-nn-nn i sa contains provjerimda li ima podatak npr. '11-' iz dictionary, pa slijedeći...

Na testnim podacima cca 200 redova i 20-ak brojeva za sekundu-dvije dobijem ispis parova prema dictionary.

Hm, ono u value lista redova i nije uopće loše, moram malo zgruntat kako iskoristit.

Poruka je uređivana zadnji put pet 20.11.2020 16:55 (Badjo_5).
17 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav ekipa

 

Trenutno radim na aplikaciji koju bi trebalo koristiti par klijenata, ta app se veže na već postojeće baze koje ja nisam pravio, te svako klijentsko računalo ima instaliran sql management.

 

Dakle moj problem je što svako klijentsko računalo ima drukčiji nazivi sql servera tj. instance connection stringa, te se uvijek može desiti da klijent zamjeni računalo (te zbog toga bi mu se u budućnosti promjenio naziv sql servera), zbog toga trebam napraviti da korisnik pri paljenju aplikacije odabere sql server, te nakon toga da mu se izlistaju baze koje on ima, te odabere bazu.

 

problem 1. kada dohvatim:  var instances = SqlDataSourceEnumerator.Instance.GetDataSources(); , app tek dohvati instance nakon 3 minute , dakle presporo

 

Da li je najbolje riješenje:

 

string nazivPc = Environment.MachineName

sConn = @"Data Source=nazivPc\SQLEXPRESS";

 

Te kada se spoji na sql server , da preko storane procedure izlistam sve baze u combobox  select * sys.databases  

 

Ili je najbolje riješenje napraviti tablicu sa nazivom klijenta, nazivom sql servera (gdje bi provjeravao nazive sql servera na klijentskim računalima te ubacio u bazu), te nazivom baze

 

Unaprijed hvala

 

 

Poruka je uređivana zadnji put pon 23.11.2020 15:26 (Arsenalboy).
 
0 0 hvala 0
10 godina
online
Re: C# - Problemi i rješenja

Moralo bi raditi i bez imena hosta tj samo ime instance (sqlexpress ili neka druga named instanca) ili cak samo "localhost" ako je samo jedna instanca.

Nova poruka
E-mail:
Lozinka:
 
vrh stranice