Category: Développement

Un site web statique pour une communication professionnelle

2025-02-13
Un site web statique pour une communication professionnelle

Un nouveau projet de site web statique, "Comment dire professionnellement", propose des formulations alternatives pour les communications courantes en milieu professionnel afin de promouvoir le professionnalisme et d'éviter les malentendus. Les données proviennent du créateur de contenu Instagram @loewhaley. Le projet en est à ses débuts, l'auteur cherchant des retours de la communauté pour affiner son contenu et le rendre plus largement applicable. Le projet est open-source et les contributions et suggestions sont les bienvenues.

Développement basé sur le trunk : Adieu aux branches à longue durée de vie

2025-02-13
Développement basé sur le trunk : Adieu aux branches à longue durée de vie

Le développement de grands projets souffre souvent de longues fusions de branches et de conflits, ralentissant les sorties. Cet article présente le développement basé sur le trunk, où les équipes travaillent directement sur la branche principale, gérant les fonctionnalités incomplètes à l'aide de flags de fonctionnalités. Les flags de fonctionnalités statiques utilisent de simples instructions if, tandis que les flags de fonctionnalités dynamiques offrent un contrôle en temps réel via des systèmes externes, permettant des tests en production et des reversions. Cette approche, combinée à la livraison continue, permet des itérations plus rapides et une livraison de logiciels fiable, minimisant les risques et accélérant la boucle de rétroaction.

La cryptographie ne repose pas sur des problèmes NP-complets

2025-02-13

Cet article explique pourquoi la cryptographie ne repose pas sur des problèmes NP-complets. Bien que les problèmes NP-complets soient difficiles à résoudre rapidement, la cryptographie nécessite des problèmes difficiles en moyenne, c'est-à-dire qu'une instance choisie aléatoirement est difficile à casser. RSA en est un exemple ; il repose sur la difficulté de factoriser de grands nombres, ce qui est difficile en moyenne. Les problèmes NP-complets ne garantissent la difficulté que dans le pire des cas, et non la difficulté moyenne, ce qui les rend inadaptés à la cryptographie.

Développement problèmes NP-complets

Le côté obscur des dépendances logicielles : une crise de confiance et des risques pour la sécurité

2025-02-13
Le côté obscur des dépendances logicielles : une crise de confiance et des risques pour la sécurité

Le développement logiciel moderne repose fortement sur les bibliothèques tierces, ce qui crée des risques de sécurité importants. Cet article examine les types de dépendances logicielles, le rôle des gestionnaires de paquets et les problèmes qui en résultent, tels que les attaques de la chaîne d'approvisionnement, les logiciels malveillants et les portes dérobées. L'auteur souligne l'importance des audits réguliers des dépendances, de l'utilisation de signatures et de sources vérifiées, de la mise en œuvre de politiques de sécurité et de l'application du principe du moindre privilège. Des stratégies telles que la minimisation des dépendances et l'utilisation de bibliothèques standard bien entretenues sont également suggérées, concluant qu'il est crucial d'isoler et de contenir les logiciels non fiables pour atténuer les risques.

Accélérer le FFI de CRuby avec la compilation JIT

2025-02-12
Accélérer le FFI de CRuby avec la compilation JIT

Cet article explore l'utilisation de la compilation Just-In-Time (JIT) pour améliorer les performances de l'interface de fonction étrangère (FFI) de Ruby. Des benchmarks montrent les inconvénients de performance du FFI par rapport aux extensions natives. L'auteur présente FJIT, une solution utilisant RJIT et la génération de code machine personnalisé pour générer du code machine en temps réel afin d'appeler des fonctions externes, contournant ainsi la surcharge du FFI. FJIT surpasse les extensions natives dans les tests, offrant une alternative hautes performances aux développeurs Ruby. Actuellement un prototype ne supportant que ARM64, on s'attend à ce que FJIT s'étende à d'autres architectures et appels de fonctions plus complexes à l'avenir.

