|
|
|
|
Wenn du diese ganzen Dinge täglich nutzt, klingt dein Job ziemlich interessant. Das beißt sich mit den rants, die du hier häufig schreibst.
|
|
|
|
|
|
|
¤: Ich habe nie gesagt es sei nicht spannend, nur mühsam
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von SwissBushIndian am 30.03.2019 10:13]
|
|
|
|
|
|
Der Refactoring-Support von der Kiste ist echt erste Sahne. Das ist echt ne Sache wo das Java-Tooling viel viel besser ist als alles was ich für andere Sprachen (ala C, Python, C++, ...) kenne. Wie wundervoll einfach es damit ist Dinge umzustrukturieren.
Ansonsten ist IntelliJ auch super darin Boilerplate vorwegzunehmen. Neue Klasse --> von Interface Blah -> Und generier mir schonmal Stubs für alles. Linting und Analyse ist arg gut. Introspektion funktioniert super. Integration über Sprachgrenzen hinweg, etwa Java und Kotlin, ist qualitativ im Grunde Kraut-Space-Magic.
Database-Browser ist ziemlich nice. Nicht SSMS-Nice, aber schon ziemlich nice. Lässt sich relativ gut über das Data-Sources-Framework ans Projekt kuppeln, sodass man live in der Prod-DB rumstochern kann man sich die dockerisierte Testumgebung anschauen kann.
Die ganzen Java-Features gibt es so in der Art auch für z.B. Python, aber idR mit deutlich weniger Funktionalität und mit deutlich häufigeren Fehlern, was primär an Python liegt und weniger an IntelliJ. Ohne IntelliJ würde ich Python tendenziell nicht mehr anfassen.
|
|
|
|
|
|
|
| Zitat von csde_rats
Ohne IntelliJ würde ich Python tendenziell nicht mehr anfassen.
| |
Was denn sonst?
|
|
|
|
|
|
|
Ich wollte Zuhause mal wieder was mit C# programmieren. Ist schon etwas her. Deshalb die Frage: Visual Studio oder Visual Studio Code verwenden?
Würde gerne in "VSC" mal etwas Erfahrung sammeln, aber weiß nicht so ganz wie gut da der Support mittlerweile ist für C# (und .Net). Bzw. ob die kostenlose Version von Visual Studio auch nur Semi taugt?!
|
|
|
|
|
|
|
| Zitat von Oli
| Zitat von csde_rats
Ohne IntelliJ würde ich Python tendenziell nicht mehr anfassen.
| |
Was denn sonst?
| |
Landschaftsgärtner soll ein schöner Beruf sein.
|
|
|
|
|
|
|
Ne, sag mal was deine language of choice momentan ist.
|
|
|
|
|
|
|
Also Python ist nur meine language of choice für code glue oder deep learning Kram. Für alles andere bevorzuge ich statically typed Sprachen. Java ist nicht so sehr geil (das beste an Java ist deployment, so viel besser als C etc.), aber Kotlin ist 1a! Modernes C++ ist super, aber ich habe darin lange nicht mehr gearbeitet. Rust fände ich wahrscheinlich auch cool, hätte ich es mal ausprobiert.
|
|
|
|
|
|
|
| Zitat von Gepan.3dsvs.com
Ich wollte Zuhause mal wieder was mit C# programmieren. Ist schon etwas her. Deshalb die Frage: Visual Studio oder Visual Studio Code verwenden?
Würde gerne in "VSC" mal etwas Erfahrung sammeln, aber weiß nicht so ganz wie gut da der Support mittlerweile ist für C# (und .Net). Bzw. ob die kostenlose Version von Visual Studio auch nur Semi taugt?!
| |
Ich mache alles mit VSCode, weil es Visual Studio halt nicht für Linux gibt. Das command line Tooling für dotnet core ist sehr gut, und Code ist ziemlich gut als Editor. Das C# Plugin funktioniert gut. Jo, kann man gut machen. Für .NET Framework (nicht core) oder GUI Applikationen ist das natürlich nix, da sollte man Studio nehmen. Aber für dotnet core würde ich durch Gewohnheit inzwischnen wahrscheinlich sogar Code vorziehen.
|
|
|
|
|
|
|
| Zitat von PutzFrau
(das beste an Java ist deployment, so viel besser als C etc.)
| |
Das ist es halt. Java die Sprache: sehr meh. Das JVM Ökosystem: sehr nice.
¤: Ich bin zu blöd zum editieren.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 30.03.2019 12:44]
|
|
|
|
|
|
| Zitat von Oli
Ne, sag mal was deine language of choice momentan ist.
| |
Schwierig. Am liebsten hätte ich ein bequemeres Rust oder ein weniger blödes C++. Bequemheit bei Rust ist halt ein echtes Problem. Ich hab inzwischen mehrere kleine Projekte versucht in Rust zu machen und immer relativ schnell es sein gelassen weil es so eine unbequeme Sprache ist.
Python ist jetzt auch nicht schlecht oder so, aber die Sprache ist halt aus Purismus-Sicht ziemlich vermurkst und eine der wenigen Sprachen, wo ein Statement wie "Sprache X ist langsam" tatsächlich Sinn ergibt einfach weil alles in Python langsam ist. Klar, Pypy, da hängt dann ein ganz anderer Rattenschwanz dran. Für Skripte, Webgeraffel und Desktopschranz der langsam sein kann, ist das nach wie vor meine erste Wahl, aber man muss sich halt im klaren sein, dass Deployment halt einfach plattformunabhängig Mist ist (Windows ist ironischerweise am unproblematischsten, weil man unter Windows tatsächlich einfach Binaries rumwerfen kann, die FUNKTIONIEREN, während Binaries unter Linux generell nicht zwischen Systemen portabel sind).
|
|
|
|
|
|
|
| Zitat von SwissBushIndian
Ich mache alles mit VSCode, weil es Visual Studio halt nicht für Linux gibt.
| |
Probier doch mal Rider
|
|
|
|
|
|
|
Habe ich, und hat mich als erstes Produkt von Jetbrains tatsächlich ein wenig enttäuscht. Ist aber schon eine ganze Weile her, und core support soll ja inzwischen viel besser sein. Ich habe jedoch keine Lizenz, und kommt daher erstmal beruflich nicht in Frage, weil VSCode erstaunlicherweise gut genug ist für mich.
|
|
|
|
|
|
|
PyCharm finde ich auch nicht so geil, aber ich benutze es, weil ich auch IntelliJ IDEA benutze und damit im gleichen Ökosystem bin. Man kann zwar eine conda environment für den interpreter bestimmen, die environment variablen werden aber nicht übernommen - was da los?
|
|
|
|
|
|
|
Ich finde die PyCharm Sachen genial, aber ich kann auch kein Python und nutze das als portables Bash. Daher bin ich happy genug, wenn venv tut.
Fun Fact: seit PS 6.0 Core nutzen wir tatsächlich Powershell überall, weil das einfach läuft und zum grössten Teil 5.0 kompatibel ist und daher mit W10 und den jeweiligen Serverversionen kompatibel. Also Oli, das ist wieder so ein Punkt
|
|
|
|
|
|
|
Keine Ahnung ob das hier der passende Thread ist, aber naja.
Da mich die Vorträge aufm CCC über Tamagotchi, Drucker, Konsolen "hacken" immer interessiert haben, dachte ich mir ich versuchs auch mal.
Hab mir dieses Teil hier geholt:
Dachte ich würde den EEPROM einfach mit meinem Raspberry Pi auslesen / schreiben. Der 128mbit TSOP-56 Parallel NOR Flash da drin hat mich dann doch leicht überrascht.
S29GL128N10TFI01 von SPANSION.
https://www.datasheets.com/datasheet/s29gl128n10tfi01-cypress-semiconductor-34778028
Naja, erstmal n TSOP-56 Adapter bestellt und jetzt mal schauen wie's dann weiter geht.
In den nächsten Tagen / Wochen müssten irgendwann auch meine "Soulja Boy" Konsolen eintrüdeln, die waren eigentlich meine erste Idee.
|
|
|
|
|
|
|
Nice.
|
|
|
|
|
|
|
| Zitat von Anzeige
[mod]Nichts zu pOT-lnformatik, Mathematik, Physik XXII gefunden, Rootsquash?
Versuch`s doch mal hier![/mod]
| |
Ha, war ein paar Sekunden lang verwirrt.
|
|
|
|
|
|
|
Ist das hier auch so ein bisschen der Thread für Hilfesuchende?
<- Kein Mathegenie!
Ich habe Bewertungen von 1 = beste bis 4 = schlechteste. Daraus sollen Prozentwerte berechnet werden. Entsprechend 1 = 100% bis 4 = 0%.
Ich bin vollkommen ohne Ansatz und alle meine bisherigen Versuche führen zu komischen Zahlen.
Zu hülf.
|
|
|
|
|
|
|
| Zitat von Selenic
Ist das hier auch so ein bisschen der Thread für Hilfesuchende?
<- Kein Mathegenie!
Ich habe Bewertungen von 1 = beste bis 4 = schlechteste. Daraus sollen Prozentwerte berechnet werden. Entsprechend 1 = 100% bis 4 = 0%.
Ich bin vollkommen ohne Ansatz und alle meine bisherigen Versuche führen zu komischen Zahlen.
Zu hülf.
| |
Wenn die 4 den 0% zugeordnet werden, hast du 3 noch drei Stufen bis 100% also 1/3, 2/3 und 3/3. Dementsprechend sind die Prozente 33% und 67%.
|
|
|
|
|
|
|
Danke!
(4-X)/3 = Prozentwert
X = Wert von 1 bis 4
So kann ich damit arbeiten.
|
|
|
|
|
|
|
Ich bin jetzt Adjunct Teaching Fellow! \o/
...was eine unbezahlte Stelle ist.
Ich bin ausgeschlafen; ich hatte heute drei Tassen Kaffee.
|
|
|
|
|
|
|
Ich arbeite mich gerade durch Thinking in Java um meine Programmierfähigkeiten auf etwas bessere Beine zu stellen.
Da ist folgender Code aufgetaucht:
|
Code: |
import java.util.*;
class ReversibleArrayList<T> extends ArrayList<T> {
public ReversibleArrayList(Collection<T> c) { super(c); }
public Iterable<T> reversed() {
return new Iterable<T>() {
public Iterator<T> iterator() {
return new Iterator<T>() {
int current = size() - 1;
public boolean hasNext() { return current > -1; }
public T next() { return get(current--); }
public void remove() { // Not implemented
throw new UnsupportedOperationException();
}
};
}
};
}
} |
|
Ich habe Schwierigkeiten dieses Konstrukt so richtig zu verstehen. Der innere Teil, wo das Interator<T> Objekt zurückgegeben wird ist mir klar. Aber warum ist new Iterable<T>() erlaubt? Instanziiere ich damit nicht ein Interface (Iterable)?
Irgendwo biegt mein Hirn hier falsch ab.
|
|
|
|
|
|
|
Java ist so eine hübsche Sprache.
Ich denke hier wird das selbe Syntax-Konstrukt zweimal verwendet, einmal für return new Iterable<T>() und einmal für return new Iterator<T>() . Dabei wird eine neue (anonyme) Klasse definiert, die das jeweilige Interface implementiert und diese neue Klasse wird dann genau einmal instanziiert. Deshalb ist dahinter auch ein Body in dem die notwendigen Methoden implementiert werden.
Du könntest den Code auch in einer längeren Form schreiben indem du eine class ReversibleArrayListIterator definierst, die iterator genauso implementiert wie in deinem Beispiel und dann in reversed() eine Instanz davon zurückgeben.
|
|
|
|
|
|
|
Ah, jetzt macht's Sinn. Ich hatte vergessen was die Syntax von Anonymen Klassen bedeutet.
|
Code: |
return new Iterable<T>() |
|
bedeutet de facto sowas wie
|
Code: |
return new MyClass<T> implements Iterable<T> |
|
Es wird also nicht versucht das Interface zu instanziieren.
Danke für den Schubser
Ist sowas eigentlich "good practice"?
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Dumenikl am 03.04.2019 11:45]
|
|
|
|
|
|
Java ist so eine hübsche Sprache
Ich hoffe, das ist Sarkasmus
Dumenikl, ich persönlich finde, dass anonyme Klassen den Lesefluss stören. Die einzige Ausnahme sind functional interfaces mit sehr kurzer Implementierung und dafür gibt es lambdas, außer natürlich man heißt SBI.
Und weil es sein muss: Kotlin ist das bessere Java
|
|
|
|
|
|
|
Du Arsch
¤: Anonyme Klassen können es schwierig machen den Teil zu unittesten, wenn sie in einer zu grossen Unit enthalten sind.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 03.04.2019 13:37]
|
|
|
|
|
|
| Zitat von SwissBushIndian
Du Arsch
| |
Habe natürlich noch Methodenreferencen (warum klingt alles Programmierrelevante so seltsam auf Deutsch) vergessen.
|
¤: Anonyme Klassen können es schwierig machen den Teil zu unittesten, wenn sie in einer zu grossen Unit enthalten sind.
| |
Das ist noch ein weiterer guter Punkt. Für mich (arbeite in ja in wissenschaftlicher open-source Umgebung, wo keiner richtig für Tests kehrt) ist die Lesbarkeit aber deutlich schwerwiegender (wie eure Mütter): Wenn eine anonyme Klasse in hundert Zeilen beschreibt, wie sie Mütter zerfickt, dann ist das zwar schön zu lesen, aber am Ende habe ich dann doch vergessen, was der Code außen rum machen soll. Eine Klasse mit passendem Namen, z.B. ZerficktMütter, bringt das dann schon ganz gut auf den Punkt und ich vergesse nicht, was sonst so passiert.
|
|
|
|
|
|
|
Ich suche aus gegebenen Anlass einen guten DotNet Obfuscator / Anti-Debugger.
Folgende Tools hab ich mir mal angesehen:
- ILProtector
- Dotfuscator
- Confuser
Hat jemand schon Erfahrung mit diesen oder ähnlichen Tools und evtl. ne Empfehlung?
|
|
|
|
|
|
|
Was ist denn der gegebene Anlass?
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XXII ( Jetzt nehmen uns Computer schon die Memes weg! ) |