Skip to content

Instantly share code, notes, and snippets.

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

Datenbanksysteme II

Physische Speicherstrukturen

Die 5-Schichten Architektur

  • Satzorientiert – mengenorientiert (impedance mismatch)

Probleme mit Megatron 2002

  • Hintergründe zu jedem Problem, was muss ein DBMS alles beachten
  • u.a. Nebenläufigkeit, Anfragekontrolle, Puffermanagement (Seiten, Caching, Verdrängungsstrategien, Puffermanager)
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.