warum wählen die leute die mit lizenz über bsd, wenn die "non-endorsement-klausel" von bsd eine gute idee ist?
<p>nach dieser frage und ihren antworten</p><p> <a href="https://softwareengineering.stackexchange.com/questions/41128/what-is-the-purpose-of-the-non-endorsement-clause-in-the-new-bsd-license">was ist der zweck der "non-endorsement-klausel" in der neuen bsd-lizenz?</a> </p><p>es scheint klüger, die bsd-lizenz über das mit zu wählen, um zu verhindern, dass personen ihren namen auf unerwünschte weise verwenden.</p><p>wenn dies der fall ist, warum wählen die leute dann immer noch die lizenz mit über bsd-lizenz)?</p>
<p>ein freund von mir hat einmal darauf hingewiesen, dass lizenzen ihnen sagen, wovor die lizenzautoren angst hatten.</p><p>wenn sie angst haben, ihren namen durch den schlamm zu ziehen, scheint die bsd-lizenz besser zu sein. wenn sie angst haben, ihre software in eine proprietäre software zu integrieren, scheint die gpl besser zu sein. unabhängig von der lizenz wählt der autor sie, weil sie sie vor dem schützt, wovor sie angst haben.</p><p>unterschiedliche personen haben unterschiedliche bedenken und verwenden daher unterschiedliche lizenzen.</p>
<p>sie müssen die lizenz unter keinen umständen in der gui anzeigen.</p><p>für software, die unter der apache license version 2.0 (aplv2) lizenziert ist, ist es völlig in ordnung, die software auf die von ihnen vorgeschlagene weise zu ändern. diese lizenz fördert änderungen. die lizenz garantiert ihnen die freiheit, "powered by svg edit" in ihrer geänderten version zu entfernen.</p><p>informationen zu ihren verpflichtungen in bezug auf die mit der aplv2-software gelieferte notices-datei finden sie in aplv2 (abschnitt 4(b))). sie müssen den inhalt in einer weise anzeigen, die der software. (wohlgemerkt, svg edit erledigt dies wahrscheinlich bereits.) sie können das "powered by svg edit" möglicherweise nicht entfernen, wenn dies aus der notices-datei stammt. wenn sie jedoch die notices-datei und den quellcode verteilen, dann sind sie davon ausgenommen. weitere informationen zu ihren optionen finden sie in abschnitt 4(b) der aplv2).</p><p>in jedem fall ist das, was sie tun möchten, nicht unhöflich, insbesondere wenn dadurch ihre abgeleitete arbeit besser wird.</p> <p>ich denke nicht, dass es sich um geheime oder sensible informationen handelt, z. b. "geheime informationen sind maskiert und sensible nicht". (die unterscheidung ist problematisch; viele geheimnisse müssen auch geteilt werden).</p><p>ich denke, cc- und ssn-informationen werden aus mehreren gründen nicht ausgeblendet. sie sind keine harte tatsache, aber dennoch sind hier einige:</p><ol> <li> <p>das zu tun, was alle anderen tun, überrascht den benutzer nicht. passwörter kamen lange vor webformularen und waren bereits maskiert. wenn sie in anmeldeformularen verwendet wurden, wurden sie auch maskiert. als das online-geschäft und die online-verwaltung hinzukamen, erforderte der stand der technik (papierformulare) (offensichtlich) die nicht maskierte eingabe sensibler informationen, sodass webformulare die gleiche wahl trafen.</p> </li> <li> <p>es wäre sehr einfach, einen fehler zu machen und eine falsche nummer einzugeben, wenn sie nicht sehen würden, was sie eingegeben haben. im falle eines falschen passworts ist dies nur leicht ärgerlich und sie erhalten sofortiges feedback. im fall anderer falsch sensibler daten kann dies weitere konsequenzen haben, die nicht sofort klar sind (z. b. die ablehnung einer anfrage an ein regierungsbüro aufgrund einer falschen ssn oder eine nicht durchgeführte zahlung - obwohl in den fällen cc und ssn dies wird normalerweise dadurch abgesichert, dass geprüft wird, ob die prüfsumme richtig ist, und sofortiges feedback gegeben wird, wenn dies nicht der fall ist.</p> </li> <li> <p>viele leute kennen ihre cc-nummer nicht aus dem speicher und kopieren sie von der eigentlichen kreditkarte. die nummer ist also sowieso für einen zuschauer sichtbar; das ausblenden des eingabefeldes würde nicht viel zum schutz der nummer am client-ende beitragen und verdient daher nicht die zusätzlichen schwierigkeiten, die durch 2 verursacht werden.</p> </li> <li> <p>auswirkung - eine gestohlene cc-nummer hat nicht unbedingt die gleiche auswirkung wie ein gestohlenes passwort, insbesondere wenn sie der ansicht sind, dass informationen, die durch einen blick über die schulter gestohlen wurden, höchstwahrscheinlich von personen gestohlen werden, die sie kennen (kollegen bei der arbeit, familienmitglieder, klassenkameraden) usw.) und möchten ihr passwort aus einem ganz bestimmten grund, der persönliche konsequenzen hätte. otoh, selbst wenn sie an ihrer cc-nummer interessiert wären, müssten sie den finanziellen schaden nicht in kauf nehmen, da die cc-firma ihn wahrscheinlich übernehmen würde. aus dem gleichen grund macht es ihnen nichts aus, einen kellner oder verkäufer ihre kreditkarte sehen zu lassen, obwohl er sie kopieren und an jemand anderen verkaufen könnte ...</p> </li> </ol><p>nummer 4 gilt jedoch möglicherweise nicht für andere arten von vertraulichen informationen.</p> <p>wenn sie updates installieren als option haben, können sie besser verfolgen, wie oft ihre server für updates neu gestartet werden. aus it-sicht ist ein neustart eines servers normalerweise keine gute sache. so sehr, dass eine der verkaufsfunktionen von linux (ich nehme auch unix an?) immer darin bestand, dass weniger neustarts erforderlich sind.</p><p>dies ist wahrscheinlich eine dieser funktionen, bei denen eine gruppe innerhalb von microsoft dies für eine gute idee hielt, eine andere gruppe sich jedoch sorgen über die möglichen auswirkungen machte, wenn jemand sagen konnte: "ich musste meinen server diesen monat viermal neu starten, und ihr protokollierungssystem zeigt es mir." dass alle von ihnen update bezogen waren. "</p> <p>es ist wahrscheinlich ein versuch, passwörter zu entmutigen, die zu gängigen formaten oder zeichenmasken passen. wenn für eine kennwortrichtlinie die verwendung einer nummer erforderlich ist, setzen viele personen ihre nummer am ende eines wortes oder von wörtern. hier einige beispiele aus unternehmensumgebungen:</p><ul> <li> <a href="http://passwordresearch.com/stats/statistic397.html">netspi top password masks für 2015</a> </li> <li> <a href="http://passwordresearch.com/stats/statistic376.html">2015 trustwave global security report - kennwortmasken</a> </li> </ul><p>angreifer mögen diese benutzergewohnheit, weil sie das knacken oder erraten von hybrid-passwörtern erleichtert. sie können sich darauf konzentrieren, wortlisten mit am ende hinzugefügten zahlen zu kombinieren, anstatt einen zeitaufwändigeren brute-force-ansatz zu wählen.</p><p>einige organisationen implementieren eine solche richtlinie, um die sicherheit zu verbessern, indem benutzer dazu gebracht werden, ihre nummern einzugeben. dies ist ein weniger vorhersehbarer ort. es hört sich so an, als würden sie dies in ihrer situation nicht mit einer anderen komplexitätsprüfung kombinieren und stattdessen alle passwörter ablehnen, die mit einer zahl enden, unabhängig davon, wie zufällig sie ansonsten sind. das ist keine sehr gute möglichkeit, diese art der überprüfung zu implementieren, aber sie sind mit diesem ansatz nicht allein.</p> "Apps " haben das unbändige Verlangen, - NICHT- auf einer SD- Karte zu parken. Die meisten brauchen eine innige Bildung zum System und würden 'verschoben' nicht starten und funktionieren. Deshalb bieten sie die SD- Funktion erst garnicht an. <p>dies ist aus sicherheitsgründen eine gute idee. ein kennwort mit unicode-zeichen ist schwerer zu erzwingen als ein kennwort mit ascii zeichen gleicher länge. dies gilt auch dann, wenn sie die bytelänge anstelle der zeichenlänge vergleichen, da unicode verwendet das höchstwertige bit, während ascii nicht.</p><p>ich denke jedoch, dass dies nicht praktikabel wäre, da unicode-fehler so häufig sind. ich denke, wenn sie überall unicode-passwörter verwenden, werden sie auf mehr als ein paar websites stoßen, auf denen sie probleme beim anmelden haben würden, da die entwickler die unicode-unterstützung für passwörter nicht korrekt implementiert haben.</p> Selbst Sony hat bestätigt, dass die PSN Card nicht der USK oder der FSK unterliegt. Also ist dies nur eine Altersempfehlung, keine Altersbeschränkung!
 Natürlich würde ich mich nicht beschweren... Das macht einen nur unbeliebt. ;) <p>laut bash-manpage:</p><blockquote> <p>bash durchsucht jedes wort nach den zeichen *,? und [. wenn eines dieser zeichen angezeigt wird, wird das wort als muster angesehen und durch eine alphabetisch sortierte liste von dateinamen ersetzt, die mit dem muster übereinstimmen</p> </blockquote><p>und vom infoknoten für <strong>ls</strong></p><blockquote> <p>das ls-programm listet informationen zu dateien (jeglichen typs, einschließlich verzeichnissen) auf. optionen und dateiargumente können wie gewohnt beliebig gemischt werden.</p> <p>bei nicht-optionsbefehlszeilenargumenten, die verzeichnisse sind, listet 'ls' standardmäßig den inhalt von verzeichnissen auf, nicht rekursiv, und lässt dateien weg, deren namen mit '.' beginnen. bei anderen nichtoptionsargumenten wird standardmäßig nur der dateiname mit "ls" aufgelistet. wenn keine nichtoptionsargumente angegeben werden, listet 'ls' den inhalt des aktuellen verzeichnisses auf.</p> </blockquote><p>wenn sie also <code>ls d*</code> eingeben, wird <strong>d *</strong> zu einer sortierten liste aller datei-/verzeichnisnamen erweitert, die mit d beginnen. so wird dein befehl</p><pre><code>ls dump </code></pre><p>und da dump ein verzeichnisname ist, erhalten sie die auflistung aller dateien im verzeichnis "dump", aber wenn sie <code>ls d*</code> angeben, wird <strong>d *</strong> zu "<strong>desktop documents)" erweitert downloads dropbox</strong> ", so wird der befehl</p><pre><code>ls desktop documents downloads dropbox </code></pre><p>und da dies alles verzeichnisse sind, erhalten sie die auflistung der dateien in einzelnen verzeichnissen. wenn eine datei im aktuellen verzeichnis mit <strong>d</strong> begonnen hätte, wäre sie separat aufgeführt worden.</p> <p>wenn dies meine entwurfsentscheidung wäre, würde ich wahrscheinlich eher eine option c (modifizierte option a) wählen.</p><h3>erstens, warum nicht 'option b':</h3><p>zum einen gefällt mir die klarheit, dass jedes produkt seinen eigenen tisch hat. wenn es sich nur um eine große tabelle mit einem feld zur bestimmung des typs handelt, ist die beziehung nicht so klar.</p><p>zum anderen würde die indizierungsstrategie immer erfordern, dass dieses typfeld aufgelistet wird. da es sich nur um 4 typen handelt, ist die indexkardinalität extrem niedrig (<code>select * from product\_table where type='x'</code> führt im grunde sowieso einen vollständigen tabellenscan durch)</p><h3>option c.</h3><ul> <li>erstellen sie eine übergeordnete tabelle, die nur die spalten enthält, die alle typen gemeinsam nutzen</li> <li>erstellen sie jeden produkttyp als eigene tabelle mit ihren einzelnen spalten, mit einem zusätzlichen: ein link zur übergeordneten tabelle</li> <li>erstellen sie jede 'link'-tabelle: product\_option, model\_option usw. mit links zu den jeweiligen schlüsseln.</li> <li>für diejenigen mit wechselseitigen links (model\_option, option\_model) erstellen sie auch diese tabellen. dies erhöht die klarheit ihrer joins für alle, die sich das ansehen.</li> </ul><p>der nachteil ist die komplexität, sicherzustellen, dass waisen vermieden werden, wenn dinge aktualisiert/gelöscht werden, und zunächst die abfragen zu entwerfen, die diese tabellen verwenden.</p> <p>row\_number () ist eine ranking-fensterfunktion, und ranking-fensterfunktionen erfordern eine obligatorische order by-klausel. wenn sie versuchen, es ohne order by zu schreiben, wird ein syntaxfehler angezeigt.</p><pre><code>select row\_number() over() from (values ('a'), ('b'), ('c')) as x(y); -- msg 4112, level 15, state 1, line 1 -- the function 'row\_number' must have an over clause with order by. </code></pre><p>der trick mit der unterabfrage wurde von jemandem entdeckt, der darüber als leistungsoptimierung gebloggt hat. sql server führt immer eine sortieroperation aus, da konstanten für die order by-klausel nicht zulässig sind:</p><pre><code>select row\_number() over(order by null) from (values ('a'), ('b'), ('c')) as x(y); -- msg 5309, level 16, state 1, line 1 -- windowed functions, aggregates and next value for functions -- do not support constants as order by clause expressions. </code></pre><p>und ganzzahlen, die als indizes behandelt werden, sind es auch nicht:</p><pre><code>select row\_number() over(order by 1) from (values ('a'), ('b'), ('c')) as x(y); -- msg 5308, level 16, state 1, line 1 -- windowed functions, aggregates and next value for functions -- do not support integer indices as order by clause expressions. </code></pre><p>es stellt sich heraus, dass sie diese einschränkung aufgrund eines fehlers im code umgehen können, indem sie eine unterabfrage verwenden, die aus irgendeinem grund zulässig ist, und den sortieroperator entfernen.</p><pre><code>select row\_number() over(order by (select 1)) from (values ('a'), ('b'), ('c')) as x(y); </code></pre><p> <a href="https://i.stack.imgur.com/i76qa.png">(<img src="https://i.stack.imgur.com/i76qa.png" alt="no sort operator"></a> </p><p>sie können eine beliebige konstante in der unterabfrage verwenden. null erinnert wahrscheinlich an die gewohnheit, select null in exists-prädikaten zu verwenden, die in der frühen geschichte von sql server einen leistungseinfluss im gegensatz zu * oder einem anderen spaltenausdruck hatten der optimierer war nicht klug genug, um ihn zu ignorieren.</p><p>hth</p><p><strong> [~ # ~] update [~ # ~] </strong> @ erik-darling kommentierte, dass sie es auch umgehen können, indem sie berechnete ausdrücke verwenden:</p><pre><code>you can do select row\_number() over (order by 1/0); </code></pre>