精华内容
下载资源
问答
  • LaTeX:附录加到目录

    万次阅读 2012-07-02 13:21:29
    附录用\chapter*{} 然后用\addcontentsline{toc}{chapter}{Appendix}自己加目录

    附录用\chapter*{}


    然后用 \addcontentsline{toc}{chapter}{Appendix}自己加目录了
    展开全文
  • SpringBoot附录

    2016-03-14 17:21:56
    附录A. 常见应用属性 http://blog.csdn.net/jsyxcjw/article/details/46764447 你可以在application.properties/application.yml文件内部或通过命令行开关来指定各种属性。本章节提供了一个常见Spring Boot...

    附录A. 常见应用属性

    http://blog.csdn.net/jsyxcjw/article/details/46764447

    你可以在application.properties/application.yml文件内部或通过命令行开关来指定各种属性。本章节提供了一个常见Spring Boot属性的列表及使用这些属性的底层类的引用。

    注:属性可以来自classpath下的其他jar文件中,所以你不应该把它当成详尽的列表。定义你自己的属性也是相当合法的。

    注:示例文件只是一个指导。不要拷贝/粘贴整个内容到你的应用,而是只提取你需要的属性。

    # ===================================================================
    # COMMON SPRING BOOT PROPERTIES
    #
    # This sample file is provided as a guideline. Do NOT copy it in its
    # entirety to your own application.               ^^^
    # ===================================================================
    
    # ----------------------------------------
    # CORE PROPERTIES
    # ----------------------------------------
    
    # SPRING CONFIG (ConfigFileApplicationListener)
    spring.config.name= # config file name (default to 'application')
    spring.config.location= # location of config file
    
    # PROFILES
    spring.profiles.active= # comma list of active profiles
    spring.profiles.include= # unconditionally activate the specified comma separated profiles
    
    # APPLICATION SETTINGS (SpringApplication)
    spring.main.sources=
    spring.main.web-environment= # detect by default
    spring.main.show-banner=true
    spring.main....= # see class for all properties
    
    # LOGGING
    logging.path=/var/logs
    logging.file=myapp.log
    logging.config= # location of config file (default classpath:logback.xml for logback)
    logging.level.*= # levels for loggers, e.g. "logging.level.org.springframework=DEBUG" (TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF)
    
    # IDENTITY (ContextIdApplicationContextInitializer)
    spring.application.name=
    spring.application.index=
    
    # EMBEDDED SERVER CONFIGURATION (ServerProperties)
    server.port=8080
    server.address= # bind to a specific NIC
    server.session-timeout= # session timeout in seconds
    server.context-parameters.*= # Servlet context init parameters, e.g. server.context-parameters.a=alpha
    server.context-path= # the context path, defaults to '/'
    server.servlet-path= # the servlet path, defaults to '/'
    server.ssl.enabled=true # if SSL support is enabled
    server.ssl.client-auth= # want or need
    server.ssl.key-alias=
    server.ssl.ciphers= # supported SSL ciphers
    server.ssl.key-password=
    server.ssl.key-store=
    server.ssl.key-store-password=
    server.ssl.key-store-provider=
    server.ssl.key-store-type=
    server.ssl.protocol=TLS
    server.ssl.trust-store=
    server.ssl.trust-store-password=
    server.ssl.trust-store-provider=
    server.ssl.trust-store-type=
    server.tomcat.access-log-pattern= # log pattern of the access log
    server.tomcat.access-log-enabled=false # is access logging enabled
    server.tomcat.compression=off # is compression enabled (off, on, or an integer content length limit)
    server.tomcat.compressable-mime-types=text/html,text/xml,text/plain # comma-separated list of mime types that Tomcat will compress
    server.tomcat.internal-proxies=10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|\\
            192\\.168\\.\\d{1,3}\\.\\d{1,3}|\\
            169\\.254\\.\\d{1,3}\\.\\d{1,3}|\\
            127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3} # regular expression matching trusted IP addresses
    server.tomcat.protocol-header=x-forwarded-proto # front end proxy forward header
    server.tomcat.port-header= # front end proxy port header
    server.tomcat.remote-ip-header=x-forwarded-for
    server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
    server.tomcat.background-processor-delay=30; # in seconds
    server.tomcat.max-http-header-size= # maximum size in bytes of the HTTP message header
    server.tomcat.max-threads = 0 # number of threads in protocol handler
    server.tomcat.uri-encoding = UTF-8 # character encoding to use for URL decoding
    
    # SPRING MVC (WebMvcProperties)
    spring.mvc.locale= # set fixed locale, e.g. en_UK
    spring.mvc.date-format= # set fixed date format, e.g. dd/MM/yyyy
    spring.mvc.favicon.enabled=true
    spring.mvc.message-codes-resolver-format= # PREFIX_ERROR_CODE / POSTFIX_ERROR_CODE
    spring.mvc.ignore-default-model-on-redirect=true # If the the content of the "default" model should be ignored redirects
    spring.view.prefix= # MVC view prefix
    spring.view.suffix= # ... and suffix
    
    # SPRING RESOURCES HANDLING (ResourceProperties)
    spring.resources.cache-period= # cache timeouts in headers sent to browser
    spring.resources.add-mappings=true # if default mappings should be added
    
    # MULTIPART (MultipartProperties)
    multipart.enabled=true
    multipart.file-size-threshold=0 # Threshold after which files will be written to disk.
    multipart.location= # Intermediate location of uploaded files.
    multipart.max-file-size=1Mb # Max file size.
    multipart.max-request-size=10Mb # Max request size.
    
    # SPRING HATEOAS (HateoasProperties)
    spring.hateoas.apply-to-primary-object-mapper=true # if the primary mapper should also be configured
    
    # HTTP encoding (HttpEncodingProperties)
    spring.http.encoding.charset=UTF-8 # the encoding of HTTP requests/responses
    spring.http.encoding.enabled=true # enable http encoding support
    spring.http.encoding.force=true # force the configured encoding
    
    # HTTP message conversion
    spring.http.converters.preferred-json-mapper= # the preferred JSON mapper to use for HTTP message conversion. Set to "gson" to force the use of Gson when both it and Jackson are on the classpath.
    
    # HTTP response compression (GzipFilterProperties)
    spring.http.gzip.buffer-size= # size of the output buffer in bytes
    spring.http.gzip.deflate-compression-level= # the level used for deflate compression (0-9)
    spring.http.gzip.deflate-no-wrap= # noWrap setting for deflate compression (true or false)
    spring.http.gzip.enabled=true # enable gzip filter support
    spring.http.gzip.excluded-agents= # comma-separated list of user agents to exclude from compression
    spring.http.gzip.excluded-agent-patterns= # comma-separated list of regular expression patterns to control user agents excluded from compression
    spring.http.gzip.excluded-paths= # comma-separated list of paths to exclude from compression
    spring.http.gzip.excluded-path-patterns= # comma-separated list of regular expression patterns to control the paths that are excluded from compression
    spring.http.gzip.methods= # comma-separated list of HTTP methods for which compression is enabled
    spring.http.gzip.mime-types= # comma-separated list of MIME types which should be compressed
    spring.http.gzip.min-gzip-size= # minimum content length required for compression to occur
    spring.http.gzip.vary= # Vary header to be sent on responses that may be compressed
    
    # JACKSON (JacksonProperties)
    spring.jackson.date-format= # Date format string (e.g. yyyy-MM-dd HH:mm:ss), or a fully-qualified date format class name (e.g. com.fasterxml.jackson.databind.util.ISO8601DateFormat)
    spring.jackson.property-naming-strategy= # One of the constants on Jackson's PropertyNamingStrategy (e.g. CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES) or the fully-qualified class name of a PropertyNamingStrategy subclass
    spring.jackson.deserialization.*= # see Jackson's DeserializationFeature
    spring.jackson.generator.*= # see Jackson's JsonGenerator.Feature
    spring.jackson.mapper.*= # see Jackson's MapperFeature
    spring.jackson.parser.*= # see Jackson's JsonParser.Feature
    spring.jackson.serialization.*= # see Jackson's SerializationFeature
    spring.jackson.serialization-inclusion= # Controls the inclusion of properties during serialization (see Jackson's JsonInclude.Include)
    
    # THYMELEAF (ThymeleafAutoConfiguration)
    spring.thymeleaf.check-template-location=true
    spring.thymeleaf.prefix=classpath:/templates/
    spring.thymeleaf.excluded-view-names= # comma-separated list of view names that should be excluded from resolution
    spring.thymeleaf.view-names= # comma-separated list of view names that can be resolved
    spring.thymeleaf.suffix=.html
    spring.thymeleaf.mode=HTML5
    spring.thymeleaf.encoding=UTF-8
    spring.thymeleaf.content-type=text/html # ;charset= is added
    spring.thymeleaf.cache=true # set to false for hot refresh
    
    # FREEMARKER (FreeMarkerAutoConfiguration)
    spring.freemarker.allow-request-override=false
    spring.freemarker.cache=true
    spring.freemarker.check-template-location=true
    spring.freemarker.charset=UTF-8
    spring.freemarker.content-type=text/html
    spring.freemarker.expose-request-attributes=false
    spring.freemarker.expose-session-attributes=false
    spring.freemarker.expose-spring-macro-helpers=false
    spring.freemarker.prefix=
    spring.freemarker.request-context-attribute=
    spring.freemarker.settings.*=
    spring.freemarker.suffix=.ftl
    spring.freemarker.template-loader-path=classpath:/templates/ # comma-separated list
    spring.freemarker.view-names= # whitelist of view names that can be resolved
    
    # GROOVY TEMPLATES (GroovyTemplateAutoConfiguration)
    spring.groovy.template.cache=true
    spring.groovy.template.charset=UTF-8
    spring.groovy.template.configuration.*= # See Groovy's TemplateConfiguration
    spring.groovy.template.content-type=text/html
    spring.groovy.template.prefix=classpath:/templates/
    spring.groovy.template.suffix=.tpl
    spring.groovy.template.view-names= # whitelist of view names that can be resolved
    
    # VELOCITY TEMPLATES (VelocityAutoConfiguration)
    spring.velocity.allow-request-override=false
    spring.velocity.cache=true
    spring.velocity.check-template-location=true
    spring.velocity.charset=UTF-8
    spring.velocity.content-type=text/html
    spring.velocity.date-tool-attribute=
    spring.velocity.expose-request-attributes=false
    spring.velocity.expose-session-attributes=false
    spring.velocity.expose-spring-macro-helpers=false
    spring.velocity.number-tool-attribute=
    spring.velocity.prefer-file-system-access=true # prefer file system access for template loading
    spring.velocity.prefix=
    spring.velocity.properties.*=
    spring.velocity.request-context-attribute=
    spring.velocity.resource-loader-path=classpath:/templates/
    spring.velocity.suffix=.vm
    spring.velocity.toolbox-config-location= # velocity Toolbox config location, for example "/WEB-INF/toolbox.xml"
    spring.velocity.view-names= # whitelist of view names that can be resolved
    
    # JERSEY (JerseyProperties)
    spring.jersey.type=servlet # servlet or filter
    spring.jersey.init= # init params
    spring.jersey.filter.order=
    
    # INTERNATIONALIZATION (MessageSourceAutoConfiguration)
    spring.messages.basename=messages
    spring.messages.cache-seconds=-1
    spring.messages.encoding=UTF-8
    
    
    # SECURITY (SecurityProperties)
    security.user.name=user # login username
    security.user.password= # login password
    security.user.role=USER # role assigned to the user
    security.require-ssl=false # advanced settings ...
    security.enable-csrf=false
    security.basic.enabled=true
    security.basic.realm=Spring
    security.basic.path= # /**
    security.basic.authorize-mode= # ROLE, AUTHENTICATED, NONE
    security.filter-order=0
    security.headers.xss=false
    security.headers.cache=false
    security.headers.frame=false
    security.headers.content-type=false
    security.headers.hsts=all # none / domain / all
    security.sessions=stateless # always / never / if_required / stateless
    security.ignored= # Comma-separated list of paths to exclude from the default secured paths
    
    # DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
    spring.datasource.name= # name of the data source
    spring.datasource.initialize=true # populate using data.sql
    spring.datasource.schema= # a schema (DDL) script resource reference
    spring.datasource.data= # a data (DML) script resource reference
    spring.datasource.sql-script-encoding= # a charset for reading SQL scripts
    spring.datasource.platform= # the platform to use in the schema resource (schema-${platform}.sql)
    spring.datasource.continue-on-error=false # continue even if can't be initialized
    spring.datasource.separator=; # statement separator in SQL initialization scripts
    spring.datasource.driver-class-name= # JDBC Settings...
    spring.datasource.url=
    spring.datasource.username=
    spring.datasource.password=
    spring.datasource.jndi-name= # For JNDI lookup (class, url, username & password are ignored when set)
    spring.datasource.max-active=100 # Advanced configuration...
    spring.datasource.max-idle=8
    spring.datasource.min-idle=8
    spring.datasource.initial-size=10
    spring.datasource.validation-query=
    spring.datasource.test-on-borrow=false
    spring.datasource.test-on-return=false
    spring.datasource.test-while-idle=
    spring.datasource.time-between-eviction-runs-millis=
    spring.datasource.min-evictable-idle-time-millis=
    spring.datasource.max-wait=
    spring.datasource.jmx-enabled=false # Export JMX MBeans (if supported)
    
    # DAO (PersistenceExceptionTranslationAutoConfiguration)
    spring.dao.exceptiontranslation.enabled=true
    
    # MONGODB (MongoProperties)
    spring.data.mongodb.host= # the db host
    spring.data.mongodb.port=27017 # the connection port (defaults to 27107)
    spring.data.mongodb.uri=mongodb://localhost/test # connection URL
    spring.data.mongodb.database=
    spring.data.mongodb.authentication-database=
    spring.data.mongodb.grid-fs-database=
    spring.data.mongodb.username=
    spring.data.mongodb.password=
    spring.data.mongodb.repositories.enabled=true # if spring data repository support is enabled
    
    # JPA (JpaBaseConfiguration, HibernateJpaAutoConfiguration)
    spring.jpa.properties.*= # properties to set on the JPA connection
    spring.jpa.open-in-view=true
    spring.jpa.show-sql=true
    spring.jpa.database-platform=
    spring.jpa.database=
    spring.jpa.generate-ddl=false # ignored by Hibernate, might be useful for other vendors
    spring.jpa.hibernate.naming-strategy= # naming classname
    spring.jpa.hibernate.ddl-auto= # defaults to create-drop for embedded dbs
    spring.data.jpa.repositories.enabled=true # if spring data repository support is enabled
    
    # JTA (JtaAutoConfiguration)
    spring.jta.log-dir= # transaction log dir
    spring.jta.*= # technology specific configuration
    
    # ATOMIKOS
    spring.jta.atomikos.connectionfactory.borrow-connection-timeout=30 # Timeout, in seconds, for borrowing connections from the pool
    spring.jta.atomikos.connectionfactory.ignore-session-transacted-flag=true # Whether or not to ignore the transacted flag when creating session
    spring.jta.atomikos.connectionfactory.local-transaction-mode=false # Whether or not local transactions are desired
    spring.jta.atomikos.connectionfactory.maintenance-interval=60 # The time, in seconds, between runs of the pool's maintenance thread
    spring.jta.atomikos.connectionfactory.max-idle-time=60 # The time, in seconds, after which connections are cleaned up from the pool
    spring.jta.atomikos.connectionfactory.max-lifetime=0 # The time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit.
    spring.jta.atomikos.connectionfactory.max-pool-size=1 # The maximum size of the pool
    spring.jta.atomikos.connectionfactory.min-pool-size=1 # The minimum size of the pool
    spring.jta.atomikos.connectionfactory.reap-timeout=0 # The reap timeout, in seconds, for borrowed connections. 0 denotes no limit.
    spring.jta.atomikos.connectionfactory.unique-resource-name=jmsConnectionFactory # The unique name used to identify the resource during recovery
    spring.jta.atomikos.datasource.borrow-connection-timeout=30 # Timeout, in seconds, for borrowing connections from the pool
    spring.jta.atomikos.datasource.default-isolation-level= # Default isolation level of connections provided by the pool
    spring.jta.atomikos.datasource.login-timeout= # Timeout, in seconds, for establishing a database connection
    spring.jta.atomikos.datasource.maintenance-interval=60 # The time, in seconds, between runs of the pool's maintenance thread
    spring.jta.atomikos.datasource.max-idle-time=60 # The time, in seconds, after which connections are cleaned up from the pool
    spring.jta.atomikos.datasource.max-lifetime=0 # The time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit.
    spring.jta.atomikos.datasource.max-pool-size=1 # The maximum size of the pool
    spring.jta.atomikos.datasource.min-pool-size=1 # The minimum size of the pool
    spring.jta.atomikos.datasource.reap-timeout=0 # The reap timeout, in seconds, for borrowed connections. 0 denotes no limit.
    spring.jta.atomikos.datasource.test-query= # SQL query or statement used to validate a connection before returning it
    spring.jta.atomikos.datasource.unique-resource-name=dataSource # The unique name used to identify the resource during recovery
    
    # BITRONIX
    spring.jta.bitronix.connectionfactory.acquire-increment=1 # Number of connections to create when growing the pool
    spring.jta.bitronix.connectionfactory.acquisition-interval=1 # Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired
    spring.jta.bitronix.connectionfactory.acquisition-timeout=30 # Timeout, in seconds, for acquiring connections from the pool
    spring.jta.bitronix.connectionfactory.allow-local-transactions=true # Whether or not the transaction manager should allow mixing XA and non-XA transactions
    spring.jta.bitronix.connectionfactory.apply-transaction-timeout=false # Whether or not the transaction timeout should be set on the XAResource when it is enlisted
    spring.jta.bitronix.connectionfactory.automatic-enlisting-enabled=true # Whether or not resources should be enlisted and delisted automatically
    spring.jta.bitronix.connectionfactory.cache-producers-consumers=true # Whether or not produces and consumers should be cached
    spring.jta.bitronix.connectionfactory.defer-connection-release=true # Whether or not the provider can run many transactions on the same connection and supports transaction interleaving
    spring.jta.bitronix.connectionfactory.ignore-recovery-failures=false # Whether or not recovery failures should be ignored
    spring.jta.bitronix.connectionfactory.max-idle-time=60 # The time, in seconds, after which connections are cleaned up from the pool
    spring.jta.bitronix.connectionfactory.max-pool-size=10 # The maximum size of the pool. 0 denotes no limit
    spring.jta.bitronix.connectionfactory.min-pool-size=0 # The minimum size of the pool
    spring.jta.bitronix.connectionfactory.password= # The password to use to connect to the JMS provider
    spring.jta.bitronix.connectionfactory.share-transaction-connections=false #  Whether or not connections in the ACCESSIBLE state can be shared within the context of a transaction
    spring.jta.bitronix.connectionfactory.test-connections=true # Whether or not connections should be tested when acquired from the pool
    spring.jta.bitronix.connectionfactory.two-pc-ordering-position=1 # The postion that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE)
    spring.jta.bitronix.connectionfactory.unique-name=jmsConnectionFactory # The unique name used to identify the resource during recovery
    spring.jta.bitronix.connectionfactory.use-tm-join=true Whether or not TMJOIN should be used when starting XAResources
    spring.jta.bitronix.connectionfactory.user= # The user to use to connect to the JMS provider
    spring.jta.bitronix.datasource.acquire-increment=1 # Number of connections to create when growing the pool
    spring.jta.bitronix.datasource.acquisition-interval=1 # Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired
    spring.jta.bitronix.datasource.acquisition-timeout=30 # Timeout, in seconds, for acquiring connections from the pool
    spring.jta.bitronix.datasource.allow-local-transactions=true # Whether or not the transaction manager should allow mixing XA and non-XA transactions
    spring.jta.bitronix.datasource.apply-transaction-timeout=false # Whether or not the transaction timeout should be set on the XAResource when it is enlisted
    spring.jta.bitronix.datasource.automatic-enlisting-enabled=true # Whether or not resources should be enlisted and delisted automatically
    spring.jta.bitronix.datasource.cursor-holdability= # The default cursor holdability for connections
    spring.jta.bitronix.datasource.defer-connection-release=true # Whether or not the database can run many transactions on the same connection and supports transaction interleaving
    spring.jta.bitronix.datasource.enable-jdbc4-connection-test # Whether or not Connection.isValid() is called when acquiring a connection from the pool
    spring.jta.bitronix.datasource.ignore-recovery-failures=false # Whether or not recovery failures should be ignored
    spring.jta.bitronix.datasource.isolation-level= # The default isolation level for connections
    spring.jta.bitronix.datasource.local-auto-commit # The default auto-commit mode for local transactions
    spring.jta.bitronix.datasource.login-timeout= # Timeout, in seconds, for establishing a database connection
    spring.jta.bitronix.datasource.max-idle-time=60 # The time, in seconds, after which connections are cleaned up from the pool
    spring.jta.bitronix.datasource.max-pool-size=10 # The maximum size of the pool. 0 denotes no limit
    spring.jta.bitronix.datasource.min-pool-size=0 # The minimum size of the pool
    spring.jta.bitronix.datasource.prepared-statement-cache-size=0 # The target size of the prepared statement cache. 0 disables the cache
    spring.jta.bitronix.datasource.share-transaction-connections=false #  Whether or not connections in the ACCESSIBLE state can be shared within the context of a transaction
    spring.jta.bitronix.datasource.test-query # SQL query or statement used to validate a connection before returning it
    spring.jta.bitronix.datasource.two-pc-ordering-position=1 # The position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE)
    spring.jta.bitronix.datasource.unique-name=dataSource # The unique name used to identify the resource during recovery
    spring.jta.bitronix.datasource.use-tm-join=true Whether or not TMJOIN should be used when starting XAResources
    
    # SOLR (SolrProperties)
    spring.data.solr.host=http://127.0.0.1:8983/solr
    spring.data.solr.zk-host=
    spring.data.solr.repositories.enabled=true # if spring data repository support is enabled
    
    # ELASTICSEARCH (ElasticsearchProperties)
    spring.data.elasticsearch.cluster-name= # The cluster name (defaults to elasticsearch)
    spring.data.elasticsearch.cluster-nodes= # The address(es) of the server node (comma-separated; if not specified starts a client node)
    spring.data.elasticsearch.properties.*= # Additional properties used to configure the client
    spring.data.elasticsearch.repositories.enabled=true # if spring data repository support is enabled
    
    # DATA REST (RepositoryRestConfiguration)
    spring.data.rest.base-uri= # base URI against which the exporter should calculate its links
    
    # FLYWAY (FlywayProperties)
    flyway.*= # Any public property available on the auto-configured `Flyway` object
    flyway.check-location=false # check that migration scripts location exists
    flyway.locations=classpath:db/migration # locations of migrations scripts
    flyway.schemas= # schemas to update
    flyway.init-version= 1 # version to start migration
    flyway.init-sqls= # SQL statements to execute to initialize a connection immediately after obtaining it
    flyway.sql-migration-prefix=V
    flyway.sql-migration-suffix=.sql
    flyway.enabled=true
    flyway.url= # JDBC url if you want Flyway to create its own DataSource
    flyway.user= # JDBC username if you want Flyway to create its own DataSource
    flyway.password= # JDBC password if you want Flyway to create its own DataSource
    
    # LIQUIBASE (LiquibaseProperties)
    liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
    liquibase.check-change-log-location=true # check the change log location exists
    liquibase.contexts= # runtime contexts to use
    liquibase.default-schema= # default database schema to use
    liquibase.drop-first=false
    liquibase.enabled=true
    liquibase.url= # specific JDBC url (if not set the default datasource is used)
    liquibase.user= # user name for liquibase.url
    liquibase.password= # password for liquibase.url
    
    # JMX
    spring.jmx.enabled=true # Expose MBeans from Spring
    
    # RABBIT (RabbitProperties)
    spring.rabbitmq.host= # connection host
    spring.rabbitmq.port= # connection port
    spring.rabbitmq.addresses= # connection addresses (e.g. myhost:9999,otherhost:1111)
    spring.rabbitmq.username= # login user
    spring.rabbitmq.password= # login password
    spring.rabbitmq.virtual-host=
    spring.rabbitmq.dynamic=
    
    # REDIS (RedisProperties)
    spring.redis.database= # database name
    spring.redis.host=localhost # server host
    spring.redis.password= # server password
    spring.redis.port=6379 # connection port
    spring.redis.pool.max-idle=8 # pool settings ...
    spring.redis.pool.min-idle=0
    spring.redis.pool.max-active=8
    spring.redis.pool.max-wait=-1
    spring.redis.sentinel.master= # name of Redis server
    spring.redis.sentinel.nodes= # comma-separated list of host:port pairs
    
    # ACTIVEMQ (ActiveMQProperties)
    spring.activemq.broker-url=tcp://localhost:61616 # connection URL
    spring.activemq.user=
    spring.activemq.password=
    spring.activemq.in-memory=true # broker kind to create if no broker-url is specified
    spring.activemq.pooled=false
    
    # HornetQ (HornetQProperties)
    spring.hornetq.mode= # connection mode (native, embedded)
    spring.hornetq.host=localhost # hornetQ host (native mode)
    spring.hornetq.port=5445 # hornetQ port (native mode)
    spring.hornetq.embedded.enabled=true # if the embedded server is enabled (needs hornetq-jms-server.jar)
    spring.hornetq.embedded.server-id= # auto-generated id of the embedded server (integer)
    spring.hornetq.embedded.persistent=false # message persistence
    spring.hornetq.embedded.data-directory= # location of data content (when persistence is enabled)
    spring.hornetq.embedded.queues= # comma-separated queues to create on startup
    spring.hornetq.embedded.topics= # comma-separated topics to create on startup
    spring.hornetq.embedded.cluster-password= # customer password (randomly generated by default)
    
    # JMS (JmsProperties)
    spring.jms.jndi-name= # JNDI location of a JMS ConnectionFactory
    spring.jms.pub-sub-domain= # false for queue (default), true for topic
    
    # Email (MailProperties)
    spring.mail.host=smtp.acme.org # mail server host
    spring.mail.port= # mail server port
    spring.mail.username=
    spring.mail.password=
    spring.mail.default-encoding=UTF-8 # encoding to use for MimeMessages
    spring.mail.properties.*= # properties to set on the JavaMail session
    
    # SPRING BATCH (BatchDatabaseInitializer)
    spring.batch.job.names=job1,job2
    spring.batch.job.enabled=true
    spring.batch.initializer.enabled=true
    spring.batch.schema= # batch schema to load
    
    # SPRING CACHE (CacheProperties)
    spring.cache.type= # generic, ehcache, hazelcast, jcache, redis, guava, simple, none
    spring.cache.config= #
    spring.cache.cache-names= # cache names to create on startup
    spring.cache.jcache.provider= # fully qualified name of the CachingProvider implementation to use
    spring.cache.guava.spec= # guava specs
    
    # AOP
    spring.aop.auto=
    spring.aop.proxy-target-class=
    
    # FILE ENCODING (FileEncodingApplicationListener)
    spring.mandatory-file-encoding= # Expected character encoding the application must use
    
    # SPRING SOCIAL (SocialWebAutoConfiguration)
    spring.social.auto-connection-views=true # Set to true for default connection views or false if you provide your own
    
    # SPRING SOCIAL FACEBOOK (FacebookAutoConfiguration)
    spring.social.facebook.app-id= # your application's Facebook App ID
    spring.social.facebook.app-secret= # your application's Facebook App Secret
    
    # SPRING SOCIAL LINKEDIN (LinkedInAutoConfiguration)
    spring.social.linkedin.app-id= # your application's LinkedIn App ID
    spring.social.linkedin.app-secret= # your application's LinkedIn App Secret
    
    # SPRING SOCIAL TWITTER (TwitterAutoConfiguration)
    spring.social.twitter.app-id= # your application's Twitter App ID
    spring.social.twitter.app-secret= # your application's Twitter App Secret
    
    # SPRING MOBILE SITE PREFERENCE (SitePreferenceAutoConfiguration)
    spring.mobile.sitepreference.enabled=true # enabled by default
    
    # SPRING MOBILE DEVICE VIEWS (DeviceDelegatingViewResolverAutoConfiguration)
    spring.mobile.devicedelegatingviewresolver.enabled=true # disabled by default
    spring.mobile.devicedelegatingviewresolver.normal-prefix=
    spring.mobile.devicedelegatingviewresolver.normal-suffix=
    spring.mobile.devicedelegatingviewresolver.mobile-prefix=mobile/
    spring.mobile.devicedelegatingviewresolver.mobile-suffix=
    spring.mobile.devicedelegatingviewresolver.tablet-prefix=tablet/
    spring.mobile.devicedelegatingviewresolver.tablet-suffix=
    
    # ----------------------------------------
    # ACTUATOR PROPERTIES
    # ----------------------------------------
    
    # MANAGEMENT HTTP SERVER (ManagementServerProperties)
    management.port= # defaults to 'server.port'
    management.address= # bind to a specific NIC
    management.context-path= # default to '/'
    management.add-application-context-header= # default to true
    management.security.enabled=true # enable security
    management.security.role=ADMIN # role required to access the management endpoint
    management.security.sessions=stateless # session creating policy to use (always, never, if_required, stateless)
    
    # PID FILE (ApplicationPidFileWriter)
    spring.pidfile= # Location of the PID file to write
    
    # ENDPOINTS (AbstractEndpoint subclasses)
    endpoints.autoconfig.id=autoconfig
    endpoints.autoconfig.sensitive=true
    endpoints.autoconfig.enabled=true
    endpoints.beans.id=beans
    endpoints.beans.sensitive=true
    endpoints.beans.enabled=true
    endpoints.configprops.id=configprops
    endpoints.configprops.sensitive=true
    endpoints.configprops.enabled=true
    endpoints.configprops.keys-to-sanitize=password,secret,key # suffix or regex
    endpoints.dump.id=dump
    endpoints.dump.sensitive=true
    endpoints.dump.enabled=true
    endpoints.env.id=env
    endpoints.env.sensitive=true
    endpoints.env.enabled=true
    endpoints.env.keys-to-sanitize=password,secret,key # suffix or regex
    endpoints.health.id=health
    endpoints.health.sensitive=true
    endpoints.health.enabled=true
    endpoints.health.mapping.*= # mapping of health statuses to HttpStatus codes
    endpoints.health.time-to-live=1000
    endpoints.info.id=info
    endpoints.info.sensitive=false
    endpoints.info.enabled=true
    endpoints.mappings.enabled=true
    endpoints.mappings.id=mappings
    endpoints.mappings.sensitive=true
    endpoints.metrics.id=metrics
    endpoints.metrics.sensitive=true
    endpoints.metrics.enabled=true
    endpoints.shutdown.id=shutdown
    endpoints.shutdown.sensitive=true
    endpoints.shutdown.enabled=false
    endpoints.trace.id=trace
    endpoints.trace.sensitive=true
    endpoints.trace.enabled=true
    
    # HEALTH INDICATORS (previously health.*)
    management.health.db.enabled=true
    management.health.elasticsearch.enabled=true
    management.health.elasticsearch.response-timeout=100 # the time, in milliseconds, to wait for a response from the cluster
    management.health.diskspace.enabled=true
    management.health.diskspace.path=.
    management.health.diskspace.threshold=10485760
    management.health.mongo.enabled=true
    management.health.rabbit.enabled=true
    management.health.redis.enabled=true
    management.health.solr.enabled=true
    management.health.status.order=DOWN, OUT_OF_SERVICE, UNKNOWN, UP
    
    # MVC ONLY ENDPOINTS
    endpoints.jolokia.path=jolokia
    endpoints.jolokia.sensitive=true
    endpoints.jolokia.enabled=true # when using Jolokia
    
    # JMX ENDPOINT (EndpointMBeanExportProperties)
    endpoints.jmx.enabled=true
    endpoints.jmx.domain= # the JMX domain, defaults to 'org.springboot'
    endpoints.jmx.unique-names=false
    endpoints.jmx.static-names=
    
    # JOLOKIA (JolokiaProperties)
    jolokia.config.*= # See Jolokia manual
    
    # REMOTE SHELL
    shell.auth=simple # jaas, key, simple, spring
    shell.command-refresh-interval=-1
    shell.command-path-patterns= # classpath*:/commands/**, classpath*:/crash/commands/**
    shell.config-path-patterns= # classpath*:/crash/*
    shell.disabled-commands=jpa*,jdbc*,jndi* # comma-separated list of commands to disable
    shell.disabled-plugins=false # don't expose plugins
    shell.ssh.enabled= # ssh settings ...
    shell.ssh.key-path=
    shell.ssh.port=
    shell.telnet.enabled= # telnet settings ...
    shell.telnet.port=
    shell.auth.jaas.domain= # authentication settings ...
    shell.auth.key.path=
    shell.auth.simple.user.name=
    shell.auth.simple.user.password=
    shell.auth.spring.roles=
    
    # SENDGRID (SendGridAutoConfiguration)
    spring.sendgrid.username= # SendGrid account username
    spring.sendgrid.password= # SendGrid account password
    spring.sendgrid.proxy.host= # SendGrid proxy host
    spring.sendgrid.proxy.port= # SendGrid proxy port
    
    # GIT INFO
    spring.git.properties= # resource ref to generated git info properties file
    

    附录B. 配置元数据

    Spring Boot jars包含元数据文件,它们提供了所有支持的配置属性详情。这些文件设计用于让IDE开发者能够为使用application.properties或application.yml文件的用户提供上下文帮助及代码完成功能。

    主要的元数据文件是在编译器通过处理所有被@ConfigurationProperties注解的节点来自动生成的。

    附录B.1. 元数据格式

    配置元数据位于jars文件中的META-INF/spring-configuration-metadata.json,它们使用一个具有"groups"或"properties"分类节点的简单JSON格式:

    {"groups": [
        {
            "name": "server",
            "type": "org.springframework.boot.autoconfigure.web.ServerProperties",
            "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
        }
        ...
    ],"properties": [
        {
            "name": "server.port",
            "type": "java.lang.Integer",
            "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
        },
        {
            "name": "server.servlet-path",
            "type": "java.lang.String",
            "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
            "defaultValue": "/"
        }
        ...
    ]}
    

    每个"property"是一个配置节点,用户可以使用特定的值指定它。例如,server.port和server.servlet-path可能在application.properties中如以下定义:

    server.port=9090
    server.servlet-path=/home
    

    "groups"是高级别的节点,它们本身不指定一个值,但为properties提供一个有上下文关联的分组。例如,server.port和server.servlet-path属性是server组的一部分。

    注:不需要每个"property"都有一个"group",一些属性可以以自己的形式存在。

    附录B.1.1. Group属性

    groups数组包含的JSON对象可以由以下属性组成:

    名称      类型      目的
    name    String  group的全名,该属性是强制性的
    type    String  group数据类型的类名。例如,如果group是基于一个被@ConfigurationProperties注解的类,该属性将包含该类的全限定名。如果基于一个@Bean方法,它将是该方法的返回类型。如果该类型未知,则该属性将被忽略
    description String  一个简短的group描述,用于展示给用户。如果没有可用描述,该属性将被忽略。推荐使用一个简短的段落描述,第一行提供一个简洁的总结,最后一行以句号结尾
    sourceType  String  贡献该组的来源类名。例如,如果组基于一个被@ConfigurationProperties注解的@Bean方法,该属性将包含@Configuration类的全限定名,该类包含此方法。如果来源类型未知,则该属性将被忽略
    sourceMethod    String  贡献该组的方法的全名(包含括号及参数类型)。例如,被@ConfigurationProperties注解的@Bean方法名。如果源方法未知,该属性将被忽略
    

    附录B.1.2. Property属性

    properties数组中包含的JSON对象可由以下属性构成:

    名   称       类   型       目   的
    name    String  property的全名,格式为小写虚线分割的形式(比如server.servlet-path)。该属性是强制性的
    type    String  property数据类型的类名。例如java.lang.String。该属性可以用来指导用户他们可以输入值的类型。为了保持一致,原生类型使用它们的包装类代替,比如boolean变成了java.lang.Boolean。注意,这个类可能是个从一个字符串转换而来的复杂类型。如果类型未知则该属性会被忽略
    description String  一个简短的组的描述,用于展示给用户。如果没有描述可用则该属性会被忽略。推荐使用一个简短的段落描述,开头提供一个简洁的总结,最后一行以句号结束
    sourceType  String  贡献property的来源类名。例如,如果property来自一个被@ConfigurationProperties注解的类,该属性将包括该类的全限定名。如果来源类型未知则该属性会被忽略
    defaultValue    Object  当property没有定义时使用的默认值。如果property类型是个数组则该属性也可以是个数组。如果默认值未知则该属性会被忽略
    deprecated  boolean 指定该property是否过期。如果该字段没有过期或该信息未知则该属性会被忽略
    

    附录B.1.3. 可重复的元数据节点

    在同一个元数据文件中出现多次相同名称的"property"和"group"对象是可以接受的。例如,Spring Boot将spring.datasource属性绑定到Hikari,Tomcat和DBCP类,并且每个都潜在的提供了重复的属性名。这些元数据的消费者需要确保他们支持这样的场景。

    附录B.2. 使用注解处理器产生自己的元数据

    通过使用spring-boot-configuration-processor jar, 你可以从被@ConfigurationProperties注解的节点轻松的产生自己的配置元数据文件。该jar包含一个在你的项目编译时会被调用的Java注解处理器。想要使用该处理器,你只需简单添加spring-boot-configuration-processor依赖,例如使用Maven你需要添加:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    

    使用Gradle时,你可以使用propdeps-plugin并指定:

    dependencies {
            optional "org.springframework.boot:spring-boot-configuration-processor"
        }
    
        compileJava.dependsOn(processResources)
    }
    

    注:你需要将compileJava.dependsOn(processResources)添加到构建中,以确保资源在代码编译之前处理。如果没有该指令,任何additional-spring-configuration-metadata.json文件都不会被处理。

    该处理器会处理被@ConfigurationProperties注解的类和方法,description属性用于产生配置类字段值的Javadoc说明。

    注:你应该使用简单的文本来设置@ConfigurationProperties字段的Javadoc,因为在没有被添加到JSON之前它们是不被处理的。

    属性是通过判断是否存在标准的getters和setters来发现的,对于集合类型有特殊处理(即使只出现一个getter)。该注解处理器也支持使用lombok的@Data, @Getter和@Setter注解。

    附录 B.2.1. 内嵌属性

    该注解处理器自动将内部类当做内嵌属性处理。例如,下面的类:

    @ConfigurationProperties(prefix="server")
    public class ServerProperties {
    
        private String name;
    
        private Host host;
    
        // ... getter and setters
    
        private static class Host {
    
            private String ip;
    
            private int port;
    
            // ... getter and setters
    
        }
    }
    

    附录C. 自动配置类

    这里有一个Spring Boot提供的所有自动配置类的文档链接和源码列表。也要记着看一下你的应用都开启了哪些自动配置(使用--debug或-Debug启动应用,或在一个Actuator应用中使用autoconfig端点)。

    附录D. 可执行jar格式

    spring-boot-loader模块允许Spring Boot对可执行jar和war文件的支持。如果你正在使用Maven或Gradle插件,可执行jar会被自动产生,通常你不需要了解它是如何工作的。

    如果你需要从一个不同的构建系统创建可执行jars,或你只是对底层技术好奇,本章节将提供一些背景资料。

    附录D.1. 内嵌JARs

    Java没有提供任何标准的方式来加载内嵌的jar文件(也就是jar文件自身包含到一个jar中)。如果你正分发一个在不解压缩的情况下可以从命令行运行的自包含应用,那这将是个问题。

    为了解决这个问题,很多开发者使用"影子" jars。一个影子jar只是简单的将所有jars的类打包进一个单独的"超级jar"。使用影子jars的问题是它很难分辨在你的应用中实际可以使用的库。在多个jars中存在相同的文件名(内容不同)也是一个问题。Spring Boot另劈稀径,让你能够直接嵌套jars。

    附录D.1.1 可执行jar文件结构

    Spring Boot Loader兼容的jar文件应该遵循以下结构:

    example.jar
     |
     +-META-INF
     |  +-MANIFEST.MF
     +-org
     |  +-springframework
     |     +-boot
     |        +-loader
     |           +-<spring boot loader classes>
     +-com
     |  +-mycompany
     |     + project
     |        +-YouClasses.class
     +-lib
        +-dependency1.jar
        +-dependency2.jar
    

    依赖需要放到内部的lib目录下。

    附录D.1.2. 可执行war文件结构

    Spring Boot Loader兼容的war文件应该遵循以下结构:

    example.jar
     |
     +-META-INF
     |  +-MANIFEST.MF
     +-org
     |  +-springframework
     |     +-boot
     |        +-loader
     |           +-<spring boot loader classes>
     +-WEB-INF
        +-classes
        |  +-com
        |     +-mycompany
        |        +-project
        |           +-YouClasses.class
        +-lib
        |  +-dependency1.jar
        |  +-dependency2.jar
        +-lib-provided
           +-servlet-api.jar
           +-dependency3.jar
    

    依赖需要放到内嵌的WEB-INF/lib目录下。任何运行时需要但部署到普通web容器不需要的依赖应该放到WEB-INF/lib-provided目录下。

    附录D.2. Spring Boot的"JarFile"类

    Spring Boot用于支持加载内嵌jars的核心类是org.springframework.boot.loader.jar.JarFile。它允许你从一个标准的jar文件或内嵌的子jar数据中加载jar内容。当首次加载的时候,每个JarEntry的位置被映射到一个偏移于外部jar的物理文件:

    myapp.jar
    +---------+---------------------+
    |         | /lib/mylib.jar      |
    | A.class |+---------+---------+|
    |         || B.class | B.class ||
    |         |+---------+---------+|
    +---------+---------------------+
    ^          ^          ^
    0063       3452       3980
    

    上面的示例展示了如何在myapp.jar的0063处找到A.class。来自于内嵌jar的B.class实际可以在myapp.jar的3452处找到,B.class可以在3980处找到(图有问题?)。

    有了这些信息,我们就可以通过简单的寻找外部jar的合适部分来加载指定的内嵌实体。我们不需要解压存档,也不需要将所有实体读取到内存中。

    附录D.2.1 对标准Java "JarFile"的兼容性

    Spring Boot Loader努力保持对已有代码和库的兼容。org.springframework.boot.loader.jar.JarFile继承自java.util.jar.JarFile,可以作为降级替换。

    附录D.3. 启动可执行jars

    org.springframework.boot.loader.Launcher类是个特殊的启动类,用于一个可执行jars的主要入口。它实际上就是你jar文件的Main-Class,并用来设置一个合适的URLClassLoader,最后调用你的main()方法。

    这里有3个启动器子类,JarLauncher,WarLauncher和PropertiesLauncher。它们的作用是从嵌套的jar或war文件目录中(相对于显示的从classpath)加载资源(.class文件等)。在[Jar|War]Launcher情况下,嵌套路径是固定的(lib/.jar和war的lib-provided/.jar),所以如果你需要很多其他jars只需添加到那些位置即可。PropertiesLauncher默认查找你应用存档的lib/目录,但你可以通过设置环境变量LOADER_PATH或application.properties中的loader.path来添加其他的位置(逗号分割的目录或存档列表)。

    附录D.3.1 Launcher manifest

    你需要指定一个合适的Launcher作为META-INF/MANIFEST.MF的Main-Class属性。你实际想要启动的类(也就是你编写的包含main方法的类)需要在Start-Class属性中定义。

    例如,这里有个典型的可执行jar文件的MANIFEST.MF:

    Main-Class: org.springframework.boot.loader.JarLauncher
    Start-Class: com.mycompany.project.MyApplication
    

    对于一个war文件,它可能是这样的:

    Main-Class: org.springframework.boot.loader.WarLauncher
    Start-Class: com.mycompany.project.MyApplication
    

    注:你不需要在manifest文件中指定Class-Path实体,classpath会从嵌套的jars中被推导出来。

    附录D.3.2. 暴露的存档

    一些PaaS实现可能选择在运行前先解压存档。例如,Cloud Foundry就是这样操作的。你可以运行一个解压的存档,只需简单的启动合适的启动器:

    $ unzip -q myapp.jar
    $ java org.springframework.boot.loader.JarLaunche
    

    附录D.4. PropertiesLauncher特性

    PropertiesLauncher有一些特殊的性质,它们可以通过外部属性来启用(系统属性,环境变量,manifest实体或application.properties)。

    Key         作用
    loader.path 逗号分割的classpath,比如lib:${HOME}/app/lib
    loader.home 其他属性文件的位置,比如/opt/app(默认为${user.dir})
    loader.args main方法的默认参数(以空格分割)
    loader.main 要启动的main类名称,比如com.app.Application
    loader.config.name  属性文件名,比如loader(默认为application)
    loader.config.location  属性文件路径,比如classpath:loader.properties(默认为application.properties)
    loader.system   布尔标识,表明所有的属性都应该添加到系统属性中(默认为false)
    

    Manifest实体keys通过大写单词首字母及将分隔符从"."改为"-"(比如Loader-Path)来进行格式化。loader.main是个特例,它是通过查找manifest的Start-Class,这样也兼容JarLauncher。

    环境变量可以大写字母并且用下划线代替句号。

    loader.home是其他属性文件(覆盖默认)的目录位置,只要没有指定loader.config.location。
    loader.path可以包含目录(递归地扫描jar和zip文件),存档路径或通配符模式(针对默认的JVM行为)。
    

    占位符在使用前会被系统和环境变量加上属性文件本身的值替换掉。

    附录D.5. 可执行jar的限制

    当使用Spring Boot Loader打包的应用时有一些你需要考虑的限制。

    附录D.5.1 Zip实体压缩

    对于一个嵌套jar的ZipEntry必须使用ZipEntry.STORED方法保存。这是需要的,这样我们可以直接查找嵌套jar中的个别内容。嵌套jar的内容本身可以仍旧被压缩,正如外部jar的其他任何实体。

    附录D.5.2. 系统ClassLoader

    启动的应用在加载类时应该使用Thread.getContextClassLoader()(多数库和框架都默认这样做)。尝试通过ClassLoader.getSystemClassLoader()加载嵌套的类将失败。请注意java.util.Logging总是使用系统类加载器,由于这个原因你需要考虑一个不同的日志实现。

    附录D.6. 可替代的单一jar解决方案

    如果以上限制造成你不能使用Spring Boot Loader,那可以考虑以下的替代方案:

    Maven Shade Plugin JarClassLoader OneJar

    展开全文
  • 所有这些内容,其实是可以作为《大道至易》一书的思想渐成型的历史来看的。不过因为它们都已成公开文字,因此我只了关键的、简要的摘引,并尽量形成可读的篇章。下面给出所有内容的全文索引,敬请参阅。 ...

    【几则小广告】

    预读在这里在这里:

    https://skydrive.live.com/?cid=F9303C43D5CEAFB3&id=F9303C43D5CEAFB3%211191

    http://t.cn/zOkNAee


    又,下单在这里在这里:

    京东:http://book.360buy.com/11014488.html

    当当:http://product.dangdang.com/product.aspx?product_id=22783507

    china-pub:http://product.china-pub.com/3661028

    亚马路(^^.):http://www.amazon.cn/mn/detailApp/ref=asc_df_B007IVAG8K393581/?asin=B008DYCYIG

    想给我留言的可以博一下:http://weibo.com/aimingoo


    【下面开始谈正事】

    就这本书的总体结构来说,除总论之外,《大道至易》书分四篇,篇一讲工程,篇二、三讲软件开发,篇四则讲架构。这后面这三个部分又各有附录,摘引了我这些年来在博客、杂志和采访中的一些言论。所有这些内容,其实是可以作为《大道至易》一书的思想渐进成型的历史来看的。不过因为它们都已成公开文字,因此我只做了关键的、简要的摘引,并尽量形成可读的篇章。下面给出所有内容的全文索引,敬请参阅。


    第一篇:具体工程下的组织与行为

    【附录一】

    行在道上,从局部到全局——与师者高焕堂、赵善中先生谈《大道至简》
    (摘引第三小节:再谈工程与架构,与赵善中老师)
    =========

    http://blog.csdn.net/aimingoo/article/details/5275767


    【附录二】

    本来面目——大教堂、集市,与作坊
    (摘引第三小节:《梦断代码》讲的也是具体工程)
    =========
    http://blog.csdn.net/aimingoo/article/details/4104813


    【附录三】
    杀不死的人狼——我读《人月神话》(1~5)
    (摘引“结语”)
    =========
    一、《人月神话》的结构及其与组织
    http://blog.csdn.net/aimingoo/article/details/1526396
    二、哪些是现象,哪些是答案,而哪些才是本质?
    http://blog.csdn.net/aimingoo/article/details/1527494
    三、《人月神话》是预言了未来还是控制了未来?
    http://blog.csdn.net/aimingoo/article/details/1528593
    四、没有银弹,或人狼杀不死
    http://blog.csdn.net/aimingoo/article/details/1529762
    五、从广义工程到狭义工程
    http://blog.csdn.net/aimingoo/article/details/1530870


    第二、三篇:程序源流:从计算到系统

    【附录一】

    “主要的编程范型”及其语言特性关系
    (摘引第二~五小节)
    =========
    http://blog.csdn.net/aimingoo/article/details/4648284


    【附录二】

    继承与混合,略谈系统的构建方式
    (摘引第一小节:对象系统)
    =========
    http://blog.csdn.net/aimingoo/article/details/6062997


    【附录三】

    像大师们一样思考——从“UML何时死掉”谈起
    (摘引后半部分)
    =========
    http://blog.csdn.net/aimingoo/article/details/3037952


    【附录四】

    VCL已死,RAD已死(1~6)
    (摘引“五、后RAD时代:领域的成熟(后半部分)”,以及“六、更远的将来”)
    =========
    一、从UI的变革到系统的复杂性
    http://blog.csdn.net/aimingoo/article/details/3462797
    二、分层,真的改变了你的思想了吗?
    http://blog.csdn.net/aimingoo/article/details/3462926
    三、RAD之死与系统的复杂性
    http://blog.csdn.net/aimingoo/article/details/3463217
    四、后RAD时代:界面可视,到界面可描述
    http://blog.csdn.net/aimingoo/article/details/3540112
    五、后RAD时代:领域的成熟
    http://blog.csdn.net/aimingoo/article/details/3606996
    六、更远的将来
    http://blog.csdn.net/aimingoo/article/details/3607151


    相关阅读:
    【关于“VCL已死、RAD已死”答读者问】
    http://blog.csdn.net/aimingoo/article/details/3583348
    【VCL已死,RAD已死(插播)】
    http://blog.csdn.net/aimingoo/article/details/3467787


    第四篇:架构的思想与指导原则

    【附录一】
    做人、做事,做架构师——架构师能力模型解析
    (摘引“局部与全局”小节)
    =========
    http://blog.csdn.net/aimingoo/article/details/2501838


    【附录二】

    谈企业软件架构设计

    (摘引“4、企业在进行项目的软件架构设计时,需要考虑哪些关键的问题?”)
    =========
    http://blog.csdn.net/aimingoo/article/details/2501785



    ======

    其它

    ======

    又,《大道至易》已经陆陆续续地开售了。也真奇怪,不知道为什么这次就china-pub开售得早,其它的网上书店反倒还比线下书店到货得慢。目前能直接销售的,大概只有两家:

    china-pub:http://product.china-pub.com/3661028

    亚马逊:http://www.amazon.cn/mn/detailApp/?asin=B008DYCYIG

    我想下周应该就能全部到货了吧。

    展开全文
  • 附录1 附录2 附录3



     

     

     

     

    附录A 名词与定义

    ————————————————————————————————————

     

      名  词                           定              义

    ──────────────────────────────-------------------------------──────

    ASCII file(ASCII文件)

                         一种由字符组成的文件,其编码采用了美国标准信息交换码

                         (ASCII). 这一标准用在大多数计算机中,它由7位的二进制

                         代码组成,代表了128种字符或控制码.

     

    Application program(应用程序)

                         为完成诸如字处理,记账, 或数据库管理等一般应用而设计

                         的一种程序.

     

    Assembler(汇编程序,汇编器)

                         一种程序,它将程序员能方便识别的命令转换为计算机能识

                         别的机器码.

     

    Assembly language(汇编语言)

                         用助记符表示的一组指令集,汇编程序(如IBM宏汇编) 能识

                         别这种符号.

     

    Asynchronous(异步)

                         一种通信方式,在这种方式下, 无需接受与其通信的另一方

                         的同步(syncronization)而实现通信.

     

    Binary file(二进制文件)

                         由二进制数字组成的文件;这种文件比起7位的ASCII文件来

                         有更大的空间节省.

     

    Bisynchronous(双同步)

                         计算机的一种通信方式,两个计算机在通信时, 一方要依赖

                         于与其通信的另一方的同步. 

     

    Bit(位,比特)         二进制数字,其值为0或1. 

     

    Branching(分支)      出现在程序,过程,或结构流程中一个判定点或分叉点.

     

    Breakpoint(断点)     在计算机程序中,在预定点或在某一事件出现时, 所强迫发

                         生的中断(interruption).

     

    Byte(字节)           由八位二进制数组成的计算机字.

     

    Calls(调用)          一种计算机指令,它把一个或多个控制码或字符读出或存入

                         到计算机的某个设备或存储单元中.

     

    Chains(链)           用来连接(或链接) 一个磁盘文件各个部分的一串位置指示

                         器(pointer,或"指针").

     

    Code Page(代码页)    一张包含字母和符号的表,它与某个国家相对应. 代码页的

                         切换功能由DOS 3.3版引入.

     

    Command(命令)        计算机程序所能识别的一种指令(instruction).

     

    Compiler(编译器)     用来将高级语言(如FORTRAN,PASCAL) 写的程序转换为机器

                         能识别的代码的一种程序.

     

    Concatenate(串接)    将分散的成分合并成为一个整体; 一个例子是将分散的几

                         个文件合并为一个文件.

     

    Cursor(光标)         一个闪烁的或不闪烁的方块或横条,用来指示输入的字符在                     在屏慕上所处的位置.

     

    DOS                  Disk Operating System(磁盘操作系统)的缩写.

     

    Diagnostic(诊断程序)

                         用来为计算机或计算机设备检测故障情况的一种程序.

     

    Directory(目录)      在磁盘上保存的文件名单.

     

    Dummy device(哑设备,虚拟设备)

                         供程序执行模拟操作的一种设备名. DOS用NUL来表示它.

     

    Extension(扩展名)    为进一步说明文件性质而加在文件名后的字符串. DOS允

                         许的文件扩展名最长是由3个字符组成.

     

    File(文件)           驻留在磁盘上的程序或数据的集合.

     

    File allocation table(文件分配表)

                         DOS目录的一部分,其中保留着有关文件的统计性质.

     

    File Control block(文件控制块)

                         在磁盘上为每一个文件保留的有关文件名称,位置和大小

                         的信息.

     

    filename(文件名)     用来识别计算机文件,为文件所起的,长度为1-8个字符的名

                         字.文件名的后面可以带有扩展名,后者由0-3个字符组成.

     

    Flag(标记,标志)      为了指示一种状态或事件而使用的数字或位.

     

    Format(格式)         介质(如磁盘)组织的方式.

     

    Global(全局的)       用来表示加在整个文件或磁盘的性质.

     

    Handshaking(握手)    两个设备在通信之前所进行的相互交谈, 如在双同步通信

                         中, 两个计算机之间的信息传输要求先有一个连续的信号

                         交换.

     

     Hexadecimal(十六进制)

                         由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数字为基数

                         组成的记数系统.

     

    I/O device(输入输出设备)

                         一个计算机的输入/输出设备. 你的键盘是输入设备,显示

                         器和打印机是输出设备, 而磁盘驱动器既是输入设备又是

                         输出设备.

     

    Initialization(初始化)

                         将一个设备设置成它的初始状态.

     

    Interface(接口,界面) 两个设备之间的相互连接,可以指硬件,也可指软件.

     

    Landscape mode(风景模式)

                         图象的宽幅表示.在打印时,这是指打印的结果在打印纸上

                         是沿长条水平出现的.(通常的打印是垂直的.)

     

    Library(库)          某些高级语言使用的一组实用程序. 有一个公用的实用程

                         序库可以减少程序编制人员编写常用程序的必要性.

     

    Logged disk(登录盘)  即激活(active)磁盘驱动器或缺省(default)磁盘驱动器.

     

    Logic device(逻辑设备)

                        存储器或磁盘的一部分,它由软件(程序)来命名,并当作一

                         种物理设备来处理.

     

    Macro assembler(宏汇编程序)

                         一种高级汇编程序, 它除了能翻译与机器码直接对应的助

                         记符外, 还允许使用所谓的宏指令(macro),后者实际是一

                         组助记符的缩写.

     

    Obect file(目标文件) 由汇编程序或编译程序产生的一种文件.

     

    Overhead(开销)       被系统占用的额外的空间或时间.

     

    Parallel(并行的)     计算机的一种连接方式,其中数据元是在多根导线(或信号                     路径)上同时传送的.

     

    Parent direcory(父目录)

                         一个目录的上一级目录. 当目录只有两级时, 父目录就是                     根目录, 否则是从根目录到该目录的路径上处于该目录之                     前一级的那个目录.

     

    Partition(分区)      硬盘的一个部分.一个容量较大的盘可以划成几个分区.同                     一分区中保存着受同一操作系统控制的文件. 而在不同分

                         区中,可以用来保存受不同操作系统(如Xenix,CP/M-86)控

                         制的文件.

     

    Pathname(路径名)     在树形结构的目录系统中,从根目录(最上层目录)到一子目

                         录所经过的全部目录叫该目录的路径,描述这一路径的字符

                         表达式叫此目录的路径名. 路径名由DOS 2.00引进.

     

    Portrait mode(肖象模式)

                         即通常的垂直打印输出方式.

     

    Port(口)             在一计算机上输入/输出端的连接部件.

     

    Prompt(提示)         计算机程序为帮助用户作出响应而显示的信息(message).

     

    Protocol(协议)        计算机通信时为确定双方硬件和软件如何配置而作出的说                      明(约定).

     

    Queue(队列)          等待被执行的一系列事件.

     

    RAM(Random Access Memory 随机存储器)

                         可以不管物理位置的顺序而直接访问其中任意一个部分的

                         一种存储器.

     

    ROM(Read-Only Memory 只读存储器)

                         只能读出的存储器; 这是一种预编程器件(preprogrammed

                         device),其内容不能改写.

     

    Register(寄存器)     数字计算机中用来存放数据,指令,地址或状态信息的存储

                         单元.

     

    Root directory(根目录)

                         树形结构目录系统的最上层目录,又称主目录.

     

    Scratch disk(草稿盘) 已准备好(即已格式化)用来作试验或练习的软盘.

     

    Scroll(卷绕)         字符信息在计算机屏幕上作垂直或水平方向的整体移动.

     

    Serial(串行的)       计算机的一种连接方式,其中数据元在电路上是一位(bit)                     一位地传送的.

     

    String(字符串)       连续写出的一组字符.文本的字符串可有任意的字符顺序.

     

    System(系统)         磁盘操作系统的简称.

     

    Utility(实用程序)    用来完成常用工作的一种程序.

     

    Volume name(卷名)    在格式化时为磁盘所起的名字或标号(label).在DOS 3.00

                         中的LABEL命令允许你建立,修改或删除磁盘的卷名. 在本

                         书中,卷名都用卷标(volume label)来称呼.

     

    Warm boot(热起动)    不关掉电源对磁盘操作系统的再起动. 在DOS中, 这是由

                         同时按下Ctrl-Alt-Del三个键来达到的.

     

    ────────────────────────────────────


     

     

    附录B CONFIG.SYS文件与设备驱动程序

    ————————————————————————————————————

     

        配置文件CONFIG.SYS已在第二节中作了简介. 在下表中我们首先概要地列出这

    一文件所典型包含的各种命令.然后在本附录的剩余部分提供进一部的说明.

     

    ————————————————————————————————————

    BREAK=on 或 BREAK=off   缺省值是off.

     

    BUFFERS=n               n是从0到99之间的一个数,缺省值是2.

     

    DEVICE=filename         filename是一个设备驱动程序的名字,例如

                                DEVICE=ANSI.SYS

                                DEVICE=DRIVER.SYS

                                DEVICE=VDISK.SYS

                   

                               注         释

     

          许多配置命令用来安装指名的设备驱动程序. 为了安装一个设备驱

          动程序,该程序必须放在引导盘的根目录中,或者在CONFIG.SYS文件

          中指明包含这一设备驱动文件的目录路径.例如,如果ANSI.SYS文件

          是在DOS目录中,则应使用命令行: DEVICE=C:\DOS\ANSI.SYS

     

    FILES=n                 n是从0到99之间的一个数(缺省值是8).

     

    SHELL=filename          filename是一个特殊的命令处理器(程序).

     

    COUNTRY=nnn             nnn是一个3位十进制码,代表一国家.其缺省值是001.

                            (本命令由DOS 3.00版引入.)

     

    FCBS=m,n                m是可以在任何时候打开的文件数目,范围是1-255,缺

                            省值为4;

                            n是在任何时候都保持打开的最大文件数目,其范围是

                            0-255,缺省值为0;

                            (本命令由DOS 3.00版引入.)

     

    LASTDRIVE=x             x是从A到Z间的一个字母.(本命令由DOS 3.00版引入.)

     

    DOS 3.00版引入的设备驱动程序

    ----------------------------

       DOS 3.00版还引入以下几个设备驱动程序,它们与代码页的选择一起使用,这在

    十一节中已讲过,在附录C中将有更全面的讨论.现在你只须知道,代码页是为在某些

    键盘,显示器,打印机上使用非U.S.字符集而设置的.

     

       DEVICE=DISPLAY.SYS

       DEVICE=KEYBOARD.SYS

       DEVICE=PRINTER.SYS

     

    DOS 4.01 引入的设备驱动程序

    ---------------------------

    DEVICE=XMA2EMS.SYS      这一设备驱动程序在DOS 4.01版下能支持Lotus-Intel

                           -Microsoft(LIM)的扩展内存规范(EMS)4.0版.

                            当你的计算机中安装了XMA2EMS.SYS与一个能使用EMS

                            的硬件适配器后就可使用EMS了.

     

    DEVICE=XMAEM.SYS        这一设备驱动程序与装着80386微处理器的IBM PS/2系                        统(如PS/2 80)连用, 用来建立IBM PS/280286的扩展

                            内存适配器/A(Expanded Memory Adapter/A)的仿真.

     

    INSTALL=filename/prmt   filename/prmt是DOS的一个有效命令,例如 FASTOPEN.                         COM, KEYB.COM,NLSFUNC.COM 或 SHARE.COM.

     

    SWITCHES=/K             /K 禁止系统使用通常在扩充键盘上可用的扩充键盘功

                            能.

     

    SWITCHES=/W             /W 将WINA20.386文件从根目录移到任何具有有效路径

                            的子目录中.

     

    DOS 5.00 引入的设备驱动程序

    ---------------------------   

       MS-DOS 5.00版引入的设备驱动程序用来更有效地使用扩充内存和扩展内存.

     

    DEVICE=SMARTDRV.SYS n/A  n是256-2048间的一个数,它用来分配用作虚拟盘的内

                             存容量. 使用虚拟盘可加快程序的执行. 参数/A在你

                             的计算机中有扩展(expanded)内存时使用. 如果你的

                             系统使用扩充(extended)内存, 则不用加参数/A. 要

                             了解你的存储器的配置情况可用MEM命令.

     

    DEVICE=C:\DOS\HIMEM.SYS  当此驱动程序安装了后,某些程序就可使用扩充内存.

                             如果你想把MS-DOS 5.00装到扩充内存中,你可使用命                         令 DOS=HIGH, 使程序留在640K以下的区域中(即地址                         大于640K的区域).————————————————————————————————————

     

     

        以下我们提供了每一个常用命令以及相应的例子,通过这些你可熟悉它们的使

    用方法和句法(systax).

     

    BREAK

    ------

       BREAK ON 命令使 DOS 在执行任何程序操作之前, 检测是否出现 Ctrl-Break (或Ctrl-C)序列,如果出现,程序操作就被暂时中断.而当BREAK OFF激活时(这是缺

    省值),则只有从标准设备(LPT,COM,CON,AUX,等)来的输入操作,或到标准设备去的

    输出操作,出现时,程序操作才会被中断. 如果你的CONFIG.SYS文件包含 BREAK=ON

    命令行, 则你可以按Ctrl-Break来中断你的程序操作而回到DOS.要检测BREAK的状

    态,可打入BREAK命令并按Enter键.

     

    BUFFERS

    -------

       Buffer(缓充器)通常是计算机存储器中一个528字节的块, 用来临时存放刚从

    磁盘读出或即将写入磁盘中去的数据. BUFFER命令的一般形式是:

      

    BUFFERS=n,m/X

     

    其中

        n是Buffer的数目,取值从1到99.

        m是所谓的超前缓冲器(look ahead Buffer)的数目, 这种缓冲器又称二级缓冲

        存储器(Secondary buffer cacle),用来存放处理输入操作之前读入的数据. m    取值的范围是1-8. 这个参数对顺序读写的应用程序(如数据库),可以提高数据

        的吞吐量. 本参数由DOS 4.01 版引入.    /X是一可选参数,用来把缓充器安装在扩充内存中,因而可为应用程序节省更多

        的低端内存空间. 本参数也由DOS 4.01版引入.

       

        缓冲器只有在数据小于磁盘空间的一个块(528字节)时才有用.借助于把小块的

    数据临时存放在存储器中,使磁盘读/写操作(因而也是数据的访问时间)可得到减少.缺省的缓冲器值(n)是2. 对于DOS4.01版,缓冲器的缺省数值能随磁盘和存储器的容

    量而改变,规则如下:

     

            磁盘驱动器大于360KB                  BUFFERS=3

            存储器容量大于128KB                  BUFFERS=5

            存储器容量大于256KB                  BUFFERS=10

            存储器容量大于512KB                  BUFFERS=15

     

    另外,DOS4.01版的缓冲器还使用了较多的空间. 每一增加的n缓冲器占用532字节,

    而m缓冲器占用512个字节. 太多的缓冲器会导致应用程序运行变慢.

     

       MS-DOS 5.00版释放后,Microsoft又根据所用硬盘的大小,提出以下推荐值:

     

                硬盘容量                       使用缓冲器数

              ———————————————————————

                小于 40MB                       BUFFERS=20

               40MB 到 79MB                     BUFFERS=30

               80MB 到 119MB                    BUFFERS=40

               大于 120MB                       BUFFERS=50

     

        当使用了缓冲器时, 系统用缓冲器代替磁盘来存放数据. 但是,当存在太多的缓冲器时,系统搜索缓冲器的时间会超过不用磁盘操作所节省下来的时间. 并且,

    缓冲器也会使你的程序可用的存储器容量减少,每加一个缓冲器,你就会失去528个

    字节的存储器. 50个缓冲器共占用26400个字节的存储器. 存储器的损失会增加你的程序的磁盘输入/输出操作,从而又由减少时间变成了增加时间.

     

        由于最有效的缓冲器数目和所用程序的种类和大小有关,所以没有一个恰当的答案可告诉你多少个缓冲器为最佳,你可以从10到50这些数目中间去试一试. 如果

    你要用配置文件CONFIG.SYS来建立30个缓冲器, 则应在其中包含一行:

     

                   BUFFERS=30.

     

        如果你使用了DOS 4.01, 则以下命令将建立20个磁盘缓冲器,8个超前缓冲器,

    并把缓冲器设在扩展内存中:

     

                   BUSSERS=20,8/X

     

        你也可用 SMARTDRV.SYS(有关这一文件后面将要说明)来设置二级存储器. 这

    一驱动程序对数据库程序和语言编译特别有用,它可加速程序和数据的装入.

     

    COUNTRY

    -------

       COUNTRY命令(国家命令)由DOS 3.00版引进. COUNTRY命令的形式为:

     

                   COUNTRY=nnn

     

    这里 nnn 是一个国家的代码, 它等于以下几种情况中的一种:

     

    ————————————————————————————————————

         国  家        代   码                国   家        代  码

    ————————————————————————————————————

         美国             001                   丹麦           045

         荷兰             031                   瑞典           046

         比利时           032                   诺威           047

         法国             033                   德国           049

         西班牙           034                   澳大利亚       061

         意大利           038                   芬兰           358

         瑞士             041                   以色列         972

         英国             044                  

    ————————————————————————————————————

       

       DOS 4.01 版则引进了以下几个国家(或地区)的代码:

    ————————————————————————————————————

         国  家        代   码

    ————————————————————————————————————

         日本             081

         南朝鲜           082

         中国             086

         台湾             088

    ————————————————————————————————————

       

        COUNTRY命令设置了日期,时间,货币符号,以及十进制字符.但是,它并不翻译

    DOS提示符所用的语言.

     

     

    DEVICE

    ------

       DEVICE命令用来指定叫作"设备驱动程序"的文件的名称. 设备驱动程序或称设

    备驱动器(devicedriver),它们用来产生和各种设备(如通信,打印,显示等)有关的

    数据格式.当系统起动时,DOS将设备驱动程序装入内存,它们就作为DOS 的一部分而

    驻留在那里.

     

        某些DOS版本配备了几种预先准备好的设备驱动文件.这些文件通常都带有.DEV

    或.SYS形式的扩展名. 例如,如果你看到文件叫RAMDISK.DEV,你或许就有一个在RAM

    中创建DISK(逻辑盘)的设备驱动程序.

     

    ANSI.SYS 驱动程序

    -----------------

       ANSI.SYS设备驱动程序是大多数DOS版本都提供的. 可用在DOS 2.00 和更高的

    版本中.它为显示屏和键盘提供了扩展的控制供能. 要求用到ANSI.SYS 驱动程序的程序一般都会提供一个Documemtation(文档),告诉你在你的CONFIG.SYS文件中要安

    装ANSI.SYS驱动程序.某些程序没有这一驱动程序就不能正常操作,或者当它在非正宗的IBM-PC上运行时要求使用ANSI.SYS驱动程序. 例如, 用Nantucket的Clipper编

    译器编译出来程序, 为了在某些AT&T微型计算机上正常运行时, 就要用ANSI.SYS驱

    动程序.

     DOS4.01版在ANSI.SYS命令上加了三个新的参数:

     

     /X    为具有扩展值(extended value)的键增加新的键值.

           DEVICE=ANSI.SYS /X

     

     /L    保持MODE命令所设置的屏幕显示行数;这可防止被应用程序改回到标准的

           25行显示方式.

           DEVICE=ANSI.SYS /L

     

     /K    在使用扩展键盘的计算机中,不用扩展键盘功能,而改用通常的键盘功能.

           DEVICE=ANSI.SYS /K

     

    DOS 5.00 版增加了一个规定屏幕大小的参数 /screensize:(row,col), 使用户可以设置屏幕的实际显示尺寸.

     

        当 CONFIG.SYS文件中包含了DEVICE=ANSI.SYS命令行时, 你可用Esc键和扩展

    键来控制. 你可以

     

           * 重新指定一个键所产生的值(代码).

           * 控制屏幕的属性(前景和背景色).

           * 删除屏幕或删除一行.

           * 设置显示模式(屏幕大小,类型和分辩率).

           * 控制与/或确定光标的位置.

     

    键的重新赋值

    ------------

        你可以用一个键的值来赋给另一个键, 例如,你可以:

     

           * 把Q的值赋给A,而A的值赋给Q(即把Q,A对应的值81和65进行交换).

           * 把功能键F10(00 68)赋值为"DIR" <CR>.

           * 把 CLS<CR>的功能赋给增强型键盘上的灰色HOME键.

     

        为了作这些重新赋值,要使用一个能够捕捉Esc扩展值的编辑程序,并按以下步

    骤进行:

     

      1) 建立一个包含Esc,左方括号,键的十进制代码值以及它的替代值的文件,形式

         如下:

     

              Esc [ 键的原有代码值  键的新代码值

     

         你可以把字符串的值(例如"DIR"的值)赋给一个键. 注意, 这个字符串要用引

    号括起来再打入. 如果一个键的值是0(NULL字符),则此键的值就要看下一个字符的

    值,由2个字符的值作为这一个键的值. 如功能键F1-F12就是这样的.

     

      2) 把文件存入磁盘.

     

      3) 使用 TYPE 命令来 "执行" 这个文件.

     

        你也可在DOS提示符后,使用PROMPT命令来打入键的值, 或用PROMPT命令把键的

    值写入到一个批处理文件(.BAT文件). 使用PROMPT命令是因为它可让你用 $e 的形

    式从键盘直接输入Esc键的值. 一旦输入后,PROMPT命令可再用来重建原始的DOS 提示符.记住,要使键值的定义生效,必须预先用CONFIG.SYS安装ANSI.SYS驱动程序.

     

        在以下例子中, 你可用EDLIN命令或COPY命令来建立 KEYS.BAT 文件.为简单起

    见,我们用COPY命令. 每行右边的注释不是文件的组成部分.

     

      1) 打入 COPY CON KEY.BAT 并按回车(Enter键).

     

      2) 打入以下五行, 每行后面加回车.

        

          PROMPT $e[81;65p             把 Q 赋给 A 键

          PROMPT $e[65;81p             把 A 赋给 Q 键

          PROMPT $e[0;68;"DIR";13p    把 DIR<CR> 赋给 F10 键

          PROMPT $e[224;71;"CLS";13p  把CLS<CR> 赋给 Home 键

          PROMPT $p$g

     

      3) 按Ctrl-Z和回车, 把文件写入磁盘.

     

      4) 打入 KEY 并按回车. 注意KEY.BAT文件的中的命令显示到屏幕上了.

     

      5) 试一试 A, Q, F10 以及 Home 键的功能.

     

      6) 你可以重新引导你的系统, 或按以下命令重新对几个键赋以原始值:

     

          PROMPT $e[81;81p             把 Q 赋还给 Q 键

          PROMPT $e[65;65p             把 A 赋还给 A 键

          PROMPT $e[0;68;0;68p         把 F10 赋还给 F10 键

          PROMPT $e[224;71;224;71p     把 Home 赋还给 Home 键

     

    控制显示属性(设置图形显示方式,Setting the GraphicsRendition)

    -------------------------------------------------------------

        下表所列的Esc代码用于设置显示属性,有时称为Graphics Rendition. 这些

    代码可用和按键代码一样的办法输入.它们由打入相继的代码来改变.注意,"m"作

    为Esc代码行的最后一个字符,打入的时候要用小写.

     

    ————————————————————————————————————

     Esc[   字符属性          Esc[  前景属性          Esc[    背景属性

    ————————————————————————————————————

     0m    正常(白底黑字)    30m     黑色             40m      黑色

     1m    粗体(高亮度)      31m     红色             41m      红色

     4m    下划线(黑白)      32m     绿色             42m      绿色

     5m    闪烁              33m     黄色             43m      黄色

     7m    反转视频          34m     兰色             44m      兰色

     8m    删字(不可见)      35m     紫色             45m      紫色

                              36m     青色             46m      青色

                              37m     白色             47m      白色

    ————————————————————————————————————

     

        以上代码通常都结合起来使用. 例如, 把前景色和背景色都改掉, 成为在蓝色

    背景上的高亮度白色字符, 可用

     

                      Esc[1;37;44m

     

     

    清屏和清行

    ----------

        以下两行分别用来清除整个屏幕和清除一指定行:

     

           Esc[2J  清除整个屏幕(类似于CLS命令的作用).

           Esc[K   清除从光标位置开始直到一行的结束.

     

    屏幕显示模式

    ------------

        以下Esc码(称为模式设置码)用来控制屏幕的宽度和类型:

    ————————————————————————————————————

             Esc[ 码                模                   式

    ————————————————————————————————————

             Esc[=0h                40 X 25 黑白, 字符模式

             Esc[=1h                40 X 25 彩色, 字符模式

             Esc[=2h                80 X 25 黑白, 字符模式

             Esc[=3h                80 X 25 彩色, 字符模式

             Esc[=4h                320 X 200 彩色, 图形模式

             Esc[=5h                320 X 200 黑白, 图形模式

             Esc[=6h                640 X 200 黑白, 图形模式

             Esc[=7h                当字符打到屏幕右边缘时作行卷绕  

             Esc[=14h               640 X 200 彩色, 图形模式

             Esc[=15h               640 X 350 单色, 图形模式

             Esc[=16h               640 X 350 彩色, 图形模式

             Esc[=17h               640 X 480 单色, 图形模式

             Esc[=18h               640 X 480 彩色, 图形模式

             Esc[=19h               320 X 200 彩色,256色,图形模式

    ————————————————————————————————————

     

         与以上模式的SET码相对应, 还有一系列供模式RESET(复位)用的Esc码,它们

    和以上SET代码的差别只是结尾字符改用小写的L. 例如, Esc[14l 是640 X 200 彩色模式的RESET. 当使用代码 7 的RESET模式(Esc[=7l)时, 行的卷绕功能被禁止,

    屏幕上超出右部边缘的字符就丢失.

     

     

    光标控制

    --------

        你可使用Esc码为光标定位,或返回它的位置值. 下列Esc 码可用来执行和光标相关的操作.

     

    ————————————————————————————————————

             Esc  码                      操                   作

    ————————————————————————————————————

        Esc[r;cH 或Esc[r;cf       将光标移到指定的行和列, 其中r,c就分别代

                                    表行(row)号和列(column)号.

        Esc[H 或 Esc[f             将光标移到屏幕的左上角.

        Esc[nA                     将光标向上移n行.

        Esc[nB                     将光标向下移n行.

        Esc[nC                     将光标向右移n列.

        Esc[nD                     将光标向左移n列.

        Esc[r,cR                   在标准输入设备上报告光标的位置,其中r,c

                                    分别就是行号和列号.

        Esc[6n                     在收到设备的状态报告时输出光标的位置报告.

                                    不要把这一Esc码用作PROMPT命令行的一部分,

                                    否则你的系统可能会进入连续循环状态, 这时

                                    只有通过系统的复位才能退出.

        Esc[s                      保存当前光标位置.

        gEsc[u                     恢复保存的光标位置(用Esc[s保存).

    ————————————————————————————————————

     

    DRIVER.SYS 驱动程序

    -------------------

        这一驱动程序用来建立软盘驱动器的参数. 如果你在你的系统中要加第三个软

    盘驱动器时, 这一驱动程序特别有用. MS-DOS本身有一个内部的驱动程序自动控制

    着两个软盘驱动器. 使用DRIVER.SYS驱动程序的命令形式为:

     

        DEVICE=DRIVER.SYS /D:n [/T:n] [/S:n] [/H:n] [/C] [/N] [/F:n]

     

    这里:

        /D:n为驱动器的代号, 其值在0到255间.

     

    数0,1,2是第1,第2和第3个软盘驱动器. 128,129 是第1,第2个硬盘驱动器.

        以下是DRIVER.SYS的可任意选择的参数项:

     

      /T:n  -- 每面的磁道(Track)数, 其值从 1 到 999; 缺省值 = 80.

      /S:n  -- 每磁道的扇区(Sector)数, 其值从 1 到 99; 缺省值 = 9.

      /H:n  -- 每个驱动器的磁头(Head)数, 其值从 1 到 999; 缺省值 = 2.

      /C    -- 要求改变行的支持(Change-Line Support),本选项仅用于IBM-PC/AT.

      /N    -- 说明为非(Non)可卸驱动器,如固定盘.

      /F:n  -- 指定驱动器类型和格式因子(Form factor),见下; 缺省值为 2.

               n的值为:

               0 = 160,180,320,及360KB

               1 = 1.2MB

               2 = 720KB

               3 = 1.44MB

       

       典型的参数设置概括如下:

    ————————————————————————————————————

        驱动器        /F          /H             /S             /T

    ————————————————————————————————————

       360K          0          1 或 2         8 或 9          40

       1.2M          1          2              15             80

       720K          2           2               9             80

       1.44M         7           2              18             80

       2.88M         7           2              36             80

    ————————————————————————————————————

     

        在具有驱动器A和C的PC-XT上建立一个720KB的外部盘驱动器,可用以下命令:

     

            DEVICE = DRIVER.SYS /D:2/F:2

     

    注意, /F:2 是缺省值, 可以不用.

     

        要在装有一个硬盘,一个1.2MB和一个360KB软盘驱动器的PC-AT上, 再安装一个1.2MB 的软盘驱动器, 可使用以下命令:

     

            DEVICE = DRIVER.SYS /D:2 /T:80 /S:15 /H:2 /F:1

     

        新的逻辑驱动器(/D:2)是D, 每个面是80个磁道(/T:80),每个磁道有15个扇区

    (/S:15), 有两个磁头(/H:2), 对1.2MB驱动器的格式化因子是(/F:1).注意/T:80

    与 /H:2 都可以省略, 因为它们都是缺省值.

     

     

    VDISK.SYS驱动程序

    -----------------

       VDISK.SYS文件在某些DOS版本中也叫RAMDISK.SYS, 它由DOS 3.00版引进.这一

    驱动程序可用来在存储器中建立虚拟盘,或称RAM盘. 在CONFIG.SYS文件中建立虚拟

    盘的命令行如下:

     

         DEVICE = VDISK.SYS nnn ddd /E

         DEVICE = VDISK.SYS nnn sss ddd /X 或 /A

     

    这里:

         nnn是虚拟盘的大小,缺省值是64KB.

         sss是扇区的大小,用字节表示(取值128,256,512),缺省值是128.

         ddd是目录数(2-512),缺省值是64.

         /E是要使用1M字节以上的扩充存储器(Extended memory)区域.

         /X 或 /A为使用扩展存储器(Expanded memory); 其中,/X由DOS 4.00引进,         /A由DOS 5.00引进.

     

        使用参数/E,/X或/A可以使系统的低端存储器节省下来供应用程序使用.

     

        命令行:

        

           DEVICE = VDISK.SYS

     

    用来建立一个64K的虚拟盘, 带128字节的扇区和64个可能的目录项.   

     

           DEVICE = VDISK.SYS 256 512 128

     

    用来建立一个256K的虚拟盘, 带512字节的扇区和128个可能的目录项.   

     

           DEVICE = VDISK.SYS 256 512 128 /E

     

    这一命令在扩充内存中建立和上一命令相同的虚拟盘.

     

        你可利用在CONFIG.SYS文件中写上多个VDISK命令来建立多个虚拟盘. 第一个

    虚拟盘驱动器的标识字母是你所用的最高的字母的下一字母. 例如,带有实际驱动

    器A和B的系统的第一个虚拟盘是C, 而第二个虚拟盘是D, 等等.

     

    DISPLAY.SYS驱动程序

    -------------------

        这一命令可为LCD, EGA 和IBM PS/2等显示器提供代码页切换功能. 这一命令行

    的形式为:

     

         DEVICE=DISPLAY.SYS CON:/type,xxx,n,m

     

    这里:

     

       type 是LCD, EGA,MONO 或 CGA中的任意一个.

       xxx 是一个或多个代码页号, 包括 437, 850, 860, 863 与/或 865.

        n是别的能得到支持的代码页号.MONO与CGA 都不支持别的代码页;它要求使

         用 n=0.

        m是一可选项,用来说明最大子字体(subfont)数,这是供某些代码页用的, 子

         字体可用Alt或Shift序列调用.

     

        当m值从命令行中省略时, 子字体集的最大数目就恢复到一个缺省值.对EGA与

    PS/2系统缺省值为2, 而LCD的缺省值为1.

     

        命令行 DEVICE=DISPLAY.SYSCON:=(EGA,851,1) 把你的系统设置为使用EGA

    (增强型图形适配器,Enhanced Graphics Adaptor),用多国语言代码页(850). n值

    为1提供一个附加页. 若n=0则使准备的附加页无用. 在本例子中,为配置显示适配

    器使用了EGA.CPI文件.

     

       DOS 4.01的DISPLAY.SYS驱动程序当在命令行中省略了显示适配器的类型时会

    自动检测显示适配器的类型.

     

    KEYBOARD.SYS驱动程序

    --------------------

       KEYBOARD.SYS驱动程序要和 KEYB 程序一起工作, 它用来安装支持非U.S英文

    键盘的键盘驱动程序. 在DOS 3.30 与 DOS 4.01版中, 这叫SELECT命令.

     

       KEYB命令中使用的键盘码从KEYBOARD.SYS文件中选择一个表.这些表用来安装

    和预备的代码页相对应的ASCII字符集. 你可重新打入使用新参数的KEYB命令, 以

    改用不同的代码页. 所用参数(代码页号)必须与由MODE命令准备好的相匹配.你还

    应注意到DOS 3.30版的KEYB命令与早期的DOS版本不兼容.

     

     

    PRINTER.SYS驱动程序

    -------------------

       PRINTER.SYS设备驱动程序由你的CONFIG.SYS文件用以下的命令行来安装:

     

               DEVICE=PRINTER.SYS LPTn=(type,xxx,n)

     

    这里:

     

           LPTn 是打印机的设备名,如 LPT1, LPT2.

     

           type 是4201或5202,它们分别对应于IBM 4201型与5202型打印机.

     

           xxx 是一个或几个代码页号, 包括437,850,860,863及865.

     

           n 代表能被支持的附加代码页号.

     

       DOS 4.01 可使用更多的打印机. 能支持的打印机列于附录C中.

     

     

    SMARTDRV.SYS 驱动程序(MS-DOS 5.00+)

    -----------------------------------

        这一驱动程序是MS-DOS 5.00的一个标准实用程序, 它用来在扩充内存或扩展内存中安装高速缓存器(cache memory),使用后者能加速程序的执行过程,因程序

    或数据装在cachememory中读出或写入都比在磁盘中快.SMARTDRV 对于 WINDOWS

    3.X特别有用,因为WINDOWS能调整所用cache memory的大小.

     

        除非在SMARTDRV.SYS命令行的后面加上参数/A,表明要使用扩展存储器,否则,

    SMARTDRV.SYS假设为扩充存储器. 如果你既有扩充存储器也有扩展存储器,则使用

    扩充存储器. 你可用SMARTDRV来分配存储器的总量.推荐的数值是256到2048之间,这是可能性最大的数.小于256或大于2048都将削弱SMARTDRV的效用.SMARTDRV安装

    后要使用15K的常规内存,也就是640K以内的存储器.

     

       CONFIG.SYS文件中的以下命令行在安装SMARTDRV.SYS时将分配1024K的扩充存储器:

     

              DEVICE=C:\DOS\SMARTDRV.SYS 1024

       

        若要把SMARTDRV.SYS安装在扩充存储器中,可把以下命令放在你的CONFIG.SYS

    文件的开头:

     

              DEVICE=C:\DOS\HIMEM.SYS

              DEVICE=C:\DOS\SMARTDRV.SYS 1024

     

    把 /A 加在命令行的后面, 则SMARTDRV.SYS就装入扩展存储器中.

     

     

    HIMEM.SYS 扩充存储器管理程序

    ----------------------------

       HIMEM.SYS使得需要利用扩充存储器的应用程序, 例如 VenturaPublisher,

    可实际使用扩充存储器.这一SYS驱动程序用在带有80286,80386,80486微处理器的

    计算机中,而它不能用在8086,8088的计算机中. HIMEM.SYS同样也把MS-DOS 5.00+

    装到扩充存储器中, 以留出更多的640K低内存来执行你的程序. 在HIMEM.SYS命令

    行的后面,使用命令行DOS=HIGH,就能使DOS装到扩充存储器.

        当使用了HIMEM.SYS命令后, 它必须是你的CONFIG.SYS文件的第一行. DOS=

    HIGH命令则位于其后面, 但并不一定要下一行. 以下是一个例子, 说明了这些命

    令在CONFIG.SYS文件名中是怎样安排的.  

     

     DEVICE=C:\DOS\HIMEM.SYS

     DOS=HIGH

     

     

    命令的形式是:

     

             DEVICE=C:\DOS\HIMEM.SYS

             DOS=HIGH

     

       DOS=HIGH是一个可选项, 但在DOS 5.00到DOS 6.2 版中,这是推荐你使用的项.

    引用DOS 6.2 的HIMEM.SYS驱动程序后, 你的计算机存储器在开机时就自动进行测

    试. 这一测试是为了查出不可靠的存储器芯片,它们在计算机中将导致系统不稳定

    或数据丢失. 要关调存储器自动测试,可使用命令:

      

     DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF

     

       这里把选择开关/TESTMEM:OFF加在HIMEM的起动命令后面. 要获得更多信息,可参看 <HIMEM.SYS>.

     

    FCBS

    ----

       FCBS命令由DOS 3.00版引进. FCBS 用来指定可在同一时刻打开的文件控制块(File ControlBlock, 缩写FCB)的数目. 它也可避免程序因企图打开多于指定可

    打开文件数而自动关闭文件.FCBS命令的形式为:

     

              FCBS=m,n

     

    其中

        m是可同时打开的文件数目; m可以是 1 到 255 之间的一个数, 缺省值是4.

        n是可保持为打开的文件数目; 这一个数值可用来防止文件在程序操作中被自

    动关闭掉. n的数值是 0 到 255,缺省值是 0.

     

    FILES

    -----

       这一命令用来改变可同时打开的文件数目.缺省值都是FILES=8. 其中5个是DOS

    作为文件的"把柄"为5种基本设备驱动程序(input,output,error,auxiliary,以及

    standard printer)预定好的,这样留下可供程序使用的是3个.

     

        每一个打开的文件需要有一个被称为"把柄"(handle) 的文件控制块(FCB)(因

    为这好象在文件上装上了一个柄).这一FCB包含了有关文件及其在磁盘上的位置等

    重要信息.每个FCB使用39个字节.通常,你用不到使用这个命令,除非出现了包含着

    有关"insufficienthandles"(把柄数不够)的错误信息时,你才要理它.

     

    INSTALL

    -------

       INSTALL命令是由DOS 4.01版引进的一个配置命令.它用在CONFIG.SYS文件中,用来在系统开启时安装以下程序:

     

           FASTOPEN.EXE

           KEYB.COM

           NLSFUNC.EXE

           SHARE.EXE

     

        四个典型的命令例子列出在下面, 这里对以上每一个程序提供了一个例子.注

    意每个命令行都要使用扩展名.

     

           INSTALL=FASTOPEN.EXE C:=30

           INSTALL=KEYB.COM FR,437,C:\DOS\KEYBOARD.SYS /ID:189

           INSTALL=NLSFUNC.EXE

           INSTALL=SHARE.EXE /F:4096 /L:30

     

         有关在些高级命令的更多的信息, 可参看 Wordware Publishing 公司的

                     Illstrated MS/PC-DOS

    或               Illstrated MS-DOS 5.00

     

     

    LASTDRIVE

    ---------

       LASTDRIVE命令由DOS 3.00 引进. LASTDRIVE命令利用指定最后一个驱动器的

    指示字母的办法来建立你可使用的驱动器数目. 缺省值是E, 但你可用A到Z的中的

    任意一个字母. 命令的形式是:

          

                     LASTDRIVE=d

     

    这里d是A到Z之间的一个数.

     

     

    SHELL

    -----

       SHELL命令让你可用专门的命令处理器来代替DOS的标准命令处理程序COMMAND.

    COM. SHELL命令一般无必要使用,除非你是一个系统程序员,或者已经配备了别的命令处理程序.

     

     

    SWITCHES

    --------

       SWITCHES命令由DOS 4.01版引进. 当你的系统中装上了一个增强型的键盘时,

    利用SWITCHES命令可让你继续使用通常的键盘功能. 命令的形式是:

           

                   SWITCHES=/K

     

        当这一命令行加在你的CONFIG.SYS文件中,就可使你的系统禁止使用扩展的键

    盘功能,而强迫采用常规的键盘功能.

     

        DOS5.00版增加了一个A/W参数, 它可用来把WINA20.386文件从根目录移到其

    它路径目录. 这一命令用于WINDOWS用户,这时在WINDOWS的SYSTEM.INI文件中必须

    增加以下这一行命令:

                 

                  DEVICE=C:\PATH\WINA20.386

     

        许多用户从来不用配置文件. 而另一些用户则发现它们对加速计算机的运行是

    有价值的.这对于那些在使用着包括打印机控制或虚拟盘等设备驱动程序的DOS版本

    用户来说尤其正确. 你可建立一个包含BUFFERS 命令的配置文件来加速你的计算机

    的操作.

     

     

     

    附录C

    ———

    代码页号与设备驱动文件

    ————————————————————————————————————

     

        本附录由几张表组成,它们列出了各种代码页号与设备.

     

    ————————————————————————————————————

              语    言                      代 码 页 号

    ————————————————————————————————————

              英    语                         437

              多 国语                         850

              葡    语                         860

              法    语                         863

              诺 威语                         865

    ————————————————————————————————————

     

        多国文字代码页(代码页号850)用于以下国家:

     

         澳大利亚                            荷兰

         比利时                              诺威

         加拿大(英语,法语)                   葡萄牙

         丹麦                                西班牙

         芬兰                                瑞典

         法国                                瑞士

         德国                                英国

         意大利                              美国(英语)

         拉丁美洲

     

        如果你是DOS的新用户,你可使用代码页850,因为它与大多数欧美文字是相同

    的.如果你发现某个应用程序用850代码页不能满意地工作,则应退出该程序,改选

    另一种代码页,再起动原来的程序,并检验新选的代码页操作是否满意.

     

        下列硬件设备是由代码页选择开关支持的.表中列出了相应的DOS支撑文件与

    设备驱动程序. 可选这些文件来组成CONFIG.SYS文件的命令行.

     

    ————————————————————————————————————

         设  备                   支持文件                设备驱动程序

    ————————————————————————————————————

      增强型彩色适配器

      (EGA)                       EGA.CPI                DISPLAY.SYS 

     

      IBM4201 Proprinter

       打印机 系列                 4201.CPI              PRINTER.SYS 

     

      IBM5202

      Quitwriter III 打印机        5202.CPI               PRINTER.SYS 

     

    在DOS 4.01中增加:

    -----------------

      IBMPS/2 8514/A 型

       显示适配器                  EGA.CPI               DISPLAY.SYS 

     

      IBMPS/2 系列

       显示适配器                   EGA.CPI                DISPLAY.SYS 

     

      IBM可转换(Convertible)

       液晶显示器(LCD)              LCD.CPI                DISPLAY.SYS 

     

      IBM4202 XL型

       Proprinter打印机             4201.CPI               PRINTER.SYS 

     

      IBM4207 X24型

      Proprinter 打印机            4208.CPI               PRINTER.SYS 

     

      IBM4208 X24L型

      Proprinter 打印机            4208.CPI               PRINTER.SYS 

    ————————————————————————————————————

     

        在前面第十一节中已提供CONFIG.SYS文件中所包含的与MODE命令一起使用的代

    码页命令的一些例子.

     

    代码页切换驱动程序

    ------------------

        有许多设备驱动程序以及命令是用来准备、选择和改变代码页的. 这些命令包含在你的CONFIG.SYS文件或AUTOEXEC.BAT文件中; 有些命令则是在DOS 提示符下从键盘打入的. 与代码页的切换有关系的DOS程序和命令为:

     

              DISKCOPY    COM          DRIVER       SYS 

              FORMAT      COM           DISPLAY      SYS

              GRAFTABL    COM           KEYBOARD     SYS

              KEYB        COM           PRINTER      SYS

              MODE        COM           EGA          CPI

              SELECT      COM           LCD          CPI

              XCOPY       EXE           4201         CPI

              NLSFUNC     EXE           4202         CPI

              COUNTRY     SYS           4208         CPI

              INSTALL     COM           5202        CPI

     

       INSTALL程序在DOS 4.01配备的软盘上, 它通常不COPY到DOS4.01工作着的系统

     盘中.

     

        你的CONFIG.SYS文件可以包含COUNTRY命令, 它包括一个专门的国家码,后面跟

    写一个适当的代码页号. 下表列出了国家的代号(nnn)以及代码页号(xxx), 还包括了键盘的代码号(yy). KEYB命令中包括了国家的代号(nnn)以及键盘的代号(yy).键

    盘代号只有在增强型键盘上使用.由于某些国家具有一种以上的增强型键盘, 键盘

    标识号(ID)使你可以用来选择你所想用的键盘.

     

                             DOS 3.00+ 版

    ————————————————————————————————————

              国   家                   nnn    xxx    yy

    ————————————————————————————————————

             美    国                   001    437    US

             加 拿大(英语)             001    850    US 

             法    国                   033    863    FR

             西 班牙                   034    850    SP

             意 大利                   039    850    IT

             英    国                   044    850    UK

             德    国                   049    850    GR

    ————————————————————————————————————

     

                             DOS 3.30+ 版

    ————————————————————————————————————

             国   家                    nnn    xxx    yy

    ————————————————————————————————————

             阿 拉伯                   785    850    无

             澳大利亚                   061    850    US 

             比 利时                   032    850    BE

             加拿大(法语)               002    863    CF

             丹    麦                   045   850     DK

             芬    兰                   358    850    SU

             以 色列                   972    850    无

             拉丁美洲                   003    850    LA

             荷    兰                   031    850    NL

             诺    威                   047    865    NO

             葡 萄牙                   351    860    PO

             瑞    典                   046    850    SV

             瑞士(法语)                 041    850    SF

             瑞士(德语)                 041    850    SG

    ————————————————————————————————————

             

                             DOS 4.01+ 版

    ————————————————————————————————————

             国   家                    nnn    xxx    yy

    ————————————————————————————————————

             日    本                   081    932     无

                                                437

             朝    鲜                   082    934    无

                                                437

             中    文                   088    938    无

                                                437

    ————————————————————————————————————

     


    展开全文
  • 目录 解决问题 解决思路 解决方法 解决问题 wps中引用尾注生成参考文献之后,无法插入致谢和附录等章节 解决思路 引用尾注生成参考文献,此时会默认尾注为整个文档的最后。 解决...
  •  所在目录:windowsx.h 6,加载图标 骤一:切换到Resource选项卡,导入一个ico文件,右击图标文件,选择properties选项,在ID中更改它的名字,如:IDI_ICONAPP,在头文件夹中导入资源头文件(resource.h...
  • 难死个人,最近毕业论文定稿,添加尾注形式的参考文献之后不能添加附录致谢,查找了好多方式,费劲了老大力气,终于把他解决了。 第一步 1、尾注的格式设在节的结尾:点引用脚注下面的小框框,点尾注在后面的...
  • python条件控制语句,附录99乘法表

    千次阅读 2020-07-11 19:24:51
    目录input条件判断:单向if双向if else多向判断if elif elseif条件嵌套whliewhlie循环嵌套九九乘法表break语句continue语句 input input()函数的定义: input()函数是输⼊函数,与print()函数类似,input()函数括号...
  • 附录A. 创建WINDOWS镜像

    千次阅读 2011-08-09 21:14:26
    安装一个基础的Windows操作系统,最重要的一点就是创建虚拟机的环境和运行虚拟机的换要一致。保持一致的方法就是使用桉树平台的一个节点作为制作虚拟镜像的环境。 1. 创建一个空硬盘(Windows 2003可以8G;...
  • Latex 附录生成方法-附使用的一些tips

    千次阅读 2017-03-05 00:31:00
    Latex 附录生成方法-附使用的一些tips 工具 使用latex写论文时,国内科研人员使用比较多的前端工具当属CTex,另外的前度工具有texstdio,texworks,sublime,甚至vim。ctex软件可免费下载:...
  • Thinking in Java 附录之推荐书籍

    千次阅读 2009-07-20 11:09:00
    陈昊鹏等翻译自Thinking in Java 第三版书籍Thinking in Java, 2nd Edition。...它还包含了一些没有收录到第三版的内容;详细情况请参考书中的目录。Thinking in Java, 1st Edition。本书所附光碟里就有
  • 附录A 致谢 Erlang系统、OTP库集、还有Erlang内置的所有应用都是许多人进行了大量的工作后的集体成果。 致谢部分总是很难写的,因为我不想弄丢任何对系统有贡献的人,也不想出任何差错——我力图做到准确,但是...
  • 引言 (略),该书最出色的地方在于总结了一套非常实用的机器学习项目checklist(检查表),该检查表几乎覆盖了一个机器学习项目的所有过程,具有典型意义。所以本人拟其翻译并与文中详细内容整合。...4.
  • 《gradle 用户指南》中文版 目录

    千次阅读 2017-08-01 12:47:01
    gradle 用户指南 版权所有©2007-2017 Hans Dockter,Adam Murdoch只要您不对这些...目录一、关于Gradle1、简介2、概述二、使用现有构建3、安装Gradle4、使用Gradle命令行5、Gradle控制台6、灰泥包装机7、渐层守护
  • 目录 一、OLAP多维分析概念及函数         1、cube导论         2、cube核心操作                1)、cube核心操作    ...
  • 所谓的FTP,就是指文件传输协议(File Transfer Protocol),FTP的作用是使Internet用户能够文件从一台计算机拷贝到另一台计算机,为实现Internet资源共享提供有力的保障。用户启动FTP客户机程序,通过输入户名和...
  • LaTeX 学位论文排版 章节目录设置

    千次阅读 多人点赞 2019-06-12 11:10:14
    一般学位论文使用的是book...后记部分:总结+致谢+参考文献+附录 不需要对章节进行编号 关于前言、正文、后记的设计使用下面的命令: \frontmatter %前言部分,页码为小写罗马字母格式;其后的\chapter 不编号。...
  • 说明:第一部分为《目录》,从中可以看出开思公司《产品部开发规范》的整体架构;第二部分为《开发规范概述》,从中可以看出开思公司在软件项目管理方面的 一些具体做法。 1 目 录 1 目的 2...
  • 让applet关闭某些耗资源的工作,调用destory()之后也会调用这个函数 Destroy() 浏览器applet自网页移除之际,便会调用它,以执行”applet不再被使用”应该的最后释放资源等动作 Paint() 让你在Applet界面上进行...
  • 【爬虫】系列文章目录

    千次阅读 2018-02-01 21:11:11
    爱的诺骨牌片段 美——源于爬行中的发现 为什么我喜欢爬行动物?什么是爬虫? 爬虫长什么样? 一条会爬的虫子 爬虫的诞生 爬虫、蜘蛛、机器人有什么区别? 用爬虫可以哪些有意思的事情? 人也是爬虫 爬虫的语言...
  • 游戏编程精粹目录

    千次阅读 2013-02-19 10:37:01
    游戏编程精粹1   第1章 通用编程技术 ...1.0.4 点子4——控制流写成脚本 4 1.0.5 点子5——什么时候不适合使用脚本? 5 1.0.6 点子6——避免重复数据 5 1.0.7 点子7——开发工具来生成数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,377
精华内容 3,750
关键字:

如何将附录做进目录