Développement

Reproductibilité des builds NixOS : mieux que vous ne le pensez

2025-02-12

La reproductibilité des builds de NixOS a longtemps été un sujet de controverse. Si son modèle de gestionnaire de paquets fonctionnel contribue à la reproductibilité des builds, il ne garantit pas la reproductibilité bit à bit pour toutes les builds. Un nouvel article de recherche étudie empiriquement Nixpkgs (la collection de paquets de NixOS) sur six ans, révélant un taux de reproductibilité en constante augmentation, passant de 69 % en 2017 à 91 % en avril 2023. L'étude identifie également les causes principales de non-reproductibilité, telles que les dates intégrées, les sorties uname, les variables d'environnement et les ID de build. Ces résultats montrent que même si Nixpkgs atteint déjà des taux de reproductibilité élevés, il reste une marge d'amélioration en s'attaquant à ces points. Cette recherche est cruciale pour accroître la confiance dans le protocole de substitution Nix et stimuler le développement de solutions de cache distribuées basées sur la reproductibilité des builds.

(luj.fr)

yknotify : Un rappel de contact pour YubiKey sur macOS

2025-02-12
yknotify : Un rappel de contact pour YubiKey sur macOS

yknotify est un outil en ligne de commande macOS qui surveille les journaux système pour les événements associés à une YubiKey attendant une action tactile, puis invite l'utilisateur. Il prend en charge FIDO2 et OpenPGP, identifiant des messages de journal spécifiques pour déterminer si un contact est nécessaire. Bien que de rares faux positifs existent, aucun faux négatif n'a été signalé. Les utilisateurs peuvent l'installer et l'exécuter ; les problèmes peuvent être signalés si des difficultés surviennent.

Développement

Imapsync : Votre solution de migration et de sauvegarde IMAP

2025-02-12

Imapsync est un outil en ligne de commande pour les transferts IMAP incrémentaux et récursifs entre boîtes aux lettres, partout sur Internet ou sur votre réseau local. Il prend en charge Windows, Linux et Mac OS X, et gère efficacement les transferts interrompus. Imapsync ne migre pas les contacts et les calendriers, mais propose des alternatives et un support professionnel robuste. À partir de 60 €, il inclut une garantie de remboursement de 30 jours. En 2024, il a traité plus de 200 millions de transferts de boîtes aux lettres, démontrant sa puissance et son importante base d'utilisateurs.

Développement migration d'email sauvegarde

arXivLabs : Développement de nouvelles fonctionnalités arXiv en collaboration avec la communauté

2025-02-12
arXivLabs : Développement de nouvelles fonctionnalités arXiv en collaboration avec la communauté

arXivLabs est un cadre expérimental permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur le site web. Les participants adhèrent aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Efficacité vs. Scalabilité Horizontale : Un Compromis Nécessaire ?

2025-02-12
Efficacité vs. Scalabilité Horizontale : Un Compromis Nécessaire ?

Cet article explore la tension entre l'efficacité des logiciels et la scalabilité horizontale. L'auteur soutient que les logiciels optimisés pour la scalabilité ont souvent de mauvaises performances dans les environnements monomoteurs, et vice versa. Cela découle de la loi d'Amdahl, des frais généraux de coordination et des limitations des ressources partagées. Les algorithmes efficaces reposent souvent sur des hypothèses concernant le système et le problème qui peuvent ne plus être vraies lors d'une scalabilité horizontale. L'auteur discute également des facteurs culturels et des types de tâches qui influencent les choix, en illustrant avec des exemples tels que la base de données Tigerbeetle et le GIL de CPython. En fin de compte, une compréhension approfondie du problème et de l'environnement est essentielle pour atteindre une haute efficacité et une haute scalabilité.

Développement

Plugin LLM pour le tri sémantique des lignes

2025-02-12
Plugin LLM pour le tri sémantique des lignes

