Kategorie: Programmiersprachen

Kleines Gerät mit großen Vorteilen – Worauf ist 2020 bei einem Handscanner zu achten

Handscanner – Wofür werden die genutzt?

Flachbettscanner oder Kombigeräte aus Drucker und Scanner sind Geräte, die in fast jedem (Home-) Office zu finden sind.
Bei Hanscannern, die je nach Ausführung auch Stiftscanner genannt werden, handelt es sich um kleine Geräte, die manuell über das zu lesende Dokument geführt werden. Es gibt sie in den verschiedensten Formen und Größen, und natürlich für die verschiedensten Aufgaben.Vereinfacht erklärt, werden die Handscanner dazu verwendet, um eine gedruckte Vorlage (also Papiere oder eben einen Barcode) so abzutasten, dass diese in digitale Informationen umgewandelt werden kann. Die ausgelesenen Informationen findet man dann auf einem entsprechenden Ausgabegerät (meistens ein Bildschirm oder ein Display mit Touch-Screen) wieder.
Die Daten werden entweder per Kabel, per Speicherkarte oder dem Gerät selbst übertragen, oder direkt über das WLAN an den Rechner, das Handy oder das Tablet. Manche Scanner legen das Dokument auch noch zusätzlich in einer Cloudlösung ab.Dank ihrer äußerst kompakten Größe und ihres sehr geringen Gewichts können die kleinen Handscanner schnell und platzsparend verstaut werden. Sie sind beispielsweise sehr gut geeignet für Mitarbeiter im Außendienst oder für Messen um Visitenkarten und ähnliches einzuscannen.

Handscanner Vergleich 2020

In Punkto Auflösung und Lesbarkeit stehen die kleinen Geräte ihren großen Schwestern und Brüdern in nichts nach – zumindest wenn es darum geht, Visitenkarten oder Dokumente bis maximal A4 Format einzuscannen.
Je nach Modell sind die mobilen Scanner entweder mit einem Akku, einer Batterie oder einem Netzstecker ausgestattet. Es gibt Geräte, die in Schwarzweiß und Farbe, oder nur in Schwarzweiß scannen können.
Auf dm Markt sind mobile Einzugscanner, mobile Foto- und Diascanner und mobile Flachbettscanner. Außerdem gibt es Scannermäuse und Scannerstifte.

Hier ein kurzer Vergleich der Funktionen:

Mobile Einzugscanner können, wie der Name schon verrät, ein eingelegtes Dokument automatisch scannen, maximal bis Format A4. Für Ausweise oder Kreditkarten, also alle Dokumente die relativ hart und starr sind, sind diese Geräte allerdings nicht geeignet.
Mobile Foto- und Diascanner sind nur dafür ausgelegt eben Fotos und Dias einzuscannen.

Mobile Flachbettscanner sind eher selten, denn trotz allem sind sie gegenüber den mobilen Einzugscannern relativ klobig und schwer. Die meisten Flachbettscanner haben zudem keinen internen Speicher.
Relativ häufig hingegen findet man Scannermäuse und Scannerstifte. Diese werden manuell langsam über das einzulesende Dokument gezogen. Der Vorteil bei diesen Geräten liegt eindeutig auf der Hand. Sie sind klein, mobil und lassen sich einfach transportieren.
Zieht man die Anschaffung eines mobilen Scanners in Betracht, sollte man allerdings vorher überlegen, wofür genau das Gerät gebraucht wird. Sollen lediglich Visitenkarten oder ähnliches digitalisiert werden, oder soll er doch eher ein zuverlässiger Begleiter beispielsweise in der Universitätsbibliothek sein?

5 Typische Probleme einer Open-Source Software nach 2010

Wir stehen kurz vor dem Abschluss eines weiteren Jahrzehnts Open Source und was für eine lange, seltsame Reise es war. Wenn man sich die Vorhersagen von 2009 ansieht, hat niemand die geringste Ahnung, dass GitHub die Softwareentwicklung für immer (und für alle) ändern würde oder dass Microsoft vom Open-Source-Paria zum weltweit größten Anbieter oder zu einer Vielzahl anderer dramatischer Änderungen übergehen würde wurde in einem Jahrzehnt zur neuen Normalität, die alles andere als normal war.

Wir sind jetzt alle offene Sourcing-Unternehmen, während wir das Jahrzehnt abrunden. Lassen Sie uns auf einige der wichtigsten Open Source-Innovationen zurückblicken, die uns hierher gebracht haben.

Eine wolkige Zukunft

Open Source machte natürlich vor 2010 Schlagzeilen, aber viele der Open Source-Nachrichten waren damals „Freie Software“ vs. „Open Source“ -Religiöse Kriege und Klagen gegen Linux. Um Open-Source-Software auszuführen, haben Sie immer noch die IT angerufen, um Server bereitzustellen (oder ein Ersatzlaufwerk verwendet, das gerade zufällig unter Ihrem Schreibtisch lag). Die Wolke hat das alles verändert.

Plötzlich mussten Entwickler keinen Hall-Pass von der IT erhalten, um ihren Open Source-Code auszuführen. So wie Open Source Entwickler vom Kauf / der gesetzlichen Genehmigung befreit hat, hat auch die Cloud die Entwickler von der Reibung befreit, die der Hardware innewohnt.

Die Wolke war jedoch nur der Wegbereiter. Wie Corey Quinn hervorhebt, ist die Infrastruktur zu „Open Source“ geworden, allerdings nicht, weil die Clouds selbst unter einer Open Source-Lizenz verfügbar sind: „Sie läuft auf Clouds, aber ich kann mir einen Terraform-Plan oder eine serverlose Konfiguration von GitHub holen und habe eine Es läuft, um es fast augenblicklich zu testen. “

Open Source-Lizenzen und der Swipe-and-Go-Zugriff auf Cloud-Hardware haben die Produktivität von Entwicklern in einer Weise gesteigert, die Anfang 2010 möglicherweise nur schwach sichtbar war (schließlich wurde AWS 2006 gestartet), die jedoch erst bis in das Jahrzehnt hinein umgesetzt wurde.

Es ist Git ganz unten

„Das größte Ereignis, das Open Source im letzten Jahrzehnt widerfahren ist, ist die Einführung der Pull-Anfrage durch GitHub“, erklärt Tobie Langel. „GitHub bot Open Source-Sichtbarkeit und verringerte die Voraussetzungen für die Zusammenarbeit um eine Größenordnung.“

Diese Zusammenarbeit war immer das Herzstück des Open-Source-Versprechens, aber erst, als GitHub den sozialen Aspekt der Codierung freigeschaltet hat, wurde sie Realität.

Wie Michael Uzquiano argumentiert: „Wir hatten zuvor Versionskontrolle, aber GitHub / Lab machte es wirklich einfach, Code zu teilen, Dinge auszuprobieren und Ideen einzubringen. Kommentare, Probleme, Genehmigung – das Versprechen, dass Code offen ist, wurde wirklich erfüllt. “Git wurde im letzten Jahrzehnt nicht geboren, aber wie die Cloud boomte es erst in den 2010er Jahren.

Docker und die Containerrevolution

Wie die Versionskontrolle und Git wurden Container nach 2010 nicht neu geprägt. Tatsächlich tauchte die Idee für Container bereits 1979 mit Chroot auf (obwohl Samen schon früher gepflanzt wurden).

Doch wie Steven Vaughan-Nichols behauptet, hat Docker die Container wirklich zum Leben erweckt: „Docker, genauer gesagt, Docker Tech hat Container von einer obskuren Technologie zu einer tragenden Säule des heutigen Software-Konsums gemacht. Es hat alles verändert. “

Alles? Ja, zumindest für die Entwicklung von Unternehmensanwendungen, und nicht, weil es eine coole neue Art ist, über Virtualisierung nachzudenken. Wie Gordon Haff erklärt, waren „Pre-Docker / Kubernetes-Container nur eine andere Partitionierungstechnik.“

Die eigentliche Magie begann, als Docker die Entwicklererfahrung nagelte, und von da an fuhr er fort: „Die Dinge sind in den Schneebällen“, was zu einer vollständigen Neuerfindung der CI / CD-Pipeline und mehr führte. Vor einem Jahrzehnt hatte noch niemand von Docker und Kubernetes gehört. Im vergangenen Monat waren mehr als 13.000 Menschen auf der KubeCon 2019 angereist, um diese moderne Anwendungswelt zu erkunden, die Docker mitgestaltet hat.

Datenwissenschaft wird zum Mainstream

Big Data war schon immer ein Traum für „den Rest von uns“ (d. H. Unternehmen, die nicht Google sind), und vor 2010 wurden ernsthafte Anstrengungen unternommen, um es zu verwirklichen. Wir haben Data Marts seit den 1970er Jahren, Business Intelligence etwas später, und Roger Magoulas hat 2005 sogar den Begriff „Big Data“ geprägt.

Aber keiner von ihnen hat wirklich vorausgesehen, wie groß diese Daten sein könnten und wie kritisch Datenwissenschaftler und Dateningenieure werden würden, bis weit in das Jahrzehnt hinein, in dem Apache Hadoop (2008 erstellt) auf den Markt kam und dann schnell verdrängt wurde durch eine Welle von NoSQL-Datenbanken und andere Open-Source-Infrastruktur.20

Heutzutage ist die Infrastruktur, in der große Datenmengen gespeichert und gestreamt werden, hauptsächlich Open Source.

Ob moderne Datenbanken wie MongoDB, die das Arbeiten mit unstrukturierten Daten erleichtern, oder verschiedene Tools wie Apache Kafka, die zum Verschieben von Daten verwendet werden, Open Source die moderne Datenwissenschaft ermöglichten, und fast alles geschah in den letzten 10 Jahren.

Darüber hinaus sind die Tools, mit denen wir Daten analysieren, zunehmend Open Source. Tatsächlich war ein Großteil der Werkzeuge (wie TensorFlow) von Tag 1 an Open Source, nicht ein Hagel Mary! Pass von einem proprietären Anbieter, der versucht, das schwindende Schicksal von t wiederzubeleben

3 schlechte Programmiergewohnheiten, die wir heimlich lieben

We all made it: grab a cookie when Mama was not looking, drank a bit too much wine for dinner and left the car in a parking lot after the meter ran out.

We even walked around Deadman’s bend a bit too fast. And yes, we’ve all violated any number of key programming rules. Those who all agree are bad. And we secretly liked it.

We have come to terms with the rules of good programming, written code that is totally bad – and we have lived. There were no flashes from the programming gods. Our desktops have not exploded. Our code was compiled and shipped, and customers seemed satisfied.

This is because poor programming is not in the same league as licking an electric fence or pulling a tiger’s tail. Mostly it works. The rules are more common guidelines or stylistic suggestions, not directives that must be obeyed, or the code death will follow. Sure, your code could be ridiculed, possibly even public. The fact that you oppose conventions adds a little to the thrill, even if you accidentally undermine what (usually) corresponds to the social customs of a pleasant code.

Sometimes, for reasons of complexity, it is better to break the rules. (Shhhh!) The code comes out cleaner. It can even be faster and easier. The rules are usually a bit too broad, and a skilled programmer can improve the code by breaking it. Do not tell your boss, but sometimes it makes sense to code your own way.

What follows is a list of nine rules that some consider to be unassailable, but many of us break frequently, both with success and pleasure.

Bad Programming Habit # 1: Copy

It is wrong to do this at school. At work, the rules are not so clear. There are certainly some code blocks that should not be stolen. If it’s proprietary code, do not fold it into your stack, especially if it’s marked with a copyright notice. Write your own version. You will be paid for it.

The more difficult question comes when the original creator wants to share. Maybe it’s in one of these online program forums. Maybe it’s open source code with a license (BSD, MIT) that allows you to use one or three functions. There is no legal reason to stop you. And you are paid to solve problems and not reinvent the wheel.

Mostly the advantages of copying are convincing and the disadvantages can be limited with a little care. At least one train of thought has been applied to the code you receive from a reputable source.

The original author sought a solution and found something. The loop invariants and the data flow have been worked out.

The tricky questions are whether there are some undetected errors or other assumptions about the role or the underlying data.

Maybe your code mixes in null pointers, while the original code never checked them. If you can fix the issues, your boss seems to be supported by two programmers. It’s a couple programming without the chic desks.

Bad Programming Habit # 2: Non-working code

In den letzten zehn Jahren ist das Funktionsparadigma aufgestiegen.

Die Experten für die Erstellung Ihres Programms aus verschachtelten Funktionen zitieren gerne Studien, die zeigen, wie sicherer und fehlerfreier der Code ist als die älteren Variablen- und Schleifenstile, die auf jede Art und Weise aneinandergereiht sind, die den Programmierer glücklich machen.

Die Anhänger sprechen mit dem Eifer der wahren Gläubigen und verurteilen in Code-Überprüfungen und Pull-Anfragen nicht-funktionale Ansätze. Sie haben vielleicht sogar Recht mit den Vorteilen.

Aber manchmal muss man nur eine Rolle Klebeband herausholen. Wunderbar entwickelter und elegant geplanter Code braucht Zeit, nicht nur um sich etwas vorzustellen, sondern auch um ihn zu konstruieren und später zu navigieren. Alle diese Schichten erhöhen die Komplexität, und Komplexität ist teuer.

Entwickler von schönem funktionalem Code müssen vorausplanen und sicherstellen, dass alle Daten auf geeigneten Wegen weitergeleitet werden. Manchmal ist es einfacher, eine Variable zu erreichen und zu ändern.

Vielleicht schreibe einen Kommentar, um es zu erklären. Sogar das Hinzufügen einer langen, krassen Entschuldigung zu zukünftigen Generationen im Kommentar ist schneller als das Neuarchitekturen des gesamten Systems, um es richtig zu machen.

Schlechte Programmiergewohnheit Nr. 3: Nicht standardmäßiger Abstand

Die meisten Leerzeichen in der Software wirken sich nicht auf die Leistung des Programms aus.

Abgesehen von einigen Sprachen wie Python, die den Abstand zur Angabe von Codeblöcken verwenden, haben die meisten Leerzeichen keine Auswirkung auf das Verhalten des Programms.

Even so, there are obsessive programmers who count them and insist they are important. One of them once told my boss in the most serious tone that I write „Non Standard Code“ and he can see it immediately. My sin? ESLint Space Infix Ops Rule violations by not inserting spaces on either side of an equals sign.