IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Mareš
Člen
Avatar
Jan Mareš:12.10.2017 0:18

Zdravím,rád by jsem jen informaci. Učím se jazyk c# jsem zatím naprostý začátečník, momentálně zde na Itnetworku, jsem v console aplikaci u if a else ale to nevadí. Chci se optat na jeden program,napadl mne jelikož má partnerka s několika přáteli pořádá různé zábavy a obdobně a napadl mne program.který by sloužil jako takový diář. kterýkoli uživatel by mohl vytvořit seznam co jest potřeba koupit zařídit a zorganizovat a vytvořený seznam by uložil. ten uložený seznam by viděl kterýkoli uživatel v tom programu,nehledě na to odkud se přihlašuje (ne všichni přátelé jsou ze stejného města),musel by mít jen ten program aby mohl k tomu seznamu a mohl s tím seznamem dále pracovat,každý z uživatelů by si mohl označit co si kdo vezme na starost,dále co by bylo hotové by se dalo odškrtnout. Co by se v tom programu napsalo,vytvořilo či upravilo a uložilo by viděl,přihlášené na jiném pc podmínkou by bylo jen mít ten program v pc. Zajímalo by mne co vše na to musím umět a zda se takový program dá vytvořit jen v c#. Vím že nejprve budu muset dokončit základní lekci consolových aplikací,dále se naučit oop a také se načit winform. když nad tím i přemýšlím tak si nejsem jist zda budu muset znát i databáze. Vzhled programu by jsem asi i vytvořil ve winform,možná by to stačilo nevím ale zajímá mne co budu muset dále znát,na co se zaměřit. Vím i že takový program nebudu schopný napsat za rok,možná to pro někoho bude snadné a jednoduché. Co se mne týče počítám s tím že takový program bude obtížný.

 
Odpovědět
12.10.2017 0:18
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Jan Mareš
Martin Dráb:12.10.2017 1:10

Takový program se v C# vytvořit dá, ale spíš bych doporučoval řešit jej jako webovou aplikaci (klidně čistě v PHP na serveru), protože si tím (podle mě) ušetříš některé starosti. Pokud by program fungoval jako desktopová aplikace, musíš ještě minimálně zařídit, aby na nějakém pro všechny dostupném serveru běžela databáze, kam se budou ukládat všechna potřebná data (např. ty seznamy), popř. jiný druh úložiště. Tohle v podstatě téměř každý webhosting (i ten zdarma) řeší za tebe.

Nahoru Odpovědět
12.10.2017 1:10
2 + 2 = 5 for extremely large values of 2
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:12.10.2017 5:07

C# je rozhodně dobrá volba pro desktopovou aplikaci. WinForms se ale snad ani neuč, vrhni se na WPF, věř mi, že to pro tebe bude lepší :)

No a dál budeš samozřejmě muset udělat přes nějaký server s databází to provázání souborů, jak psal Martin.

Ještě by byla možnost udělat to tak, že každý ten seznam by byl uložený v jednom souboru a ten program by měl přímý přístup na nějaké dedikované úložiště (Cloud, FTP) a odtud by si ho vždycky "stáhnul" a zase nahrál. Musel bys ovšem hlídat, aby si uživatelé navzájem nemohli zrušit své změny.

Nahoru Odpovědět
12.10.2017 5:07
Programátor je stroj k převodu kávy na kód.
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Martin Dráb
Jan Mareš:12.10.2017 6:52

Udělat to jako webouvou aplikaci mne nenapadlo,původně jsem nad tím přemýšlel jako nad programem v pc nějak vzájemně propojeným,já v tom programu něco vytvořím a nebo změním a Petr nebo Pavel to ihned uvidí aniž by jsem to musel odesílat nějakému uživateli,udělat to v php by byla možnost ale znamenalo by to pro mne učit se jiný jazyk,což si zatím netroufám učit se dva jazyky najednou do budoucna by jsem se jistě také na php podíval,dalo by se místo php použít asp.net? Nebo by bylo asp.net komplikovanější? Dále pokud by jsem to řešil jako webovou aplikaci a ne jako propojený program,jak zajistím aby se k webové aplikaci nedostal každý ale viděli to pouze 4 osoby,nebo jen ten kdo má.Nechci to mít veřejně přístupný.

 
Nahoru Odpovědět
12.10.2017 6:52
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na krepsy3
Jan Mareš:12.10.2017 7:04

