编程

这是本职工作嗯w。

Android

kotlin编写Android的坑总结

Kotlin中的静态字段 Java中的public static在拷贝到Kotlin项目中会自动转换为val。但是在调用时EXTRA_MESSAGE会标红无法检测,而添加Static字段也会报错。 原因是Kotlin中没有static关键字。 Java中的static应该用companion(类伴生对象)替代。 谷歌Android官方示例项目中的EXTRA_MESSAGE应该改为如下: package com.example.myfirstapp import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import java.io.Console import android.provider.AlarmClock.EXTRA_MESSAGE import android.widget.EditText import android.content.Intent class MainActivity : AppCompatActivity() { …

python

anaconda与zsh不兼容的解决方案小记

前情 蓝瘦…… 尝试在OSX上安装anaconda的tensorflow环境,怎么样都报错。 很久都没有解决。 一直以为是自己安装的问题。 就放着不管了。 后来尝试重新捡起anaconda的时候, 又遇到了如下错误: Last login: Thu Sep 6 12:16:13 on ttys001 /Users/remini/.anaconda/navigator/a.tool ; exit; remini@biduandeMacBook-Pro  ~  /Users/remini/.anaconda/navigator/a.tool ; exit; /Users/remini/.anaconda/navigator/a.tool: line 1: syntax error near unexpected token `(‘ /Users/remini/.anaconda/navigator/a.tool: line 1: `bash –init-file <(echo “source activate /Users/remini/anaconda3/envs/tenso…

机器学习

机器学习Anaconda python基本操作

Anaconda用来配置TensorFlow和加速什么的都炒鸡方便,使用和不难。 官方下载地址 找小娜中搜索Anaconda Prompt就可以打开命令行啦~ 而Anaconda Navigator可以进行可视化管理。 – conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config –set show_channel_urls yes 更改清华源加速。 conda list:查看已经安装了那些包 conda create -n tensorflow python=3.5:创建3.5版本的虚拟环境 conda info –envs:查看所有环境 activate tensorflow-gpu:激活虚拟环境 deactivate:退出虚拟环境

Git

Git放弃本地修改强制更新的两种方法

前言 一般在服务器上我们会临时debug做一些操作或者修改一些数据。这些工作不值得commit到git上,但是在下次更新代码时,他们会出来阻止我们。 所以我们需要一种方法放弃本地修改强制更新 操作 两种方法一种是先拉取再重置,一种相反,都可以做到。 方法一 git fetch –all git reset –hard origin/master 方法二 git reset –hard git pull 似乎第二种更好记呢。

编程

Matlab导入Excel数据

前沿 最近在和小伙伴们一起攻略数学建模美赛w 感觉Matlab超有用,不过Excel数据导入还是有一些坑的,在这里咱说说咱的流程和在这里遇到的问题 流程 其实流程超简单我都不想分步了…… 只要把Excel文件拖进matlab右边的工作区就ok了~ 忘了之后要写啥了【捂脸

Linux

使用python + virtualenv的小记

简介 virtualenv是一种帮忙给每个项目一个单独的python环境的有用工具,极大解决了同一服务器的不同项目的冲突问题,相对于微服务的docker,是一种轻量级解决方案。 安装virtualenv sudo pip install virtualenv 创建virtualenv环境 一般virtualenv环境在项目下一个文件夹内,一般名为venv或env(前者多些)。建议在.gitignore中将其忽略。 virtualenv venv venv即为环境文件夹名。 创建的同时也可以指定所创建python的版本 virtualenv venv –python=python3.6 使用虚拟环境 开启虚拟环境为: source venv/bin/activate 退出虚拟环境使用如下指令即可: deactivate 这两个指令的本质是更改当前shell环境的python等的$path路径为目录下自带的python,来达到切换隔离的效果。使用python –version即可验证版本 pip在其中也是可以正常使用的: pip install -r requirements.txt

Linux

Ubuntu/vim中文输入问题全解析

谜题 今天在使用的docker的ubuntu 16.04镜像的时候,发现了一个其对中文的支持是个远古大坑(大雾 虽然一般服务商的镜像这种事情都已经早配好了,但是没想到在docker里还遇到了这种问题【叹 那么我们就来看看一起可能导致中文输入问题的几个原因吧~ o( ̄▽ ̄)ブ 解谜 bash设置 嗯,没错,在怀疑Ubuntu之前,我们应该先排除自己的问题。 我这边使用的xshell,一定要注意下会话连接(也就是点击打开后出现的窗口)的属性。 在左边栏中,点击终端选项。确认一下转换栏里的编码是不是Unicode(UTF-8) Ubuntu系统字符集 执行cat /etc/environment看看有没有 LANG=”zh_CN.UTF-8″ LANGUAGE=”zh_CN:zh:en_US:en” 字样。如果没有,问题大概就在这里了。 如果是普通的Ubuntu VPS的话,可以试试这几条命令: apt install language-pack-zh-han* locale-gen zh_CN.UTF-8 DEBIAN_FRONTEND=noninteractive dpkg-reconf…

Linux

BBR是个好东西,希望人人都有

BBR大法 嗯… 最近获知了谷歌的一个好东西——BBR【分明是你火星了吧喂 概括来讲,这货优化了TCP/IP协议,显著提高了速度。 Linux内核4.9以上也集成了这个萌物。 大概是第一步? 所以说呢,我们的第一步应该是查看内核版本—— uname -a | cat /proc/version 如果你看到了4.9以上的linux版本就可以啦~ 咱记得Ubuntu16.04貌似不够,, 如果不到的话,可以试试升级内核。 嘛…任性下…咱在这里就不介绍了需要的自行百度吧。 开启TCP-BBR echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf 解释一下。【敲黑板 这两条echo命令,在/etc/sysctl.conf文件的末尾添加两行配置。其中第一行default_qdisc指的是默认的TCP队列算法,fq是 Google推荐的算法,更适用于BBR。第二行…

Apache

用LetsEncrypt带你领略https大法好

强烈安利大家使用LetsEncrypt的方案快速自动化进入https时代! 敲好用的我跟你讲!!✿✿ヽ(°▽°)ノ✿ 认证、签发、设置都是自动的呢XDDDD~ 而且免费!而且免费!而且免费! 具体的话,Ubuntu带有shell权限的简便方法在这里。 嗯…在这里总结一下吧www 安装 sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update $ sudo apt-get install python-certbot-apache 认证 $ sudo certbot –apache 如果不想使用自动设置,可以使用这条命令: $ sudo certbot –apache certonly 这条命令只会进行简单的整数签发,不会自动更改apache2的设置 之后的证书公钥在 /etc/letsencrypt/live/yoursite.com/fullchain.pem 私钥…

Linux

bash命令小技巧

1、用可把同一个命令写成多行 如: $ apt install apache2 mysql-server php7.0 2、&& 逻辑与 连接两条命令。如果左边的命令执行成功(返回真,即命令返回值 $? == 0),那么继续执行后面的命令。 如: $ apt update && apt insall nginx 3、|| 逻辑或 与&&类似。连接两条命令。只有在左边的命令执行失败(返回假,即命令返回值 $? == 1),才继续执行右面的命令。 如: $ apt update || apt-get update 4、综合2和3 $ rm ~/test.txt &amp;&amp; echo “success” || echo “fail” 解释:如果 ~/ 目录下存在文件 test.txt,将输出 success 提示信息;否则输出 fail 提示信息。 5、使用(){}执行一组命令 ( 命令;命令;命令… ) 1 、一条命令需要独占一个物理行,如果需要将多条命令放在同一行,命令之间使用命令分隔符(;)分隔。执行的效果等同于…