Ce plugin en ligne de commande utilise un grand modèle de langage (LLM) pour trier sémantiquement les lignes de texte. Similaire à la commande GNU `sort`, mais au lieu de l'ordre alphabétique, il classe les lignes en fonction de leur pertinence sémantique à une requête donnée. L'entrée peut provenir de fichiers ou de l'entrée standard. Les utilisateurs peuvent personnaliser la méthode de tri, la limite de sortie, le modèle et le modèle de prompt. Un modèle de prompt par défaut est fourni, mais la personnalisation est prise en charge. L'installation est simple : cloner le code, créer un environnement virtuel et installer les dépendances.

Développement Tri Sémantique

Adieu CleanMyDrive : un script xbar pratique

2025-02-12
Adieu CleanMyDrive : un script xbar pratique

Suite à l’arrêt de CleanMyDrive, l’auteur a cherché une solution de remplacement pour supprimer les fichiers de métadonnées macOS (._ et .DS_Store) qui peuvent perturber d’autres appareils. Le résultat ? Un script xbar concis offrant un élément de menu pour éjecter, démonter ou éjecter toutes les unités (avec ou sans nettoyage). Une solution simple et fonctionnelle pour un problème macOS courant.

Développement nettoyage système

Top 100 des conférences d'ingénierie logicielle de 2024

2025-02-12
Top 100 des conférences d'ingénierie logicielle de 2024

Cette liste compile les 100 conférences d'ingénierie logicielle les plus regardées de presque toutes les grandes conférences mondiales en 2024. Les sujets vont des applications pratiques des grands modèles linguistiques et des techniques de haute performance en Rust et Java, aux meilleures pratiques en développement web moderne et en ingénierie de fiabilité. Les conférences les plus remarquables incluent le regard perspicace de Jodie Burchell sur les LLM et l'explication de Martin Thwaites sur OpenTelemetry, toutes deux ayant dépassé les 130 000 vues. Cette liste sélectionnée offre une ressource précieuse aux ingénieurs logiciels cherchant à élargir leurs connaissances et compétences.

Syd : Un noyau robuste de bac à sable Linux basé sur Rust

2025-02-12
Syd : Un noyau robuste de bac à sable Linux basé sur Rust

Syd est un noyau d'application robuste sous licence GPL-3, écrit en Rust pour le sandboxing d'applications sur les systèmes Linux (5.19 et versions ultérieures). Évoluant à partir d'un outil de détection d'erreurs de compilation de paquets dans Exherbo Linux, Syd fournit désormais une limite de sécurité robuste. Tirant parti des API Linux modernes, il élimine les vulnérabilités TOCTTOU. Contrairement à d'autres outils de sandboxing, Syd fonctionne sans privilèges supplémentaires, offrant une interface simple aux mécanismes complexes de sandboxing. Les fonctionnalités incluent le sandboxing de chemins, le contrôle d'exécution, le sandboxing réseau et des fonctionnalités avancées telles que le sandboxing de verrouillage et le sandboxing proxy. Il est conçu pour un isolement et une sécurité robustes des applications.

Développement bac à sable Linux

PgAssistant : Votre assistant de performance pour PostgreSQL

2025-02-12
PgAssistant : Votre assistant de performance pour PostgreSQL

PgAssistant est un outil open source conçu pour aider les développeurs à comprendre et à optimiser les performances de leur base de données PostgreSQL. Il fournit une analyse du comportement de la base de données, une optimisation du schéma et une gestion de la bibliothèque de requêtes SQL. L'intégration avec OpenAI ou des LLM locaux aide à optimiser les requêtes SQL. Une interface conviviale simplifie l'utilisation, et un fichier JSON gère la bibliothèque de requêtes SQL. Il intègre également PGTune pour le réglage des paramètres de la base de données et la génération de fichiers Docker Compose.

Développement

arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

2025-02-12
arXivLabs : Projets expérimentaux avec des collaborateurs communautaires

arXivLabs est un framework permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données utilisateur. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Compiler ou non les requêtes de base de données : une plongée en profondeur

2025-02-12

Cet article explore les compromis liés à la compilation des requêtes de base de données. Les interpréteurs de requêtes traditionnels luttent contre la vitesse des SSD NVMe modernes, ce qui entraîne d’importants goulots d’étranglement en termes de performances. La compilation des requêtes offre des améliorations de vitesse substantielles, en particulier pour les charges de travail OLAP. Cependant, le temps de compilation et les défis d’optimisation créent des falaises de performances imprévisibles. Les interpréteurs vectorisés, à l’inverse, sont plus faciles à construire, à déboguer et offrent des performances plus cohérentes. L’article oppose cela aux moteurs de navigateur JavaScript/Wasm, qui utilisent une approche de compilation à plusieurs niveaux (interpréteur, compilateur de base, compilateur optimisant) pour obtenir un compromis de performances harmonieux. L’auteur propose une approche similaire pour les bases de données, en suggérant un compilateur de base comme composant clé. Plusieurs stratégies de mise en œuvre, notamment « copier-coller » et la compilation Wasm, sont explorées. En fin de compte, l’article soutient que la création d’un compilateur de base n’est pas excessivement difficile et offre des perspectives sur les orientations futures.

La Trinité d'Unix : dmr, kt et bwk

2025-02-12

Dans l'histoire d'Unix, les initiales dmr, kt et bwk représentent des figures légendaires : Dennis M. Ritchie (dmr), co-créateur d'Unix et du langage de programmation C ; Ken Thompson (kt), co-créateur d'Unix aux côtés de Ritchie ; et Brian W. Kernighan (bwk), co-auteur de programmes et de livres influents d'Unix, tels que "Le langage de programmation C" et "L'environnement de programmation UNIX". Ces trois géants ont façonné les bases d'Unix et ont profondément influencé l'informatique moderne.

Développement

Programmation intentionnelle en Joy : introspection avec un seul opérateur

2025-02-12

Cet article explore la programmation intentionnelle en Joy, un langage de programmation fonctionnel basé sur une pile. Joy est lui-même extensionnel, sans la capacité de « décomposer » les blocs de code. L’auteur propose deux opérateurs intentionnels : « map » et « quota », démontrant leur expressibilité mutuelle. Bien que comportementalement équivalents, les programmes intentionnels peuvent distinguer un seul opérateur d’un sous-programme comportant plusieurs commandes. Cela ouvre des voies pour explorer des notions plus faibles d’équivalence dans les langages intentionnels et démontre une approche robuste pour introduire l’intentionnalité dans les langages minimalistes comme Joy.

Mikey : Enregistreur audio, transcripteur et générateur de notes de réunion

2025-02-12
Mikey : Enregistreur audio, transcripteur et générateur de notes de réunion

Mikey est une application permettant d'enregistrer de l'audio, de le transcrire à l'aide de l'API Groq et de générer automatiquement des notes de réunion. Son interface graphique conviviale PyQt offre une expérience transparente pour gérer les enregistrements, visualiser les transcriptions et explorer les sessions enregistrées. Il utilise pyaudiowpatch pour l'enregistrement audio, l'API Groq pour la transcription et un modèle conversationnel pour générer des notes de réunion concises. Un exécutable autonome peut être créé pour faciliter la distribution.

Skies-ADSB v2.0 : Affichage du trafic aérien 3D en temps réel dans votre navigateur

2025-02-12
Skies-ADSB v2.0 : Affichage du trafic aérien 3D en temps réel dans votre navigateur

Skies-ADSB transforme votre navigateur en un affichage 3D du trafic aérien en temps réel. En utilisant les données ADS-B d'un récepteur RTL-SDR, vous pouvez explorer le trafic aérien local, l'espace aérien environnant et la géographie avec des cartes 3D personnalisables. Construit avec JavaScript, HTML5, CSS, Python 3 et WebGL (Three.js), il fonctionne sur les principaux navigateurs modernes. La version 2.0 inclut des modifications importantes par rapport à la version 1.x, nécessitant une réinstallation. Les utilisateurs peuvent signaler des bogues, demander des fonctionnalités et suggérer des améliorations via le système de suivi des problèmes. Le projet remercie Andre Thais CFI et Frank E. Hernandez pour leurs contributions et utilise les données cartographiques du domaine public de Natural Earth et OpenStreetMap.

Le nœud gordien des changements de schéma en ligne et des clés étrangères dans MySQL

2025-02-12
Le nœud gordien des changements de schéma en ligne et des clés étrangères dans MySQL

Cet article analyse les défis inhérents aux changements de schéma en ligne dans MySQL, en particulier lorsqu'il s'agit de tables liées par des relations de clés étrangères. L'auteur analyse les limites des outils existants, tels que pt-online-schema-change et gh-ost, en soulignant les complexités et les risques liés à la modification des tables parentes. Modifier une table parente nécessite des modifications simultanées de toutes les tables enfants, créant un processus fragile avec une tolérance minimale aux erreurs. Une seule défaillance peut entraîner des incohérences de données ou des pannes. L'auteur conclut que les changements de schéma en ligne impliquant des contraintes de clés étrangères sur les grandes tables sont pratiquement irréalisables.

Guide ultime des outils de surveillance de fichiers : aperçu complet

2025-02-12

Cet article fournit une liste complète des outils de surveillance de fichiers, couvrant divers langages de programmation, licences et fonctionnalités. Des anciens wrappers inotify aux outils modernes écrits en Rust et Python tels que watchexec, l’article compare méticuleusement les avantages et les inconvénients de chaque outil, les dépendances et la prise en charge des paquets Debian. L’auteur partage également ses expériences personnelles et les défis rencontrés, tels que l’utilisation des unités systemd .path et les limitations de watchman. Les développeurs et les administrateurs système trouveront cette ressource inestimable pour choisir le bon outil de surveillance de fichiers pour leurs besoins.

Développement surveillance de fichiers

Clones superficiels Git : problèmes de performances et l'optimisation de profondeur 2

2025-02-12
Clones superficiels Git : problèmes de performances et l'optimisation de profondeur 2

Les clones superficiels Git (`--depth 1`) peuvent impacter significativement les performances lors du premier push. Cela est dû au fait que les clones superficiels marquent artificiellement certains commits comme commits racines, empêchant le serveur d'utiliser des optimisations et nécessitant la transmission de l'intégralité de l'instantané du commit. Utiliser des clones profonds (`--depth 2`) préserve cependant un historique complet des commits, permettant au serveur d'utiliser des optimisations même lors du premier push, réduisant ainsi le transfert de données et améliorant significativement la vitesse du push. Les pushs suivants ne sont pas affectés.

Développement clone superficiel

La correction de bogues de concurrence dans le plugin AWS SSM permet le SSH distant de VS Code

2025-02-12
La correction de bogues de concurrence dans le plugin AWS SSM permet le SSH distant de VS Code

Un jeune diplômé de Stanford chez Formal, en résolvant un problème client concernant la connexion SSH distante de Visual Studio Code à des instances AWS EC2 pour l'apprentissage automatique, a découvert et corrigé plusieurs bogues de concurrence dans la bibliothèque de référence AWS SSM. Le problème provenait d'un support insuffisant du transfert de port TCP/IP dans le connecteur Formal, empêchant VS Code d'initialiser correctement l'environnement de développement distant. La correction a nécessité des analyses approfondies des protocoles SSH et SSM, résolvant finalement les problèmes de concurrence de données et de numérotation séquentielle en modifiant le plugin AWS Session Manager. Cela permet désormais des connexions SSH distantes sécurisées de VS Code via le connecteur Formal.

Communauté accidentelle : comment une page web statique a déclenché le mouvement Local-First

