some codes when learning NettyPractice