Je résume la procédure :
rm -Rf ./node_modules
npm cache verify
npm cache clean --force
npm update
npm install
# Enjoy
Télécharger les tar.gz de Chromium pour Linux x64
Je suis une grande fan de Kimi no na wa, j'aime tout dans ce film et souvent les gens qui ne l'ont pas vu ont du mal de comprendre pourquoi je suis intarissable à son sujet. Alors j'essaie de leur expliquer mes impressions :
- Je leur raconte de l'histoire.
- Je leur évoque de l'émotion.
- Je leur décrit l'animation.
- Je leur parle la poésie.
- Je leur explique l'univers fantastique / mystique.
Dans la majorité des cas ils me disent ok ça à l'air d'être un bon film mais ça reste un "dessin animé", puis les clichés font le reste #EtÇaMeRendTrèsTriste
Mais pourquoi Kimi no na wa me touche-t-il autant ? Peut-être parce que pour moi ce n'est pas un film mais qu'il représente une expérience esthétique comme dirait @Kysofer ; et une expérience esthétique ça ne se décrit pas, ça s'éprouve, ça se vit, ça interagit avec votre être profond.
Aussi, j'aimerais vous faire partager un petit peu de cela au travers de cet extrait (sans spoil) de 15 secondes qui relate bien toute une part de ce truc que je pourrais appeler la "magie", la "beauté" ou encore la "poésie" mais qui finalement demeure indescriptible pour moi :
Quelle procédure à suivre pour mettre en place une rupture conventionnelle ?
Une page proposant tous les anciens JDK à télécharger.
Via Kalvn qui poste toujours des trucs qui me sont incroyablement utiles ! Thanks a lot :D
Un site qui répertorie les grands designs d'architectures (pour @animal et @doudou).
Beaucoup de choses appelées patterns ne le sont pas vraiment, on sent le côté buzz-word ou éléments de langage pour apporter de la crédibilité à son discours (surtout à des managers) mais bon, le marché étant ce qu'il est, mieux vaut s'adapter même si l'on n'est pas d'accord.
@Animal : nous en discutions hier soir mais tu peux aussi utiliser le maven-assembly-plugin
pour faire un fatjar, en lui demandant de dézipper les dépendances puis en rezippant le tout (un jar étant un zip dont l'extension est renommée .jar
).
@Sebsauvage : je me méfie un peu des news CNN remontées par Slate, les deux médias ne faisant pas partis des "meilleurs" ; après qu'est-ce qu'un média de qualité ?
Bref, c'est tout à fait possible que ce soit un coup de marketing pour relancer des compagnies aériennes en difficultés à cause du COVID. Qui nous dit que les voyageurs n'étaient pas les actionnaires de ces mêmes compagnies qui prirent les billets ? Ce serait un bon moyen pour se faire de la pub gratuitement, ça n'est pas idiot et ça ne coûte finalement pas grand chose - et puis la planète qui s'en fiche ?
Par contre, si c'est fait de manière innocente et naïve, alors c'est la version bourgeoise et très "esclave énergétique" de "on va se promener ?" et là il ne nous reste que des pluies acides pour pleurer.
A partir de quel moment on pourra se dire en dictature ou démocrature ?
@ZeSeb : je dirais il y a deux ans, quand la police mutilait des civils revêtus de gilets jaunes. Vous savez ceux-là (attention images NSFW).
A lire pour plus tard.
En étape (4) j'aurai réécrit l'historique de la branche sur la branche elle-même en faisant git push --force origin ma-branche
à la place de git push --force origin master
.
Cela a plusieurs avantages :
1) Je ne force pas la réécriture du master
à chaque fois, ce qui obligerait tout le monde à mettre à jour son HEAD si des merges sont fréquents de cette branche vers lui.
2) Cela permet encore d'effectuer une PR/MR pour une review de code.
3) Cela permet de travailler sur la branche sans perturber les autres.
4) Je peux rebase
ma branche autant de fois que nécessaire sans impact sur master
.
@Animal attends ton article suggèrerait-il que dès qu'un média (chaîne, journal, radio, site web) est détenu par un milliardaire, alors la propagande fait son entrée au profit de ce propriétaire en abusant de la censure voire des mensonges pour couvrir ses exactions et son agenda politique ?
Heureusement que ça n'existe pas en France... Oh wait... #ElectionsPrésidentiellesFrançaises #MacronEtSes17000UnesDansLesJournaux
Présentations des différentes façons de dévoiler les pensées de ses personnages.
Le "pensa-t-elle" n'est plus forcément nécessaire puisque l'on dispose de caractères en italic, dit autrement les évolutions techniques et technologiques permettent une évolution des styles et la fluidification des changements narratifs (dialogues, pensées, narration).
Une seule chose à retenir, il faut choisir une façon dès le début et s'y tenir tout au long de son histoire pour ne pas perdre ses lecteurs. #PrincipeDeMoindreSurprise
En un mot : wouah !
En une phrase : il ne s'agit pas d'une histoire de cannibalisme et sinon wouah !
Bon clairement - et pourtant je m'y attendais - je n'étais pas prête. Ceux qui ont l'habitude de me lire savent que je dors très peu (trop peu ?) et qu'aussitôt que ma moitié (qui se lève tôt) se couche tôt je prends un peu de temps pour moi pour lire ou regarder des trucs que nous ne visionnerions pas ensemble avec le même plaisir (centres d'intérêts pas pareils toussa).
Ce soir c'était le film d'animation japonaise Kimi no Suizou o Tabetai et ce fût une claque émotionnelle sans pareille ! Feelings hit me like a truck pour ceux qui ont la référence. Poétique, merveilleux, enjoué, dramatique, romantique, beau, ce qui est sûr c'est que moi aussi j'aurai souhaité manger son pancréas. Bref je vous avais recommandé Kimi no na wa et dans une moindre mesure Tenki no ko dans ce post mais là je vous assure que tout vaut le coup d’œil mais vraiment, l'histoire, les dialogues, l'animation, la réalisation, la magie, tout !
L'affiche du film en bonus :
Pour @Doudou et @Kysofer qui forgent une surcouche à Netty en ce moment.
Après y avoir réfléchi avec @Kysofer nous nous sommes dits hier soir que le moyen le plus efficace serait de décider que le web-server ne serve que du REST, alors mécaniquement les notions de Request
et Response
de Netty disparaitront au profit de quelque chose se rapprochant d'objets du type Exhange
ou Question
pour les demandes et Resource
et Result
pour les retours avec ou sans données, ce qui intrinsèquement ne porte pas la même sémantique.
Les nouveautés de Java 15 pour @Animal et @Doudou.
Merci à @Philou pour lien.
Pour @Lenny et @Kysofer qui doivent se servir de Netty.
EDIT 5: un cinquière tuto ici.
EDIT 4 : un quatrième tuto ici.
EDIT 3 : un troisième tuto ici.
EDIT 2 : un deuxième tuto ici.
EDIT : je viens de tomber sur ce tuto et quand je lis ce genre de code :
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
import io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import io.netty.handler.codec.http.websocketx.WebSocketFrame;
public class WebSocketHandler extends ChannelInboundHandlerAdapter {
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
if (msg instanceof WebSocketFrame) {
System.out.println("This is a WebSocket frame");
System.out.println("Client Channel : " + ctx.channel());
if (msg instanceof BinaryWebSocketFrame) {
System.out.println("BinaryWebSocketFrame Received : ");
System.out.println(((BinaryWebSocketFrame) msg).content());
} else if (msg instanceof TextWebSocketFrame) {
System.out.println("TextWebSocketFrame Received : ");
ctx.channel().writeAndFlush(
new TextWebSocketFrame("Message recieved : " + ((TextWebSocketFrame) msg).text()));
System.out.println(((TextWebSocketFrame) msg).text());
} else if (msg instanceof PingWebSocketFrame) {
System.out.println("PingWebSocketFrame Received : ");
System.out.println(((PingWebSocketFrame) msg).content());
} else if (msg instanceof PongWebSocketFrame) {
System.out.println("PongWebSocketFrame Received : ");
System.out.println(((PongWebSocketFrame) msg).content());
} else if (msg instanceof CloseWebSocketFrame) {
System.out.println("CloseWebSocketFrame Received : ");
System.out.println("ReasonText :" + ((CloseWebSocketFrame) msg).reasonText());
System.out.println("StatusCode : " + ((CloseWebSocketFrame) msg).statusCode());
} else {
System.out.println("Unsupported WebSocketFrame");
}
}
}
}
J'ai juste envie de pleurer (et je vais vous expliquer pourquoi). La programmation orientée objets reposent sur trois principes :
- L'encapsulation.
- Le polymorphisme.
- L'héritage (mais il faut l'oublier car c'est un anti-pattern).
Le polymorphisme, c'est le fait qu'une classe fille puisse se faire passer pour sa classe mère. L'idée étant que l'on doit organiser notre code de telle sorte que nous puissions TOUJOURS utiliser les super-types (classe mère abstraite ou interface). Or dès que l'on doit ajouter des conditions du type truc instanceof Class
c'est que l'on passe à côté du principale intérêt du polymorphisme : ne jamais avoir besoin de dépendre des implémentations.
Soyons clair, dans un code orienté objet je n'ai jamais eu besoin d'écrire des instanceof
et de toute ma vie, ce n'a dû m'arriver qu'une ou deux fois et parce que je dépendais d'un code aussi vieux que Java lui-même !
Bref, si vous codez en Java et que vous avez besoin des implémentations, pis encore des instanceof
et des casts, alors c'est que vous pensez en procédural et non en objet. Et pour tout ceux qui souhaitent apprendre à penser en objet, je les renvoie aux formations de Kysofer (car il m'a promis une com' si vous y aller de ma part :D) et il y a la pré-collection automne de Sezane qui me fait grave de l’œil si vous voulez...
Je suis dépitée d'apprendre son décès. J'ai adoré Dette 5000 ans d'histoire qui doit sûrement être son meilleur livre. D'ailleurs si vous croyez que le troque a existé, il est indispensable pour vous de le lire. Bullshit jobs est excellent aussi, deux indispensables.
Bref, au revoir camarade anarchiste.