Hirdetés
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- One UI a Samsung hűtőn is, hétéves frissítési ígérettel
- iPhone topik
- One mobilszolgáltatások
- Apple iPhone 13 Pro Max - őnagysága
- Milyen okostelefont vegyek?
- Honor Magic V5 - méret a kamera mögött
- Mobil flották
- CMF Phone 1 - egy jó telefon
-
Mobilarena
Új hozzászólás Aktív témák
-
samujózsi
senior tag
Láttam a github.com-on olyan gist oldalt, ami formázott volt (MD).Tudja valaki, ezt hogy lehet előállítani? Ha .md kiterjesztéssel hozom létre, tojik rá.
Úgy emlékeztem, van wysiwyg menü is a szerkesztéshez, de a jelek szerint nincs. -
haxiboy
veterán
Sziasztok! Regexp-ben szeretnék segítséget kérni, sajnos nem az erősségem.
Adott egy hosszú string pl [valami][valami2]xy.zzz.720.saddasdasd.555.abcdef
Kizárólag a megjelölt substringekre szeretném hogy megfeleljen.
Előre is köszönöm!
-
válasz
samujózsi #13691 üzenetére
A Jira kb. a világ legnépszerűbb ticketing rendszere.
A konténertechnológia támogatása viszont azt is jelenti, hogy vannak image-ek hozzá. Az egyes technológiák elterjedtségét azért jól mutatja, hogy mennyi image készül hozzájuk és az azért elég tisztán látszik, hogy kb. bármiből keresel konténer image-et, akkor abból vagy nem találsz semmit vagy csak dockert találsz. -
martonx
veterán
válasz
instantwater #13680 üzenetére
A felsorolásodból kimaradt a szintén open-source nagyon jó. Net core
-
SybenX
őstag
válasz
instantwater #13681 üzenetére
Debreceni egyetem: Gitet első félévben már használtuk és azóta is kötelező. Második félévben mélyreható hálózati ismeretek is megvannak nem akármilyen szakembertől. Linux alapokra is épült egy tárgy első félévben. Docker még nem tudom lesz-e, de most lesz egy szoftverfejlesztés nevű tárgy, amiben gyanítom benne lesz. Javascript még nem volt gyakorlatban, de tervezték már egy web alapok tárgyban, csak nem jutott rá idő. HTML , CSS, Sass, JSON/XML, SQL erős alapok megvannak 3. félévre. Nyelvekből C++,C,Java, Python, de volt még minimális Lisp és R is. Legerősebben C++ és Java volt tanítva, de ott inkább már alap tudást feltételeztek, mivel komplexebb programok olvasása és bővítése volt a feladat. A speciális tárgyakig el sem jutottam igazán.
-
thiclyoon
aktív tag
válasz
instantwater #13681 üzenetére
(#13675) Silεncε: terminal, teljesen jogos. Megoldható winen is, de egy idő után én is át szoktam nézni mac-re
(#13676) dabadab: a sok c++ kérdést nem tudom hovatenni, nálam is volt ilyen korszak (c#, gimiben), de az meg érettségiig bezárólag. Lehet, hogy csak ilyen korúak kérdeznek
(#13681) instantwater: eltúloztam, de általános ismeretet bőven kap az is, aki hallani se akar a dologról, és nem csak elméletet, hanem gyakorlati ismeretet is. Ismét a mobilfejlesztést tudom felhozni, ahol alapokon kívül tényleg nincs szükség másra a tapasztalataim szerint. BME egyébként, és persze itt is volt, mikor kézzel írtunk bubblesortot (quicksortot pl nem kellett), vagy stringkezelést, de ezeken hamar túljutottunk. A git pedig az egyetem fele körül már többedik tárgyban is alapkövetelmény (akár házik beadása, akár laborok során, vagy kiadott csoportmunka során elvárás, a tanár ott is követi a dolgokat, stb.) Magát a "git elméletet" (ha lehet így mondani) is tanultuk, volt tárgy amelyikben kvázi száraz anyagként adták le, másikban gyakorlatorientáltan mutatták be
-
-
-
-
-
válasz
thiclyoon #13674 üzenetére
"Szerintem (pl.) a c-c++-java tudás többet ér, mint "az IP, portok, tűzfalak" mélyreható ismerete"
Manapság azért hálózati ismeretek nélkül sokra nem lehet jutni
"bár a saját véleményem szerint a docker se egy nagy találmány"
Technikailag, a megvalósítását illetően tényleg nem nagy dolog (tulajdonképpen egy fancy chroot), viszont amit a tényleges gyakorlati haszon terén hoz, az nagyon is figyelemreméltó.
"Az inputfájlos beolvasás se menő már"
Ehhez képest csupa ilyen feladathoz kérnek segítséget az ifjak a C++ topikban. Tényleg borzasztóak.
-
Silεncε
őstag
válasz
thiclyoon #13674 üzenetére
PHP-ra például kifejezetten nem ajánlott Win-t használni, mondjuk ennek az okát nem tudom. Egyébként a terminal nekem pl sokkal jobba kézreáll, mint a cmd (vagy akár a powershell, mondjuk ehhez abszolút nem értek). Én használom a WSL-t is, így egyszerre kapom meg mindkét rendszer előnyeit
-
thiclyoon
aktív tag
válasz
instantwater #13671 üzenetére
Bocsi a beleszólásért (biztos több tapasztalatod van, mint nekem), viszont ha olyan suliba megy, akkor igenis fog hallani a gitről, a js-ről, a docker-ről és a cloud-ról - bár valóban, go-val eddig nem találkoztam az egyetem alatt, ez nem zárja ki, hogy a későbbiekben / valamilyen válaszható tárgy keretein belül ne tanítanák. Felteszem van olyan suli, ahol talán az előadó se hallott a git-ről, de azt mondani, hogy "Nem fogsz hallani Gitről", az szerintem nagyon-nagy bátorságra vall
Szerintem (pl.) a c-c++-java tudás többet ér, mint "az IP, portok, tűzfalak" mélyreható ismerete - kinek mi, bár a saját véleményem szerint a docker se egy nagy találmány (tudom, nagyon sokan szeretik, biztos megvan az oka, és nem zárom ki, hogy a későbbiekben én is fogom használni, de eddig én csak a nehézségeket láttam vele). Az inputfájlos beolvasás se menő már, lehet, hogy mikor te jártál egyetemre, akkor sok ilyen volt, viszont a "beolvasás, rendezés" max 4 órát emésztett fel első félévben - és aki akart, az már c-ben is csinálhatott nem-konzolos dolgokat. Viszont akinek a portok jelentik a mindent, annak is jut legalább 2 tárgy, és specializáción is tud róla tanulni bővebben
Azt viszont nem teljesen értem, miért szívás Win-en programozni (bár mostanában egyre felkapottabb az a nézet, hogy a win az szar, linux-ubuntu a menő a programozók körében) - nekem eddig egy dolog volt, ami nem igazán ment win-en, az az ios programozás
bár hallottam már több helyről is, hogy a mobil programozók nem is igazi programozók, aki így gondolja az részemről így járt
(és persze linuxot is tanítanak, ennek ellenére eddig az összes egyetemi nem-mac gépen rajta volt a windows)
-
fabri07
aktív tag
válasz
instantwater #13671 üzenetére
Hát nyelvvizsgával nem lesz baj az már 3 éve megvan, most gondolkodom felsőfokon, de nem tudom, hogy van-e értelme..
Ismersz egy olyan forrást, ami a biztos alapoktól kezdve épít?
Amúgy régen volt egy appom play áruházba, egy játék volt, unitybe csináltam c#-ba, de az olyan volt, hogy átírtam youtube videóból a kódot, meg más textúra volt -
Silεncε
őstag
válasz
instantwater #13671 üzenetére
Ha már JS, én inkább akkor már a TypeScriptet mondanám, szerintem sokat segítenek benne a típusok.
-
válasz
fabri07 #13669 üzenetére
Emeltszintű érettségi alap, ha egyetemre készülsz.
És egy (angol) nyelvvizsga is kötelező.Utána elkezdhetsz Pythonozni, népszerű nyelv a világban, de a suliban a JAVA-t és a C++-t fogják tanítani.
Az iskola nem az életre készít fel, hanem a vizsgára, ez van. Nem fogsz hallani Gitről, JavaScriptről, Golangról, Dockerről, Cloudról, és hasonlókról ami a való életben milliárd dolláros forgalmat csinál.Talán fogsz hallani IP ről, portokról, tűzfalakról, de annál több lesz a "szekvenciális inputfájlból olvassunk be soronként számokat, és rendezzük őket sorba" típusú feladat.
Ha a jó vizsga a cél, akkor irány a C++ és a JAVA.
Ha a való életben el is akarsz helyezkedni, akkor a fenti nyelvek orrvérzésig és vakulásig akkor talán nem gombokért vesznek fel juniornak.
Ha a fenti két nyelv nem nyerte el a tetszésed - bár, ha sok gyakorlatod van bennük, szép pénzeket lehet velük keresni - akkor a való világ elég erősen használ még Pythont, JavaScriptet (kliens és szerver oldalon is), C#/.NET-et. A PHP is nagyon népszerű, bár nem fizet túl jól. And FFS please leave Ruby alone 'coz that's disgusting.
Bármilyen nyelvben is indulj el szükséged lesz a HTTP protokoll ismeretére, Docker ismeretre, JavaScriptre, git ismeretre, Linux ismeretre (ezutóbbit javasolt napi szinten használni, és kukázni a Wint, mert azon szívás programozni), HTML alap, CSS alap, JSON/XML szintaxis alap.
-
samujózsi
senior tag
Na, azt hiszem, megvan a dolog lényegi része:
a make a target után indentálva írt sorokat a default vagy a beállított shellnek adja át.
De nem az egész blokkot egyben, hanem minden egyes sort külön shellben futtatva.
Ezért kap hülyét attól, hogy egy shell scriptben normálisan működő if-then-else szerkezetet próbálnék végrehajtatni vele, illetve ugyanez az oka, hogy ha az egyik sorban bekérek a read paranccsal egy választ, akkor a válasz tárolására használt változó tartalmát már nem érem el később.
Ha a fent bemutatott kódrészlet sorait ; \ karakterekkel zárom, akkor működik:test:
read -p "Are you sure? (YES/no) " answ ; \
if [ $${answ} = "YES" ]; \
then \
echo "OK" ; \
else \
echo "Abort" ; \
exit ; \
fi
Ez már azt csinálja, amit akartam. Csak kicsit soká tartott, mire ezt felfogtam.
Mentségemre szolgál, hogy a make-et kb. akkor használtam utoljára, mikor még muszáj volt rendszeresen új kernelt fordítani...(nem tegnap volt, na...)
-
fabri07
aktív tag
Sziasztok,
Már volt 1 kérdésem egyetemmel kapcsolatban.
Most pedig azt szeretném kérdezni, hogyan érdemes itthon elkezdeni programozni?
Melyik nyelven? (sok videóba azt mondták phytonba)
Esetleg van valami jó netes course, amit ajánlotok és az alapoktól megtanít.
Most tudtam meg, hogy amúgy kéne egy emelt szintű érettségi is.. Közepet már megcsináltam, de ahhoz nem sok köze van, hiába lett 90+%.. -
dqdb
nagyúr
válasz
samujózsi #13666 üzenetére
Szerintem nem túl szerencsés dolog interaktivitást tenni egy makefile-ba.
Jobb megírni úgy az alap scriptet, hogy ellenőrizze a feltételeket, és elhasaljon, ha felülírna valamit, amit nem kellene. Ezután a felülírós változat lehetne egy másik build target (például make build_always), vagy az alap scriptben ellenőriznéd egy make-nek átadott paraméter meglétét, és ennek hiányában elhasalna, meglétekor felülírna (például make build OVERWRITE=1).
Vagy ha ragaszkodsz a kérdéshez, akkor valahogyan így.
-
samujózsi
senior tag
Egy GNU make Makefile-ban szeretnék némi interakciót, megakadályozandó, hogy véletlenül agyonvágjon valamit egy make. Hogy lehet ezt megoldani?
test:
read -p "Are you sure? (YES/no) " answ
if [ "${answ}" = "YES" ]
then
echo "OK"
else
echo "Abort"
exit
fi
Ha ez van a Makefile-ban, akkor a make test eredménye egy unexpected end of file üzenet.
Az ifeq meg (érthető okokból) nem tetszik neki. De akkor hogyan? -
bozsozso
őstag
Sziasztok,
Lazarusban szeretnék gombnyomásra másolást végezni. Ez még menni fog, de az már nem, hogy a csatlakoztatott pendrive-ra másoljon. Illetve ha nincs csatlakoztatva pendrive akkor kapjak valami visszajelzést.Tudnátok esetleg segíteni? Illetve még jó lenne a másolás végén a pendrive leválasztása is.
-
disy68
aktív tag
válasz
samujózsi #13661 üzenetére
"Függvény paramétereit más nyelveken sem szokás módosítani."
Mutator-nak hívják az olyat és többszálú programoknál okozhat problémákat, ha az átadott paraméter ezt nem tudja kezelni (pl. Java alatt az Atomic* osztályok vagy Concurrent* collection-ök). Nem mondanám, hogy minden esetben kerülendő a használatuk. -
Silεncε
őstag
válasz
instantwater #13657 üzenetére
Szerintem amúgy ez a fajta viselkedés sokkal logikusabb, mintha minden property/tömbelem automatikusan konstans lenne (de lehet, hogy csak azért gondolom így, mert én már hozzászoktam)
-
#78693120
törölt tag
válasz
instantwater #13657 üzenetére
Erre is van megoldás, mert JS-ben a konstans értékadásakor lehet használni az
Object.freeze();
függvényt. -
samujózsi
senior tag
válasz
instantwater #13658 üzenetére
Pardon?
Függvény paramétereit más nyelveken sem szokás módosítani.
Az az igazság, hogy a funkcionális programozást sosem tudtam igazán megérteni, szóval lehet, hogy csak hiányzik valami ismeret, de nem látom az összefüggést azzal amit írtam.
Ami tutorialt olvastam, abban változóként hivatkoztak nevesített adatokra, amik csak egyszer kaphatnak értéket.
Szóval egy a=1 után nincs lehetőség "a" értékének módosítására.
Ha hozzá kell adni egyet, akkor kell egy a2=a+1
Bizonyos feladatokat elég nehezen tudnék így megoldani.
Pl ciklus, folyamatosan növekvő értékű ciklusváltozóval... Csak rekurzióval lehet kivitelezni amennyire tudom. -
Tigerclaw
nagyúr
válasz
instantwater #13657 üzenetére
Ott is így működik, annyi extrával hogy nem kell neki fordítási időben értéket adni.
Ha objektum referencia van neki átadva, akkor az objektumon belül lehet módosítani.
-
-
-
válasz
Tigerclaw #13649 üzenetére
Úgy tudom Swiftben a konstans deklarálható érték nélkül, és egyszer adhatsz neki értéket futásidőben.
Amit leírtam az egy kicsit más. Az azt jelenti, hogy értéket csak egyszer adhatsz egy konstansnak JSben, mégpedig deklaráláskor, később nem tudod módosítani, viszont ha objektumot vagy tömböt adtál értékül akkor annak a mezőit/elemeit tudod módosítani ami okozhat galibákat ha valaki nem tud erről a viselkedésről.
-
Silεncε
őstag
válasz
Tigerclaw #13654 üzenetére
biztos nem egyszerű, mert valami védi azt a memóriacímet az utólagos módosítástól
nagyonoff: erről az jutott eszembe, amikor C++ kurzuson a referenciák (gyak konstans pointerek) értékeit tanultuk hackelgetni assemblyből. Hogy miért volt erre szükség, a tanár nem tudta megmondani, ahogy azt sem, hogy akkor miért nem használunk pointert helyette
-
Ispy
nagyúr
válasz
Tigerclaw #13652 üzenetére
Ez már a konstansok továbbfejlödött változata. Mondjuk lehet ez hasznos is, pl. a program futásakor inicializálsz és betöltöd a konstansok értékét külső forrásból. Mondjuk ez már inkább egy butított változó, a konstansnak az a lényege pont, hogy már a kód írásakor tudod mi lesz az értéke.
-
Tigerclaw
nagyúr
válasz
fatal` #13653 üzenetére
A dokumentáció konstansként említi.
var x:Int // ez egy változó
let y:String // ez egy konstans (egyszer kaphat értéket)
Nem olyan mint egy setter nélküli, vagy private setteres object property. Eleve egyszerű csak értéket hordozó adattípus, és működik önállóan lokális "változóként"
Persze a megvalósítása az biztos nem egyszerű, mert valami védi azt a memóriacímet az utólagos módosítástól, miután már egyszer kapott értéket. Szóval lehet hogy valami objektum property konstruktoros értékadással, setter nélkül. Azt nem tudom, hogy a tárolása stack vagy heap. A kódoló felé értéket adó konstans.
-
fatal`
titán
Akkor még egy kicsit a témához.
Valaki említette a Swiftet, hogy futásidőben kap értéket a konstans. Nem ismerem a nyelvet, de akkor az nem konstans hanem immutable property/object.
Ilyen javaban is van (final kulcsszó), C#-ban is (readonly), Scala/Kotlin (val).
Immutable propertyk használata elég sokmindent egyszerűsít, pl. többszálú programozás esetén. -
Ispy
nagyúr
válasz
Drizzt #13647 üzenetére
Szerintem a konstansnak nem az a lényege, hogy nem változhat, hanem az, hogy a kód fordításakor fix értéke van, viszont menendzselhető és olvasható marad tőle a kód, ha kell csak átírod az értékét kézzel és kész. A lényeg, hogy futásidőben már nem változik. De az enum valóban nagyon hasznos cucc, lényegében egy konstans list. Persze ha már adatbázis is van a kód mögött, akkor sok paraméter már inkább meta adat és táblában tároljuk, jellemzően a nagyon kódhoz kötött dolgok mennek konstansba. Például a program veriószáma egy konstans.
-
samujózsi
senior tag
Kavarhatok picit még a konstans témán?
Van itt olyan, aki látott már közelebbről ú.n. funkcionális programnyelvet? (haskell, erlang)
Van róluk valami kellemetlen emlékem, hogy ezekben ugyan vannak változók, de azok valójában konstansként működnek.
Ez tényleg így van? Ha igen, miért? -
Tigerclaw
nagyúr
válasz
instantwater #13646 üzenetére
Úgy láttam hogy Swiftben is így használják, ezért is meglepően sok a konstans a példákban ha más nyelv után tanulod.
-
I02S3F
addikt
Köszönöm szépen! Tökéletes!
-
Drizzt
nagyúr
Mondjuk szamlak tipusa. Van betet, hitel, meg mittuodmenmilyen. Termeszetesen ez se tokeletes pelda, mert akar kesobb is keletkezhetnek uj tipusok. Es akkor kodhoz kell nyulni, ha konstansba rakta az ember az erteket. Egyebkent ha valaminek a zart ertekkeszletet akarja megadni az ember, mint az en peldam is, akkor meg inkabb enum. Az is egyfajta konstans. Ami a te peldadban van, az tipikusan property-bol konfiguralhato ertek kellene legyen, legalabbis javaban. Viszont pl. az, hogy melyik property-bol kell felolvasni, meg mi a property default erteke, azt mar tipikusan konstanskent szokas eltarolni.
Vagy jo konstans pl. a honapok szama egy evben. Azert az egeszen ritkan valtozik. :D
-
Akkor most jegyezzük meg, hogy JavaScriptben ez egy kicsit másképp működik
Ott a konstans az egy konstans pointer, tehát nem lehet neki újra értéket adni, VISZONT, ha ez a pointer egy nem primitív adatra mutat, tehát objektumra vagy tömbre, akkor annak a TARTALMA módosítható konstans változó esetén is.
Kezdőknek ez elég zavarbaejtő lehet.
Meg sem említem, hogy az objektum összefűzés is shallow.
-
Silεncε
őstag
válasz
I02S3F #13643 üzenetére
Alapvetően bárhol használhatsz sima változót konstans helyett, maga a konstans inkább arra ad védelmet, hogy az adott változó értéke nem lehet módosítható. Konstanst szoktunk használni például, ha valami előre tudott értéket akarunk a kódba "beégetni", amiket több helyen is eltárolunk. Nálunk például az egyik projektben meg kellett adni több helyen, hogy a munkaidő mikor kezdődik, ezt evidens volt, hogy konstansnak tárolom el, így máshol is tudom használni és elég csak 1 helyen átírni, ha véletlenül változik.
Az, hogy melyik nyelv hogyan kezeli a konstansokat, totál változó, például ott a C++, ahol van a "rendes konstans" meg vannak a #define-ok, amik már el sem jutnak a fordításig, mert a preprocessor lecseréli őket a #define-ban megadott értékre.
Egy szó mint száz: simán használhatsz bárhol változót konstans helyett, lényegében ugyanazt a hatást fogod elérni, viszont a konstans többletvédelmet ad, mivel miután definiáltad, nem tudod később az értékét változtatni (szóval ha mondjuk véletlenül bekeveredik egy értékadás bal oldalára, a fordító/interpreter szólni fog, nem fog megváltozni az értéke, ami miatt aztán debugolhatnál napestig)
-
válasz
I02S3F #13643 üzenetére
Őszintén nem tudom. Igazából szerintem annyit fognak írni mindenhova, hogy ha valaminek nem akarod, hogy futás közben változzon az értéke, az legyen konstans, a többi meg ne.
Megpróbálok írni egy kis segítséget, hátha sikerül, de nem magyarázok a legjobban(meg kicsit este van már), úgyhogy ha nem megy át, akkor bocs.
Kezdőnek érthető példa mondjuk a logolás lehet. Ugye fut szépen a programod, és akkor irogatsz dolgokat a konzolra (vagy akárhova). Namost, egyszerű példának mondjuk csinálhatsz egy log osztályt, aminek van egy olyan függvénye, hogy debuglog(message), amivel olyan dolgokat írsz ki, amiket normál futás közben nem, mert nem kell, csak a fejlesztést segíti. És akkor csinálsz egy konstanst, hogy debuglog, ami lesz alapból mondjuk false, aztán ha meg kell, átírod true-ra, kigyomlálod a fost és utána újra false.Tegyük hozzá, hogy ez azért nagyon rossz példa, mert amúgy nem így csináljuk, ha normális logolást szeretnénk, hanem van a programnak loglevelje, amit indításkor paraméterben, vagy ini fileban adunk meg és annak megfelelően logol, ha meg nincs megadva semmi, akkor működik egy default értékkel, de tanulásra meg gyakorlásra eleinte tökéletes. Ez a log osztály akár mehet is azonnal szépen külön fileba, és akkor már van is egy bővíthető, újrahasználható osztályunk, jár a keksz.
Kollégák: ha valakinek van jobb ötlete egyszerű példára, hogy az én fos példám el lehessen felejteni, jöhet.
-
Tigerclaw
nagyúr
Annak hogy változót használ konstans helyett, semmi köze nincs a clean code-hoz, vagy a SOLID elvekhez, a laza csatoláshoz, vagy hogy hova rak kommentet, mennyire beszédesek a változó nevek, vagy épp hogy az abban a nyelvben divatos naming conventiont alkalmazza-e.
A konstanst kiválthatja a változó, de fordítva ez jellemzően nem működik. Ezért javasoltam, hogy kezdetben nyugodtan használjon változót.
-
I02S3F
addikt
Köszönöm szépen
!
-
válasz
dabadab #13636 üzenetére
+1
Azt is hozzatennem meg, hogy nincs olyan (plane amikor meg tanulod), hogy a "kis programokat" megirom fosul, nem erdekel, majd a nagyobbat megirom jol, mert nem fogod. Fontos, hogy azt tanuld meg, hogy rendesen kodolunk, szepen, olvashatoan, mert az elso par nagyobb hangvetelu programod meg igy is fos lesz, nemhogy ha eleve a szart tanulja meg a kezed bepotyogni. -
válasz
Tigerclaw #13635 üzenetére
"Szerintem amíg kisebb programokról van szó, vagyis nem számít ha mondjuk extra optimalizációt jelent esetleg a konstans használata, nyugodtan mehet a változók használata"
Ne felejtsd el, hogy a forráskód elsősorban nem a gépnek szól, hanem az embereknek.
Az, hogy valami konstans vagy változó-e, határozottan a programozói szándékot fejezi ki és mint ilyen, egyáltalán nem mindegy.
-
Tigerclaw
nagyúr
válasz
I02S3F #13630 üzenetére
Szerintem amíg kisebb programokról van szó, vagyis nem számít ha mondjuk extra optimalizációt jelent esetleg a konstans használata, nyugodtan mehet a változók használata. Eddig pythonban, C#-ban, de sorolhatnám a 25 évvel ezelőtt tanult nyelveket is, egyértelmű választás volt a változók használata és nagyon ritkán került elő hogy legyen valami konstans, vagy legalábbis olyan változó amihez nincs setter.
A legtöbbször a konstans konkrétan alkalmatlan is lenne a feladatra. Eddig a Swiftben láttam hihetetlen mennyiségű konstans használatot, de az speciális konstans, mivel akár futási időben is kaphat értéket, míg más nyelvekben jellemzően fordítási időben már adni kell neki értéket, néha kötelezően már a deklaráláskor.
Fun fact: A víz forráspontja sem konstans, mivel nem csak a hőmérséklettől, hanem a légnyomástól is függ.
Ezért van az, hogy magasabb hegységben hosszabb ideig kell főzni, sőt van amit nem is lehet ott megfőzni kukta nélkül. Ja amúgy a kukta meg a másik véglet. Abban rövidebb ideig kell főzni, mert jóval 100C fok felett forr benne a víz.
-
samujózsi
senior tag
-
I02S3F
addikt
Láma kérdés
Jó stratágia majdnem mindent változóba rakni? Kivéve az állandó értékeket. Például: 1méter, a víz forráspontja, stb. -
Ha nem szereted a Javascriptet, nézd meg a Typescriptet, ami tulajdonképpen egy típusos Javascript (microsoftos project, az az Anders Hejlsberg a fő kitalálója, aki a Turbo Pascallal indított, aztán a Delphit majd a C#-ot tervezte) és az Angular (a már javasolt web framework) is arra épül.
-
1eske
tag
válasz
martonx #13624 üzenetére
Igen, Python alap ablakozója elég rona sajna. C++-ot kihagynám, Electronnal én is szemeztem, ha nagyon nem jutnék dűlőre akkor marad az. Köszönöm!
Silεncε
A Tkinter nagyon nem szép, még ha nem is szépségversenyre csinálnám, azért ennyire igényes lennék a munkámra 😅
Ezt a SceneBuildert kipróbálom, az talán megkönnyíti a dolgomat majd.samujózsi
Köszi, ezeket lecsekkolom majd még! -
samujózsi
senior tag
válasz
martonx #13624 üzenetére
Pythonhoz többféle GUI csomag van.
A beépített, a tkInter, ez buta és ronda, de crossplatform.
Van Qt pyqt és ennek kicsit szabadabb licencelésű változata a pyside. Elég gyenge dokumentációval.
Létezik wxpython, de ez nem tudom, mennyire crossplatform
+ami most nem jut eszembe -
Silεncε
őstag
Szerintem ha tudod a Java-t, akkor JavaFX. SceneBuilderrel össze tudod pakolni kézzel milyen GUI-t szeretnél, utána már csak a működést kell hozzá megírni. (vagy ugye javahoz van még a Swing is, de azt már nem ajánlott használni, ahelyett a JavaFX sokkal modernebb)
martonx: Pythonban alapértelmezetten (jó, ki kell pipálni a telepítéskor) jön a Tkinter, gyors rákeresve multiplatform, csak ronda. De Pythonhoz használható még a PyQT, ami a QT-nek egy python wrappere, ezt használtam már, lehet vele dolgozni, de mocskosul sok mindent kell hozzá feltelepíteni, hogy tudj rá fejleszteni
-
martonx
veterán
Pythonnak van ablakozó csomagja, hogy mennyire cross-platform azt nem tudom (elég szarul néz ki, azaz akár cross-platform is lehet).
QT ami még eléggé cross-platform (ha szereted magad C++-al szívatni), én leginkább a javascriptet ajánlottam volna (mondjuk Electronnal), de ha azt meg kerülni akarod, akkor kb. mindegy melyik opciót választod. -
1eske
tag
Sziasztok!
Egy GUI-val rendelkező desktop alkalmazást kéne írnom aminek az alábbi funkciókkal kéne rendelkeznie:
- Crossplatform
- Képek drag-and-drop húzása, képek deformálása stb.
- REST kérések küldése előre bekonfigurált végpontok számára, amelyet a GUI-n keresztül lehetne konfigurálniKvázi egy Postman továbbfejlesztve, kicsit felhasználóbarátabbá téve, úgymond "next-next" élmény elérése lenne a cél egye endpointok meghívásakor.
A legnagyobb kérdés a fejemben, hogy milyen nyelven írjam. Java nyelven tudok, a cross platformnak meg is felel, de a GUI-val kicsit hadilábon állok. Egyedül a JavaFX ami talán viszonylag korszerű még, de nekem kicsit nehézkes a működése, de jobb híján akár jó is lehet.
A másik alternatíva a Javascript, amit nem különösebben szeretek, ezért azt szeretném kerülni ha lehet. Esetleg még a Python ami maradt, de annak a GUI részével semmi tapasztalatom nincs.
Ti mit ajánlanátok erre a feladatra?
-
bandi0000
nagyúr
Annyi kiegészítés, hogy az if let-re azért van szügség, mert swiftben csomó változó optional tipusú, és ezáltal csak akkor tudod használni ha kicsomagolod, ezáltal el lehet kerülni a hibákat, amik a null miatt lehetnek
Amúgy ennél egyel jobb megoldás a guard, mert ezzel kiküszöbölhető a sok if let
És arra én sem emlékszek, hogy lehet e érték nélkül létrehozni konstanst, de szerintem igen, és nem null lesz hanem nil
Amúgy annyira nem rossz ez a nyelv, igaz én közvetlenül az Android programozáshoz hasonlítottam, sok okos dolog van benne, viszont ami idegesítő, hogy logika nélkül adtak más neveket benne pl:
Null helyett Nil
Interface helyett ProtocolNyilván ezek megszokhatók, csak felmerül az emberben a kérdés, hogy miért, jah és ugye kizárólag OSX-en lehet fejleszteni, ez is bosszantó, hogy OSX-en talán minden nyelven lehet fejleszteni, viszont apple termékre meg csak OSX-en lehet
-
válasz
Tigerclaw #13617 üzenetére
Hala egnek keves talalkozasom volt a swift-el, de ezekben pont tudok segiteni szerintem:
- let: Konstanst hozol letre, aminek inicializalaskor adsz erteket, utana csak olvasni tudod, irni nem.
- var: Ez egy sima valtozo, irhato-olvashatoAz "if let x = readLine() {..." szerkezet meg ugyan ugy mukodik, mint minden mas nyelven az if, azaz:
Ha ertelmezheto, akkor eloszor muvelet/operacio kiertekeles tortenik, a megfelelo sorrendben (bal-jobb, zarojelezes, stb), aztan a vegen ami marad van valahogy kiertekelve bool-kent.
Tehat, ami itt tortenik (persze a fenti problema miatt elvileg ez a sor eleve nem fog mukodni, de most az egyszeruseg kedveert tegyuk fel, hogy de):
1) Letrehozol egy x nevu, string tipusu, konstanst
2) Ennek a konstansnak az erteke lesz az, amit a readLine() visszaad
3) Az igy kapott string lesz kiertekelve, mint az if felteteleMondhatjuk ugy is, hogy ugyanaz, mintha ezt irtad volna:
let x = readLine()
if x {...Arra, hogy swiftben az if hogy ertekeli ki a stringet nem emlekszem, de igy tippre azt mondanam, hogy a tipikus modon, tehat ha ures a string, akkor false, amugy true. Amugy ennel sokkal szebb a kod, ha ugy irod, hogy if x.isEmpty().
Arra se emlekszem, hogy swiftben sima konstans lehet-e null, ha igen, azt se art kizarni.Nem frissek az emlekek, ugyhogy ha nagyon nem igaz, amit irtam, valaki majd kijavit, akinek naprakeszebb tudasa van. Ha meg nem, ott a gugli meg a stackoverflow.
-
Tigerclaw
nagyúr
Python és C# mellett belekezdtem a Swift-be is és elég furának tűnik azokhoz képest. Egyrészt mintha félkész lenne. Lehet hogy csak a másik kettő kényeztetett el a rengeteg, néha szinte túl sok beépített class-al, óriási függvénykönyvtárral, de pl. az MS .net dokumentációja is nagyon részletes, ahhoz képest amit a Swift-hez találtam.
Amellett hogy alap classokat nem találok, de ami van az is mintha bonyolultabb, fapadosabb lenne, miközben látni a Python féle kötetlenebb felfogást is.
Most pl. nem értem azt hogy rengeteg helyen constansokat használnak, oda is aminél változó lenne a logikus. Persze tudom, hogy itt máshogy működik a constans, mert futás alatt is lehet neki értéket adni egyszer, de akkor is fura.
Miért jobb egy
let x = readLine()
mint egy
var x = readLine()
amit reflexből írnék?...ja pont most olvasom, hogy a readLine() nem egyszerű String-et ad vissza, hanem optional-t. Akkor ezért írt a fordító valami unwrap problémát.
fura az
if let x = readLine() {
valami
}
szerkezet is. Mármint hogy honnan kap boolean értéket. Esetleg az "if let" itt egy összetartozó speciális statement?Persze még nagyon az elején vagyok, de a Swift mintha sok dolog máshogy működne.
-
dodopek
addikt
Sziasztok,
Segítséget kérnék.
Van egy barátom, szülinapjára pólóra szeretnék nyomtattatni. Az igazi szerelme a linuxra programozás, és szükségem lenne egy 3 soros kódra, amit a pólóra tehetnék neki. Nagyjából annyi kellene, hogy program indul, nagy betűméret, nyomtatás "bármi szöveg" program vége. Én tök hülye vagyok ehhez, szóval ha baromságot mondtam, nézzétek el. Írna nekem valaki egy ilyet?
Köszönöm! -
samujózsi
senior tag
Ha kisebb-nagyobb kódokat szeretnék megosztani a nagyérdeművel, itt a fórumon vagy a logout blogon, hová érdemes feltenni?
(*git*? Pastebin? Valami egyéb?) -
Tigerclaw
nagyúr
A Swift-hez van hasonlóan gazdag online dokumentáció, mint amilyen az MS esetén .net -hez?
-
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Autós topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- Épített vízhűtés (nem kompakt) topic
- Háztartási gépek
- World of Tanks - MMO
- Mibe tegyem a megtakarításaimat?
- Vezetékes FEJhallgatók
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Formula-1
- További aktív témák...
- T14s Gen3 14" FHD+ IPS érintő i5-1245U 16GB 256GB NVMe magyar vbill ujjlolv gar
- XPS 15 9500 15.6" FHD+ IPS i7-10750H GTX 1650Ti 16GB 512GB magyar vbill ujjlolv IR kam új akku gar
- asrock b660 pro rs+intel 14600k+64gb ddr4 csere ps5 pro ra!
- Precision 5690 16" FHD+ IPS Ultra 7 165H RTX 1000 Ada 32GB 1TB NVMe magyar vbill ujjlolv IR kam gar
- GARANCIÁLIS Lenovo Legion (Ryzen 6600H 16Gb DDR5 512Gb SSD Nvidia 4Gb) GAMER/Tervező laptop
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia (ELKELT)
- Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- Bomba ár! Fujitsu LifeBook E744 - i7-4GEN I 16GB I 512SSD I 14" HD+ I DP I Cam I W10 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest