Egyéb: Assembly, Ada...

x86_64 utasítások keresése binárisban adott szimbólum címéhez képest

Pythonban, vagy egyszerűen parseolható cmd utility-ben keresnék megoldást a következő feladatra.

Van egy nagy binárisom, lehet az library, futtatható fájl, maga a vmlinux is. Ebben szeretném megkeresni egyszerűen egy szombólum címét, pl. a func_d nevű függvény címét:

objdump --prefix-addresses --disassemble=func_d a.out

0000000000001169 <func_d> endbr64 
000000000000116d <func_d+0x4> push   %rbp
000000000000116e <func_d+0x5> mov    %rsp,%rbp
0000000000001171 <func_d+0x8> lea    0xe8c(%rip),%rdi        # 0000000000002004 <_IO_stdin_used+0x4>
0000000000001178 <func_d+0xf> callq  0000000000001060 <puts@plt>
000000000000117d <func_d+0x14> nop
000000000000117e <func_d+0x15> pop    %rbp
000000000000117f <func_d+0x16> retq 

Az után pedig szeretném valahogy kihalászni az offsetet, ahol már jól van beállítva a frame. A fenti példában ez a 0x8, ahol már a stack pointer be lett rakva base pointernek. Sajnos ez az offset amiket néztem függvények, azokban más és más, van ahol előtte még csinál pár másik utasítást is. Létezik erre valami egyszerű python lib, vagy jól paraméterezett util? Minél robosztusabb a megoldás annál jobb, végső esetben megpróbálom valahogy manuálisan megkeresni vagy kiszedni objdump kimenetéből ha valaki megerősít benne hogy nem lehet nagy baj belőle/nem lövöm lábon magam.

Előre is köszönöm!

Microservice fuggosegek monitorozasa

A kerdes elmeleti, de munka altal inspiralt.

Ahogy magunk mogott hagyjuk a monolith-okat es egyre divatosabb az elosztott architectura (ismet) felmerul a kerdes, hogyan bizonyosodsz meg rola, hogy a termeked valamennyi komponense a helyzet magaslatan all?

Kb. mindenhol latom tobbszor alahuzva, hogy komolyan kell monitorozni az osszes service-det, de minden tutorial kozponti monitorozast javasolt. Felmerult bennem, hogy ha a service-eid kulonbozo data center-ekben vannak, a halozati topologia nem trivialis vagy mindenfele API key-ek megfelelo konfiguracioja is kozrejatszik, akkor hogyan bizonyosodsz meg rola, hogy az egymassal kapcsolatban allo service-k latjak egymast es egyutt tudnak mukodni?

Persze vannak lehetosegek, peldaul kapcsolt service health check-jet monitorozni magaban a service-ben, esetleg bennefoglalni a sajat health data-ban, de a problema altalanosabbnak tunik.

Ti tudtok valami framework-rol, ami erre lenne kitalalva? Vagy valami eszmefuttatas elosztott rendszerek fuggosegi grafjarol?

ASM megértése

Assembly tanuláshoz keresek könyvet, dokumentumot, ami segít elsajátítani a lényegét. Abszolút kezdő vagyok a témában, de nem kezdő programozó, viszonyolag stabil programozói ismereteim vannak, több nyelvben és keretrendszerben.
Amire szükségem lenne, az egy jól átgondolt írás ami erre arra kalandozva elmeséli a lényeget, mint pl a For Dummies vagy Head First köyvek. Az sem baj, ha régebbi, bele tudok helyezkedni egy DOS-os környezetbe, talán könnyebb is (?).

Magyart is, angolt is szívesen olvasok.

ADA, C, C++, java projekthez codequery-szerű valamit keresek

mivel az ada a legkisebb közös nevező, ide írom. van itt egy, a tárgyban említett nyelveken írt monstrum és szeretném kicsit jobban átlátni hogyan működik, ehhez valamilyen codequery-szerű cucc lenne jó. vagy más megoldás, de amit szeretnék vele, például rákeresek egy stringre (ez lehet szöveg, változónév, bármi, kvázi FTS lenne), a találatokból kiválasztom ami érdekes, utána meg szépen tudnék járkálni a forrásban ide-oda (ki hívta az aktuális függvény, hol hívják ezt a függvényt, hol a struktúra definíció, ilyesmi).

a universal ctags bár leindexeli, de a cscope, mint a neve is mondja, csak részben és a codequery sem látja az egészet, az ada felejtős benne.

Ruby String 2D tömb

Egy 2 dimenziós string tömb legegyszerűbb megvalósítására lennék kíváncsi Rubyban.
Kerestem rá megoldást neten, de annyiféle szart írnak össze róla, hogy egyszerűen kész.

Amit szeretnék megoldani, hogy számozással tudjak egy tömb adott elemére hivatkozni, mely egy szöveget tartalmaz.

Pl. a [2,1] valakinek a neve, a [2,2] ugyanannak a címe, a [2,3] ugyanannak a telefonszáma,
de a [3,1] más valakinek a neve, a [3,2] ennek a személynek a címe, és a [3,3] szintén eme 3. személynek a telefonszáma. És így tovább.

Egy ilyen tömbre lenne szükségem, és ezekre az elemekre szeretnék hivatkozni.

String adatott tenni bele, de nem előre dekraláltan, hanem utólag feltölteni.

Valaki tudna ebben egy picit segíteni nagyon egyszerű módon?

Köszönöm előre is!

Banki programok szabalyozasa

Sziasztok!

Le tudja irni valaki, milyen szabalyok (ISOxxx, szabvanyok, akarmik) vonatkoznak banki programok fejlesztesere?
Egy ismeros pereben a bank arra hivatkozik, hogy programhiba miatt teves cimre teves tartalommal olyan levelet, amit ki se lett volna szabad kuldeni. Ezt egyreszt nem hiszem el, vagy ha megis igy lenne, minosegbiztositasi okok miatt be kene csukni az egeszet.
Dolgozik/dolgozott valaki ilyen kornyezetben? Tenyleg ugy kodolnak, hogy mindenfele teszt nelkul kimehet valami elesbe?

DOS alatt fájlkezelés C++/Assembly

Sziasztok!

DOS-ra fejlesztett programhoz szeretnék egy fájl tallózót készíteni. A program C++-ban készül, assembly kód részletekkel
megtoldva és OpenWatcom fordítót használok. A fent említett fájl tallózó készítésénél akadtak problémáim, mivel nem igazán tudom hogyan lehet lekérdezni DOS alatt a meghajtókat, illetve mappa tartalmát listázni.... Eddig dos.h-ban, illetve neten az int 21h környékén keresgéltem, nem sok sikerrel.
Tudom hogy nem Un*x és még csak nem is Windows... Egy hobbi projekt ami egy régi számítógépre készül :)

Ha valaki tudna segíteni e témában, megköszönném :)

Régi könyvek ingyen

Sziasztok!

Van pár régi könyvem (~1990-2008), amiktől ingyen megválnék. Akár egyesével is, akár az egészet egyben. Egy-két könyvet Budapesten belül 4-6 vonalon szívesen elviszek, de ha több kéne, kérlek, gyere érte (Moszkva tér/Mechwart liget környéke).



Borland - Borland Pascal with objects - Programmer's Reference
Borland - Borland Pascal with objects - Language Guide
Borland - Borland Pascal with objects - User's Guide
Borland - Borland Pascal with objects - Tools and Utilities
Borland - Turbo Debugger - User's Guide
Borland - Turbo Assembler - User's Guide
Borland - Turbo Assembler - Quick Reference Guide
Michael McMillan - Perl I. - II.
Nyékyné G. Judit et al.: JAVA 2 útikalauz programozóknak 1.3 I. - II.
László József - Hangkártya programozása Pascal és Assembly nyelven
László József - Perifériák programozása Pascal és Assembly nyelven
Dr. Kovács Tivadar - Mit kell tudni a PC-ről?
Agárdi Gábor - Gyakorlati Assembly I. - II.
Norton - Socha: Az IBM PC assembly nyelvű programozása
Inotai László, Lázár László - IBM PC XT/AT rendszerprogramozás I. - II. - III.
Horváth Gábor - Assembly védett módú programozás
Máté Eörs - Assembly programozás
Jason Price - C# adatbázisprogramozás
Trey Nash - C# 2008
Bill Wagner - Hatékony C#
Juval Lövy - .NET komponensek programozása

go kerdes

Az alabbi all egy if feltetelnel:

if x > 3 {
rows, err := db.Query("select uid, username from user")
}

....

for rows.Next() {
....
}

a problema csak az, hogy mivel az if-en belul szerepel eloszor a 'rows' valtozo, ezert nem latszik az if-en kivul. Gondoltam, hogy akkor a program elejen deklaraljuk. Nade hogyan?

A https://golang.org/pkg/database/sql/#DB.Query szerint *Rows a tipusa. Nade, a https://golang.org/pkg/database/sql/#Rows meg azt mondja, hogy

type Rows struct {
// contains filtered or unexported fields
}

Namost akkor hogyan kene a rows valtozot deklaralni?