- iPhone topik
- Magyarországon is kapható a Moto G85 5G
- Samsung Galaxy S20 és S20+ duplateszt
- Samsung Galaxy A56 - megbízható középszerűség
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Fotók, videók mobillal
- Netfone
- Android alkalmazások - szoftver kibeszélő topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Xiaomi 15 - kicsi telefon nagy energiával
-
Mobilarena
Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
sztanozs #17818 üzenetére
Sztem. ez a szakasz eléggé megmutatja, hogy én hogy képzelem el ezt a fórumot. Nem muszáj pmonitor-nak nyernie(nem ez a lényeg). Látod, hogy amit javasoltak, azt módosítottam. De sztem. ezekből a hozzászólásokból/javaslatokból az esetleges olvasók is tanulhatnak.
Viszont ami ez után a szakasz után jött - na az már tényleg nem "szakmai". -
nevemfel
senior tag
válasz
sztanozs #17796 üzenetére
De azért örülök, hogy minden ilyen apróságra ugrasz, ha nem is programozói, de pszichológiai topiknak elmegy ez - szódával.
Én azért jobban örülnék valami stackoverflows rendszernek. Ott az offtopik anyázás könnyen elsüllyed, mert leszavazzák vagy kimoderálják, a kényszeres offtopikoló/a vita kedvéért vitatkozókat szintén, és azok a topikok is gyorsan az enyészetté válnak, ahol jönnek az általad emlegetett "épp vizsgán vagyok, nem tudok semmit, írjátok már meg helyettem gyorsan ezt a feladatot". Nem véletlenül az a felület a rendezettebb, olvashatóbb, és főleg visszakereshető megoldások tárháza. Nem tökéletes, de remekül használható.
-
pmonitor
aktív tag
válasz
sztanozs #17790 üzenetére
>Szépen megfér ez itt a viszgaidőszak alatt azonnal fizetős főiskolások, meg a "tanulj meg bármit 24-óra alatt"-on növekedett, konkatenálós sql huszárok melett...
Ez a mondat mindent elárul, hogy mi a véleményed a nálad kevesebb tudással rendelkezőkről.
Sztem. meg 1 "fórumozó programozónak" közel sem így kellene hozzá állni a dologhoz. De ti tudjátok...
-
nevemfel
senior tag
válasz
sztanozs #17790 üzenetére
Értem én, de ez elvileg nem terápiás-, hanem szakmai topik. Nem az kellene legyen a mérce, hogy ki milyen büszke magára, hanem hogy ki tud konkrét problémákra választ adni, megoldást-, vagy megoldási javaslatot nyújtani, konstruktív jellegű tevékenységet folytatni.
Azt is értem, hogy egy nyilvános fórumban elkerülhetetlen a szakmai kivagyiság megnyilvánulása, meg egymás ekézése, de amit a kollega művel, azt már erős túlzásnak tartom.
-
pmonitor
aktív tag
válasz
sztanozs #17775 üzenetére
>mert a video/audio kódolás kifejezetten megigényli az optimalizációt (ellentétben a desktop-alkalmazások javával).
Desktop alkalmazáson a nem web programozást értettem. De egyébként még ott is igénylik az optimalizációt. Meg sokkal több alkalmazásnál is elkelne, ha gyorsabb lenne. Pl.:
1: A google miért is írja ki, hogy hány sec-ig tartott a keresés?
1: Az adatbázisok miért is írják ki, hogy mennyi ideig tartott a lekérdezés?Csak hogy a jéghegy csúcsával foglalkozzak. De ki ne érezné jobban magát, ha pl. a mappák másolása is sokkal gyorsabb lenne? Pl. a TC másolása sokkal gyorsabb, mint a win másolása. És még valszeg. ezt is lehetne gyorsítani. Szóval sztem. sokkal több helyen elkelne az optimalizálás, mint ahogy azt gondolod. Én(ahogy azt már többször is leírtam) pl. a Vb.Net-ben/C#-ban azt hiányolom a legjobban, hogy még az optimalizáció lehetőségét sem adja meg. A C++ is lassú a C-hez képest, de ott legalább adott az optimalizáció lehetősége.
-
pmonitor
aktív tag
válasz
sztanozs #17772 üzenetére
Sztem. ez 1szerűbb:
Waveditf.exe /del2 "d:\a.wav" 200000 200000
Ennél:ffmpeg -i audio.mp3 -af "volume=enable='between(t,5,10)':volume=0
>és nem kell számolgatni a bitrátából a bájtokat, csak meg kell adni a kezdő és végpontot másodpercben...
Azt elvileg az enyém is tudja. Át lehet állítani a mért. egységet Byte-ra, vagy Sec-re. Úgyhogy az én programomnál sem kell számolgatni, ha nem akarsz... Egyébként ha sec-ben adod meg, úgyis elég nehéz ki totózni, hogy milyen értékek kellenek. Ezért a GUI a fő irányvonalam. Ott közvetlenül vissza lehet hallgatni, és változtatni a kijelölést, ha szükséges(és a legtöbbször szükséges
).
De ahogy látom, az ffmpeg is C-ben és asm-ben készült. Sztem az ASM, C megkerülhetetlen, ha valaki komolyabban szeretne desktop alkalmazásokkal foglalkozni. Mondom ezt annak ellenére, hogy:
Ad 1: nem vagyok programozó, csak 1 1szerű rokkant(pontosabban megváltozott munkaképességű)
Ad 2: az én programom Vb.Net-ben(!!!) készült. Tehát ebben is meg lehet csinálni. Csak az optimalizálás hagy némi kívánnivalót maga után...
Ad 3: ez 1 hobbi projektAzt hiszem, hogy régebben már írtam, hogy ha most kezdenék programozni desktop-ra, akkor az ASM, C, C++ nyelvekre állnék rá nagyon. Vmint. a win api függvényeire... Na jó, azért a C#-ba(Vb.Net-be) és a Pascal-ba is belekóstolnék, de csak nagyon felületesen...
-
gordonfreemN
addikt
válasz
sztanozs #17664 üzenetére
Nos igen. Ami pont láthtó a belinkelt képen, hogy vannak sorok amik becsúsznak a következő szekció alá, ezért a táblázatba konvertálás sem működik most úgy, mint a múltkor.
Hát ez így eléggé lehetetlen feladatak tünik, kb 11db 230 oldalas pdf-et kellene összehasonlítani az előző pdf-kkel majd ha ott nincs akkor jöhet az árajánlatozás.
Hiába hogy csak a Material Order Identification oszlopokban található részek kellenének. -
pmonitor
aktív tag
válasz
sztanozs #17643 üzenetére
Hát én sem látom értelmét a vitatkozásnak, mert teljesen más a felfogásunk. Egyszer belinkeltem ezt. És ezt a választ kaptam rá. A fekete doboz(amit nevezzünk csak elméletnek) tartalma érdekelje csak a "szakikat". Engem, mint laikust a kimenet érdekel(vagyis a gyakorlat). De ebben a témakörben programozói kimenet gyakorlatilag nem is létezik(ill. gyakorlatilag csak annyiból áll, hogy izolálni kell a gépet). A nem létező kimenet == zéró teljesítmény.
Információbiztonság!? Miért? Van olyan is? Sztem. csak akkor, ha valaki nem kapcsolja be a számítógépet.
>hogy majd biztos emiatt is lenézlek...
Nem pályázom a kegyeidre.
Az én "programozói" kimeneteimet meg lehet többek között itt, valamint itt nézni. Ahogy látom neked nincs olyan, amit meg lehet nézni, úgyhogy én ez miatt nézlek le. De ez meg gondolom téged nem érdekel(holott te lennél a "szaki"). Szóval zsákutca... Teljesen más az értékrendszerünk.
Ehhez a témakörhöz mostanában nem szólok hozzá. Inkább csak ilyen témaköröket érintően szólok hozzá. Vagyis, ha valami újat készítek, vagy frissítek. Mert laikus létemre engem csak a gyakorlat érdekel.
Na pá!!!
-
pmonitor
aktív tag
válasz
sztanozs #17641 üzenetére
Sztem. nem trollkodás. De ezen nem veszünk össze...
Igen. Azért emeltem ki ezeket a részeket, mert úgy gondolom, hogy ezekre minden "szakértőnek" tudnia kell a választ. Ekkora baj, hogy elvárom, hogy a "szakik" értsenek ahhoz, amit csinálnak? Ha így van, akkor nagyon távol áll egymástól a felfogásunk. Egy kőművestől nem azt várom el, hogy elmondja, hogy miket, milyen arányban kell összekeverni, hanem hogy felépítse a házat.
Egyébként örülj neki, hogy munkaidőben tudsz válaszolni a trollkodásnak vélt dologra. Én már vén "nyugger" vagyok. Vasárnap olvastam bele a válaszodba, és most írom ezeket a sorokat. Pedig az ember fia azt hinné, hogy mer' a nyuggereknek mennyi idejük van...
-
pmonitor
aktív tag
válasz
sztanozs #17639 üzenetére
Nem beszéltem eggyel sem. De idézetek az egyik cikkből:
"
A 4iG SOC szerint a Play Ransomware által zárolt fájlok visszafejtésére egyelőre nincs hatékony megoldás, a .txt fájlban megadott e-mail-címről pedig sok áldozat még csak választ sem kapott. Az sem ismert még, hogy a vírus miként jut be egy-egy kiszemelt végpontra, vagyis számítógépre. Az viszont már biztos, hogy egy-egy, több gépből álló belső hálózaton belül tud mozogni a vírus,EZÉRT AZ ÁLTALA FERTŐZÖTT SZÁMÍTÓGÉPEKET AZONNAL IZOLÁLNI KELL, HOGY NE TERJEDHESSEN TOVÁBB A HÁLÓZATON BELÜL.
Ha több szerver van egy hálózatban az elsőként megfertőződött végponttal összeköttetésben, akkor a vírus könnyedén átterjedhet más szerverekre, és ott zárolhat minden fontos adatot, köztük a helyi mentéseket is.
"Azt hiszem, hogy amiket félkövéren kiemeltem, azok a részletek egyértelműen elárulják, hogy mennyire ismerős nekik ez a vírus. Ezekért írtam, hogy csak pilláznak(na persze, ez nem csak a magyarokra vonatkozik). Én ingy'é tudok adni 1 jó tanácsot az összes vírus ellen: Nem kell bekapcsolni a számítógépet!!! És még csak (több) misis fizetést sem kérek ezért a tanácsért...
>A legtöbb EDR cucc alapból tud riasztani ilyen dll injection tevékenységre...
Miért csak a legtöbb? Miért nem az összes? Ilyen alap dologra!?...
-
gordonfreemN
addikt
válasz
sztanozs #17622 üzenetére
Szóval.
A1 21 B1 kiskacsa C1 87 D1
A2 54 B2 lópikula C2 23 D2
A3 23 B3 makmarci C3 21 D3
A4 16 B4 rézfa C4 16 D4
A5 87 B5 terembura C5 54 D5Betűkkel jelöltem a cellákat, mellettük a tartalmuk.
Azt szeretném, ha C oszlop értékeit sorról sorra megnézné, talál-e egyezést az A oszlop valamely értékével. Ha van egyezés, akkor a találati cella melletti B cella értékét másolja át az éppen vizsgált C cella melletti D cellába. -
válasz
sztanozs #17523 üzenetére
Még ha fizetett is rendesen, simán lehet olyan vállalkozás, amely nem vezet naprakész készletnyilvántartást. Egyszerűen felesleges, mert 100-200 forintos dolgokat árul tonnaszám. Ő nem fogja ezeket tételesen nyilvántartani. Dolgoztam ilyen helyen fejlesztőként, beleraktam a raktárkezelést a rendszerbe, és a főnök mondta, hogy tök felesleges. Mert ha kifogy a raktárból, akkor mi van? Másnapra itt van a cucc a nagykerből úgyis, az ügyfél meg csak megijedne attól, hogy nincs raktáron. Ez egy teljesen tudatos üzleti döntés.
-
pmonitor
aktív tag
válasz
sztanozs #17330 üzenetére
A (nem csak itt) fórumozó arcokról, és főleg a fórum(ok) szerepéről úgy általában más a véleményünk.
Arról, hogy ez nem C topik, az engem nem zavar. itt van pl . egy Vb.Net-es és 1 C# kódom is. Mivel nem törölték, ezért gondolom, hogy nyugodtan elférnek egymás mellett a C, Vb6, Vba, Vb.Net, C# meg mit'tomén milyen kódok is. De a C(vagy egyéb) topikokban sem látok túl sok kódot). Másrészt (főleg algoritmusos, de egyéb probléma esetén is) szóba jöhet(ne) a pszeudo kód is. Szóval a nyelv nem akadály!Egyébként a ti "közösségetek" mit tart értéknek? Mik a prioritásai? Mi a (szakmai) fórumról alkotott egységes véleménye? Mert az én véleményem ismerhetitek egyrészt innen, másrészt a webhelyemről - de szívesen összesítem itt is, ha kérnétek. A ti álláspontotokkal azonban nem vagyok tisztában. Így kívülről úgy látszik, hogy a fő irányvonalatok csak a rizsa(de meg lehet cáfolni, ha tudjátok).
-
Drizzt
nagyúr
válasz
sztanozs #17296 üzenetére
A kovetkezo lepcso meg az, hogy van library compliance, illetve a build soran csak a compliant library-kat tartalmazo registry-k erhetok el. Meg library approval process.
De ez az a kategoria, amit mindenki gyulolni szokott.Foleg akinek meg kell kuzdenie az approval mocsarakkal.
Meg persze build artifact scan tobbfele szempontbol. -
pmonitor
aktív tag
válasz
sztanozs #17222 üzenetére
A sok pénzt a sok pénz alatt értettem.
A "határ a csillagos ég" alatt pedig a hivatalos végzettséget(és utána a betöltött munkakört).
>valószínüleg azért nem vagy programozó, mert a mások által feltett kérdéseket sem tudod megérteni és/vagy azokat megválaszolni
Kérlek, tekintsd meg az itteni megoldásaimat. Szerinted ennyit meg tudtam volna oldani, ha a "mások által feltett kérdéseket sem tudnám megérteni és/vagy azokat megválaszolni"? Ezt tényleg komolyan mondod(illetve írod)?
>Folyamatosan ömlik belőled a sértődöttség, és nem tudsz másról beszélni, mint, hogy kitöröltek ezt, vagy xyz nem ért semmihez, vagy hogy most valakit rajtakaptál valami inkonzisztencián.
Sajnos ez nagy vonalakban igaz. De úgy gondolom, hogy nem ok nélkül. Pl. ha valaki konzisztens, őt nem tudnám rajta kapni az inkonzisztencián. Ha nem törölnének ki mást, csak az erősen trágár szavakat/kifejezéseket tartalmazó hozzászólásokat, akkor nem írnám, hogy ezt, vagy azt kitöröltek, stb...
>Jó volna, ha belátnád, hogy itt nem vagy szívesen látott személy, mert:.......
Nem is akarom, hogy szívesen látott személy legyek. Én nem közétek tartozom, és ezt sohasem tagadtam le. De nem is akarok közétek tartozni, mert túl sok embert vertek át a palánkon. Azt ugyan nem értem, hogy mit értesz az alatt, hogy sírok, de milyen közösséget is kellene "építenem"? Egy virtuális, nevesincs nick-ek közösségét/gyülekezetét? Na meg hogyan?
>Nyugodtan rendezkedj be a prog.hu-n
Onnan rúgott ki az újságíró Sting, de nem is bánom. Sőt, azt bánom, hogy valaha is regisztráltam oda. Hasonló a véleményem erről a fórumról is. Na meg a stackoverflow-ról is. Mindenhol csak a rizsa. Ennek a topiknak is "Programozás topic" a címe, és inkább olyan "szoftverfejlesztési egyveleg(rizsa)" az egész. Programozás szinte semmi. Húúú, még sok mindenről tudnék írni, de inkább nem. Aki többet szeretne tudni rólam, Ő legyen szíves felkeresni a webhelyem(bár sajnos ott is csak a töredéke van annak, amennyit szeretném hogy lenne). A lényeg az, hogy a prog.hu-ra nem megyek vissza a fentebb említett okok miatt. Itt meg addig írom le a véleményem, amíg ki nem rúgnak/rúgtok ezért. Bár igazából sztem. okot nem adok rá. Sőt, ha megteszed, hogy visszanézed, akkor láthatod, hogy kb. 2 hónapig nem írtam. Így is el voltam én is, ti is. Sok minden nem változott, mert 99%-ban úgyis csak rizsa megy(velem, vagy nélkülem, mind1). Szóval igazából nélkületek is meglennék. Nincs feltűnési viszketegségem. A prog.hu-ról 2013 végén rúgtak ki, ide meg 1 vagy 2 éve regisztráltam. A kettő közötti időben is el voltam fórumozás nélkül is.
-
-
-
martonx
veterán
válasz
sztanozs #16835 üzenetére
Nyilván, de Tapsi ezzel kezdte a probléma felvetést:
"A leggyorsabb futásidő 30 másodperc, ezt kéne levinni <1-re."
Persze, ez annyira tipikus üzlet, mindenből friss adat kell, és ráadásul lassú se lehet
Amúgy meg teljesen jó a probléma felvetés, mert pmonitor nagyon kezdett félre menni a string - int konverziók sebességével, miközben a való életben SOHA nem ez az igazi probléma -
pmonitor
aktív tag
válasz
sztanozs #16528 üzenetére
Készítettem én is egy 300000-es futtatást olyan szisztémával, mint ahogy Te csináltad. Tehát hogy az "A" program írta file-ba az adatokat. Ez lett az output. Nálam mondjuk mások az egyedi adatok:
Egyedi PID: 241955
Egyedi HWND: 286085
a 300000-ből.
Olyan eset nem volt, hogy mindkettő megegyezett volna. A program leírása itt található meg.@Silεncε:
Ugye milyen jó, hogy nem fogadtál?
Az itoa() szignatúrája:char * itoa ( int value, char * str, int base );
Az én függvényem szignatúrája:
char* int_ToStringC(int i, char* s, int base)
Nincs többfajta input.@sztanozs:
Pl. ilyen teszt programok esetén is elég so'xor kell integert konvertálni. Ahányszor meghívom a PidAndHwndA.exe-t, mindannyiszor 2 számot konvertál(a pid-et és a hwnd-t).
Vagy másik példa a feledatkezelő. Ott is nagyon so'xor kell számot konvertálni. Mondjuk egyik esetben sem kell 30 misiszer konvertálni, de azért látszik, hogy akad 1-2 eset, amikor jó sokszor.@dabadab:
Ugye, hogy nem veri meg ezt az assembly kódot!?@dabadab:
Itt azt írtad, hogy:
>A C az gyakorlatilag hordozható assembler, ennek megfelelően kell hozzáállni, aki ott azt mondaná, hogy a JMP használatát el kell kerülni, azt kiröhögnék.Szerintem a C nem hordozható assembler. Közel sem!!! Ilyent hogy írsz meg C-ben?
push_chars :
xor edx, edx
mov ecx, base
div ecx
add edx, 0x30
push edx
inc ebx
test eax, eax
jnz push_chars
pop_chars :
pop eax
stosb
dec ebx
cmp ebx, 0
jg pop_charsEzt én úgy írtam meg, hogy char tömböt használtam, és a végén "megfordítottam". De ez a megoldás nagyon nem ugyanaz, mint az asm esetén használt push-ok és pop-ok használata. A C közel sem hordozható assembler!
@böng ész ő:
>Ha elakadsz valamivel
Egy programozó is el tud akadni valamivel? Én azt hittem, hogy azért tanultak olyan sokat, hogy a szakterületükön ne akadjanak el semmivel. De lehet, hogy tévedek/tévedtem. -
pmonitor
aktív tag
válasz
sztanozs #16612 üzenetére
>a felhasználói programok nagy részében a műveletek végrehajtási idejének nagy részét az IO-ra való várakozás tölti ki, nem a kalkuláció.
Van a következő kód:
#include <stdio.h>
#include <Windows.h>
#include <time.h>
#include <sys/timeb.h>
long timediff(struct timeb* start, struct timeb* end)
{
long seconds;
seconds = (long)(end->time - start->time);
start->millitm = end->millitm - start->millitm;
if (0 > start->millitm) {
start->millitm += 1000;
seconds--;
}
return seconds;
}
int main()
{
struct timeb start, end;
long seconds, seconds_1, seconds_2;
int militm, militm_1, militm_2;
int i, j;
char ch[] = "abcdefghijklmnopqrstuvvxywz";
DWORD sizewrit;
BOOL ret;
ftime(&start);
for (i = 0; i < 10000; i++)
{
FILE* fp = fopen("d:\\b.txt", "w");
for (j = 0; j < 100; j++)
{
fwrite(ch, sizeof(ch[0]), 27, fp);
}
fclose(fp);
remove("d:\\b.txt");
}
ftime(&end);
seconds = timediff(&start, &end);
militm = start.millitm;
ftime(&start);
for (i = 0; i < 10000; i++)
{
HANDLE FileH = CreateFileA("d:\\a.txt", GENERIC_WRITE, 0, 0, CREATE_NEW, FILE_ATTRIBUTE_ARCHIVE, 0);
for (j = 0; j < 100; j++)
{
WriteFile(FileH, ch, 27, &sizewrit, 0);
}
CloseHandle(FileH);
DeleteFileA("d:\\a.txt");
}
ftime(&end);
seconds_1 = timediff(&start, &end);
militm_1 = start.millitm;
printf("Eltelt ido(fwrite()): %ld.%03d masodperc\n", seconds, militm);
printf("Eltelt ido(CreateFileA()): %ld.%03d masodperc\n", seconds_1, militm_1);
return 0;
}Itt pl. a C library jelentősen gyorsabb, mint a win api hívások. Pedig mindegyik a HW-n végez műveleteket. Az állításod szerint elvileg mindegy lenne, hogy melyik algó a gyorsabb/lassabb. De itt nem így van. Pedig a disk sebessége ugyanaz. A C függvények mégis "folyékonyabban beszélik a nyelvét".
Mostanában a szabadidőmben elég sokat foglalkoztam a sebességgel. Arra jutottam, hogy egyáltalán nem lehet általánosságban kategorikusan kijelenteni vmit. Ha csak a C-t, és a library-t nézzük, akkor sem. Az egyiknél jelentősen gyorsabb, mint egy egyedi implementáció, másik esetben meg fordítva van. Ki tudja megmondani, hogy melyik van többségben?
@Ispy #16621:
Azért a játéknál többet érnek ezek a példák. Én pl. sokat tanultam belőlük. Talán a legfontosabb, hogy a mostanra majdnem NULL ASM tudásomat frissítettem. Ez önmagában is elég lenne. Ezen kívül megtudtam, hogy a C library-ban is vannak nagyon lassú megvalósítások(bár hogy mennyi, azt nem tudom) is. És még sok mindent...
Ráadásul több esetben megtudtam, hogy bizonyos esetben melyik a hatékonyabb. Ezeket sztem. nem felejtem el, ugyanakkor "elmentettem". Így ha valamikor a hatékonyabb algóra van szükség, akkor elő tudom venni a tarsolyomból. Szóval számos gyakorlatban használható eredménye is volt.@sztanozs #16625:
Kimondottan C területről nem tudok. De pl. a(z) (alkalmazás) szervereken elég sok számot kell konvertálni. És egy sűrün látogatott oldalon ez sokat jelenthet. -
Marky18
aktív tag
válasz
sztanozs #16625 üzenetére
Raadasul egy szalon...
Jok ezek a peldak, senki se vonja ketsegbe, hogy egy adott processzorra kioptimalizalt assembly gyorsabb, mint egy magasabb szintu implementacio, de amikor dolgozni kell, akkor nem fog senki beincludeolni egy libet azert, hogy kis idot nyerjen egy trivialis lepesen. Inkabb szalakra dobalom a feldolgozni valot, vagy, ha olyan a feladat, akkor architekturalisan optimalizalok.
Beagyazott rendszereken kivul nem is igazan tudnek olyan teruletet, ahol ilyen szintu optimalizalas kell, de oda meg amugy is olyan fejlesztok mennek, akik kenik-vagjak az adott processzorra torteno fejlesztest. -
pmonitor
aktív tag
válasz
sztanozs #16618 üzenetére
Kb. 30-40 milliószor. De azt sem szabad figyelmen kívül hagyni, hogy ha több ilyen alacsony hatékonyságú függvény van az STL-ben, azok természetesen összeadódnak. Még szerencse, hogy a legnagyobb különbség a bináris számrendszerben van. Ott az itoa() 200!!!, míg az int_ToStringC() 25 sec. körül végez(8-ad része alatt). Ez azért szerencse, mert a bináris formátumot ritkán kell tömegesen használni. Azért azt senki nem mondhatja, hogy a 200, és a 25 másodperc között jelentéktelen a különbség.
Ki tudja mennyi ilyen függvény van az STL-ben, és nagyságrendi különbség van-e egy programozó implementációjával szemben? Egy példa:
A FindFile.exe(C#), és a FindFileC.exe(C) programom is rekurzióval hívom meg, de úgy, hogy egyszerre csak 1 findfirstfile()-al megnyitott handle van. Ez jóval gyorsabb, mint a "szokásos" rekurzió, amelyben sokkal több handle van egyszerre nyitva. Viszont a módszerem hátránya, hogy memóriazabáló(de hát valamit valamiért). -
pmonitor
aktív tag
válasz
sztanozs #16528 üzenetére
Készítettem tesztprogramot C-ben, csak nem tudom, hogy mikor tudom hosszasan futtatni. pidtesztA:
#include <windows.h>
HINSTANCE hInstance = NULL;
char* AppName = "PID teszt \"A\"";
char* WindowClassName = "pidtesztA";
HWND AppHwnd = NULL;
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int main()
{
WNDCLASSEX wc;
MSG msg;
hInstance = GetModuleHandle(NULL);
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.hbrBackground = COLOR_BTNFACE + 1;
wc.hInstance = hInstance;
wc.lpszMenuName = NULL;
wc.lpszClassName = WindowClassName;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(0, IDC_ARROW);
RegisterClassEx(&wc);
AppHwnd = CreateWindowEx(0, WindowClassName, AppName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1200, 900, 0, 0, hInstance, 0);
ShowWindow(AppHwnd, SW_SHOWDEFAULT);
UpdateWindow(AppHwnd);
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
ShowWindow(AppHwnd, SW_NORMAL);
break;
case WM_COMMAND:
break;
case WM_SIZE:
{
break;
}
case WM_SHOWWINDOW:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
break;
}
}pidtesztB:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
STARTUPINFOA SI;
PROCESS_INFORMATION PI;
HWND Pids[400000000];
int PidsP = 0;
int waitmsec = 500;
int appStart(char name[])
{
if (!CreateProcessA(NULL, name, NULL, NULL, FALSE, 0, NULL, NULL, &SI, &PI))
{
printf("A %s file-t nem lehet megnyitni...\n", name);
return -1;
}
WaitForSingleObject(PI.hProcess, waitmsec);
return 0;
}
int main(int argc, char* argv[])
{
DWORD procid = 0, hwndid;
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (argc == 3) waitmsec = atoi(argv[2]);
char appA[50] = "pidtesztA.exe";
char appAClass[50] = "pidtesztA";
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
}
HWND prochwnd;
int i, out = 0, imax = 500;
if (argc >= 2) imax = atoi(argv[1]);
for (i = 0; i < imax; i++)
{
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
int j = 0;
while (j < PidsP)
{
if (Pids[j] == pidact)
{
printf("Pid egyezik!\n");
out = 1;
break;
}
j++;
}
if (out) break;
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
if (out) break;
}
}
printf("i: %d\n", i);
return 0;
}Mint látható az "A" egy standard window. A "B" console. Az indítási intervallum, és a waitforsingleobject() ideje is alapból 500, de parancssorból változtatható, mint az a kódból is látható. A szám adatok validitását nem ellenőriztem le, csak egyből konvertál(legalábbis megpróbál
).
Még nem tudtam hosszan futtatni. Ha vki. működésbeli hibát vesz észre, Ő kérem jelezze. -
-
pmonitor
aktív tag
válasz
sztanozs #16483 üzenetére
Igaz, hogy említettem a PID-et, de ha megnézed, akkor a példakódban a Fő form Handle-jét(HWND-t) nézem. És annak küldök üzenetet. Bár elvileg a HWND is lehetne ugyanaz ismételten, de nem hiszem, hogy sűrű jelenség lenne az ilyen. De lehet a PID-et és a Me.Handle-t is rögzíteni, akkor még biztonságosabb. Olyan tényleg nagyon ritkán van(ha van egyáltalán), hogy a egy új alkalmazás úgy jön létre, hogy az előtte nemrég bezárt alkalmazással azonos a Fő form HWND-je is és a PID-je is. Ez sztem. szinte lehetetlen.
-
lenkei83
tag
válasz
sztanozs #16485 üzenetére
Nem tudom ezt miből szűrted le. Korábban volt egy ilyen hozzászólás az egyik tagtól: "Ha nem rendeltetésszerűen szállt ki, akkor még bent van, majd a ráindításkor eldöntöd hogy most beengeded login nélkül vagy csak frissited az adatait."
De senki sem írta, hogy ez így működik, vagy így kellene működnie. Minden egyes belépésnél meg kell adni a login adatokat. -
-
Hege1234
addikt
válasz
sztanozs #16046 üzenetére
attól függetlenül, hogy valaki segít benne hogy hogyan kell bash-ba megoldani
engem a python verzió is érdekelne mert a későbbiekben biztos hasznát veszem annak hogyan kell valamit beolvastatni és "helyezgetni"
már ha jól gondolom hogy python-ba is valahogy hasonlóképpen kellene megoldani -
kovisoft
őstag
válasz
sztanozs #15930 üzenetére
- Protokollprogramod van?
- Az az elsõdleges funkcióm. Ismerem az etikettet.
- Ilyen droid nem kell.
- Persze hogy nem. E vidéken nem.
- Olyan kell, amely érti a párologtatók bináris nyelvét.
- Az elsõ munkám emelõk bináris programozása volt.
- Tudsz bocceul?
- Hogyne. Második anyanyelvem.
- Jó, fogd be. Megveszem. -
opr
nagyúr
válasz
sztanozs #15905 üzenetére
Ja, igen, fel ev realis arra, hogy az ugyfel kezhez kapjon valamit, ami pontosan ugy mukodik, mint amit mondott, de sajnos nem ugy, mint amit gondolt. Ismeros a szitu.
Legjobb amikor az ugyfel letagadja, hogy mit mondott, egeszen addig, amig az orra ala nincs dugva az e-mail, amiben benne vannak az adott meetingrol a jegyzetek reszletesen, kepekkel, folyamatokkal mindennel es rabolintott, hogy igen. "De hogy O azt nem ugy gondolta..."
-
pmonitor
aktív tag
válasz
sztanozs #15668 üzenetére
Igazából a GitHub-ot Livius ajánlotta. Nekem mind1, hogy olvassák-e, vagy hogy milyen réteg olvasgatja/nézegeti. A publikus kódjaim 1-2 témában feltettem(végülis nem került semmibe).
Ami jobban érdekelne, az a Cutter programom hatékonysága/sorsa. Dehát akkor is tudok aludni, ha nem tudom meg.
-
pmonitor
aktív tag
válasz
sztanozs #15629 üzenetére
>Alapvetően ez nem egy programozási fórum, vsz nem fogsz találni túl sok fórumozót, akit ez különösképp megmozgatná
Igazad van. De azért úgy néz ki, hogy olvassák(nem tudom, csak gondolom). Abból gondolom, hogy azért a google az első oldalon hozza az oldalam az "1D vágás" kulcsszóra(ezúton is szeretném megköszönni azoknak, akik meglátogatták az oldalam). Igaz, nem csak ezen a fórumon vagyok, de azért a legaktívabb itt vagyok.
Mondjuk azt látom, hogy itt a rendszeres válaszadók nagyon nagy többségét nem érdekli a konkrét problémák kóddal, vagy legalább pszeudokóddal való megoldása). Ez nem feltétlenül baj. Ráadásul azért van kivétel is. Egyébként az "ország legnagyobb fejlesztői portál"-jának nevezett fórumon sem volt szokásban a kód/algoritmus adása a rendszeres válaszadók között. Én kivétel voltam. Amire tudtam válaszolni, arra válaszoltam. Csak a moderátor ott is a "rizsázást" tartotta "a priori"-nak. Mondjuk részben meg lehet érteni olyan helyen, mint ez a fórum, ahol alapvetően nem a programozás a fő irányvonal. De sajnos ott is csak ez megy. Mondjuk abból a szempontból meg lehet érteni, hogy ha valaki viszonylag hosszabb kódot ad, akkor egyrészt abból ki lehet venni, hogy valóban van-e köze a programozáshoz(tehát gyakorló programozó-e). Lásd joysefke-t, aki viszonylag rövid idő alatt összeállított 1 kódot, OOP elven. Másrészt viszont az is kijön, ha valakinek lövése sincs az egészhez. Ezért nem adnak kódot/pszeudokódot, még ha tudják is a választ. Meg amúgy is könnyebb a rizsázás. De ez a felfogás szerintem nem lenne megengedhető egy magát fejlesztői oldalnak tituláló oldalon. Itt még azért jobban elfogadható.
Ugyanakkor nem tagadom, hogy az esetleges olvasók miatt linkeltem be az oldalam ide többször is. De gondolom ez nem bűncselemény.A fórumozásnak van rossz és jó oldala is.
-
Marky18
aktív tag
válasz
sztanozs #15629 üzenetére
egyetemi jegyzet vs optimalizált kód.
Szerintem a legfontosabb az, hogy ellassa a kod a feladatat. Hiaba irod meg a leheto legoptimalisabb low-level eljarast egy adott problemara, ha az egesz feladat 1%-at oldottad meg a rendelkezesre allo ido nagy resze alatt, illetve hiaba irnak brutalgyors peldakat az egyetemi jegyzetben, ha egy tapasztalt fejlesztonek is orakba telik kibogozni, hogy mi tortenik. Az OOP valahol ennek menten jott letre, hogy olvashato, ujrahasznalhato kodot irjunk es ne csak egy szakallas szaki tudja, hogy mukodik az adott kodreszlet.Azt sem szabad elfelejteni, hogy a low-level problemak nagy resze mar meg lett oldva evtizedekkel ezelott, nekunk csak hasznalni kell a megirt kodokat, hogy user kozeli problemakat oldjunk meg veluk. Hardverkozeli kodot C-ben is ASM-ben irnak, webalkalmazast pedig C#-ban, Javaban, mert nem akarunk az OSI modellben turkalni, hogy egy GET requestet lefuttassunk. Mas retegbeli problema, mas retegbeli eszkozoket kivan.
-
pmonitor
aktív tag
válasz
sztanozs #15629 üzenetére
Ez a kód:
static void Teszt_5(char[] arr)
{
char[] arr2 = (char[])arr.Clone();
int size = arr.Length;
QuickSort(arr2, 0, size - 1);
//Array.Sort(arr2);
int n = arr2.Length;
int i, j;
char temp;
//for (i = 0; i < n; ++i) arr2[i] = i + 1;
while (true)
{
// kiirjuk az aktualis permutaciot
/*for (i = 0; i < n; ++i) Console.Write("{0} ", arr2[i]);
Console.WriteLine("");*/
// megkeressuk, hol kezdodik az utolso monoton csokkeno reszsorozat
for (i = n - 2; i >= 0 && arr2[i] >= arr2[i + 1]; --i) ;
// ha a teljes sorozat monoton csokkeno, akkor vegeztunk
if (i < 0) break;
// a csokkeno reszsorozat elotti elemet ki kell cserelnunk a reszsorozatban nagysag szerint rakovetkezovel
for (j = n - 1; arr2[j] <= arr2[i]; --j) ;
temp = arr2[i]; arr2[i] = arr2[j]; arr2[j] = temp;
// tovabbra is monoton csokkeno a reszsorozatunk, forditsuk meg, hogy monoton novekedo legyen
for (j = i + 1; j < n + i - j; ++j)
{
temp = arr2[j]; arr2[j] = arr2[n + i - j]; arr2[n + i - j] = temp;
}
}
}Ennek a kódnak:
static void IsmPermutacio(char[] tomb2, int[] N, int n, int[] W1, int s, int i)
{
int[] V = new int[n];
int[] W = new int[n];
CopyMemory(W, W1, (uint)(n * intSize));
//Array.Copy(W1, W, n);
if (i == 0)
{
for (int l = 0; l < s; ++l) W[l] = -1;
}
if (s != 0)
{
bool ind = true;
do
{
Kombinacio(V, s, N[i], ref ind);
if (!ind)
{
Betesz(N[i], n, V, W, i);
IsmPermutacio(tomb2, N, n, W, s - N[i], i + 1);
Kivesz(W, n, i);
}
} while (!ind);
}
else
{
Betesz(N[i], n, V, W, i);
//*****************************************************
/*for (int q = 0; q < n; ++q) Console.Write(tomb2[W[q]]);
Console.WriteLine("");*/
//*****************************************************
for (int l = 0; l < n; ++l) W[l] = -1;
}
}
static void Kombinacio(int[] V, int n, int k, ref bool ind)
{
if (ind)
{
for (int i = 0; i < k; ++i) V[i] = i;
ind = false;
return;
}
for (int i = k - 1; i > -1; --i)
{
if (V[i] < n - k + i)
{
++V[i];
for (int j = i + 1; j < k; ++j) V[j] = V[j - 1] + 1;
return;
}
}
ind = true;
}
static void Betesz(int ni, int n, int[] V, int[] W, int i)
{
int j = -1, l = 0;
for (int p = 0; p < ni; ++p)
{
while (l < n)
{
if (W[l] == -1) ++j;
if (j == V[p])
{
W[l] = i;
break;
}
++l;
}
}
}
static void Kivesz(int[] W, int n, int i)
{
for (int l = 0; l < n; ++l) if (W[l] == i) W[l] = -1;
}Nem az optimalizálása, hanem teljesen más(egyszerűbb) algoritmus.
És sztem az első algoritmus érthetőbb is.
-
martonx
veterán
válasz
sztanozs #15624 üzenetére
No igen, csak néha már úgy érzem ódákat írok (és talán mintha feleslegesen tenném), és nem akartam minden apró részletbe belemenni. Köszi a kiegészítést!
Plusz, amit egyikünk sem hangsúlyozott ki, az még a HATÁRIDŐ. Attól kezdve, hogy a szerződés megköttetett, egy programozónak határidőre el kell készülnie, nem pedig a kódot hobbiból csiszolgatnia a végletekig, akár a határidő többszörösével megcsúszva, mert így lett tuti a legszebb, leggyorsabb a kód.
-
pmonitor
aktív tag
válasz
sztanozs #15602 üzenetére
Az a baj, hogy ilyen dologról való post igazából itt off topic sajnos, úgyhogy sokáig nem lehet róla nézőpontot egyeztetni. Tényleg, nem lehetne olyan topic-ot nyitni, ahol az ilyen dolgok nem off topic-nak számítanának?
Egy dolog azért fúrja az oldalam, így mégiscsak meg kell kérdeznem.
Azt mondjátok, hogy mind1, hogy 2 vagy 7 sec. alatt fut le. Az is mind1, hogy <1 perc, vagy 15 perc alatt végez valami? -
fatal`
titán
válasz
sztanozs #14986 üzenetére
Az "azóta egybe írom a válaszokat" az közel 10 éve
De már akkor is benne volt az alapelvekben, hogy lehet külön válaszolni.
Nem tudom most mi a helyzet ezen a téren, annyira nem is fontos.
"Nem egy csetkliens ez, hogy mindenkinek mindenre válaszolni kelljen."
Nem is erről van szó, de mondjuk ha valaki kérdez valamit egy pörgős topicban, aztán pár nap múlva visszatér, rákeres a neki adott válaszokra a keresővel, aztán nem találja, mert valamelyik összevont hozzászólásban van. -
DrojDtroll
veterán
-
y@g4n
tag
válasz
sztanozs #14542 üzenetére
Viszont ha külön külön ellátogat az illető az oldalakra és/vagy bejelentkezik egyetemes e-maillel, esetleg elküldi az egyetemi kártyáját ilyesmi, akkor megkapja a discountot/free accot/kreditet stb.
Amazonos AWS education package-nál pl a debreceni egyetem nem szerződött partneregyetem, de felsőoktatási intézmény, így a 100 helyett 30 ingyen kredit (vagy dollárrégen néztem) jár biztosan, ki is próbáltam, meg is kaptam.
Amit kipróbáltam még és biztosan okés:
Unity Student Plan
Azure cloud services cucc
Jetbrains összes ultimate editionje (ezt meg kell újítani évente)
Educative -
-
bambano
titán
válasz
sztanozs #14166 üzenetére
ha van egy utasítás, amit kizárólag a ciklus végén kell végrehajtani, akkor azt nem írom bele a ciklusba, hogy a ciklusmag minden futásakor legyen egy false feltételű if.
tehát a helyes megoldás az, ha a ciklus utánra tesz egy ifet, hogy amennyiben a bemenő string hossza nagyobb, mint nulla (vagy a kimenőé), akkor azt írja ki.
-
vz12
tag
válasz
sztanozs #14006 üzenetére
En is online próbáltam ki, ma reggel kerestem egy ilyen oldalt.
[link]
Az "exit"-ről nem azt mondtam, hogy nem lehet, vagy nem működik, csak azt hogy nem igazán szép. Te is azt írtad, hogy célszerű az amit én írtam, tehát nincs is vita kettőnk között.
Exit nélkül kaotikusabb a vezérlés, meg nálatok a függvény többször kapott értéket (!), ezért nem szép, de persze működik.
A plusz változóval semmi probléma, azt célozza, hogy a függvény csak egyszer kapjon értéket. Ráadásul az a plusz változó a ti megoldásotokban is ott van, de csak az egyik ágban a 3 közül.
Amúgy mindenki csinálja úgy ahogy gondolja, nekem ez szép, én így csinálom.
Attól hogy szép valami, még nem biztos hogy működik, és attól hogy működik, attól még lehet csúnya ...
Én a működő ÉS szép megoldásokat szeretem, attól lesz jobb a világ. -
vz12
tag
válasz
sztanozs #14001 üzenetére
- az "exit" mellett a "begin ... end" is hiányzott, mert az kell, ha több utasítás van a blokkban
- amúgy az "exit" nem igazán szép
- nem kellene kipróbálni, hogy működik-e, mielőtt kiadjuk a kezünkből?Én kipróbáltam, így működik:
program ermek_demo;
const n = 2;
type ermek_tipus = array [1..n] of integer;
const ermek:ermek_tipus = (1,2);
function f_kombok(ermek:ermek_tipus; osszeg,temp_index:integer):integer;
var i, tmp_kombok:integer;
begin
if (osszeg=0) then
tmp_kombok:=1
else
if (osszeg<0) then
tmp_kombok:=0
else begin
tmp_kombok:=0;
for i:=temp_index to n do
tmp_kombok:=tmp_kombok+f_kombok(ermek, osszeg-ermek[i], i);
end;
f_kombok:=tmp_kombok;
end;
begin
writeln(f_kombok(ermek,4,1));
end.
-
-
-
Dave Crank
senior tag
válasz
sztanozs #12989 üzenetére
Nem gondolnám, hogy maga az eszköz lassú lenne.
Abból gondolom, hogy ahogy kamion érkezik a mérlegre, a saját kijelzőjén szinte késleltetés nélkül megjelenik a súly.
Vagy esetleg azért tűnik lassúnak a program, mert a mérlegnek meg kell állapítania, hogy mikor van már rajta nyugvó súly, amit tovább kell adnia?Köszönöm!
-
bambano
titán
válasz
sztanozs #12820 üzenetére
jézusom, emberek.
egy olyan problémára, amit egy darab crontab bejegyzéssel meg két iptables sorral meg lehet oldani, a web, a message queue, a python, a flask, a webservices, meg az összes többi elborult objektumorientált technológiai elcseszés az nem egyszerű, hanem rohadtul bonyolult, drága és felesleges. -
bandi0000
nagyúr
válasz
sztanozs #12734 üzenetére
Köszönöm, még1 kérdés aztán nem fárasztalak...
Tehát akkor,ha jól értem a CSRF és a JWT külön dolgokra jó
Tehát ha én azt szeretném, hogy sose jelentkezzen ki a felhasználó látszólag, akkor JWT acces és refresh token kell pl, ha lejárt az access token, akkor kér a háttérben egy új access tokent a refresh tokennel, JWT a felhasználó azonosítására kell nekem
De még kelleni fog egy CSRF token, amit pl első bejelentkezésnél megkap, és amikor pl egy törlést akar csinálni, akkor ezt visszajuttatja a szerverre, aki ellenőrzés után végrehajtja a törlést, és küld egy új CSRF tokent
Nem lehet a kettőt egyesíteni? Vagy ezt mindig ilyen (látszólag) bonyolultan oldják meg?
-
bandi0000
nagyúr
válasz
sztanozs #12732 üzenetére
és van értelme a kettőt, tehát a JWT-t és a CSRF-et együtt használni? tehát a jwt menne localstorage-ba és headerbe kérésenként
A csrf mrg passz, mert a legtöbb példába együtt volt a felület a háttérkóddal
Az én esetemben egy php rest backend és angular frontend lenne, php ból csak ugye a konkrét adatokat juttatom el a klienshez json formátumban
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- Újszerű Asus ExpertBook B1 B1500 - 15.6" FullHD IPS - i5-1235U - 16GB - 512GB SSD - Win11 - Garancia
- Redmi Pad Pro, 6GB/128GB, még garanciális
- Honor 200 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo Thinkpad L14 Gen 4 -14"FHD IPS - i5-1335U - 8GB - 256GB - Win11 - 2 év garancia - MAGYAR
- Lenovo S10-2 Intel Atom retró csajszis netbook eladó
- DELL PowerEdge R640 rack szerver - 2xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G, H730 1GB, áfás
- AKCIÓ! Intel Core i9 14900K 24 mag 32 szál processzor garanciával hibátlan működéssel
- AKCIÓ! Acer Predator Triton Neo 16 15 notebook - Ultra 9 185H 32GB RAM 2TB SSD RTX 4070 WIN11
- AKCIÓ! PC Specialist Recoil VIII 17 notebook - i9 14900HX 16GB RAM 2TB SSD RTX 4060 8GB WIN11
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged