项目越来越多的使用spring-boot,远程调试的需求应运而生,实现方式有两种 maven <project> ... <build> ... <plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.1.12.RELEASE</version> <configuration> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 </jvmArguments> </configuration> ... </plugin> ... </plugins> ... </build> ... </project> 或 mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" ## shell 添加运行参数-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 …
tmux
一直使用term2管理终端,几个月前尝试过tmux感觉不错,后来很少用,最近使用终端渐渐多了,回顾一下tmux的一些操作。 基本操作 创建会话tmux new -s <name-of-my-session> 多会话切换<prefix> s ? // 列出所有快捷键;按q返回 d // 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 D // 选择要脱离的会话;在同时开启了多个会话时使用 Ctrl+z // 挂起当前会话 r // 强制重绘未脱离的会话 s // 选择并切换会话;在同时开启了多个会话时使用 // 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器 [ // 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出 ~ // 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 ###窗口操作 c // 创建新窗口 & // 关闭当前窗口 数字键 // 切换至指定窗口 p // 切换至上一窗口 n // 切换至下一窗口 l // 在前后两个窗口间互相切换 w // 通过窗口列表切换窗口 , // 重命名当前窗口;这样便于识别 . // 修改当前窗口编号;相当于窗口重新排序 f // 在所有窗口中查找指定文本 ###面板操作 ” // 将当前面板平分为上下两块 % // 将当前面板平分为左右两块 x // 关闭当前面板 ! // 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板 Ctrl+方向键 // 以1个单元格为单位移动边缘以调整当前面板大小 Alt+方向键 // 以5个单元格为单位移动边缘以调整当前面板大小 Space // 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled q // 显示面板编号 o // 在当前窗口中选择下一面板 方向键 // 移动光标以选择面板 { // 向前置换当前面板...…
安装mysql-5.7.16-osx10.11-x86_64
mysql-5.7.16-osx10.11-x86_64 之前装过两次mysql,第一次使用dmg方式,安装简单,提供UI引导、配置,但删除的时候比较麻烦,第二种是用homebrew安装,根据版本不同变化比较大,下面介绍另外一种更‘绿色’的方式 安装 官方直接下载mysql-5.7.16-osx10.11-x86_64.tar解压 移动sudo mv mysql-5.7.16-osx10.11-x86_64 /usr/local/mysql 改权限sudo chown -R root:wheel mysql 进入mysql根目录执行sudo scripts/mysql_install_db --user=mysql开始安装 最后一步注意提示会生成root密码 启动、关闭 启动sudo support-files/mysql.server start 重启sudo support-files/mysql.server restart 关闭sudo support-files/mysql.server stop 状态sudo support-files/mysql.server status 连接 bin/mysql -u root -p 修改密码set password for root@localhost = password('<password>'); 为了方便管理在zsh中添加 alias mysqlstart='/usr/local/mysql/support-files/mysql.server start' alias mysqlstop='/usr/local/mysql/support-files/mysql.server stop' alias mysqlstatus='/usr/local/mysql/support-files/mysql.server status' …
matplotlib安装异常
记一次matplotlib升级遇到的问题 升级matplotlib到最近版本 sudo pip install -U matplotlib 尝试执行之前的代码提示Matplotlib is building the font cache using fc-list. This may take a moment.提示中的fc-list是linux中的命令,在mac上只需要打开字体库即可刷新字体缓存。刷新缓存后得到了第二个错误:from six.moves import _thread,ImportError: cannot import name _thread这类问题一般是包依赖造成的,在python命令行中执行: import six print six.__file__ 发现使用的文件不是pip下的包而是python2.7自带的扩展包,按上面提示的路径删除对应的py文件即可。 …
Homebrew重装
清理Mysql、Homebrew、zsh 起因 使用react-native init projectName时提示node版本过低,要求4.0以上版本,电脑上的node使用Homebrew安装的,所以直接执行了brew upgrade node但是提示版本已经是最新的了,想到可能是需要更新Homebrew,又执行了brew update但一直卡在git fetch XXXX上,找到Homebrew的安装目录/usr/local/发现直接使用git fetch origin master更新后还是没有效果,查看了远端仓库,发现机器上使用的版本已经被做了版本拆分,为了省事还是决定重装Homebrew。 删除Myqsl 之前使用dmg安装了一个Mysql数据库一直没怎么使用,它被默认安装在了/usr/local/这个目录,这次清理顺便把它也删了。 sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-) rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* 如果你的设置中有一个MYSQL的启动快捷方式你可能还需要执行以下语句来清理掉它: sudo rm -rf /Library/PreferencePanes/My* 重装Homebrew 现在可以清理Homebrew了 rm -rf /usr/local/Cellar /usr/local/.git 使用官方提供的方式安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 配置zsh 因为之前zsh是使用Homebrew安装的,重装时没有备份,需要重新配置,安装zsh,brew install zsh并制作软连接至/bin/zsh设置当前shell为zsh chsh -s /bin/zsh 更新node 现在再执行brew install node就可以安装最新的稳定版node了,安装完成后,执行react-native不再会提示之前的错误。 …
spring session
为实现分布式部署,实现session共享,即使在开发环境中经常重启服务已不用担心重新登录的问题。 方案选择 方案一:在容器上做配置 方案二:在应用上做配置 考虑到上线后容器可能会更换,或版本不容带来的问题,采用第二种方案 配置 添加依赖 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.5.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>1.2.0.RC2</version> </dependency> 在web.xml中添加filter并放在最外层。 <filter> <filter-name>springSessionRepositoryFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSessionRepositoryFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 在spring配置中添加 <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.host}"/> <property name="timeout" value="${redis.timeout}"/> </bean> 启动项目,检查redis中session存储及过期时间。 …