jaký je rozdíl mezi wpf a winform? Koukám na ty tutoriály a beru vše postupně,chci se naučit psát v c# software pro pc ale i webové aplikace.Vím že winform mi umožnuje vytvářet okenní aplikace pro windows. Ale wpf neznám,neslyšel jsem o tom a tak daleko zatím nejsem.Můžeš mi prosím blíže vysvětlit to ftp či cloud.Jak fungují ty přístupy.Dále nerozumím moc tomu, aby si uživatelé navzájem nemohli zrušit své změny. Já by jsem potřeboval aby uživatelé s tím mohli pracovat všichni stejně.viz třeba já vytvořím seznam, Spíše se bojím aby nebylo spíše na škodu,kdyby si uživatele nemohli zrušit své změny.Nad tím jsem také přemýšlel ale když něco označím že je něco hotové a aby se s tím ostatní nemuseli zabývat a najednou se zjistí že to není kompletní,tak by jsem potřeboval aby to šlo odebrat z hotového a vrátit do rozpracovaného. Anebo jsi to myslel ještě jinak?

 
Nahoru Odpovědět
12.10.2017 7:04
Avatar
Odpovídá na Jan Mareš
Michal Štěpánek:12.10.2017 8:38

WPF je taky na desktopové aplikace, ale je oproti WF technologicky mnohem dále. WPF je takový řekněme "nástupce" WinForms. Asi je dobré umět i něco z WF, jen si dej pozor na špatné návyky z WF, které by ti mohly být pak na obtíž při učení WPF. Být tebou, tak po dokončení základů C#, bych se pro okenní aplikace začal rovnou učit WPF, protože WF je pak daleko snažší se k tomu doučit. Pokud už se učíš to C#, mohl bys pak zabrousit do ASP.NET MVC (pro webový vývoj), kde ten C# jazyk využiješ. Kdybys pak dělal weby v PHP musel by ses to učit v podstatě odznova a znalosti jazyka C# jsou tam víceméně k prdu, kdežto v ASP.NET své znalostí z C# použiješ...

Nahoru Odpovědět
12.10.2017 8:38
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:12.10.2017 10:03

Upřímně, když jsem šel od konzolím k desktopu, taky jsem si myslel, že začnu s WF, ale velice rychle se mi ukázalo, že by mi to spíše nepomohlo, a dnes už umím dost věcí s WPF a Wf nechávám stranou. S tím nástupcem je to holá pravda. WPF renderuje pomocí Dorect3D, je tedy rychlejší, okna jsou responzivnější díky XAML, a WPF je hlavně strašně dobře vymyšlené z hlediska OOP a toho, co jak které komponenty programu dědí, takže lze vytvářet komplexní konstrukce, které by ve WF moc dobbře nefungovaly. Také se ti WPF díky "dip" postará o to, aby se formulář renderoval všude správně, na neobvykle malých či velkých displejích jsou WF formy rozostřené.

Nahoru Odpovědět
12.10.2017 10:03
Programátor je stroj k převodu kávy na kód.
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Michal Štěpánek
Jan Mareš:12.10.2017 19:49

To mám v plánu,mám rád posloupnost tak můj plán je takovýto: základy c#, oop c#,původně jsem myslel winform a poté wpf ale pokud je wpf lepší budu se rovnou učit wpf a dále asp.net a mvc a od asp.net k databázím.

 
Nahoru Odpovědět
12.10.2017 19:49
Avatar
Odpovídá na Jan Mareš
Michal Štěpánek:13.10.2017 7:47

Jen si myslím, že ty databáze bys měl absolvovat ještě před asp.net, nejlépe už při studiu wpf, protože už tam se s DB pracuje a v ASP.NET se bez nějakého "datového úložiště" v podstatě dělat ani nedá...

Nahoru Odpovědět
13.10.2017 7:47
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Michal Štěpánek
Jan Mareš:13.10.2017 20:30

Aha děkuji za rady,budu rád když mi i někdo poradí v jakém pořadí se to učit. Myslel jsem že databáze jsou záležitosti webových aplikací,nevěděl jsem že jsou potřeba při tvorbě softwaru.

 
Nahoru Odpovědět
13.10.2017 20:30
Avatar
Tomáš
Člen
Avatar
Odpovídá na Jan Mareš
Tomáš :13.10.2017 22:28

Bez databází se neobejdeš skoro nikde.Nicméně po uplných základech, bych se podíval na objektově orientované programování

 
Nahoru Odpovědět
13.10.2017 22:28
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Tomáš
Jan Mareš:15.10.2017 10:02

