- Satzorientiert – mengenorientiert (impedance mismatch)
- Hintergründe zu jedem Problem, was muss ein DBMS alles beachten
- u.a. Nebenläufigkeit, Anfragekontrolle, Puffermanagement (Seiten, Caching, Verdrängungsstrategien, Puffermanager)
class Integer | |
def to_base(base) | |
number = self.abs | |
result = '' | |
digits = (0..9).to_a + ('A'..'Z').to_a | |
raise "Sorry, there aren't enough characters to convert #{number} to base #{base}" if base > digits.size | |
while number > 0 |
1.1 | |
******** | |
============================================== | |
Ziele bei der Entwicklung von Betriebssystemen | |
============================================== | |
einfache Benutzbarkeit | |
Effizienz | |
Sicherheit | |
Zuverlässigkeit |
Prozessorzeit: | |
Prozentuale Angabe der vergangenen Prozessorzeit, die zum Ausführen eines Threads benötigt wird, der sich nicht im Leerlauf befindet. | |
Dieser Leistungsindikator ist die primäre Anzeige der Prozessoraktivität. | |
Die Zeitspanne, die der Prozessor benötigt, um den Thread des Leerlaufprozesses in jedem Abtastintervall auszuführen, wird von 100% subtrahiert. | |
(Jeder Prozessor besitzt einen Leerlaufthread, der Zyklen belegt, wenn keine anderen Threads ausgeführt werden können.) | |
Der Leistungsindikator zeigt die durchschnittliche prozentuale Belegung während dem Abtastintervall an, | |
indem die Zeitspanne, die der Dienst nicht aktiv war von 100% subtrahiert wird. | |
Privilegierte Zeit: | |
Der Prozentanteil der verstrichenen Zeit für Prozessthreads, die im privilegierten Modus ausgeführt werden. |
Was ist „busy waiting“? | |
- "Aktives Warten" | |
- kann zur Zeitüberbrückung (while i < x) oder zur Synchronisation (while !flag) genutzt werden | |
Welche anderen Möglichkeiten „zu warten“ gibt es in einem Betriebssystem? | |
- Interrupt, Schlafenlegen (abgabe der kontrolle an einen Scheduler, der mich dann wieder aufweckt) | |
Kann „busy waiting“ immer vermieden werden? | |
- Nein, SpinLock |
script/generate model User code:integer | |
script/generate model Address user:references | |
script/console | |
>> User.all | |
User Load (0.4ms) SELECT * FROM `users` | |
=> [#<User id: 1, code: 333, created_at: "2009-12-01 23:47:29", updated_at: "2009-12-01 23:47:29">, | |
#<User id: 2, code: 999, created_at: "2009-12-01 23:47:34", updated_at: "2009-12-01 23:47:34">, | |
#<User id: 3, code: 1000, created_at: "2009-12-01 23:47:36", updated_at: "2009-12-01 23:47:36">] | |
>> User.search 333 |
url = %r{ | |
^ | |
([A-Za-z]*) # scheme (e.g. http) | |
: | |
(?: | |
// # mailto: and news: URLs do not require forward slashes | |
)? | |
([0-9.\-A-Za-z@]*) # domain (e.g., www.regexml.org) |
vlc --audio-filter=param_eq --param-eq-f1=233 --param-eq-f2=466 | |
--param-eq-f3=932 --param-eq-gain1=-20 --param-eq-gain2=-20 | |
--param-eq-gain3=-20 --param-eq-lowf=100 --param-eq-lowgain=15 | |
--param-eq-q1=10 --param-eq-q2=10 --param-eq-q3=10 |
diff --git a/lib/phusion_passenger/utils.rb b/lib/phusion_passenger/utils.rb | |
index e9bc00e..792cc46 100644 | |
--- a/lib/phusion_passenger/utils.rb | |
+++ b/lib/phusion_passenger/utils.rb | |
@@ -226,6 +226,18 @@ protected | |
ENV["RACK_BASE_URI"] = base_uri | |
end | |
+ # load project specific rvm settings | |
+ if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm') && File.exists?(".rvmrc") |
# git lye | |
# An attempt to make rebasing easy, by draining unnessarcy commit noise. | |
# No warranty, use at own risk. | |
# Author Hannes Tydén <hannes@tyden.name> | |
# Contributor Tobias Schmidt <ts@soundcloud.com> | |
# TODO | |
# - Don't sign off all commits are by current user. |