2025-02-12
Communauté accidentelle : comment une page web statique a déclenché le mouvement Local-First

Un ancien ingénieur de Facebook, alors qu'il naviguait à travers le monde, a développé TinyBase, un stockage de données local-first. Il a ensuite créé un simple site web statique, localfirstweb.dev, pour organiser et promouvoir le concept. Inattendument, le site est devenu viral, attirant des développeurs et donnant naissance à une communauté Discord florissante créée par Yonatan, diplômé de la Harvard Business School. Cela montre comment une action apparemment mineure peut créer un puissant effet boule de neige, soulignant le potentiel du mouvement de développement de logiciels local-first.

Développement

Du HTML manuel à Zola : Mon parcours de migration de blog

2025-02-12

Clayton Ramsey partage son expérience de migration de son blog personnel, initialement codé manuellement en HTML, vers le générateur de sites statiques Zola. Au départ, il trouvait la création manuelle de HTML gérable, mais les tâches répétitives de manipulation de formules mathématiques (à l'aide de MathML), de mise en évidence du code et de maintenance des barres de navigation sont devenues pénibles. Il est passé à Zola, utilisant un script Python pour convertir LaTeX en MathML, automatisant ainsi le processus de déploiement. Bien qu'il ait rencontré des difficultés avec la configuration YAML de GitHub Actions, il a constaté que la migration avait considérablement amélioré l'efficacité et réduit la barrière à l'entrée pour la rédaction de nouveaux articles.

Développement migration de blog

Jujutsu : Un système de contrôle de version révolutionnaire

2025-02-12
Jujutsu : Un système de contrôle de version révolutionnaire

Jujutsu est un nouveau système de contrôle de version qui reprend les meilleures fonctionnalités de Git, Mercurial et Darcs, et y ajoute plusieurs fonctionnalités innovantes. Il traite la copie de travail comme un commit, simplifiant ainsi le modèle de données et les algorithmes ; un journal des opérations et une fonction d'annulation facilitent le débogage ; le rebase automatique et la résolution des conflits améliorent l'efficacité du flux de travail ; et il prend en charge la réplication concurrente, ce qui le rend sûr pour une utilisation avec les systèmes de fichiers distribués. Bien qu'il soit encore expérimental, Jujutsu présente un potentiel immense pour devenir un système de contrôle de version de nouvelle génération leader.

Développement

JetBrains change de cap sur les outils Kotlin Multiplatform : pas d'IDE indépendant

2025-02-12
JetBrains change de cap sur les outils Kotlin Multiplatform : pas d'IDE indépendant

JetBrains a annoncé un changement de direction pour ses outils Kotlin Multiplatform (KMP). Au lieu d'un IDE indépendant, ils se concentreront sur l'amélioration du support KMP au sein de la plateforme IntelliJ (IntelliJ IDEA et Android Studio). Le support KMP dans leur IDE Fleet sera abandonné dans les trois prochains mois. Ce changement priorise les retours utilisateurs et exploite les progrès de l'IA pour améliorer l'expérience développeur.

Migration des achats de compte Apple : guide complet

2025-02-12

Ce guide détaille comment migrer les applications, la musique et autre contenu acheté d’un compte Apple secondaire vers un compte principal. Plusieurs conditions préalables doivent être remplies, notamment : les deux comptes doivent être distincts, l’authentification à deux facteurs doit être activée, ils doivent être configurés dans la même région et le compte secondaire doit avoir un solde nul sans location ni précommande en suspens. Le processus de migration s’effectue dans les paramètres de votre iPhone ou iPad. Ensuite, le compte secondaire ne pourra plus être utilisé pour les médias et les achats. Le guide énumère également plusieurs raisons pour lesquelles la migration pourrait échouer, telles que des types de compte incompatibles ou un statut de compte inhabituel, ce qui en fait une ressource très utile.

1 2 162 163 164 166 168 169 170 214 215