Urcite pujde ihned pote,ale jak postupovat dale az projdu oop,chci softeare pro pc,myslel jsem ze se podivam na winform a pote na wpf,dale asp.net,mvc,da­tabaze a pote pokrocile aplikace,ale bylo mi doporuceno at po op jdu na wtf a databaze a pote asp net. U asp.net take nevim jak to brat v poradi zfa asp.net winform ci rovnou mvc,dale je tam linq a paralelni programovani.zda to zaradit na konec ci nejak mezi tim. Chci projit cely tutorial c#. Ale v jakem poradi po oop,co je dulezite umet a kdy.Na co se jen podivat kvuli prehledu,jelikoz uz se to moc nepouziva.

 
Nahoru Odpovědět
15.10.2017 10:02
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:15.10.2017 15:02

Radím ti toto: Základy C#, OOP C#, WPF, Soubory, kolekce a Linq, databáze, MVC, ASP.NET. Piš prosím háčky, čárky a velká písmena na začátky vět, děkuji.

Já jsem se na ITnetworku naučil princip, základy a různé užitečné věci, ale spoustu věcí jsem si musel dohledat sám na MSDN či Stack Overflow apod. Vždycky, když jsem třeba do aplikace něco potřeboval, hledal jsem konkrétně (DispatcherTimer, StopWatch, multibinding, Styly, Richtext...). Na WPF ti můžu vřele doporučit stránku wpf-tutorial.com

Nahoru Odpovědět
15.10.2017 15:02
Programátor je stroj k převodu kávy na kód.
Avatar
Odpovídá na Jan Mareš
Michal Štěpánek:15.10.2017 17:50

Myslím, že se zbytečně zaobíráš tím, co se budeš učit někdy v budoucnu. Pokračuj v základech, pak OOP a ono tě to pak samo nasměruje...

Nahoru Odpovědět
15.10.2017 17:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na krepsy3
Jan Mareš:15.10.2017 18:15

Děkuji za rady, za háčky a čárky se omlouvam. Píši z mobilu a háčky a čárky se mi přes mobil píší špatně. To že budu muset na internet už jsem také zjistil. Zatím jsem v lekci podmínky if a else. Chci napsat 2 Consolové hry ale zatím nemám potřebné znalosti. Uvidím zda se to co potřebuji vědět nedozvím ve zbývajících lekcích a nebo až v OOP.

 
Nahoru Odpovědět
15.10.2017 18:15
Avatar
David Klouček:15.10.2017 20:18

Tvuj projekt bude nejvhodnější udělat jako webovou aplikaci, případně k ní udělat ještě mobilní.

Webová aplikace: Na serveru ASP.NET Core s jazykem C#, nebo můžeš i serverovou část napsat v Javascriptu -
platforma Node.JS. Na drobnosti na klientský straně použiješ taky Javascript.

Mobilní: na tohle asi bude stačit hybridní aplikace pomocí Javascriptu - třeba pomocí frameworku Ionic. Pokud bys chtěl v C#, mrkni na Xamarin.

Jestli chceš do budoucna dělat desktopový aplikace, tak si vyber mezi C#+WPF (WF nemá dneska už cenu řešit, je to zastaralá technologie), nebo JavaFX, která je multiplatformní.

 
Nahoru Odpovědět
15.10.2017 20:18
Avatar
Jan Mareš
Člen
Avatar
Jan Mareš:27.10.2017 7:29

Zdravim,

Tak jsem nad tou aplikaci premyslel,bylo by dobre aby se s ni dalo pracovat jak na pc tak i na mobilu,libilo by se mi kdyby se to jako apka dalo stahnout d mobilu apky mohli byt propojeny a je jedno zda je apka na mobilu ci na pc. Ale to by bylo asi moc slozite a nevim zda by jsem to dokazal. Spise premyslim udelat to jako webovou aplikaci,jak mi nekteri radily,bylo by to o dost jednodussi. Ale pak mi nastava otazka jak zaridit aby se k tem datum nemohl dostat kazdy. Pokud by jsem to udelal formou registrace opet k tomu muze kazdy. Napadlo mne to udelat formou registrace s tim ze by zaregistrovani uzivatele,nemeli pristup k uzivatelum s jinym uctem. Ale aby mel uzivatel s jinym uctem pristup k datum na mem uctu (pr. Seznam a zpracovani objednavek). Museli bychom nase ucty propojit ale to uz mi prijde jako forma chatu a to nechci. Ma nekdo nejaky napad aby se k datum nedostal kazdy ale jen lide kteri to budou mit povolene? Omlouvam se za hacky a carky pisi z mobilniho telefonu a hacky a carky se mi pisi opravdu spatne ale zaroven i chapu ze se to velice spatne cte.Proto se za to velice omlouvam.

 
Nahoru Odpovědět
27.10.2017 7:29
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Jan Mareš
Petr Nymsa:27.10.2017 10:21

