Author: arvifox
Mobius 2017
PrimeSwing factorial
Provide different implementations of an interface
Use @Qualifier
@Qualifier @Documented @Retention(RUNTIME) public @interface Named { /** The name. */ String value() default ""; }
@Inject @Named("Database") Storage storageDB; @Inject @Named("Cache") Storage storageCache;
@Module public class AppModule { @Provides @Singleton @Named("Database") public Storage provideDatabaseStorage() { return new Database(); } @Provides @Singleton @Named("Cache") public Storage provideCacheStorage() { return new Cache(); } }
GIT: merge vs rebase
While merging and rebasing are similar in Git, they serve two different functions. Here’s what you should know to keep your histories as clean or as complete as you like.
The git rebase
command has a reputation for being magical Git voodoo that beginners should stay away from, but it can actually make life much easier for a development team when used with care. In this article, we’ll compare git rebase
with the related git merge
command and identify all of the potential opportunities to incorporate rebasing into the typical Git workflow.