|
|
|
|
Fun fact:
Qt 4.8.1 besteht aus 3 598 807 Zeilen reinen Quellcode und insgesamt 4 376 515 Zeilen mit Kommentaren. Allerdings zählen nur // als Kommentare in meinem Wenigzeiler.
|
|
|
|
|
|
|
Mir ist grad aufgefallen, dass Direktwahlen auf EU-Ebene wirklich deutlich dazu beitragen könnten, die Akzeptanz und die Identifikation der Bürger mit der EU zu stärken.
|
|
|
|
|
|
|
Sooo. Mal gucken, ob ich heute der Einzige im Büro bin .
Aber habe auch noch genug zu recherchieren. Sofowohl auf Seite der Anwendungsdomäne meines neuen Projekts, als auch die technische Seite (.NET, C#, SharePoint WebParts).
So langsam bekomme ich bereits einen ansatzweisen Überblick davon, was alles in der SharePoint-Entwicklung prinzipiell möglich ist, und wie die Architektur aus Entwicklersicht Pi mal Daumen konstruiert ist. Was mir als .NET-Neuling bzw aus der Javawelt kommend bereits aufgefallen ist:
* Das MSDN ist sehr cool, was Guidelines, How-Tos, Tutorials, Manuals und Refs angeht.
* In Visual Studio sind die verschiedensten Aspekte des Microsoft-Produktspektrums sehr nett integriert.
|
|
|
|
|
|
|
jo, mittlerweile ist Sharepoint-Entwicklung relativ einfach. Früher musste man entweder einen Entwicklungsrechner mit Server-Betriebssystem aufsetzen oder die Testumgebung auf einen Test-Server auslagern und dann remote debuggen. Seit 2010 kann man Sharepoint auch auf Windows Client-Systemen installieren.
|
|
|
|
|
|
|
Ja, wobei ich hier in einer VM entwickle, auf der Windows Server 2008 läuft.
Ich überlege ja noch, ob ich die VM auf 128gb-SSD schiebe. Macht das Sinn? Oder sollte man das aus irgendwelchen Gründen lassen?
|
|
|
|
|
|
|
Wenn die Alternative die interne Notebook-Festplatte ist, macht das schon Sinn.
|
|
|
|
|
|
|
Und bezügiglich der Haltbarkeit der SSD? Also das Host-OS mag ja wissen, dass es sich auf einer SSD befindet, und kann gewisse Aspekte berücksichtigen (Defragmentierung usw.). Aber das Guest-OS weiß das ja dann erstmal nicht. Ist das egal?
|
|
|
|
|
|
|
Les presento DSLRlapse 12.05b1
Sourcecode da, binary da
|
|
|
|
|
|
|
Selbst wenn. Deine Zeit, die du mit ner traegen VM verlierst, ist sicherlich teurer als hin und wieder ne neue SSD zu kaufen.
|
|
|
|
|
|
|
Das Host-OS sollte eigentlich schlau genug sein, riesige leere Blöcke in den VM-Disk-Dateien nicht auf die Platte zu schreiben.
|
|
|
|
|
|
|
|
|
|
|
Wow, das Sony Vaio z hat ja newahnsinsauflösung auf 13,1" o.O
33,2 cm (13,1") großes Display, bis zu VAIO Display Premium (1920 x 1080)
Ich dachte das Lenovo T420s wäre mit seinen 1400x nochwas schon Vorne im Spektrum des möglichen dabei - somal das 14" sind.
Ich glaube für meine Kaufentscheidung sollte ich einfach mal die Kandidaten jeweils ausprobieren.
Ich merke auch grad, dass ich preislich mit meinen Vorstellungen irgendwie immer höher komme. Vielleicht sollte ich mich wieder mehr an meiner ursprünglichen Vorgabe von 1000-1200,- EUR orientieren. Reicht für meine Bedürfnisse eh aus.
|
|
|
|
|
|
|
Der Unterschied zwischen 'nomachine' und einem einfachen ssh -X ist so krass ... ploetzlich bin ich mit Warp Speed auf dem Simulationserver unterwegs!
|
|
|
|
|
|
|
Ich habe gerade 5 Minuten gebraucht um ein Python-Binding für die aktuelle FreeImage-Version zu bauen. Und es funktioniert:
import freeimage
print freeimage.FreeImage_GetVersion()
->
3.15.3
[Finished]
Dafür habe ich folgendes gemacht:
FreeImage Binaries besorgt, swigwin besorgt. Beides in den gleichen Ordner gepackt.
freeimage.i:
%module freeimage
%{
#include "FreeImage.h"
%}
%include "FreeImage.h"
$ swig -python freeimage.i
$ gcc -c freeimage_wrap.c -I"C:\Program Files (x86)\Python\include"
$ gcc -Wl,-shared freeimage_wrap.o -o _freeimage.pyd -L"C:\Program Files (x86)\Python\libs" -lpython27 -lfreeimage -L"." -shared
Fertig. freeimage.py, _freeimage.pyd und FreeImage.dll kopieren, freeimage importieren, funzt. o_O. Und ich hab mich noch gewundert, warum einfach alles Python-Bindings hat. Hätte nicht gedacht, dass das so extrem reibungslos funktioniert.
*beeindruckt sei*
|
|
|
|
|
|
|
FreeImage DIB -> QImage:
import freeimage
import sip
print freeimage.FreeImage_GetCopyrightMessage()
fmt = freeimage.FreeImage_GetFIFFromFilename("DSC_5176.NEF")
print fmt
bitmap = freeimage.FreeImage_Load(fmt, "DSC_5176.NEF", 0)
print bitmap, freeimage.FreeImage_GetThumbnail(bitmap)
l = QtGui.QImage(sip.voidptr(int(freeimage.FreeImage_GetBits(bitmap))), freeimage.FreeImage_GetWidth(bitmap), freeimage.FreeImage_GetHeight(bitmap), QtGui.QImage.Format_RGB32)
print l
print l.width(), l.height()
Scheint zu funktionieren.
|
|
|
|
|
|
|
Wow, vor 30 Minuten einen Blogpost geschrieben dass ab heute mein Bot für 10¤ vorbestellbar ist, wobei die ganzen 10¤ dann anschließend an DKMS gespendet werden, und schon 4 Leute \o/
Na, hoffentlich gehts so weiter
|
|
|
|
|
|
|
Bot für was?
|
|
|
|
|
|
|
Kinderspiel :P
http://www.nostale.de
Keine Ahnung wieso ich mich damit noch beschäftige (spiele es selber nicht), hab zur Zeit nichts anderes
|
|
|
|
|
|
|
Hm, VisualStudio aus dem Guest-OS mit VMWare Unity heraus zu bedienen, funktioniert gerade ausgesprochen gut.
Performance ist auch gut, so weit ich das beurteilen kann. Im Fraunhofer IGD und privat habe ich bisher immer eher schlechte Erfahrungen mit VMs gemacht.
Mag vielleicht dran liegen, dass meine Entwicklerkiste hier ziemlich leistungsstark ist.
|
|
|
|
|
|
|
VMs fressen halt RAM und CPU. Deswegen ist ja ein PII X6 auch so goil für Devs
|
|
|
|
|
|
|
| Zitat von TriggerTG
Und bezügiglich der Haltbarkeit der SSD? Also das Host-OS mag ja wissen, dass es sich auf einer SSD befindet, und kann gewisse Aspekte berücksichtigen (Defragmentierung usw.). Aber das Guest-OS weiß das ja dann erstmal nicht. Ist das egal?
| |
Ist das deine SSD oder wer bezahlt die?
|
|
|
|
|
|
|
Firma natürlich. Aber trotzdem kann man ja damit pfleglich umgehen
Hab's aber, wie vorgeschlagen, natürlich auf die SSD gezogen.
|
|
|
|
|
|
|
Man der String Compare verkackt irgendwie immer noch.
|
Code: |
//---------------------------------------------------------------------------
void Parser::Parser_Recieve(char * Packet)
{
std::vector<std::string> myTokens;
myTokens = tokenize(Packet, ' ');
if ( strncmp("c_info", myTokens[0].c_str(), 6) == 0)
{
AnsiString CharName = AnsiString(myTokens[1].c_str());
int CharID = atoi(myTokens[6].c_str());
this->packets.Packet_C_INFO(CharName, CharID);
// Map change
}else if( strncmp("mapout", myTokens[0].c_str(), 6) == 0)
{
this->tempsettings.ignore_c_close = 1;
// Skills recieve
}else if( strncmp("ski", myTokens[0].c_str(), 3) == 0 )
{
this->packets.Packet_SKI(Packet);
}
}
//--------------------------------------------------------------------------- |
|
|
Code: |
//---------------------------------------------------------------------------
void Parser::Parser_Send(char * Packet)
{
std::vector<std::string> myTokens;
myTokens = tokenize(Packet, ' ');
// Spiel wird beendet / Map Change
if( strncmp("c_close", myTokens[0].c_str(), 7) == 0)
{
if (this->tempsettings.ignore_c_close == 0)
{
this->packets.Packet_C_CLOSE();
}else
{
this->tempsettings.ignore_c_close = 0;
}
}
}
//--------------------------------------------------------------------------- |
|
Lösung für einen anständigen String Vergleich?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von CLiX am 18.05.2012 17:40]
|
|
|
|
|
|
Schon mal auf whitespace vorne/hinten getestet?
C++-Frage:
Gegeben: set<int> Menge;
In keinem Beispiel das ich gefunden habe, wird der Speicher der Menge via delete wieder freigegeben. Selbiges gilt zB. für in Schleifen erstellte set<int>::iterator . Bin kein C++-Profi. Warum kann man das delete hier weglassen?
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Kambfhase
C++-Frage:
Gegeben: set<int> Menge;
In keinem Beispiel das ich gefunden habe, wird der Speicher der Menge via delete wieder freigegeben. Selbiges gilt zB. für in Schleifen erstellte set<int>::iterator . Bin kein C++-Profi. Warum kann man das delete hier weglassen?
| |
Stichwort Destruktor: Der wird aufgerufen wenn das Object out of scope geht, und räumt sozusagen hinter sich selbst auf. Zumindest ist das in der STL immer so, was in sonstigen Third-Party Libraries geschieht ist da natürlich dem Programmierer überlassen.
|
|
|
|
|
|
|
So hatte ich es zuerst, dann wurde ich ausgelacht D: "LOL BAD C++" - wat.
Fehler gefunden, funktioniert soweit schon.
|
|
|
|
|
|
|
| Zitat von AcidF!re
| Zitat von Kambfhase
C++-Frage:
Gegeben: set<int> Menge;
In keinem Beispiel das ich gefunden habe, wird der Speicher der Menge via delete wieder freigegeben. Selbiges gilt zB. für in Schleifen erstellte set<int>::iterator . Bin kein C++-Profi. Warum kann man das delete hier weglassen?
| |
Stichwort Destruktor: Der wird aufgerufen wenn das Object out of scope geht, und räumt sozusagen hinter sich selbst auf. Zumindest ist das in der STL immer so, was in sonstigen Third-Party Libraries geschieht ist da natürlich dem Programmierer überlassen.
| |
OK, cool. Ich habe mich immer gefragt, wofür der Destruktor da ist.
|
|
|
|
|
|
|
Ich wüsste nicht was es an dem oben auszusetzen gibt. Ich finde eher den C-Style von oben schlechten Stil. Das atoi() zB verwende ich auch nie, wobei ich zugeben muss das ist deutlich handlicher als die stringstreams.
Und afaik ginge auch:
|
Code: |
if (myTokens[0] == "c_info")
{
// ...
} |
|
Außer ich hab da gerade was falsch im Kopf.
|
|
|
|
|
|
|
| Zitat von Kambfhase
| Zitat von AcidF!re
| Zitat von Kambfhase
C++-Frage:
Gegeben: set<int> Menge;
In keinem Beispiel das ich gefunden habe, wird der Speicher der Menge via delete wieder freigegeben. Selbiges gilt zB. für in Schleifen erstellte set<int>::iterator . Bin kein C++-Profi. Warum kann man das delete hier weglassen?
| |
Stichwort Destruktor: Der wird aufgerufen wenn das Object out of scope geht, und räumt sozusagen hinter sich selbst auf. Zumindest ist das in der STL immer so, was in sonstigen Third-Party Libraries geschieht ist da natürlich dem Programmierer überlassen.
| |
OK, cool. Ich habe mich immer gefragt, wofür der Destruktor da ist.
| |
Solltest aber natürlich wissen, dass das nur so funktioniert wenn das auf dem Stack ist. Wenn man zB händisch auf dem Heap Objekte erstellt und die Pointer in einen Container schiebt, muss man am Ende auch selbst über seinen Container iterieren und den Speicher wieder freigeben.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |