15.04.2018 Views

programming-for-dummies

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

678<br />

Beginning Programming All-in-One Desk Reference For Dummies<br />

design patterns (continued)<br />

memento, 245–246<br />

multiple in one<br />

program, 246<br />

overview, 243<br />

design specifications, 285<br />

designing user interfaces<br />

as art and science,<br />

302–303<br />

being consistent, 306<br />

error messages, 305<br />

event-driven <strong>programming</strong><br />

<strong>for</strong>, 39–40, 41, 42<br />

focusing on tasks, 306–307<br />

hiding unusable options,<br />

304–305<br />

knowing the user, 303<br />

<strong>for</strong> navigation ease, 307<br />

tolerating mistakes,<br />

305–306<br />

visually, 39–40, 41, 42<br />

desire, training versus,<br />

17–18<br />

Dev-C++ compiler, 25<br />

Dev-Pascal compiler, 25<br />

dialog boxes (user<br />

interface), 300–301,<br />

494–495<br />

dictionaries<br />

adding data, 352–353<br />

collections versus, 352<br />

defined, 352<br />

hash tables with, 353–359<br />

key-value pairs, 352, 354<br />

in Python, 572<br />

in REALbasic, 603, 604<br />

searching and retrieving<br />

data, 353<br />

dictionary attacks on<br />

encryption, 457–458<br />

dictionary encoding<br />

algorithms, 439–442<br />

directed graphs, 377–378,<br />

428–429<br />

disassemblers<br />

defined, 83<br />

<strong>for</strong> malware dissection,<br />

634, 635<br />

obfuscators <strong>for</strong><br />

preventing, 106<br />

overview, 105–106<br />

distributed databases, 617<br />

Div operator<br />

(Pascal/Delphi), 580<br />

dividing programs. See<br />

objects; subprograms<br />

divmod operator (Python),<br />

562<br />

DO loops, 208–211<br />

documentation. See also<br />

comments<br />

agile, 287<br />

automated, 287<br />

design specifications, 285<br />

help files, 287–288<br />

need <strong>for</strong>, 277<br />

self-documenting code,<br />

277–278<br />

technical designs, 286<br />

tools, 286–287<br />

types of, 285<br />

user manuals, 286<br />

video tutorials, 286<br />

writing, 285–288<br />

double hashing, 358–359<br />

double linked lists, 340–341,<br />

371<br />

DO-UNTIL loops (VB/RB),<br />

600–601<br />

DO-WHILE loops<br />

C/C++, 534<br />

Java/C#, 552<br />

JavaScript, 493<br />

Visual Basic, 600, 601<br />

dynamic model (UML), 119<br />

E<br />

Eclipse IDE (Java), 26, 97<br />

editors<br />

defined, 19, 83<br />

features, 96<br />

free with operating<br />

systems, 19<br />

IDE, 95–97<br />

<strong>for</strong> Java, 26<br />

overview, 19–20<br />

standalone, 95<br />

electronic codebook (ECB)<br />

cipher, 451<br />

Electronic Numerical<br />

Integrator and<br />

Computer (ENIAC), 10<br />

ELIZA NLP program,<br />

649–650<br />

emphasizing text using<br />

HTML, 467<br />

encapsulation, 235–238<br />

encryption algorithms<br />

basics of encryption,<br />

447–448<br />

block ciphers, 449,<br />

450–452<br />

cracking encryption, 450,<br />

455–459<br />

implementation<br />

issues, 447<br />

key length issues, 448<br />

one-time pad, 446<br />

password, 446–447<br />

permutation box or P-box,<br />

447–448<br />

security through<br />

obscurity, 447<br />

steganography, 456<br />

stream ciphers, 449–450<br />

substitution box or S-box,<br />

447–448<br />

substitution ciphers,<br />

445–446<br />

symmetric/asymmetric,<br />

452–455<br />

<strong>for</strong> wireless standards, 450<br />

endless loops, 201–202, 207,<br />

212, 228<br />

ENIAC (Electronic<br />

Numerical Integrator<br />

and Computer), 10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!