See how a minor change to your commit message style can make you a better programmer.
Format: <type>(<scope>): <subject>
<scope>
is optional
This only verified for reinstall - | |
- Jun's Loader 1.04b | |
- DSM_DS918+_24922.pat 6.2.2 | |
===== check current maxlanport ===== | |
user@DiskStation:/etc.defaults$ cat synoinfo.conf|grep maxlan | |
maxlanport="2" | |
=====modify synoinfo.conf ===== | |
user@DiskStation:/etc.defaults$ sudo vi synoinfo.conf |
PlantUML is a really awesome way to create diagrams by writing code instead of drawing and dragging visual elements. Markdown is a really nice documentation tool.
Here's how I combine the two, to create docs with embedded diagrams.
Get the command-line PlantUML from the download page or your relevant package manager.
import org.apache.commons.logging.LogFactory | |
import org.springframework.beans.BeansException | |
import org.springframework.context.ApplicationContext | |
import org.springframework.context.ApplicationContextAware | |
import org.springframework.context.annotation.ImportResource | |
import org.springframework.context.support.GenericXmlApplicationContext | |
import org.springframework.core.io.Resource | |
import org.springframework.stereotype.Component | |
import javax.annotation.PostConstruct |
import org.bouncycastle.util.encoders.Hex; | |
import org.web3j.crypto.*; | |
import java.math.BigInteger; | |
public class ECCExample { | |
public static String compressPubKey(BigInteger pubKey) { | |
String pubKeyYPrefix = pubKey.testBit(0) ? "03" : "02"; | |
String pubKeyHex = pubKey.toString(16); | |
String pubKeyX = pubKeyHex.substring(0, 64); |
From years of watching master programmers, I have observed certain common patterns in their workflows. From years of coaching skilled journeyman programmers, I have observed the absence of those patterns. I have seen what a difference introducing the patterns can make. Here are ways effective programmers get the most out of their precious 3e9 seconds on the planet. The theme here is scaling your brain. The journeyman learns to solve bigger problems by solving more problems at once. The master learns to solve even bigger problems than that by solving fewer problems at once. Part of the wisdom is subdividing so that integrating the separate solutions will be a smaller problem than just solving them together.
Slicing - Take a big project, cut it into thin slices, and rearrange the slices to suit your context. I can always slice projects finer and I can always find new permutations of the slices that meet different needs
import org.springframework.context.annotation.Bean; | |
import org.springframework.http.HttpHeaders; | |
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; | |
import org.springframework.security.config.web.server.ServerHttpSecurity; | |
import org.springframework.security.web.server.SecurityWebFilterChain; | |
import org.springframework.web.cors.CorsConfiguration; | |
import org.springframework.web.cors.reactive.CorsConfigurationSource; | |
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; | |
import java.util.ArrayList; |
import akka.actor.ActorSystem | |
import akka.http.scaladsl.Http | |
import akka.http.scaladsl.server.{Directives, Route} | |
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport | |
import spray.json._ | |
import scala.concurrent.{ExecutionContextExecutor, Future} | |
/** |
upstream nexus_admin { server 192.168.2.233:8081 ; } | |
upstream nexus_registry { server 192.168.2.233:8082 ; } | |
server { | |
listen 80; | |
listen 443 ssl; | |
server_name registry.docker.com; | |
access_log /dev/null; | |
error_log /var/nginx/logs/registry.docker.com.error.log; | |
ssl_certificate /etc/nginx/cert/registry.docker.com_server.crt; |