年度归档:2018年

L-edit 学习

Alt+X:nibble
先点击已有图形,再使用快捷键(或点击图标),然后从已有图形中去除新画图案,(可以选择方形、圆形、扇形等)

Home
使图形回到屏幕正中间。

善用array,制作阵列。

开启VT-X CPU虚拟化

状况

昨天移动虚拟机,遇到了新电脑CPU没有开启虚拟化的问题。基本的思路就是进BIOS开启虚拟化就行了。

但是进BIOS的过程不是很顺利,期间遇到的状况是,无论高级启动,还是按键进BIOS都遇到了黑屏无显示,没法进行选项操作的问题。

分析

一开始以为是win10开机太快,无法进入BIOS。
后来猜测,是BIOS禁用集显,导致黑屏。

解决

把显示器VGA接上独显的接口,使用高级启动进入BIOS修改成立,顺利开启VT-X。

高级启动位于windows设置-更新与安全-恢复-高级启动或左下角重启时按住shift

参考:
电脑开机太快进不去bios
Win10系统如何进入高级启动菜单

VMware启动时提示“我已移动该虚拟机”或“我已复制该虚拟机”

新电脑到了,安装虚拟机后,需要转移安装有TCAD的虚拟机,在启动时提示:

  • “我已移动该虚拟机”
  • “我已复制该虚拟机”

分别对应

1、如果选择 我已移动该虚拟机 的话网卡的MAC地址会保持不变:

因为始终只有一个MAC地址,不会造成冲突,所以虚拟机间通信没问题。

2、如果选择 我已复制该虚拟机 的话网卡的MAC地址就会变化:

因为如果MAC地址不变的话,就存在两个相同的MAC地址,那么这个两个虚拟机之间的通信就会造成冲突了,所以需要修改网络配置才能正常通讯。

由于破解和MAC地址有关,为了保持破解有效,我一般选择 我已移动该虚拟机

Sentaurus安装与破解

非原创,只是搬运工,自我总结。

本科时候用过Silvaco TCAD,做了毕业设计的仿真,不过主要还是抄抄例子、改改参数。

目前因为需要,安装破解了Sentaurus TCAD,用于半导体仿真,在这里自我总结一下。

Sentaurus TCAD是一款半导体器件仿真软件。(废话

安装流程


1. 虚拟机

我试过Redhat 5.5、CentOS 7(1708)、Ubuntu。

其中前两个是自己装的,Ubuntu是用的仿真小哥免安装版。

后两者都有一定问题,CentOS补了几个依赖包,在打开svisual还是有点问题;Ubuntu在导入和导出.gzp文件的时候有点问题。

目前主要还是用Redhat 5.5,算是比较稳定,但是在用svisual打开某些文件的时候还是会死机,跳回到登陆界面。

虚拟机软件 VMware-workstation-full-14.0.0-6661328 ,网上有很多下载和破解。

然后在虚拟机里安装 Linux 操作系统,我用了 rhel-server-5.5-x86_64-dvd


2. Sentaurus TCAD 软件主体

Sentaurus TCAD的安装文件包括4部分:

  1. scl软件,用于启动License服务
    scl_v11.6_amd64.tarscl_v11.6_common.tar
  2. sentaurus TCAD的安装文件
    sentaurus_vH_2013.03_amd64.tar (这是64位系统的文件)sentaurus_vH_2013.03_common.tar
  3. 安装器
    installer_v3.0
  4. Sentaurus范例库
    sentaurus_applications_library_vH_2013.03_common.tar

将它们拷入虚拟机,放在同一目录下,切换至root用户进行操作

cd installer_v3.0 #切换至installer_v3.0目录下
./setup.sh -install_as_root #运行安装器

先安装Sentaurus TCAD,再安装SCL。

两者的安装路径一般分别选择为/usr/synopsys/H_2013.03/usr/synopsys/SCL

如果安装过程中没有报错,软件的主体就安装完毕了。


3. 环境变量配置

修改 /etc/bashrc 文件,在其后添加以下内容

#---the Path where you install TCAD
export TcadPATH=/usr/synopsys/H_2013.03
#---the Path where you install SCL
export SclPATH=/usr/synopsys/SCL
#---the  Path of your license file
export LicPATH=/usr/synopsys/SCL/admin/license/synopsys.dat

export PATH=$SclPATH/amd64/bin:$PATH
export PATH=$TcadPATH/bin:$PATH
export LM_LICENSE_FILE=$LicPATH
export SNPSLMD_LICENSE_FILE=$LicPATH
export STDB=$HOME/STDB

可以在终端里输入 swblmhostid 命令,测试环境变量是否配置成功。


4. 破解步骤

  1. 使用 ifconfighostname 查看 网卡物理地址主机名
  2. 打开LicGen,加载pakcs文件下的Synopsys.lpd。在Select Host ID中选择Custom,输入eth0网卡的物理地址,注意中间不要留冒号。选中Use Daemon,在Select Daemon ID中选择Custom,同样输入eth0网卡的物理地址。
  3. 生成license,将SERVER名字改为虚拟机的hostname,然后将synopsys.dat保存到Synopsys SSS Feature Keygen文件夹路径下。
  4. 运行cmd,cd找到Synopsys SSS Feature Keygen路径下的sssverify,运行sssverify.exe synopsys.dat命令。记下SECRET DATA
  5. 打开KGen,输入上面SCRETE DATALinux eth0网卡物理地址,点击生成后,将会自动在该文件夹路径下生成license.dat文件。
  6. 打开license.dat文件,拷贝INCREMENT整个段落,粘贴插入到synopsys.dat文件中PACKAGE之前。
  7. 修改后的synopsys.dat文件即为Sentaurus的license文件。将synopsys.dat文件复制到scl/admin/license路径下(正版软件license存放路径)。并且将snpslmd后面语句改为此文件在scl中的路径scl/amd64/bin/snpslmd

5. 启动lmgrd

在终端输入lmgrd,出现valid SSS feature found意味着license服务启动成功

如果显示TCP端口被占用,可以使用lmdown命令关闭服务。等待数分钟,释放端口后再启动lmgrd

修改/etc/rc.local,在其后添加

/usr/synopsys/SCL/amd64/bin/lmgrd -c /usr/synopsys/SCL/admin/license/license.dat -l /usr/synopsys/SCL/admin/license/license.log

使license服务随系统启动。

第一次启动需要设置STDB目录,切换到个人目录下,mkdir STDB创建目录。

然后就可以使用软件进行仿真学习和研究了!


其他

如果嫌自带的编辑器丑……可以按照 Sentaurus TCAD安装之jedit+TCAD宏包 教程,配置jedit,强烈推荐!


主要参考

  1. 知乎live : 如何快速入门Sentaurus TCAD半导体器件仿真
  2. 知乎专栏 : Sentaurus TCAD 数值模拟
  3. 最详细的Sentaurus 2013安装过程

2017-2018-2 课程总结@USTC

研究生的第二年,看起来比较轻松,课程数目不如上学期多

这学期在科大选修的科目包括:

  • 物理电子学导论
  • 日常交流英语
  • 固体物理实验方法(II)
  • 物质成分的光谱分析
  • 半导体光学

  • 物理电子学

按照学科分类而言,应该是应用于物理研究方面的电子学学科,包括探测器、读出电路之类,但是课程设置中也有几个纯物理学的讲座,总之都是物理、电子相关的内容,虽然课表上是一周5个课时,但实际上是每周一个讲座,共11次。考核方式是专题论文,今年最后的专题是“微/纳电子学”。

  • 日常交流英语

即EPC(English Practice Center)课程,包括DC(Daily Communication)课堂内容10周 + EPC 20课时。我的DC老师是ZOWIE,印度老奶奶,有6个子女,课程最后的考核方式是4人一组抽签话题表演。EPC的课时在网上先预约再上,可以选不同的老师,我选过的有1课时Situational Dialogue和2课时Topical Discussion,共需要20课时。

  • 固体物理实验方法(II)

也是四位老师,讲四个专题,包括IR-Raman、ARPES、STM和NMR。其中IR-Raman讲了接近半学期,时间最长,NMR最短只讲了三次课,其他约2~3周左右。IR-Raman主要内容是晶格振动光谱学,感觉还是比较受益的,讲课形式是为数不多的板书,笔记记的很多。ARPES和STM的主要介绍了原理和仪器,做了大概的了解。NMR介绍了在凝聚态物理上的应用,不只是NMRI。考核方式是闭卷考试,不过可以在打印店找到往年试题,由于闭卷的原因,考的内容有限并不太难。

  • 物质成分的光谱分析

微尺度开课,也是讲座形式,主要目的是介绍仪器和使用。三个老师,分别介绍了分子光谱、原子光谱和XRF的基本原理和仪器使用。念PPT为主,考核开卷。

  • 半导体光学

一位慈祥的老奶奶,06年癌症开刀,康复后很乐观,还有一个在MIT念CS的女儿。以Semiconductor Optics _ Claus F.Klingshirn(Third Edition)书为主,其他参考书目有,《半导体光谱和光学性质》(沈学础)。讲课以PPT为主,是Claus F.Klingshirn书的翻译,但内容编排上调整过很细致。主要内容是固体的光学性质,考核方式是个人或小组做报告,报告调研内容与课程相关,并会提一个问题,与调研的文章相关。

Typecho免插件实现文章浏览次数统计

Typecho免插件实现文章浏览次数统计

转载声明:Typecho免插件实现文章浏览次数统计(Cookie Enabled)

感谢 Ryan 提供的实现方法

具体步骤:

  1. functions.php 里添加
/*
 * 获取浏览次数(改进版)
 */
function getViewsStr($widget, $format = "{views} 次浏览") {
    $fields = unserialize($widget->fields);
    if (array_key_exists('views', $fields))
        $views = (!empty($fields['views'])) ? intval($fields['views']) : 0;
    else
        $views = 0;

    //增加浏览次数
    if ($widget->is('single')) {
        $vieweds = Typecho_Cookie::get('contents_viewed');
        if (empty($vieweds))
            $vieweds = array();
        else
            $vieweds = explode(',', $vieweds);
        if (!in_array($widget->cid, $vieweds)) {
            $views = $views + 1;
            $widget->setField('views', 'str', strval($views), $widget->cid);
            $vieweds[] = $widget->cid;
            $vieweds = implode(',', $vieweds);
            Typecho_Cookie::set("contents_viewed",$vieweds);
        }
    }
    return str_replace("{views}", $views, $format);
}
  1. index.phppost.php 需要显示文章统计次数的地方,添加
<?php _e(getViewsStr($this)); /* $this 是 Widget_Archive 对象 */ ?>

输出统计次数。


转载声明:Typecho免插件实现文章浏览次数统计(Cookie Enabled)

为本站添加了SSL证书

使用浏览器时,您与此网站之间建立的连接不安全 的提醒很碍眼,所以今天为本站添加了SSL证书,启用 https://


申请SSL证书

在阿里云的 云盾证书服务(包年),免费的SLL证书,要先点击Symantec一个域名,就会出现 免费型DV SSL 的选项,然后就可以0元购买。

有两种域名验证方式

  1. DNS验证方式
  2. 文件验证方式

通过验证就申请成功了。然后在证书控制台,下载并安装证书。

下载.pem.key 文件,然后上传到服务器,知道路径就行。


安装SSL证书

这部分,主要是Nginx的操作。虽然使用LNMP一键安装包安装LNMP,但没有使用 lnmp ssl add 添加证书。

我的操作是,修改/usr/local/nginx/conf/vhost 路径下相应站点的 .conf 文件。

server
    {
        listen 80;
        #listen [::]:80;
        server_name blog.francis67.cc francis67.cc;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/blog.francis67.cc;

        #SSL配置从这里新增
        listen 443;
        ssl on;
        ssl_certificate   /usr/local/nginx/conf/vhost/cert/xxx.pem;
        ssl_certificate_key  /usr/local/nginx/conf/vhost/cert/xxx.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        #SSL配置到这里结束

        include rewrite/other.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php-pathinfo.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
         {
            expires      30d;
        }
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/y.log;
        }

重启Nginx服务 /etc/init.d/nginx restart

参考:

  1. [建站基础系列] 07. 常用配置之基于阿里云免费SSL证书开启HTTPS服务
  2. LNMP下Nginx SSL配置的方法详解

typecho设置

  • 配置config.inc.php

文件位于typecho根目录,新增如下内容:

    /** 开启SSL */
    define('__TYPECHO_SECURE__',true);
  • 后台设置

后台管理—>基本设置—>站点地址,将 https://blog.francis67.cc 换成 https://blog.francis67.cc

  • 更换全站链接

使用phpMyadmin在SQL中中执行:

UPDATE typecho_contents SET TEXT = REPLACE( TEXT, 'http://www.opdev.me/', 'https://www.opdev.me/');

  • Chrome警告

找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace("http","https",$this->commentUrl()); 最后保存。

参考:

  1. Typecho全站启用HTTPS教程
  2. Typecho 全站启用SSL

强制全站https

此时httphttps应该都是可以访问的,如果想只使用https,我们可以我通过Ningx将80端口(HTTPS)重定向到443端口(HTTPS),强制全站HTTPS。

修改/usr/local/nginx/conf/vhost 路径下相应站点的 .conf 文件。

把前面的listen 80;注释掉,再添加一段

server
{
    listen 80;
    server_name blog.francis67.cc francis67.cc;
    rewrite ^(.*) https://blog.francis67.cc$1 permanent;
}

参考:

  1. Nginx强制https,HTTP 301重定向到HTTPS

目前有三张免费SSL证书,分别用在了blog.francis67.ccblog.francis67.ccfile.francis67.cc,都已经启用了https://

安装配置vim

检查是否已经安装过vim , 输入rpm -qa|grep vim

  • vim-common
  • vim-enhanced
  • vim-minimal
  • vim-filesystem

表示安装成功,有的centos系统,默认包名不同。

:如果缺少vim-enhanced这个包,执行:yum -y install vim-enhanced 命令,它会自动下载安装。

下载完后,yum -y install vim* 安装

配置方法:

新建 vim ~/.vimrc

编辑内容为:

set nu          "设置行号
set hlsearch        "查找字符串的反白设置值
set autoindent      "自动缩进set cindent
set ruler
set showmode        "显示左下角的状态栏
syntax on       "语法高亮
set smartindent     "为C程序提供自动缩进

"设置缩进为4个空格
set tabstop=4
set softtabstop=4
set shiftwidth=4

参考:

  1. Linux Centos下安装与设置Vim编辑器和基本配置

Typecho通过页面模板实现分类、归档标签页

通过独立页面的模板实现导航栏的分类和归档

步骤:

  1. 创建php文件,例 page-category.php, 但文件名不重要
  2. 编辑php内容如下,文章分类、文章归档、标签模板
  3. 上传php文件到 theme/default
  4. 进入typecho后台,创建独立页面,选择模板,ok
  • 文章分类

配置SSR、LNMP、Typecho、Kodexplorer

缘起

上一个ip 45.77.20.58实在是太卡了,SS的网页代理卡,SSH连接也卡,ping后发现延迟还行,但丢包严重。期间拿联通卡的手机开热点,下午有一段时间还行,晚上还是不行。

猜想可能的原因:

  1. vlutr的日本机房被ban了
  2. 电信网连接太慢

昨天在vultr上试了很久,试图找到一个还能用的日本ip,不过最终还是放弃了。目前使用的ip是104.207.158.14,位于西雅图,延迟200~300ms,相比之下真是如丝般流畅。


ShadowssocksR

使用逗比根据地的Toyo大佬的一键安装脚本,安装过程十分简单,多用户管理也方便这样分享给身边人用。

ssrmu.sh 脚本是单服务器多用户脚本,使用的是 SSR服务端的MudbJSON模式,可以给每个用户(端口)设置不同的加密方式/协议/混淆/限制速度/设备数限制/可用总流量等功能。即实现单服务器多用户流量管理等功能。

客户端下载:

  1. Windows C# 下载
  2. Android 下载

参考:

  1. 『原创』ShadowsocksR MudbJSON模式多用户一键脚本 支持流量限制等
  2. 两个值得关注Github项目 SSR project backupshadowsocksrr

LNMP

使用LNMP一键安装包配置了LNMP环境,耗时约30~40min

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

使用 lnmp vhost add 创建了域名blog.francis67.cc,又在该域名下分别创建了两个二级域名。把typecho放在blog.francis67.cc下,而kodexplorer放在file.francis67.cc下。

原来的francis67.com下个月9.29到期,续费69有点贵,.cc的域名只要22,续费每年30。

给blog.francis67.cc和file.francis67.cc添加了解析。

遇到过的问题:

  1. 二级域名,网站文件夹目录配置,例:/home/wwwroot/www.xxx.com/blog
  2. .user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini
  3. 执行:lnmp vhost del 只是删除虚拟主机配置文件,网站文件并不会删除需要自己删除。

参考:

  1. LNMP添加、删除虚拟主机及伪静态使用教程

Typecho

把原来的wordpress博客换成了typecho,从体验上来说,wp更加方便不会编程的用户,而typecho比较简洁轻巧,但个性化需要一定的变成基础。

安装步骤:

  1. 在安装好LNMP的基础上,lnmp vhost add 添加了blog.francis67.cc,在部署网站时创建了数据库。(尚未添加SSL证书)
  2. 下载、解压 typecho 主体,可以直接在vps上下载,或者下载到本地通过FTP上传到vps,放在 对应网站的 文件夹下
  3. 然后通过浏览器进入,填入对应的数据库,和数据库对接就完成了

和wordpress类似,感觉实质上就是和数据库对接的文本管理,然后通过网络服务框架连接上互联网。

参考:

  1. 官方文档
  2. lnmp1.4安装及部署typecho或其它博客教程

Kodexplorer

文件管理方面还是使用了 Kodexolorer(芒果云),更像往在线操作系统的方向发展

Linux安装步骤

wget http://static.kodcloud.com/update/download/kodexplorer4.32.zip
unzip kodexplorer4.32.zip
chmod -Rf 777 ./*