Ideale (Quer-)Einstiege in die Softwareentwicklung

Die Teilbereiche der Softwareentwicklung

Anforderungsanalyse (inklusive Erlernen der in Programmen abzubildenden Fachlichkeit)

Entwurf (z.B. Skizze der GUI)

Programmierung/Coden

Deployment

Testen

Dokumentation

Support

Bewertung der Quereinstiegsmöglichkeiten

Gute (Quer-)einstiegsmöglichkeiten in die Softwareentwicklung sind die nachgelagerten Teilbereiche Testen, Dokumentation und Support. Zusätzlich für IT-Admins noch das Deployment.

Die Programmierung, als komplexer Kernbereich der Softwareentwicklung, stellt eine hohe Einstiegshürde dar. Es erfordert sowohl beim Coach als auch beim Neuling viel Zeit und Aufwand, bis der Einsteiger einigermaßen produktiv ist und entsprechend noch länger, bis der beiderseitige Aufwand sich amortisiert hat.

Anforderungsanalyse und Entwurf sind wegen ihres Weichenstellungscharakters ebenfalls eher Senior-Softwareentwicklern vorbehalten. Dort könnten jedoch noch Experten des  durch die Software abzubildenden Fachbereichs, die Softwareentwickler mit gezieltem Knowhow-Transfer unterstützen.

SheetJS: Convert complete ExcelSHEET from Text to number

let myWorkbookSheet = workbook.Sheets["measurements"];
let rangeOfValueContainingCells = XLSX.utils.decode_range(myWorkbookSheet['!ref']);

/* change cell format of range. Remember: s = start, e = end; r = row, c = column. */
for(let i = rangeOfValueContainingCells.s.r; i <= rangeOfValueContainingCells.e.r; ++i) {
    for(let j = rangeOfValueContainingCells.s.c; j <= rangeOfValueContainingCells.e.c; ++j) {
        let cellAddress = XLSX.utils.encode_cell({r:i, c:j}); // encode_cell(...) transforms the index-notation (of Javascript) to the A1-notation (standard-notation in Excel, e.g. C3 or D7 ...)
        let cell = myWorkbookSheet[cellAddress];
        // cell.t is the type-property of the cell: b -> boolean, e -> error, n -> number, d -> date, s -> text, z -> stub
        cell.t = 'n';
    }
}

Three.js: The camera-object seems to remember its direction

Due to my question on stackoverflow wasn’t reopened yet – here’s the question and the answer on my blog:

Question

The camera position and direction are changed by pressing the arrow-up-button:

document.addEventListener("keydown", event => {
    if (event.keyCode === 38) {
        camera.position.set( 30, 30, 10 );
        camera.lookAt( 0, 0, 0 );
    }
});

But when after I pressed the arrow-up-button, I use the mouse to zoom, pan or rotate, e.g. by rolling the mouse wheel, the camera-object seems to have remembered the camera direction from before pressing the arrow-up-button.

Is there any cache I have to empty? Or do I have to update the camera-object?

Answer

It was not the camera-object, that remembered the direction,but the control-object (OrbitControl) in the property .target.

I fixed the issue with:        
control.target = new THREE.Vector3( 0, 0, 0);