Γλωσσάρι: αλγόριθμοι και αφαίρεση — DedSec Project
Γλωσσάρι: αλγόριθμοι και αφαίρεση Ορολογία προγραμματισμού - Algorithm - Abstraction - API - Argument - Array - AST - Asynchronous - Atomicity - Backtracking - Big O - Binary search - Bit -…
Ορολογία προγραμματισμού
- Algorithm
- Abstraction
- API
- Argument
- Array
- AST
- Asynchronous
- Atomicity
- Backtracking
- Big O
- Binary search
- Bit
- Boolean
- Branch
- Buffer
- Byte
- Cache
- Callback
- Cancellation
- CI
- CLI
- Closure
- Commit
- Compiler
- Concurrency
- Condition
- Container
- Coroutine
- Data race
- Deadlock
- Debugging
- Dependency
- Determinism
- Dictionary
- Dynamic typing
- Encapsulation
- Encoding
- Environment variable
- Exception
- Expression
- File descriptor
- Finite state machine
- Function
- Garbage collection
- Generic type
- Git
- Hash function
- Heap
- HTTP
- Idempotence
- Immutable
- Index
- Injection
- Interface
- Interpreter
- Invariant
- JSON
- Lazy evaluation
- Linter
- List
- Lock
- Logging
- Memory leak
- Migration
- Mock
- Module
- Namespace
- Null
- Object
- Optional
- Overflow
- Package manager
- Parameter
- Parser
- Path traversal
- Pointer
- Polymorphism
- Process
- Promise
- Protocol
- Race condition
- Recursion
- Refactoring
- Regression test
- REST
- Runtime
- Sandbox
- Schema
- Serialization
- Side effect
- SQL parameterization
- Stack
- Static typing
- Stream
- String
- Thread
- Timeout
- Transaction
- Type inference
- Unit test
- UTF-8
- Validation
- Virtual environment
- WebSocket
- Yield
Algorithm
Πώς συμπεριφέρεται η έννοια
Πεπερασμένη επαναλήψιμη διαδικασία από inputs σε outputs. Correctness, termination και πόροι είναι διαφορετικά ζητήματα· η κοντινότερη ορατή διαδρομή δεν είναι πάντα η συντομότερη συνολικά.
Μικρό παράδειγμα
def linear_find(items,x):
for i,v in enumerate(items):
if v==x: return i
return None
assert linear_find([4,7],7)==1
Πρακτική διερεύνηση
Έλεγξε κενό input, duplicates και missing. Εξήγησε γιατί η επιλογή πρώτου match είναι μέρος του contract.
Δοκιμή ορίου
Για Αλγόριθμος, δοκίμασε δεύτερη είσοδο που αλλάζει το αποτέλεσμα. Σημείωσε αναμενόμενη συμπεριφορά πριν το run και εξήγησε τον κανόνα που παραβιάζεται.
Abstraction
Πώς συμπεριφέρεται η έννοια
Παρουσίαση ουσιωδών operations χωρίς έκθεση implementation details. File-like interface read/write μπορεί να στηρίζεται σε memory ή disk, εφόσον διατηρεί το ίδιο contract.
Μικρό παράδειγμα
from io import StringIO
stream=StringIO('abc')
assert stream.read(2)=='ab'
assert stream.read()=='c'
Πρακτική διερεύνηση
Αντικατάστησε StringIO με προσωρινό text file. Βρες ποια συμπεριφορά πρέπει να παραμείνει ίδια και ποια μπορεί να διαφέρει.
Δοκιμή ορίου
Για Αφαίρεση, δοκίμασε δεύτερη είσοδο που αλλάζει το αποτέλεσμα. Σημείωσε αναμενόμενη συμπεριφορά πριν το run και εξήγησε τον κανόνα που παραβιάζεται.
API
Πώς συμπεριφέρεται η έννοια
Συμβόλαιο μέσω του οποίου components ζητούν ενέργειες και λαμβάνουν αποτελέσματα. Περιλαμβάνει params, errors, authentication και compatibility, όχι μόνο URL endpoint.
Μικρό παράδειγμα
def create_task(title):
if not isinstance(title,str) or not title.strip(): raise ValueError('title')
return {'id':1,'title':title}
assert create_task('Read')['id']==1
Πρακτική διερεύνηση
Όρισε response σε empty title και duplicate request. Ξεχώρισε client validation από server enforcement.