月度归档:2020年07月

windows下npm安装vue

参考文章:https://www.cnblogs.com/liluxiang/p/9592003.html

使用之前,我们先来掌握3个东西是用来干什么的。

· npm: Nodejs下的包管理器。

· webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的合并和打包。

· vue-cli: 用户生成Vue工程模板。(帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装)

开始:

如图,下载8.9.3 LTS (推荐给绝大部分用户使用)

双击安装

可以使用默认路径,本例子中自行修改为d:\nodejs

一路点Next

点Finish完成

打开CMD,检查是否正常

再看看另外2个目录,npm的本地仓库跑在系统盘c盘的用户目录了(没见到npm-cache是因为没有用过,一使用缓存目录就生成了),我们试图把这2个目录移动回到D:\nodejs

先如下图建立2个目录

然后运行以下2条命令

npm config set prefix “D:\nodejs\node_global”
npm config set cache “D:\nodejs\node_cache”

如上图,我们再来关注一下npm的本地仓库,输入命令npm list -global

输入命令npm config set registry=http://registry.npm.taobao.org 配置镜像站

输入命令npm config list 显示所有配置信息,我们关注一个配置文件

C:\Users\Administrator\.npmrc

使用文本编辑器编辑它,可以看到刚才的配置信息

检查一下镜像站行不行命令1

npm config get registry

检查一下镜像站行不行命令2

Npm info vue 看看能否获得vue的信息

注意,此时,默认的模块D:\nodejs\node_modules 目录

将会改变为D:\nodejs\node_global\node_modules 目录,

如果直接运行npm install等命令会报错的。

我们需要做1件事情:

1、增加环境变量NODE_PATH 内容是:D:\nodejs\node_global\node_modules

(注意,一下操作需要重新打开CMD让上面的环境变量生效)

一、测试NPM安装vue.js

命令:npm install vue -g

这里的-g是指安装到global全局目录去

二、测试NPM安装vue-router

命令:npm install vue-router -g

运行npm install vue-cli -g安装vue脚手架

编辑环境编辑path

对path环境变量添加D:\nodejs\node_global

win10以下版本的,横向显示PATH的,注意添加到最后时,不要有分号【;】

重新打开CMD,并且测试vue是否使用正常

注意,vue-cli工具是内置了模板包括 webpack 和 webpack-simple,前者是比较复杂专业的项目,

他的配置并不全放在根目录下的 webpack.config.js 中。

初始化,安装依赖

运行npm install安装依赖

npm run dev

成功界面,提示打开地址http://localhost:8080

自动打开浏览器http://localhost:8080/#/

npm run build

生成静态文件,打开dist文件夹下新生成的index.html文件

nmp下新建出来的vue01的目录描述:

懂的越多,不会的也就越多,知识之路是不断进取的

安卓开发环境的搭建:eclipse + Android Studio

**安装环境:Win10 专业版,64位 **

第一步:安装前准备

  1. 安装JDK
    JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

这里我下载的是1.8 版本

**注意:在下载JDK版本的时候,要和后面下载的SDK版本一致,若不一致可能会导致SDK下的SDK Mamager 和AVD Mamager等其他相关工具打不开,出现一闪而过的情况 **

  1. 配置java环境变量
    新建系统变量
    变量名:JAVA_HOME
    变量值:JDK的 安装路径

在系统变量Path 中新建项,并添加%JAVA_HOME%\bin

测试是否成功:win + R调出cmd窗口,输入命令:java -version
显示如下则说明安装成功。

  1. 安装SDK(这个AS中有自带的SDK,可选)
    SDK 下载地址:http://tools.android-studio.org/index.php/sdk,
    这里有两种方式,一种是exe安装程序,一种是压缩包,我选择的是压缩包方式,下载解压即可。解压目录:

双击SDK/AVD应用程序,出现一下界面。则说明是没问题的:
SDK Manager:

AVD Manager:

如果之间的JDK 版本和SDK 版本不一致(JDK版本过高,则此处的SDK和AVD 都不会出现)

  1. 配置SDK环境变量
    新建系统变量
    变量值:ANDROID_HOME
    变量名:E:\SDK

在系统变量Path 中新增加两项:
%ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools

**测试是否成功:win + R调出cmd窗口,输入命令:adb 或android **

输入android 则会出出现上面的SDK Manager, 说明成功。

第二步:安装eclipse
安装说明:Google 已经于2015年起停止了对Eclipse Android 的支持,同时推出了自家的IDA Android Studio,如果出于开发的需要,最好在Android Studio 中开始你的项目。这里安装eclipse ,只是出于在有些情况下的需要

  1. 下载安装eclipse
    下载地址:
    http://www.eclipse.org/downloads/packages/
    选择32/64位的Eclipse IDE for Java EE Developers ,以分析或修改APK文件。
    下载好压缩包之后,直接解压,运行eclipse 即可。
  1. 安装ADK
    此处有两种安装方法,由于第一种方法需要FQ,所需略过不谈,直接上第二种——-离线的方式进行安装。
    先下载ADK包:链接:https://pan.baidu.com/s/1B9BVMan6ku6N8_z3Rc2oCQ 密码:6bl6

启动 Eclipse, 在help>install new software

配置ADT:windows>Preference>
SDK 为之前下载后的解压文件:

第三步:安装Android Studio

  1. 下载安装Android Studio
    下载地址:http://www.android-studio.org/
    选择合适版本(我选择是推荐方式)

下载后,启动安装程序,一路安装,应该问题不大。
注意其中有一步是第一次启动时会弹出设置代理选项,取消即可

  1. 修改配置
    在这里设置SDK JDK NDK 路径即可
  1. 进行测试
    创建项目

创建模拟器

按照向导,创建自己需要的安卓模拟器

最后运行,看看效果

  1. 遇到的问题
    由于Gradlle 版本问题,在创建完项目的时候,会一直卡在building “project name”gradle project info,界面,
    解决方法,可参照这篇博客:https://blog.csdn.net/veloi/article/details/72988189
    ————————————————

原文链接:https://blog.csdn.net/u013926216/article/details/81784745

参考文章:搞定Android开发环境部署——非常详细的Android开发环境搭建教程
关于JRE和JDK的区别
java下载需要oracle账户
Android Studio 常见错误分析
运行第一个安卓应用

HTML学习笔记

DOM

DOM - Document Object Model
This model can be described as a tree structure:
                      Document
                         |
                Root element:<html>
                         |
             ————————————————————————
            |                        |
   Element:<head>              Element:<body>
            |                        |
            |               ———————————————————
   Element:<title>         |                   |
            |          Element:<a>         Element:<h1>
            |       Attribute: "href"          |
            |              |                   |
   Text:"my title"   Text:"my link"       Text:"my header"

DOM是W3C(万维网联盟)的标准,它定义了访问HTML和XML文档的标准:W3C-DOM是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。
W3C-DOM分成3个不同的部分:
· 核心DOM:针对任何结构文档的标准模型
· XML DOM:针对XML文档的标准模型
· HTML DOM:针对HTML文档的标准模型

这里对HTML DOM进行详述
关于HTML DOM,它是:
· HTML的标准对象模型
· HTML的标准编程接口
· W3C标准

HTML DOM定义了所有HTML元素的对象和属性,以及访问它们的方法。

在HTML DOM中,所有事物都是节点(Node)。DOM是视为节点树的HTML。
· 整个文档是一个文档节点
· 每个HTML元素是元素节点
· HTML元素内的文本是文本节点
· 每个HTML属性是属性节点
· 注释是注释节点

关于节点的图述

HTML DOM方法和属性
HTML DOM方法是我们可以在节点上执行的动作。
HTML DOM属性是我们可以在节点设置和修改的值。

可通过JavaScript(或其他编程语言)对HTML DOM进行访问。
所有HTML元素被定义为对象,而编程接口则是对象的方法和属性。
方法是能执行的动作。属性是能够获取或设置的值。

如,一些常用的HTML DOM方法:
· getElementById
· appendChild
· removeChild
· getElementsByTagName
· getElementsByClassName
· replaceChild
· insertBefore
· createAttribute
· createTextNode
· getAttribute
· setAttribute

一些常用的HTML DOM属性:
· innerHTML – 获取元素内容
· parentNode
· childNode
· attributes

nodeName属性规定节点的名称↓↓

  • nodeName只读
  • 元素节点的nodeName与标签名相同
  • 属性节点的nodeName与属性名相同
  • 文本节点的nodeName始终是#text
  • 文档节点的nodeName始终是#document
  • nodeName始终包含HTML元素的大写字母标签名

nodeValue属性规定节点的值↓↓

  • 元素节点的nodeValue是undefined或null
  • 文本节点的nodeValue是文本本身
  • 属性节点的nodeValue是属性值

nodeValue属性规定节点的值↓↓

  • 元素节点的nodeValue是undefined或null
  • 文本节点的nodeValue是文本本身
  • 属性节点的nodeValue是属性值
<p id="intro">Hello World!</p>
<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

nodeType属性:返回节点的类型,nodeType是只读的。
比较重要的节点类型有:
元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9

访问HTML元素等同于访问节点,可通过不同方式来访问HTML元素:

  • getElementById()
  • getElementsByTagName():返回节点列表,为一个节点数组,如:
    var x = document.getElementsByTagName(“p”);
    可以通过下标访问节点,如访问第二个:y=x[1],x.length为节点列表长度,返回的根节点不含样式,子节点包含所有的样式
  • getElementsByClassName()

HTML DOM的修改=改变元素、属性、样式和事件

  • 增删HTML元素
    创建:追加到已有元素上
    <div id="div1">
    <p id="p1">这是一个段落</p>
    <p id="p2">这是第二段落</p>
    </div>
    <script>
    var para = document.createElement("p");
    var node = document.createTextNode("这是个新段落");
    para.appendChild(node);
    var ele = document.getElementById("div1");
    ele.appendChild(para);
    </script>

    appenChild()是讲元素作为父元素的最后一个子元素进行添加,用insertBefore()插在元素前
    删除:removeChild()
    替换:replaceChild()
  • 改变HTML内容:最简单的方法是使用innerHTML属性
    (除了innerHTML,还可用childNodes和nodeValue属性获取元素内容,详见参考手册)
    <p id="p1">Hey</p>
    <script>
    document.getElementById("p1").innerHTML = "新内容在这";
    </script>
  • 改变CSS样式
    <p id="p1">hey</p>
    <p id="p2">world</p>
    <script>
    document.getElementById("p2").style.color = "blue";
    document.getElementById("p2").style.fontFamily = "Arial";
    document.getElementById("p2").style.fontSize = "larger";
    </script>
  • 改变HTML元素的属性
  • 改变事件
    HTML DOM允许在事件发生时执行代码
    当HTML元素“有事情发生”时,浏览器会生成事件:
    ~在元素上点击
    ~加载页面
    ~改变输入字段
    e.g. <input type="button" onclick="document.body.style.backgroundColor = 'lavender';" value="修改背景颜色" />

也可以:
<script>
function changeBg()
{
document.body.style.backgroundColor="lavender";
}
</script>

<input type="button" onclick="changeBg()" value="修改背景色" />

HTML DOM允许JavaScript对HTML事件做出反应,当事件发生时,可以执行JavaScript,如用户点击某个元素时执行代码,则把JS代码添加到HTML事件属性中:onclick=JavaScript
HTML事件例子:
~用户点击鼠标时
~网页已加载
~图片已加载
~鼠标移动到元素上
~输入字段被改变
~HTML表单被提交时
~用户触发按键时

以下两个方式等效:
a) <button onclick="displayDate()">点我</button>
b) document.getElementById("myBtn").onclick = function(){dispalyDate()};

onload,onunload,onchange
用户进入或离开页面时,会触发onload和onunload事件
onload事件可用于检查方可的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。
onload和onunload事件都可用于处理cookies
onchange事件常用于输入字段的验证,如:
<input type="text" id="fname" onchange="upperCase()" />

HTML DOM 事件对象参考手册:
https://www.w3school.com.cn/jsref/index.asp
https://www.runoob.com/jsref/jsref-tutorial.html

DOM根节点的两个特殊属性可以访问全部文档
~ document.documentElement 全部文档
~ document.body 文档主体

Vue.js学习笔记

体积:33k
虚拟dom,更高的运行效率
双向数据绑定
生态丰富,基于vue.js的ui框架、常用组件
使用场景广泛

安装与部署
1、<script>引用
<script src="https://cdn.jsdelivr.net/npm/" />
2、CLI命令行工具使用,npm
3、CDN

创建第一个vue应用
视图+脚本
视图:<div id="app">
{{mes}}
</div>

脚本:
<script type="text/javascript">
var app = new Vue({
el: '#app',
data:{
mes: 'hello vue!'
}
});
</script>

数据与方法
每个Vue应用是通过Vue函数创建新的Vue实例开始的
var vm = new Vue({});

<div id = "app">
{{a}} {{b}}
</div>
<script type="text/javascript">
var data = { a: 1 };
var vm = new Vue({
el : "#app",
data : data
});
data.a = 2;
</script>

Vue实例使用$区分方法和属性
e.g.
vm.data
vm.$watch —>方法list

生命周期
学习->API->生命周期钩子
生命周期函数不能使用箭头函数,箭头函数没有this
beforeCreate
created
beforeMount:相关的渲染函数首次被调用
mount ed:el创建成功
beforeUpdate:数据更新前
updated:数据更新完成
errorCaptured
activated, destroyed

模板语法
Vue.js使用用了基于HTML的模板语法,所有Vue.js的模板都是合法的HTML,能被遵循规范的浏览器和解析器解析。

文本:{{}}进行数据绑定
v-once,进行一次性插值

原始HTML,v-html标签可以使用html代码,v-bind绑定属性
<div id = "app">
<p v-html="rawHtml"></p>
<div v-bind:class="color">test…</div>
<p>{{number + 1}}</p>
<p>{{ ok? 'YES' : 'NO' }} </p>
<p>{{ mes.split('').reverse().join(' ') }} </p>
</div>

<script type="text/javascript">
var vm = new Vue({
el: "#app",
data:{
msg: "hey",
rawHtml: '<span style="color:red">this is should be red</span>',
color: 'red1',
number: 9 ,
ok : 1
}
});
<style type="text/css">
.red1{color: red;}
.blue1{color:blue: font-size:100px;}
</style>

指令
v-前缀的特殊属性
v-if=”seen”
参数,一些指令能接受参数
修饰符,用.指明 <div @click="click1">
<div @click.stop="click2">click here</div>
</div>

class与style绑定
v-bind:class="[ isActive ? 'active' : '', isGreen ? 'green' : '']"
v-bind:class="{active : isActive, green : isGreen}"

样式绑定图示

在中括号里可以使用条件表达式
{}只能是json数组

条件渲染
v-if v-else-if v-else:条件改变少适用
v-show:始终渲染,常切换适用

数组渲染
v-for item in items

数组渲染逻辑

事件绑定:v-on
<button v-on:事件名:”方法名(参数,…,$event)”>
事件名:不同元素拥有各自的事件,如click,dblclick
$event 是原始DOM事件 常用事件修饰符:stop,prevent,passive,capture,self,once 表单输入绑定

v-model 在input,textarea,select上进行数据双向绑定

vue的组件应用:全局组件注册

component的局部注册,是在实例中添加component部分,并注册其名称,如下示范:

<div id="app">
<button-counter></button-counter>
<test></test>
</div>
<script type="text/javascript">
Vue.component('button-counter', {
        props: ['title'],
        data: function () {
                return {}
        },
        template: '<div><h1>hi…</h1></div>',
        methods:{
        }
})
var vm = new Vue({
        el : "#app",
        data : {
        },
        methods:{
        clicknow : function (e) {
                console.log(e);
                }
        },
components:{
        test : {
                template:"<h2>h2…</h2>"
                }
       }
});
</script>

实际应用中很少如上这样局部注册,更多的是通过类似java那样的单文件注册来完成的:

import ComponentA from './ComponentA' 
import ComponentC from './ComponentC' 

export default { 
    components: { ComponentA, ComponentC }, // ... 
}

单文件注册需要进行环境配置:

· 安装 npm

npm 全称为 Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器。

npm -v

· 由于网络原因 安装 cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

· 安装 vue-cli

cnpm install -g @vue/cli

· 安装 webpack

webpackJavaScript 打包器(module bundler)

cnpm install -g webpack

参考:Vue.js视频教程
Dcloud
Vue.js文字教程
Vue.js API

奇葩说陈铭关于“认真就输了”的论述

如果尘世间所有的输赢,都由自己的心来判断,那么我们可以做一个一辈子都不会输的人。

所以我们刚才说的事情,不是说输是因为认真,不是说输的时候是因为认真,是要归因到我当时不该认真。

不是。
是说我们要认识到人力之有限,我们要意识到人力的——无奈。

因为这个世界充满了太多的概率,充满了太多的冲撞,认真是我们唯一能做的,最好的事情。
我从一开始就说了,它是美德。
那是因为我意识到它,有些事情你改变不了,我还要去做,它才是美德。
它才是美德。

不是因为它是你输的原因,是因为即便你……其实你刚才说的话更像网络上出现的用语:“认真,你就不会输,你要对得起自己,无论如何,只要你是认真的,就一定有收获。”
我们当然知道。

可是我有收获就赢了吗?

认真地打一局麻将,我一定会有收获,我的牌技会提高,赢了钱吗?
我认真地买每一张彩票,我对得起我自己全情的付出,中了奖吗?
我认真的追一个我爱的人,我付出了一切——他,就会爱我吗?
所有的认真都有自己的收获,但不所有的收获都叫认真,都叫赢。
这是两码事。

在刚才过去几天,录制的时候,我打印了我们所有奇葩说选手的照片。这真的是我逼大家签名,我守在化妆间的门口,每一个,这都是我自己在网上找的照片,所有人还有导师们,然后每一个选手我都找他们签了名字。
是因为我老婆月子中心的一个护士酷爱这个节目,委托我把签名集齐。
因为从我女儿出生那一刻起,我,就已经输了。

认真,我就是输了。
我之前有过这么认真吗?
我输了,这是为什么我说认输。
有什么大不了的。

你人生中没有碰到一两个人,一两件事,让你心甘情愿地认输吗?
让你认认真真地认输吗?
你爱一个人,你愿不愿意为他认输?
但我愿意呀,怎么了呢。

认识到认真才是输了。才能让我们真切地意识到——认真,为什么是你刚才所说的美德和为什么是一个那么值得去倡导的价值。
因为世事那么变迁,因为连物质世界都是概率,人情更是更不可捉摸的烟云,哪有那么多东西是我们可以坚持的握在手中的呢?
而我们唯一能做的是什么——认真呢,你能怎么办,你又能怎么办,认真你就不输?
太骄傲了,对人性太仰视了,觉得人在这个世间太伟大了。
而有的时候你意识到认真背后,是因为你心甘情愿的俯首称臣。
意识到了,你心里认真地做一件事,你真的给他跪了,你才能辅佐以全部的认真倾注在它的身上。

这才是我为什么说认真你就输了。
放下生活中的那些执念。
放下,对人性中那种伟岸的那种莫名的揣测和偏执。
放下,你曾经坚信的每一样东西,心甘情愿地为一件又一件值得跪下的事情跪下。
放下。
输掉。
其实很美妙的。

原视频

2019年东京大学入学典礼,上野千鹤子教授祝辞译文全文

首先恭喜各位同学考入东京大学。你们从激烈的竞争中脱颖而出,才来到了这里。

女学生所处的现状

我想大家应该都不会质疑这场选拔考试的公平性。倘若缺乏公正的话,你们肯定会非常愤怒吧。 但是,就在去年,东京医科大学被爆出歧视女生和复读学生等“入学不公”丑闻。依据日本文科省对全国81所医科大学、医学部进行的全面调查显示,女生普遍很难考入医科大学。换句话说,相对于女生的医科大学入学合格率,男生的平均合格率要高出1.2倍。此次,被爆出丑闻的东医大高达1.29倍,最高的顺天堂大学为1.67倍。排名靠前的大学还有昭和大学、日本大学、庆应大学等私立学校。而女生入学困难度低于1.0,即相对而言女生更容易考入的大学有鸟取大学、岛根大学、德岛大学、弘前大学等地方国立大学医学部。顺便说一下,东京大学理科3类为1.03,虽然低于1.2的平均值,但仍超出正常值1.0。那么,我们究竟该如何解读这个数字呢?统计非常重要,因为研究都是基于统计才成立的。

女生比男生更难合格,这是因为男生的考试成绩更优异吗? 公布了全国医学部调查结果的文科省负责人表示:“当前没有发现其它优先考虑男生的院系,无论是理工科还是文科,大多数情况下还是女生更有优势”。如此说来,除医学部外,其他学部女生的入学难度均低于1,而医学部则高于1。针对这一现状,势必需要讨个说法。

事实上,各种数据都表明,女性考生的偏差值普遍高于男性考生。首先,为了避免复读,女生通常会做足准备后,再慎重决定报考院校。第二,长期以来,东京大学入学者的女性比例一直无法突破“2成的壁垒”。 今年考入东大的女生仅为18.1%,比前年还要低。由于在统计数据中,偏差值的正态分布没有男女差异,因此可以断定报考东大的女性学生往往比男性学生更优秀。第三,4年制大学的入学率本身就存在性别差异。根据2016年度的学校基本调查,就4年制大学的入学率而言,男生为55.6%,女生为48.2%,有7个百分点的差距。这个差距并非是成绩上的差距,而是由于父母的 “儿子上大学,女儿上短大就可以”的重男轻女观念造成的差距。

近期,获得诺贝尔和平奖的马拉拉·优素福·扎伊女士在访问日本时,强烈呼吁“女性教育”的必要性。女性教育对巴基斯坦而言至关重要,那么对日本而言就是无关紧要了吗? “反正是女孩子”“毕竟是女孩子”这种给女孩泼冷水、拖后腿、浇灭女性求学热情的现象叫做aspiration的cooling down,即热情冷却效应。马拉拉的父亲在被问及“是如何养育女儿的”时候,回答道“不能折断女儿的翅膀”。的确,每个孩子都拥有自己的翅膀,可是许多女儿的翅膀都被折断了。

通过努力奋斗而考上东大的各位男女同学们,等待你们的又是怎样的环境呢?在和其他大学联谊时,东大的男生会很受欢迎。 但我从东大的女生口中听到了这样的话。当被别人问道“你是哪所大学的学生?”时,她会犹豫地回答说:“东京的……一所大学。”因为一听说是东大的学生,对方就会退避三舍。为什么男生可以身为东大学生而无比自豪,女生却不敢轻易向别人吐露自己是东大学生呢?因为男性的价值和优异的成绩是对等的,而女性的价值和优异的成绩之间却不能轻易画等号。女生从小就被期待“可爱”。话说回来,“可爱”究竟是什么样的价值呢?被爱、被选择、被守护,这样的价值中隐藏着一种保证“绝对不能威胁到对方”。因此,女生通常倾向于隐瞒自己成绩优异和自己是东大学生的事实。

东大曾经发生过一起5名东大工学部和研究生院的男生,集体性侵私立大学女学生的事件。 加害者中的3人被退学,2人遭受停学处分。以该事件为原型,日本作家姬野考可写了一部名为《因为她脑子笨》的小说。2018年,东大还以此为主题在校内举办了研讨会。为什么小说取名叫《因为她脑子笨》呢?据说这是在审讯过程中,一名施暴男生实际说出的话。只要读下这部作品,大家就能迅速明白日本社会是如何看待东大男生的。

我听说,东大至今仍然存在着一些不允许东大女生实质参与,只允许其他大学的女生参加的男生社团。在半个世纪以前,我的学生时代也曾有过类似的社团。万万没想到,在半个世纪后的今天仍然存在着这样的社团。今年3月,我以东京大学男女共同参画负责理事·副校长的名义,向这些社团发出了“排斥女生违背了《东大宪章》所倡导的平等理念”的警告。

迄今为止,你们生活的学校是一个表面平等的社会。看似在偏差值竞争上,并没有男女差别。。 但是,当你们真正进入大学的那一刻起,隐性的性别歧视便开始萌芽。当你们走出校园踏上社会后,性别歧视将会更加肆无忌惮。很遗憾,东京大学也是其中的一例。

东大内,本科生中女生占比20%左右,而研究生院中,读硕士课程的女生占比25%,读博士课程的女生占比30.7%。然而,在研究职位上,女性助教的比例会下降到18.2%,女性副教授为11.6%,女性教授的比例仅为7.8%。 这个数字比女性国会议员的比例还低。而系主任和研究科长职位中,每15人中仅有1人为女性,历任校长中都没有女性。

作为女性学的第一人

早在40年前,就已经诞生了研究这一问题的学问——女性学,后来我们称之为性别研究。 在我的学生时代,世界上还不存在什么女性学、性别研究。但正因为没有,才决定创建这门新学问。女性学诞生于大学之外,却最终回归大学校园。 25年前,我到东京大学任职时,是文学部的第三位女教员。于是,我决定将女性学带入课堂。在开始研究女性学之后,我发现世界上尽是未解的谜团。 为什么大家一致认为工作是男人的事,家务是女人的事?男人一定是工作,女人是家务? 家庭主妇是什么,她应该做些什么?在没有卫生巾和卫生棉条的时代,女性会用什么月经用品呢? 日本历史上是否有过同性恋? 因为没有人研究过,自然也不会有什么先行研究。因此,无论当时我做了什么,我都能成为那个领域的先驱者和第一人。如今在东京大学,无论是从事家庭主妇研究,少女漫画研究,还是性行为研究,都能获得相应的学位。但是,这样的优越条件是我们前人不断开辟新领域,不断斗争为你们换取来的。而一直激励我不断前进和斗争的正是永不满足的好奇心和对社会不公正的愤怒。

学问也有风险。既有不断衰败的学问,也有许多新兴学问。女性学也是一门充满风险的学问。不仅是女性学,当今社会还兴起了环境学、情报学、障碍学等各种新学问。这是因为时代的变化需要这些学问。

————————- ⇓ ⇓ ⇓ ————————-

即便努力也不一定会有公平回报”的社会。

我想先声明一下,东京大学是一所包容变化和多样性的大学。东大能够录用我,并让我今天能够站在大家面前,这就是最好的证明。次外,东京大学还有国立大学第一位在日韩国人教授姜尚中先生,也有国立大学第一位高中毕业的教授安藤忠雄先生,还有具有盲聋哑三重残疾的教授福岛智先生。

而你们也成功通过选拔来到这里。 据说,国家每年会支付给每个东大学生月500万日元的经费。在接下来的4年间,等待你们的将是绝佳的教育学习环境。针对这一点,常年在这里授课的我可以向大家保证。

你们应该都是抱着“只要努力就会有回报”的信念来到这里的。 但是,正如我一开始就谈到的“入学不公”现象一样,今后等待着你们的将是“即便努力也不一定会有公平回报”的社会。而且,请你们不要忘记,那些你们自以为“努力换来的回报”,并不单单是你们拼命努力的成果,而是你们身处的环境所赋予你们的。你们今天之所以能觉得“努力就会有回报”,是因为在过去的岁月里,你们周围的环境激励你们、督促你们、支持你们,并且称赞你们所获得的成就。你们是足够幸运的,因为世界上存在着即便努力也无法得到回报的人,存在着即便想努力却无法努力的人,也存在着由于过度努力而身心受挫的人,还存在着努力之前,因被别人嘲讽“就凭你不可能做到”,或陷入自我怀疑“反正我也做不到”,而丧失前进的动力的人。

请不要只为了一己输赢而努力。请不要将你们所获得的优越环境和能力,用来贬低那些没有你们那么幸运的人,而是用来帮助这群人。最后,请你们不要逞强,勇敢承认自己的弱点,互相支撑着活下去。孕育女性学的正是女权主义这种女性运动,但女权主义绝不是让女性像男性一样行动,也不是让让弱者变身为强者的思想。女权主义追求的是一种身为弱者也能受到应有尊重的思想。

在东京大学学习的价值

今后,等待你们的将是一个现有学说完全无法适用的不可预测的未知世界。迄今为止,你们一直都在追求有正确答案的知识。今后等待你们的将是一个充满未知、充满没有正确答案的问题的世界。为什么学校里需要多样性呢?因为新的价值在体系和体系之间、在不同文化的摩擦碰撞之间产生的。这不仅局限于校内,东大将为大家提供海外留学和国际交流项目,同时也支持大家参与各类解决国内地域课题的相关活动。 请你们追求未知,勇敢地走向世界。 不必害怕异域文化。只要是有人类存活的地方,你们到哪里都能生存下去。我希望你们能掌握生存下去的智慧,只有这样,今后当你们跳出东大这块金字招牌,走向其它环境时,即便你们变成难民,也能够顺利生存下去。我深信,在大学学习的价值,不再是单纯掌握已有知识,而是掌握一种探索发现未知知识的能力。能够诞生新知识的知识叫做元知识。而让学生掌握元知识才是大学的真正使命。

————————- ⇑ ⇑ ⇑ ————————-

欢迎你们来到东京大学。

平成31年4月12日

NPO法人Women’s Action Network理事长

上野 千鹤子

– 完 –

原文阅读

如何下载B站上的视频

1、安装Python:https://www.python.org/downloads/

2、cmd → pip3 install you-get

3、添加环境变量到Path

4、重新进入cmd

5、you-get -i https://www.bilibili.com/video/BVxxxxxxxxx

6、you-get --format=flv https://www.bilibili.com/video/BVxxxxxxxxx

7、在C:\Users\你的设备用户名文件路径下查看下载的文件