K té webové aplikaci a přístupu uživatelů. Podle mě by stačilo vytvořit účty jen pro lidi, které chceš, aby měli přístup. Případně umožnit registraci skrz nějaký vygenerovaný token, který budeš mít pod kontrolou.

Nahoru Odpovědět
27.10.2017 10:21
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Jan Mareš
Člen
Avatar
Jan Mareš:27.10.2017 11:52

S tema Registracema tomu moc nerozumim ale privedl jsi mne na myslenku,jak by jsem ten pristup vyresil,nefam tam moznost registrace,vytvorim jen jeden ucet. Kde se zada heslo,ktere budou znat pouze lide. Ktere k tomu maji mit pristup. Bude to asi i nejlepsi vzhledem k tomu ze nevim kolik tech lidi bude. Ale kdyz na to tak koukam a jak si delam nacrty, tak si tak rikam zda na to nebude vhodnejsi PHP a sql.

 
Nahoru Odpovědět
27.10.2017 11:52
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovídá na Jan Mareš
Petr Šťastný:27.10.2017 12:07

To, co bys mohl udelat v PHP udelas i v C#, navic muzes vyuzivat celej .NET a nemusis se ucit novej jazyk. Silne doporucuji C# (technologie pro weby v C# se jmenuje ASP.NET). PHP je jednodussi, da se napsat i v notepadu a je pro nej jednodussi sehnat hosting, ale nemam ho rad. Je nekonzistentni v nazvech ruznych funkci a blbe se v nem (ze zacatku predevsim) orientuje. Kdyz je moznost udelat to v C#, udelej to tam.

 
Nahoru Odpovědět
27.10.2017 12:07
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Petr Šťastný
Jan Mareš:27.10.2017 12:16

Urcite C# je skvely jazyk velice mi sedi velice rad s nim pracuji. Ale celkove ASP.NET neumim a nerozumím mu.Zatim jsem se soustredil na okenni aplikace.Coz mi doporuceno nebylo.A co se php tyce tam trochu rozumim hostingu ale jen trochu jelikoz jsem s to pouzival kdyz jsem vytvarel stranky v html a css a co se databazi tyce je mi blizsi sql a c# se databaze budu muset doucit. A co se tyce PHP ten neovladam,musel by jsem se ucit vše od začátku. Kdysi jsem zkousel se ucit PHP 5 a ta mi prisla neprehledna (nic proti php- jen muj nazor) a co se tyce php 7 to je o necem jinem ale jak sam říkáš když se učím C# měl by jsem pokračovat v C# a nezacinat zbytečně od znova když to samé mohu vytvořit v C#.

 
Nahoru Odpovědět
27.10.2017 12:16
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Jan Mareš
Petr Nymsa:27.10.2017 13:28

Mácháš trochu jablka s hruškami. Pro přístup do databáze, resp. dotazy nad databází můžeš normálně provádět v SQL, jen v C# k tomu použiješ patřičné knihovny (ADO .NET). Každopádně můžeš taky využít ORM a zbavit se SQL úplně. Celkově mám pocit, že jsi dost na začátku. Projeď si zdejší tutoriály postupně, tvoř nejdříve menší aplikace a časem přirozeně dojdeš i k ASP .NET atd.

S tou registrací jednoho účtu a dostupný všem je nesmysl. Píšeš, že nevíš kolik těch lidí bude. Jakým způsobem získají heslo? Napíšou ti email? Bude někde dostupné? Pokud první varianta, stále je lepší varianta jim vytvářet specifické účty. Vygeneruješ jim jednorázové heslo, které si po prvním přihlášení změní. Pokud bude někde heslo pro ten "účet pro všechny" dostupný, můžeš registraci vynechat. Tímhle by jen nějaké přihlašování otravovalo.

PS: využívej prosím tlačítko odpovědět

Nahoru Odpovědět
27.10.2017 13:28
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Petr Nymsa
Jan Mareš:27.10.2017 20:09

