Nach der Lektüre " C + + Memory Management: From Fear to Triumph "-Serie, ich glaube, Sie sollten die Artikel für die Speicherverwaltung zu lesen. Ich frage mich, was soll Artikel zu lesen sich nicht entgehen lassen.
Vielen Dank!
Obwohl es nicht wirklich ein Artikel, ich glaube, die steigen smart_ptr Bibliothek Dokumentation hat gute Informationen über Memory-Management-C + +. Natürlich ist es in der Bibliothek der Bewehrung voreingenommen, aber ich denke, es wird einige gute Ideen daraus zu ziehen.
Herb Sutter Behandlung auf Speicher-Management in seinem Buch "Außergewöhnlich C + +" und "C + + mehr außergewöhnlich."
Lesen und lernen Sie auch auf RAII Sprache, ist Resource Acquisition Initialisierung der Artikel und die folgenden beiden:
Einige Grundlagen:
Speicher als Programmier-Konzept in C und C + +
Frantisek Franek
Cambridge University Press
ISBN 0-521-52043-6
Andrei Alexandrescu etwas zu sagen hat in seinerModern C + + Design Book. Interessierte wahrscheinlich
Obwohl der praktische Wert der Techniken der Andrei umstritten, lernen ohne Zweifel einige neue und interessante Dinge in diesem Buch.
Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Ich möchte eine Zahl in Javascript truncate
trunc(2.6)==2 Für positive Zahlen:
Math.floor(2.6) == 2; Für negative Zahlen:
Math.ceil(-2.6) == -2; Als Ergänzung zu Daniel @ s Antwort, "wenn man immer abschneiden gegen Null möchten, können Sie:
function truncate(n) { return n | 0; // bitwise operators convert operands to 32-bit integers } Oder:
function truncate(n) { return Math[n > 0 ? "floor" : "ceil"](n); } Beide geben angemessene Ergebnisse sowohl für positive und negative Zahlen:
truncate(-3.25) == -3; truncate(3.25) == 3; Was
function truncate(n) { Math.round(n - 0.5); } Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Wenn Sie den Mauszeiger über ein Bild bewegen, würde Ich mag an eine Anzeige alert() mit dem Wert des Bildes src -Attribut. Wie würde ich mich über die Erfüllung dieser gehen?
JavaScript:
function alertSource( image ) { alert( image.src ); } HTML:
<img src="path/to/image" onmouseover="alertSource(this);" alt=""/> Sie brauchen nicht jQuery für diese.
Sie können das mouseover -Ereignis.
Wenn Sie
<img src='foo.jpg' id='bar'> Sie können Code wie jQuery
$('#bar').mouseover(function(){ alert($(this).attr('src')); }); (Wenn auch dies nicht kann man versuchen, ersetzt $(this) mit$ ('# Bar "), aber wie in den Kommentaren angemerkt ist ziemlich hässlich)
Edit: verpasste die Notwendigkeit, das src-Attribut erstmals durchscheinen ..
<img src="some_img.gif"> <script> $("img").bind("mouseover",function(){ alert($(this).attr("src")); }); </script> $('img').mouseover(function() { alert( this.src ); }); Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Gibt es eine Möglichkeit, um eine besondere Form eines Fehlers in der Darstellung gemäß der Definition der Form zu geben? In der Dokumentation unter die Personalisierung von-Error-Liste Format zeigt, wie man eine spezielle Form der Fehler-Funktion der Repräsentation zu geben, aber es scheint, zu erklären, wenn eine Instanz der Form, nicht, wenn sein definieren.
So können Sie eine Klasse ErrorList wie folgt definieren:
from django.forms.util import ErrorList class DivErrorList(ErrorList): def __unicode__(self): return self.as_divs() def as_divs(self): if not self: return u'' return u'<div class="errorlist">%s</div>' % ''.join([u'<div class="error">%s</div>' % e for e in self]) Und dann, wenn Sie instanziieren Ihre Form kann eine Instanz mit, dass error_class zu erstellen:
f = ContactForm(data, auto_id=False, error_class=DivErrorList) f.as_p() <div class="errorlist"><div class="error">This field is required.</div></div> <p> Subject: <input type="text" name="subject" maxlength="100" /> </ p> Message: <input type = "text" name = "message" value = "Hallo" / > </ p> <div class="error"> <div class="errorlist"> geben Sie eine gültige E-Mail. </ Div> </ div> <p Sender: name = "Absender" Adresse "value =" ungültige E-Mail <input type="text" /> </ p> I Cc: input <= "checked" überprüfen type = "checkbox" name = "cc_myself" /> </ p> Aber ich will nicht den Namen der Fehler jedes Mal eine Instanz einer Form, es gibt nur einen Weg um eigene Fehler Prozessor unter die Definition der Form zu definieren?
Versuchen Sie Folgendes:
class MyForm(forms.Form): ... def __init__(self, *args, **kwargs): super(MyForm, self).__init__(*args, **kwargs) self.error_class = DivErrorList Sollte funktionieren. Aber habe ich nicht getestet.
Wenn Sie wollen, ist dieses Verhalten in allen Formen, kann eine eigene Klasse als Basis wie folgt definiert:
class MyBaseForm(forms.Form): def __init__ (args * I, ** kwargs): kwargs_new = {'error_class: DivErrorList}. kwargs_new.update (kwargs) super (MyBaseForm, andere) __init__ (* args ich kwargs_new **) Und dann haben alle Unterklassen, so dass eine. Dann wird das Formular DivErrorList als Prozessor-Fehler standardmäßig, und Sie werden noch in der Lage sein, um die Änderung error_class Argument.
Hinweis: Sie müssen das gleiche tun mit ModelForm
Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Ich möchte ein Beispiel. Dank
Man kann nicht einfach speichern E-Mails django.contrib.auth.model.User s Feld für den Benutzernamen ", so benötigen Sie eine andere Authentifizierungs-Backend. Platzieren Sie den folgenden irgendwo, und fügen Sie den Pfad zu AUTHENTICATION_BACKENDS . Zeige http://docs.djangoproject.com/en/dev/topics/auth/ # write-a-Authentifizierungs-Backend
from django.contrib.auth.models import User class EmailBackend(object): """ Authenticates against the email field of django.contrib.auth.models.User """ def authenticate(self, email=None, password=None): # Try using the email if it is given if email: for user in User.objects.filter(email=email): if user.check_password(password): return user def get_user(self, user_id): try: return User.objects.get(pk=user_id) except User.DoesNotExist: return None Dann, nach seiner Meinung, ruft authentifizieren django.contrib.auth.authenticate .
Zwei Punkte zu beachten:
AUTHENTICATION_BACKEND es, vor allem, wenn Sie die Django admin verwenden möchten. Legen Sie den Benutzernamen in eine Methode, um irgendwo zu speichern (zum Beispiel der neue Benutzer-Form):
import uuid, binascii username = binascii.b2a_base64(uuid.uuid4().bytes) Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Wie kann ich ein Bild drehen, zum Beispiel. 180 Grad nach rechts mit der Matrix
Ich kann den folgenden Code verwenden, um das Bild um 90 Grad, aber es ist allmählich, Meaing
var matrix:Matrix = new Matrix(); matrix.rotate(Math.PI/2); matrix.tx = imgControl.content.height; var bitmapData:BitmapData = new BitmapData(imgControl.content.height, imgControl.content.width); bitmapData.draw(imgControl.content, matrix); imgControl.source = new Bitmap( bitmapData); Jedes Mal, wenn Sie den Code aus dem Bild um 90 Grad gedreht.
Was ich will, ist um 90 erhöht jedes Mal, aber das um 180 explizit, rotate90 und so weiter.
Ich bin nicht vertraut mit der Matrix, aber ich denke, dass macht es wirklich BitmapData Manipulation und nicht nur durch sein Beispiel. Drehen Sie den Gehäuseteil des Bildes (zu stoppen, wenn ich falsch liege).
Wenn ja, ich glaube, Sie haben das Image jedes Mal, wenn ich den Knopf drehen.
Bin ich etwas fehlt?
Vielen Dank im Voraus für jede Beratung und Anregungen
Ran
Die Matrix hat keine wirkliche BitmapData Manipulation.
Ist bitmap.draw Anruf empfängt das gedrehte Bild von imgcontrol.content die Bitmap, nachdem Sie den Code imgcontrol.content überschrieben mit dem gedrehten Bild.
Zum Beispiel wird der Code auf, ja, müssen Sie das Bild aus dem Nichts vor jeder Umdrehung neu laden oder haben Sie den Überblick über die Rotationen zu halten in einer Variablen und berechnen, wie viele Male Sie sich wenden können erreichen die gewünschte Drehung.
Wenn Sie bis zu 90 Grad in einem mehrstufigen drehen müssen, dann ersetzen
matrix.rotate(Math.PI/2); mit
matrix.rotate(Math.PI/2 * howmanytimesyouwanttorotateby90degrees); Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Nehmen Sie die folgenden C #-Methode:
static double[] AddArrays(double[] left, double[] right) { if (left.Length != right.Length) { throw new ArgumentException("Arrays to add are not the same length"); } double[] result = new double[left.Length]; for (int i = 0; i < left.Length; i++) { result[i] = left[i] + right[i]; } return result; } Wie ich verstanden habe, wird die CLR initialisiert result auf Null, obwohl AddArrays ist im Begriff, vollständig trotzdem zu starten. Gibt es eine Möglichkeit, diese zusätzliche Arbeit zu vermeiden? Auch wenn es mit unsicheren C bedeutet, #, C + + / CLI, oder die rohen IL-Code?
EDIT: Man kann nicht aus Gründen beschrieben hier .
Sie müssen folgendes tun:
static IEnumerable<double> Add(IEnumerable<double> left, IEnumerable<double>rechts) {using (IEnumerator <double> left.GetEnumerator l = ()) verwenden (IEnumerator <double> right.GetEnumerator r = ()) {while (l.MoveNext () & & r.MoveNext ()) {return Leistung l.Current r.Current +;} if (l.MoveNext () | r.MoveNext ()) | throw new ArgumentException ("fügte hinzu, dass keine Sequenzen, die gleiche Länge haben ");}} Matrizen können doppelt für diese Funktion zu verbringen. Wenn Sie wirklich brauchen ein Array als das Ergebnis (Tipp: wahrscheinlich nicht), kann nur aufrufen, .ToArray() Rückgabewert der Funktion.
. Net 4 haben bereits für dieses Jahr:
double[] array1 = {1.0, 2.0, 3.0}; double[] array2 = {4.0, 5.0, 6.0}; IEnumerable<double> result = array1.Zip(array2, (a,b) => a + b); foreach(double d in result) { Console.WriteLine(d); } Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Ich bin in der Notwendigkeit einer Authentifizierungsmethode, die mit DataMapper funktioniert. Ich kann sehen, dass das Plugin Felder authlogic erfordert
crypted_password, password_salt, persistence_token in der Benutzer-Modell. Ist es ausreichend, nur die Felder, um die Definition von Benutzer-Modell mit DataMapper hinzufügen?
Sollte viel anspruchsvoller als das, denn die APIs sehr verschieden von DataMapper und ActiveRecord sind. Allerdings scheint es mindestens eine Person auf der gleichen Wellenlänge wie Sie. Schauen Sie sich dieses Ticket , das einen Link zu dieser hat pastie authlogic, dass ein Benutzer-Modell mit integriert DataMapper .
DataMapper unterstützt
Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Hallo Leute,
Kann jemand sehen, nichts Bestimmtes, dass verursachen könnte Probleme mit jQuery in Internet Explorer 6? Keine Artikel jQuery wird überhaupt in IE6 geladen. Alle anderen Browser sind in Ordnung! Vielen Dank für Ihre Hilfe!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{tag_pagetitle}</title> <script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="/js/jquery-ui-1.7.custom.min.js"></script> <link rel="stylesheet" href="/stylesheets/tabs.css" type="text/css" media="screen, projection" /> <link href="/stylesheets/main.css" rel="stylesheet" type="text/css" /> <link href="/stylesheets/gallery-1.0.1.css" rel="stylesheet" type="text/css" /> <link href="/stylesheets/forms.css" rel="stylesheet" type="text/css" /> <link href="/facebox/facebox.css" rel="stylesheet" type="text/css" /> <meta content="text/html;charset = UTF-8 "http-equiv =" Content-Type "/> <! - [if IE]> <link type =" text / css "rel =" stylesheet "href =" / stylesheets / ie.css "bc = "1" /> <[endif] -> <! - [if IE 6]> <link type = "text / css" rel = "stylesheet" href = "/ stylesheets/ie6site.css" bc = "1" /> <[endif] -> </ head> <body id = "gallerydetail" id = "site"> span> <img src = "http://thecreativealliance.org/images/top-corners_03.gif" width = "900" title = "3" alt = "" / id = "Banner">> <div <img alt = "" src = "http://thecreativealliance.org/images/site/creative-alliance-logo.jpg "/> <div "cerrar sesión" id = {class = "entrada-reg-link"> module_whosloggedin, Input /} </ div> <h1> Beispiel Gallery </ h1> </ div> <div id ="-Menü "> {module_menu, script = 550428} type>" text / javascript http://cdn.socialtwist.com/2010010232558-1/script.js = "" src "> </ script> <a href =" c-taf "href =" http://tellafriend.socialtwist.com: 80 "onclick =" return false; "style =" border: 0; padding: 0;margin: 0; "> alt <img src =" SocialTwist Tell-a-Friend "style =" border: 0; padding: 0; margin: 0; "src =" http://images.socialtwist.com/2010010232558- 1/button.png "onmouseout =" STTAFFUNC.hideHoverMap (this) "onmouseover =" STTAFFUNC.showHoverMap (dies '2010010232558-1 ', window.location, document.title) "onclick =" STTAFFUNC.cw (this, { ID: '2010010232558-1: Fenster links, sondern die Titel document.title}) "/> </ a> <div class="header-search"> Form name <=" catsearchform1870 "-Methode.? = "post" action = "/ Default.aspx sitesearch = 852 & ID = search-results.htm" class = "cmxform"> class <fieldset> <li> <ol> Eingang <= "cat_textbox_smallish" type = "text "name =" CAT_Search "id =" CAT_Search "value =" Suchen "onblur =" if (this.value =='') {this.value = 'Suche';} "onfocus =" if (this.value == 'Suchen') {this.value'';}" = /> </ li> <li> <input type = "image" src = "/ images/go-btn_12.png" class = "login-button" value = "Search" /> </ li> </ ol> </ <fieldset> /> <form / div> </ div> {} tag_pagecontent class = "gallery-cont"> <div <class="clr"> / div> </ div> class = "clr" id "> =" center {module_contentholder, 6762} <<div class="clr"> / div> </ div> </ div> script src <= "/ Facebox / facebox.js" type = "text / javascript"> </ script> < script type = "text / javascript" src = "/ js / jquery.trilemma.js"> </ script> <script type = "text / javascript" src = "/ js/jquery.truncate-2.3-pack.js "> </ script> <script type="text/javascript" src="/js/jquery.galleriffic.js"> </ script> <script type = "text / javascript" jQuery> (Dokument) ready (function ( $) {$ ('a [rel *= Facebox]') Facebox ({loading_image: ". e-mail" .. 'loading.gif, close_image' closelabel.gif '}) $ () jede Funktion ((. ) {var ats, Punkte, e, i, ats = ['a', '(a) "," [a]'], Punkte = ['dot', '(Punkt) "," [dot]'] , address = $ (this) html ();. for (i = 0; i + + i ats.length <) {address = address.replace (ATS [i] ,'@');} For (i = 0; i dots.length <i + +) {address = address.replace (points [i ],'.');} $ (this) html ("<a href =". Mailto: "+ Adresse + Adresse +'"..>' + '</ a >');}) $ (' twitswitch ') jede Funktion (() {var $ twitswitch = $ (this) if ($ twitswitch.text () =='') {$ ('# twitterlink') ();.}}); verbergen ('. LinkSwitch.) jede Funktion (() {var $ $ twitswitch = $ (this) if ($ twitswitch . text () {==''). $ ('# linkedinlink') ();}}), verbergen $ () für jede Funktion (() {var $ twitswitch = $ (this) "faceswitch.". if ($ twitswitch.text () {=='') $ ('# facebooklink'), wenn ($(". twitswitch ();.}}); verstecken. ") html () ==" "& & $ . (".." faceswitch "LinkSwitch.") html () == "" & & $ () html () == "") {$ ("# oder keine Verbindung.") hide ();} if ($ ( "# appswitch: contains (" Ja')"). Länge) {$ ("# reviewhold, # fragment-4-ol, die # fragment-4-intro"). hide (); zeigen $ ("cat gewählt ")... ();} Var $ tag = $ ('# tabs') Etiketten ();.. $ (".ui-tabs-panel ") für jede Funktion ((i) {var TotalSize = $ (" ui-tags Panel ".) size () - 1;. if (i = TotalSize) {next = i + 2, $ (Osten) append ("<a href rel ='#' Klasse ='motor neue pestaña' ='"+ along'> +" <span> Nächste Seite »</ span> </ a>!".); } if (i = 0) {last = i;!. $ (this) append ("<a href = class ='motor anterior-ficha''#' rel = previous'"+ +"'> <span>" Vorherige Seite </ span> </ a >");}}), $ ('.. neue Registerkarte, Registerkarte oben. ") klicken (function () {$ tabs.tabs (' select ', $ (Osten) attr ("rel ").); return false;}) $ ('.. tofour) click (function () {/ / bind Click-Ereignis zu verknüpfen tabs.tabs $ (' select ', 4) / / Switch to return false ;});}); fünften Registerkarte </ script> <script type="text/javascript"> $ (function () {jQuery ('select-cat.) Trilema ({ max:. 3, disablelabels: true });}); </ script> <script type="text/javascript"> jQuery (document) ready (function ($) {if ($ ("# logout:. enthält ("Exit')").Länge) {. $ ("# Logout") append ("oder href =" / manage "> <a Sample Edit </ a >');}. wenn ($ (" show-form-cont h2: contains ("Add Ihr Schaufenster ' ) "). length) {$ (" # banner h1 ") html. ('Showcase management ");} if ($ (" show-form-cont h2: enthält ('.')"). Bearbeiten Sie Ihre Fenster Länge) {$ ("# banner h1") html (' Showcase-Management »);.}});. jQuery (document) ready (function ($) {var gallery = $ ('Daumen #') galleriffic ({delay:. 3000, / / in Millisekunden numThumbs: 20, / / Die Anzahl der Bilder, um zu zeigen preloadAhead Seite: 40 / / Set auf -1 für enableTopPager preload alle Bilder: false, enableBottomPager: true, maxPagesToShow: 7 / / Die maximale Anzahl der Seiten, zu zeigen, imageContainerSel Locator in der oberen oder unteren: '# slideshow "controlsContainerSel: renderSSControls" manager #': undefined captionContainerSel: '# Legenden "loadingContainerSel: true, / / Gibt an, ob die Präsentation und Links Listen Pause renderNavControls gelehrt werden:true, / / Gibt an, ob die Links Weiter und Zurück, um die Präsentation playLinkText bereitgestellt werden sollten: pauseLinkText 'Play',: prevLinkText 'Pause', 'Zurück', nextLinkText "Next" nextPageLinkText:, EnableHistory '<Zurück :: "Weiter>" prevPageLinkText false, / / Gibt an, ob der Hash der URL und den Browser-Cache der Geschichte aktualisiert werden müssen, wenn das Bild von der aktuellen Veränderungen enableKeyboardNavigation Präsentation: true, / / Gibt an, ob das Navigationssystem Tastenblock aktiviert ist autoStart: false, / / Gibt an, ob die Präsentation sollte Wiedergabe oder Pause, wenn die Seite geladen syncTransitions zuerst: false, / / Gibt an, ob die Ausgabe und in Übergängen gleichzeitig auftreten oder deutlich defaultTransitionDuration: 1000 / / Wenn Sie die Standard-Übergängen verwenden, geben Sie die Dauer von Übergängen onSlideChange: undefined, / / akzeptiert ein Delegierter wie: function (PREVINDEX, NEXTINDEX) {... OnTransitionOut}: undefined, / / akzeptiert ein Delegierter, wie zB:-Funktion (Bild, Titel, callback isSync,) {... OnTransitionIn}: undefined, / / akzeptiert ein Delegierter als solche: function (Rutschbahn, Titel, isSync) {... OnPageTransitionOut}: undefined, / / akzeptiert ein Delegierter als solche: function (Callback) {... OnPageTransitionIn}: undefined, / / akzeptiert ein Delegierter als solche: function () {... OnImageAdded}: undefined, / / akzeptiert ein Delegierter als solche: function (imageData, $ li) {... OnImageRemoved}: undefined / / akzeptiert ein Delegierter als solche: function (imageData, $ li) {... }});}); </ Script> {module_contentholder, 8514} </ body> </ html> Sie müssen IE auf Ihrem Computer Inspector Debuggen, um die HTML-Baum untersuchen installiert haben. Dies könnte einige HTML war arm, weil dummerweise IE6 seltsam verhält.Wenn nicht eine Hilfe, dann aktivieren Sie Script-Debugging in Visual Studio Debugger versuchen Insert-Anweisung irgendwo in deinem Code und beginnen sich zu drehen über das Stück Code.
Stellen Sie sicher, alles richtig ist Javascript. Ich habe das Gefühl, dass jQuery ist in Ordnung Laden, aber das js nicht mehr funktioniert, nachdem sie einen bestimmten Punkt zu erreichen.
Beispiel: Die erste Zeile in Ihren js veröffentlichte einen Aufruf Facebox nicht mit einem Semikolon enden.
<script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox({ loading_image : 'loading.gif', close_image : 'closelabel.gif' }) I überprüfen, um sicherzustellen, dass es eine dumme Syntaxfehler.
Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com
Nach der Lektüre " C + + Memory Management: From Fear to Triumph "-Serie, ich glaube, Sie sollten die Artikel für die Speicherverwaltung zu lesen. Ich frage mich, was soll Artikel zu lesen sich nicht entgehen lassen.
Vielen Dank!
Obwohl es nicht wirklich ein Artikel, ich glaube, die steigen smart_ptr Bibliothek Dokumentation hat gute Informationen über Memory-Management-C + +. Natürlich ist es in der Bibliothek der Bewehrung voreingenommen, aber ich denke, es wird einige gute Ideen daraus zu ziehen.
Herb Sutter Behandlung auf Speicher-Management in seinem Buch "Außergewöhnlich C + +" und "C + + mehr außergewöhnlich."
Lesen und lernen Sie auch auf RAII Sprache, ist Resource Acquisition Initialisierung der Artikel und die folgenden beiden:
Einige Grundlagen:
Speicher als Programmier-Konzept in C und C + +
Frantisek Franek
Cambridge University Press
ISBN 0-521-52043-6
Andrei Alexandrescu etwas zu sagen hat in seinerModern C + + Design Book. Interessierte wahrscheinlich
Obwohl der praktische Wert der Techniken der Andrei umstritten, lernen ohne Zweifel einige neue und interessante Dinge in diesem Buch.
Dieser Text stammen aus der ursprünglichen Quelle in Stackoverflow.com