PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : echo rand(); - "It’s all in the graphics."



Seiten : 1 [2]

drunken monkey
09.09.2011, 12:51
Endlich mal eine vernünftige Initiative, gegen diese ganzen Mainstream-Schmutzkübelkampagnen: Save IE6 (http://www.saveie6.com/)!

Mivey
13.09.2011, 12:19
Endlich mal eine vernünftige Initiative, gegen diese ganzen Mainstream-Schmutzkübelkampagnen: Save IE6 (http://www.saveie6.com/)!

Often I am amazed at the pure Salvador Dahli-esque features of IE6. For years I have been trying to achieve the random div placements in any other browser and failed miserably. It always displays exactly the way I want it! What is the point in that? Where is the randomness in the display that IE6 has offered us throughout the years? Bring back IE6 or I will have to go back to heavy drug abuse!
Best argument ever xD

Indy
15.09.2012, 11:01
<span class="buttoncontainer"><span><input type="image" class="searchbutton" src="{vb:stylevar imgdir_button}/search.<vb:if condition="(is_browser('ie') AND !is_browser('ie', 7) AND !is_browser('ie', 8))">gif<vb:else />png</vb:if>" name="submit" onclick="document.getElementById('navbar_search').submit;" tabindex="100"/></span></span>

vBulletin im Jahr 2012.
Interessanterweise scheinen aber die beiden Abfragen is_browser('ie', 7) und is_browser('ie', 8) auch den IE9 miteinzuschließen. Also doch unbeabsichtigt aufwärtskompatibel? Ich sehe mir jetzt besser nicht den PHP-Source dazu an. xD

Lukas
15.09.2012, 23:40
Wo wir gerade bei browser detection sind: Webkit hat in den user agents doch immer so eine seltsame Versionsnummer drinstehen (Beispiel: mein Chrome, Nummer ist unterstrichen: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/537.10 (KHTML, like Gecko) Chrome/23.0.1262.0 Safari/537.10). Weiß irgendwer, was die genau bedeutet bzw. ob irgendwo dokumentiert ist, wann die sich ändert bzw. was sich mit welcher Änderung geändert hat? Ich find dazu irgendwie nichts.


Indy: is_browser ist eine ganz finstere Geschichte, und wird wenn überhaupt nur extrem sporadisch geupdatet (ich glaube, das kann bis heute Chrome nicht erkennen). Ich würd meine browser detection da auf anderem Wege machen (notfalls kann man sich da mit dem Plugin-System schnell was zusammenhacken).

Indy
16.09.2012, 10:22
Das ist die webkit-Version. 537 steht für Major. Und 10 für Minor.

Mehr dazu hier:
https://github.com/WebKit/webkit/blob/master/Source/WebCore/Configurations/Version.xcconfig

Lukas
16.09.2012, 10:42
Das ist mir schon klar – die Frage ist eher, was diese Version bedeutet, und ich finde halt kein Changelog im Sinne von „in Version XXX.YY ist dieses und jenes Feature neu“, und ich kann auch kein Muster erkennen, nach dem die Version sich ändert (die commit history des Files zeigt ja, dass es in unregelmäßigen Abständen zwischen einem Tag und ein paar Wochen geändert wird, und die commits enthalten nur Versionsänderungen, keine Dokumentation dieser Änderungen).

Movert
22.01.2013, 16:49
Ist ja so still hier, ham die Progger denn schon Feierabend?

Welches ist euerer meinung nach die beste Open Source Groupware? Ich suche gerade eine PHP basierte, die aber auch nicht allzu groß ist. bzw. eine die Plugin fähig ist.

WeTa
12.04.2015, 17:17
Wo registriert man denn heutzutage am besten Domains?

WeTa
20.03.2016, 20:51
Print-Stylesheets sind die Hölle, ich schwöre.
Was bringt es mir Print-Mediaqueries emulieren zu können, wenn das tatsächlich gedruckte Dokument dann doch komplett anders aussieht §burn §burn §burn

Mivey
21.03.2016, 05:08
Print-Stylesheets sind die Hölle, ich schwöre.
Was bringt es mir Print-Mediaqueries emulieren zu können, wenn das tatsächlich gedruckte Dokument dann doch komplett anders aussieht §burn §burn §burn
Kann sein, dass der echte Support dafür in den Sand gesetzt wurde als die ersten Homo Habilis Europa kolonisiert haben. Hast du ne Zeitmaschine?
(Ne echt, wofür brauchst du das denn? Bin neugierig)

WeTa
21.03.2016, 08:23
Kann sein, dass der echte Support dafür in den Sand gesetzt wurde als die ersten Homo Habilis Europa kolonisiert haben. Hast du ne Zeitmaschine?
(Ne echt, wofür brauchst du das denn? Bin neugierig)

Ich habe einen Bingokartengenerator gebastelt. Der frisst eine Liste an Einträgen, shuffelt die und generiert anschließend eine hübsch quadratische Tabelle beliebiger Größe (optional mit freiem Feld in der Mitte).
Ursprünglich waren die Felder immer 5×5, da habe ich den Feldern einfach 20% Breite und Höhe zugewiesen. Dann dachte ich aber, dass konfigurierbare Größe viel cooler wäre und habe die Felder mit display: flex dazu gebracht, gleichgroß zu sein.
Sieht auf @media screen gut aus, sieht auf @media print gut aus (alles außer dem Bingoblatt wird ausgeblendet, Bingoblatt verliert ein paar Styles zum tintensparendem Ausdrucken) aber in der Druckvorschau und dem eigentlichen Druck sind entweder die Border superhässlich (also unterschiedlich breit, Firefox) oder das ganze Ding klappt zusammen (mag wohl flex nicht im Druck, Chrome).

edit: So, scheiß drauf. Ich iteriere jetzt einfach über alle tds und setze Höhe und Breite passend :/ Was ist denn bei Print-Stylesheets so best practice?
Stackoverflow sagt: ¯\_(ツ)_/¯ mach halt 670px feste Breite wie im Mittelalter

WeTa
08.08.2016, 22:34
http://threepanel.com/media/upload/user_classam/lady-muskyface-238.png
alt aber so wahr

niR-kun
08.08.2016, 23:40
Ja, diese Container in der virtuellen Umgebung finde ich die Hölle. Da könnte zwar zum Deployen Klasse sein, aber da bleibt die Performance bestimmt schon liegen.

Außerdem frisst das Platz ohne Ende. Wenn man alles statisch rum linkt und in einen Container packt, kann man die shared Libraries doch glatt vergessen. Dann hat man im größten Fall die gleiche Library in x vielen Containern auf der Platte zu liegen, statt nur einmal und der Rest linkt das dynamisch. Nein nein, den Mist muss man nicht mit machen!

Mivey
09.08.2016, 20:53
Ja, diese Container in der virtuellen Umgebung finde ich die Hölle. Da könnte zwar zum Deployen Klasse sein, aber da bleibt die Performance bestimmt schon liegen.

Außerdem frisst das Platz ohne Ende. Wenn man alles statisch rum linkt und in einen Container packt, kann man die shared Libraries doch glatt vergessen. Dann hat man im größten Fall die gleiche Library in x vielen Containern auf der Platte zu liegen, statt nur einmal und der Rest linkt das dynamisch. Nein nein, den Mist muss man nicht mit machen!
Könnt man nicht gleich alles statisch linken also ohne Container, so dass das Program gar nicht suchen muss was auf dem lokalen System installiert ist? Wäre den doch auch "reproduzierbar" und würd auch nicht mehr Speicher brauchen als x-Schichten von virtuellen System.

DFYX
09.08.2016, 21:41
Könnt man nicht gleich alles statisch linken also ohne Container, so dass das Program gar nicht suchen muss was auf dem lokalen System installiert ist? Wäre den doch auch "reproduzierbar" und würd auch nicht mehr Speicher brauchen als x-Schichten von virtuellen System.

Jein... es gibt da noch ein paar mehr Aspekte, warum Container praktisch sind:

Das Konzept funktioniert auch für Szenarien, wo statisches Linken nicht möglich ist (z.B. wenn eine eigenständige Executable aufgerufen wird oder in interpretierten Sprachen, die nicht alles dynamisch linken können)
Container haben einen enormen Sicherheitsvorteil. Alles, was nicht explizit freigegeben wird, ist für den Container unsichtbar. Das heißt, selbst wenn ein Angreifer Rootrechte im Container kriegt, kann er damit kaum Schaden anrichten. Er kann im Wesentlichen nur auf die Daten zugreifen, die zu diesem einen Prozess gehören.
Wenn in einem Container tatsächlich mal Dateien beschädigt werden (durch einen Bug oder weil ein Angreifer ausführbaren Code durch Malware ersetzt), lässt sich der Container sehr einfach wegwerfen und neu initialisieren (z.B. docker-compose stop && docker-compose rm -f && docker-compse up -d)
Wenn ich auf einem Server neue Software installieren will, muss ich mir gar keine Gedanken machen, welche Abhängigkeiten ich installieren muss, selbst wenn die Software nicht in meinem Paketmanager ist (was für viele Webanwendungen gilt). Mit einer 20 Zeilen langen docker-compose.yml bekomme ich eine Owncloud Instanz mit allem, was dazu gehört. Oder Feedbin. Oder Piwik. Oder einen Minecraft Server...
Ich kann mir sicher sein, dass auf meiner Entwicklermaschine exakt die gleichen Versionen von allem laufen, wie auf dem Server. Auch noch in einem Jahr, wenn ich einen Bug in einer alten Version reproduzieren muss.

Viele dieser Vorteile hätten einzelne VMs pro Anwendung natürlich auch, aber die brauchen mehr Platz auf der Festplatte, mehr RAM, mehr CPU und mehr Zeit zum Booten, weil sie jeweils einen eigenen Kernel und eigene Treiber mitbringen. Ein Docker Container startet genau so schnell, wie ein blanker Prozess und hat einen vernachlässigbaren Performanceoverhead. Der Platzbedarf auf der Festplatte ist zwar etwas höher, als bei einer Direktinstallation, aber immer noch deutlich unter dem von einer ganzen VM. Zumal Docker auf einem Dateisystem aufbaut, das in Schichten organisiert ist. Wenn ich zwei Container habe, die auf dem gleichen Image aufbauen, liegt das Image auch nur einmal auf der Platte, pro Container werden nur die jeweils veränderten Dateien neu abgelegt. Die Images in sich sind auch nochmal geschichtet, Wenn ich z.B. zwei Rails Anwendungen habe, können die beide vom Basisimage ruby:2.3 erben und die Images ruby:2.3 und node:6.3 basieren (momentan) beide auf dem gleichen Basisimage buildpack-deps:jessie. Außerdem sind die Basisimages in der Regel so sehr abgespeckt, dass wirklich nur das drin ist, was man braucht. In den oben genannten hat man z.B. nicht mal less oder einen einfachen Texteditor.

Container in einer VM sind natürlich ziemlich unhandlich. Das liegt aber aus den oben genannten Gründen mehr an der VM, als an den Containern. Und zumindest unter Windows könnte das Problem demnächst wegfallen, da der Windows Kernel seit dem aktuellen Update auch Linux Binaries ausführen kann (yay!). Docker funktioniert zwar noch nicht richtig, aber so wies aussieht, dürfte das bald behoben sein.

Disclaimer: ich betreibe einen Ubuntu 16.04 Server, auf dem aktuell 19 Docker-Container (z.B. vier davon für die BMT-Website) laufen.

WeTa
05.02.2017, 13:16
Email Templates sind die Hölle, ich schwöre.
Nee, das stimmt eigentlich nicht. Email-Teamplates für Outlook schreiben ist die Hölle.
Die eigentliche Hölle sind natürlich HTML-Emails, aber pssst von irgendwas muss ich ja essen können