Ano mas pravdu v c# jsem zatim na zacatku. Ucim se dle zdejsich tutorialu + vymyslim a zkousim vlastni veci. Asp.net neumim zatim jsem k nemu ve zdejsich tutorialech nedosel. A ani databaze v c# nevim jak funguji. U databazi vim jen ze je to pres ADO.NET. Nevim jak databaze pres c# funguji. Kdyz jsem na tutorial databaze koukal tak zde pisi:pokud jazyk sql neznate tak se ho ani ucit nemusite. Neprocital jsem cely tutorial o databazich,spise jsem jen neco hledal.Jak jsem psal c# se teprve ucim,ovladam html a css a trochu jazyk sql ale to byla spis reakce na to zda se ucit kvuli teto aplikaci php. Ale to jsem spise jen premyslel jelikoz asp.net neznam a nevim co nabizi.Asi s touto aplikaci zatim pockam a zamerim se v nejblizsi dobe na asp.net.

 
Nahoru Odpovědět
27.10.2017 20:09
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Petr Nymsa
Jan Mareš:27.10.2017 20:27

Co je to ORM? S tím heslem jsem to myslel tak, jelikož se s lidmi kteří by meli mít přístup k datům známe tak by heslo měli od nás.Ta aplikace by mela jen sloužit pro usnadnění komunikace mezi lidmi,pri plnění úkolů ohledne pořádání ruznych akcí. Bylo by to lepší nez je to teď.Vsichni chodíme do práce a neustále si volat kolik čeho koupit a kdyz vidíme něco v akci tak si opět volat,zda to někdo koupil či nekoupil.Je náročné a taková aplikace by usnadnila komunikaci a akce by se pořádali mnohem snadněji. Kdyz každý bydlíme v jiném městě. Proto jsem se chtěl pokusit napsat takovou aplikaci i když na ní zatím znalosti nemám.

 
Nahoru Odpovědět
27.10.2017 20:27
Avatar
Odpovídá na Jan Mareš
Michal Štěpánek:28.10.2017 10:45

ORM = objektově relační mapování, ne internetu je spousta článků, které tento termín vysvětlují.

jelikož se s lidmi kteří by meli mít přístup k datům známe tak by heslo měli od nás

Když už chceš spáchat aplikaci tohoto typu, tak jak chceš pak rozlišovat, kdo tam co kdy přidal, komu co patří, když by byli všichni pod stejným účtem? Podle mě by měl mít každý svůj "účet", resp. přihlašovací jméno a heslo, aby se dalo jednoznačně určit, o koho se jedná, jinak pak samotné heslování trošku ztrácí smysl...

Editováno 28.10.2017 10:46
Nahoru Odpovědět
28.10.2017 10:45
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Mareš
Člen
Avatar
Odpovídá na Michal Štěpánek
Jan Mareš:28.10.2017 13:53

Aby jsem řekl pravdu toto přesně nemám jeste promyšlené,původně jsem tu aplikaci chtěl udělat jako deskopovou a propojit jí. Má představa byla že ru aplikaci budou mit všichni nainstalovanou v pc. A kdyz někdo něco změní a uloží to okamžitě to uvidí druhý uživatel. Například ja vytvořím seznam co vse je potreba koupit a udělat a uložím to. V tu chvily to uvidí vsichni kteří mají tu aplikaci. Petr si k sobě přiřadí cast seznamu, kterou zařídí. Atd. A my ostatní uvidíme,které věci zařídí Petr a víme, ze se o ně starat nemusíme. A věci, které by byli hotové by byli odfajfkovane jako hotové. Co se designu tyce mám to vymyšlené i jak to bude fungovat i co se přehlednosti týče. Ale bylo mi řečeno,že by bylo lepší to udelat jako webovou aplikaci a nevim jak u ní zamezit přístupu.

 
Nahoru Odpovědět
28.10.2017 13:53
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Jan Mareš
vajkuba1234:28.10.2017 16:24

Pokud bys tu aplikaci delal treba v ASP.NET MVC, tak si tam jednoduse muzes ridit pristup pomoci atributu bud u celeho controlleru nebo pouze u konkretni akce. Koukni na zdejsi tutorialy ohledne asp.net mvc a nebo koukni i na novy framework DotVVM, ktery je snadny na nauceni a najdes tam plno uzitecny tutorialu i rady od samotnych tvurcu. Je to cesky framework. :) www.dotvvm.com

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
28.10.2017 16:24
No hope, no future, JUST WAR!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 27 zpráv z 27.