python中ajax的封装传参

python中ajax的封装传参

Ajax 封装

<!DOCTYPE html>
<html lang=”en”>

<head>
<meta charset=”UTF-8″>
<title>07_ajax的封装传参</title>
</head>

<body>
<h1>07_ajax的封装传参</h1>
<input type=”button” value=”测试get参数” onclick=”test1()” />
<input type=”button” value=”测试post参数” onclick=”test2()” />
<script>
function ajax(options) {
var xhr = new XMLHttpRequest()
var params = ”
for (var atr in options.data) {
params = params + atr + ‘=’ + options.data[atr] + ‘&’
}
params = params.substr(0, params.length – 1)
//get请求
if (options.type == ‘get’) {
options.url = options.url + “?” + params
}

xhr.open(options.type, options.url)
//post请求
if (options.type == ‘post’) {
xhr.setRequestHeader(‘Content-type’,’application/x-www-form-urlencoded’)
xhr.send(params)
}else{
xhr.send()
}

xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText)
}
}
}

function test1() {
ajax({
type: ‘get’,
url: ‘/login’,
data: { ‘name’: ‘吕小布’, ‘pwd’: 123 }
})

}
function test2(){
ajax({
type: ‘post’,
url: ‘/login’,
data: { ‘name’: ‘吕小布’, ‘pwd’: 123 }
})
}
</script>
</body>

</html>

#导入模块
from flask import Flask, request, render_template

app = Flask(__name__)

@app.route(‘/login’, methods=[‘GET’, ‘POST’])
def login():
if request.method == ‘GET’:
return ‘get请求成功’
elif request.method == ‘POST’:
return ‘post请求成功’
@app.route(‘/fz02′)
def fz02():
return render_template(’07_ajax的封装传参 copy.html’)

图片:%title插图%num
————————————————
版权声明:本文为CSDN博主「pytho程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Wlpytho/article/details/115429683

Windows 服务器被入侵

公司的 Windows 服务器被入侵了。

服务器上部署了两个网站,主站是 Spring MVC + Spring + Hibernate,还有个小站(主要是内部使用,却是对外开放)是 Struts 2 + Spring + Hibernate。本来以为主站做好了各种优化和防护就安枕无忧了,后来查了 Nginx 的 error.log ,才发现黑客利用了 Struts 2 的执行代码漏洞,上传了一个工具 JSP,然后把文件复制到主站目录。

经验教训是,不要忽略任何细节,例如这个小站。

目前,小站升级了 Struts,做了 IP 限制,一了百了。

Athrob 1
Athrob 2017-11-04 17:47:25 +08:00
内部使用为什么要对外开放[黑人问号]
iamfirst 2
iamfirst 2017-11-04 18:40:00 +08:00 via iPhone
没一了百了的事情,安全资讯还是要时刻关注,经常升级和打补丁
kokutou 3
kokutou 2017-11-04 18:52:12 +08:00
Struts 漏洞好久了吧。。。
hugee 4
hugee 2017-11-04 18:54:31 +08:00 via Android
装了 xx 狗,xx 卫士么?
fox0001 5
fox0001 2017-11-04 19:04:28 +08:00
@hugee #4 啥都没装,基本裸奔
fox0001 6
fox0001 2017-11-04 19:04:54 +08:00
@Athrob #1 一开始是对外开放的,后来才转为内部使用
fox0001 7
fox0001 2017-11-04 19:05:27 +08:00
@kokutou #3 懒人之过…
claysec 8
claysec 2017-11-04 19:21:57 +08:00
@fox0001 没有自查内部网络是否也有沦陷的机器了吗
fox0001 9
fox0001 2017-11-04 21:38:51 +08:00
@claysec #8 没有…
Cu635 10
Cu635 2017-11-04 21:53:22 +08:00
@fox0001
是没有自查过还是检查过没有其它沦陷机器?

pq 11
pq 2017-11-04 21:56:35 +08:00
用 windows 跑这些东西,配置起来应该不比 linux 更轻松吧?又不是.net 。。。。
CFO 12
CFO 2017-11-04 22:22:08 +08:00 via Android
@pq 不都是 jdk + tomcat 吗?有什么区别?
WordTian 13
WordTian 2017-11-04 23:01:45 +08:00 via Android
别用 struts 了,都快成筛子了。就今年到现在 struts 的漏洞已经从 046 到 052 了。大部分都是远程执行漏洞。再过一段时间,再爆出几个也一点不稀奇
hcymk2 14
hcymk2 2017-11-04 23:13:15 +08:00 ❤️ 1
检测 struts 命令执行漏洞
https://github.com/Lucifer1993/struts-scan
gancl 15
gancl 2017-11-04 23:29:13 +08:00
https://www.v2ex.com/t/341483
fox0001 16
fox0001 2017-11-05 09:49:13 +08:00
@WordTian #13 老网站,有人维护已经不错了
claysec 17
claysec 2017-11-05 12:24:47 +08:00
@fox0001 …..建议马上自查。
fox0001 18
fox0001 2017-11-05 14:05:39 +08:00
@pq #11 历史问题,要是有得选,也不会用 Windows。不过 struts 的漏洞,选什么系统也一样吧?
yingfengi 19
yingfengi 2017-11-09 08:15:05 +08:00 via Android
出口架一台墙吧

python paddlehub的安装

python paddlehub的安装

cmd安装命令:
首先需要安装pandle库

pip install paddlepaddle

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple –default-timeout=100 paddlehub

在jupyter lab中import库:

import pandle

import pandlehub as hub

发现提示错误,找不到pandlehub?可是可是可是,我明明安装了的说。别慌,用键盘输入以下一串代码,问题迎刃而解:

import importlib

import sys
sys.path.append(r’这里是你site-packages的路径,一般都在C盘的python38里面。不同人的路径和python版本不同,自己查看一下!’)
import setuptools

import warnings
warnings.filterwarnings(
“ignore”, “Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools’ objects directly or at least import Setuptools first.”, UserWarning, “setuptools.distutils_patch”)

接下来,重新导库:

import pandle
import pandlehub as hub

Python列表的 * 运算的结果竟然?

Python列表的 * 运算的结果竟然?

试问Python列表的*运算的结果是什么
将列表从用*零维扩展到二维,能产生什么结果?
这还不简单?就是一个普通的二维的列表呀. . .
对,很简单,那么它和用for循环一行一行创建出来的列表一样吗?

测试1
代码:
#python3.8
arr = [[0.]*10]*10
arr[0][0] = 1.
print(arr)
arr = []
for i in range(10):
arr.append([0.]*10)
arr[0][0] = 1.
print(arr)

控制台:
[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

不一样哦~~ 如果用两次*来创建二维列表,对一行的一个值赋值,则每一行都改变。

测试2
代码:
arr = [[0., 2, ‘3’]*3]*9
arr[0][0] = 1.
print(arr)
arr = []
for i in range(9):
arr.append([0., 2, ‘3’]*3)
arr[0][0] = 1.
print(arr)

控制台:
[[1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’]]
[[1.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’], [0.0, 2, ‘3’, 0.0, 2, ‘3’, 0.0, 2, ‘3’]]

可以发现,列表*数字 n n n可以看成将列表中的元素循环拷贝 n n n次,而循环 n n n次则是创建了 n n n个列表。

测试3
代码:
arr = [[{‘name’: ‘str’}]*3]*9
arr[0][0][‘name’] = ‘STR’
print(arr)
arr = []
for i in range(9):
arr.append([{‘name’: ‘str’}]*3)
arr[0][0][‘name’] = ‘STR’
print(arr)

控制台:
[[{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}]]
[[{‘name’: ‘STR’}, {‘name’: ‘STR’}, {‘name’: ‘STR’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}]]

这次列表中是字典,只要修改一个字典,由这个字典“*”出来的元素全部变化。

测试4
代码:
class Test:
def __init__(self, name: str):
self.name = name

def set_name(self, name: str):
self.name = name

arr = [[Test(‘str’)]*3]*9
print(arr)
arr = []
for i in range(9):
arr.append([Test(‘str’)]*3)
print(arr)

控制台:
[[<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>]]
[[<__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>, <__main__.Test object at 0x000001AD6DD7A280>], [<__main__.Test object at 0x000001AD6DD7A310>, <__main__.Test object at 0x000001AD6DD7A310>, <__main__.Test object at 0x000001AD6DD7A310>], [<__main__.Test object at 0x000001AD6DD7A4C0>, <__main__.Test object at 0x000001AD6DD7A4C0>, <__main__.Test object at 0x000001AD6DD7A4C0>], [<__main__.Test object at 0x000001AD6DDC4610>, <__main__.Test object at 0x000001AD6DDC4610>, <__main__.Test object at 0x000001AD6DDC4610>], [<__main__.Test object at 0x000001AD6DDC4F70>, <__main__.Test object at 0x000001AD6DDC4F70>, <__main__.Test object at 0x000001AD6DDC4F70>], [<__main__.Test object at 0x000001AD6DDC4EE0>, <__main__.Test object at 0x000001AD6DDC4EE0>, <__main__.Test object at 0x000001AD6DDC4EE0>], [<__main__.Test object at 0x000001AD6DDC4D90>, <__main__.Test object at 0x000001AD6DDC4D90>, <__main__.Test object at 0x000001AD6DDC4D90>], [<__main__.Test object at 0x000001AD6DDC4F10>, <__main__.Test object at 0x000001AD6DDC4F10>, <__main__.Test object at 0x000001AD6DDC4F10>], [<__main__.Test object at 0x000001AD6DDC4E20>, <__main__.Test object at 0x000001AD6DDC4E20>, <__main__.Test object at 0x000001AD6DDC4E20>]]

这次看得*清楚,*得到的对象地址都一样,*只是将指针拷贝了许多次。

所以说
如果列表里是不可变类型,则可以用放心用*,如果是可变类型的话(如上面测试1中列表中的元素是列表),新手可能直接就掉坑里了。

arr = [[{‘name’: ‘str’}for _ in range(3)] for _ in range(3)]
arr[0][0][‘name’] = ‘STR’
print(arr)

[[{‘name’: ‘STR’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘str’}, {‘name’: ‘str’}, {‘name’: ‘str’}], [{‘name’: ‘s

病毒在 Android 上只有软件这一种形式吗?

Android 防护方面的软件都只扫描恶意应用,那软件之外有什么东西可能会对手机造成不良影响吗?

看了其他关于 Android 杀毒方面的帖子,都是更新补丁、权限之类的回答,说是除了恶意软件之外不用担心 Android 安全问题。

现在 Android 上一些安全防护类的功能或软件,比如 Play 保护机制和各家手机上自带的管家等,都只扫描应用,不扫描磁盘。让我不禁回想起大概在 Android 5 的时候(我人生中*次遇到病毒,所以印象深刻),我在一个亲戚的手机上扫描出了两个偷跑流量的木马(忘了它们是什么形式的了)。

所以软件之外有什么东西可能会对手机造成不良影响吗?或者说病毒在 Android 上只有软件这一种形式吗?

比如脚本之类?

如果真的不用担心恶意软件之外的问题,那 大蜘蛛 这个软件的防毒功能与磁盘扫描功能难道是贩卖焦虑的?

我知道这个问题有从 Windows 杀毒带过来的思考惯性,主要是出于无知的好奇,请教一下各位。

 

10 条回复    2021-03-06 22:58:21 +08:00
augustheart
    1

augustheart   30 天前

排除掉系统底层的官方手脚或是漏洞或是某些软件可能的越权利用漏洞的话这么定论问题不大(当然了,病毒 /木马也可能以正常软件的组件形式存在)。
这就是常说的越狱机更不安全。
BahuangShanren
    2

BahuangShanren   30 天前 via Android

@augustheart 虽然知道 ROOT 后不安全,但有 Magisk 管理 ROOT 权限的申请,问题应该不大?
要是越权,得利用漏洞吧?
augustheart
    3

augustheart   30 天前

@BahuangShanren 事物一直在发展着,天知道以后会出现或者现在正隐藏着什么幺蛾子呢。所以,反正我是不敢把话说满。
PMR
    4

PMRS   30 天前   ❤️ 1

Android 扫描磁盘意义不大 启动方式都是 app 调用

新版 Android 大部分 OEM 的 SELiunx 都是 enforcing 第三方刷机包基本是改成 permissive

zoewendel
    5

zoewendel   30 天前 via iPhone

曾经遇到过自动读短信自动扣费的,现在应该好多了吧
asmmt
    6

asmmt   30 天前

恶意软件造成信息泄露是*常见的。除此之外就是系统本身的漏洞了,比如浏览器沙箱逃逸,给你发个网址你一点就获取手机控制权限了,这种很少,发现一个直接上 pwn2own 这种国际大赛。
12101111
    7

12101111   30 天前   ❤️ 3

@BahuangShanren 千万不要关 SELinux,否则任意 App 都可以提权获得 root 权限
systemcall
    8

systemcall   30 天前   ❤️ 1

以前的 Android 还是很容易提权的,提权之后把 /system 里面的一些东西稍微修改一下,就可以运行自己的东西了
后来是默认强制 SELinux 、/system 分区只读、/data 分区加密,但不是所有设备都有,特别是加密,因为低端的 CPU 这方面很弱,所以大量低端手机以前是缺少一些安全性相关的功能的,现在应该好不少了
恶意软件确实不少。还有,Windows 下如果只用 uwp 的话,也只用考虑恶意软件
BahuangShanren
    9

BahuangShanren   30 天前

果然涨知识了。问这个问题还有个原因是打算刷 PixelExperience,感觉要是有个杀软的话可能安全点。
之前不知道 SELinux,等刷好后得看看 PixelExperience 的 SELinux 状态了。
@PMR
@12101111
jim9606
    10

jim9606   30 天前

在没有安全漏洞被利用的前提下,任何可执行代码都必须先通过包管理器安装后才能执行,单纯躺在存储里的恶意代码没法作恶。但这一点对大部分 PC 系统而言不成立。

想换个2000-3000的安卓手机 有推荐的么~

现在用的 iPhone 。。。想换个安卓,从小米、华为、蓝绿里找(一加,魅族不考虑了)

下面是我了解的信息:

  1. 小米,性价比很高,但是不是小问题多啊(断流严重?),MIUI 功能多,很方便。
  2. 华为,现在买不太划算。屏幕不好,EMUI 老干部,很稳。
  3. 蓝绿厂,印象里不是很好,ColorOS 啥的不是很清楚,网上看说超越 EMUI,媲美 MIUI

谢谢大家!

要带 DC 调光( K40 不带不用考虑了)

 

86 条回复    2021-03-17 12:05:49 +08:00
DeWhite
    1

DeWhite   30 天前   ❤️ 3

买小米不后悔。
sagaxu
    2

sagaxu   30 天前 via Android   ❤️ 1

买小米要么不介意广告太多,要么你动手能力强。华为你买不到,买到也没有 gms 。ov 不了解,目前能买到的*好的主流 lcd 手机是 ip11
dethan
    3

dethan   30 天前 via Android   ❤️ 1

realme gt
johnsonshu
    4

johnsonshu   30 天前 via Android   ❤️ 2

miui 现在能设置去掉广告。查一下就知道了
Chancel
    5

Chancel   30 天前   ❤️ 1

小米的广告问题可以考虑欧版 Miui 系统,不过相对也会削掉不少功能
Meowzilla
    6

Meowzilla   30 天前 via iPhone   ❤️ 1

用惯了苹果不要换安卓 能把你逼疯
工作原因买了个安卓小米 11 当备用 开机内置软件一大堆 通知栏都有广告 能给你吐槽一整天
目前发现唯二的优点 主题商店主题多随便换好看 卡包支持录入门禁卡方便
主力还是过期苹果
goodhellonice
    7

goodhellonice   30 天前

之前是一直坚持想 LCD 的,无奈 LCD 没啥中等或旗舰机 /(ㄒoㄒ)/~~
opiviqo
    8

opiviqo   30 天前   ❤️ 1

小米现在设置一下 就没广告了 不用欧版那么麻烦吧
goodhellonice
    9

goodhellonice   30 天前

谢谢大家回复

@DeWhite 看来 MIUI 的确方便

@sagaxu 嗯嗯 iPhone 11 的确不错,不过想试试安卓,工作有些功能刚需

@dethan 去了解一下,感谢推荐

@johnsonshu 嗯嗯 网上看了下 很多教程

@Chancel 嗯嗯 好的 感谢提醒

@Meowzilla 额,安卓这么难过度么。。我也是工作原因才想换个安卓的。。。

goodhellonice
    10

goodhellonice   30 天前

@opiviqo 嗯 是的 网上查了下
johnsonshu
    11

johnsonshu   30 天前 via Android   ❤️ 1

mi10 的问题在于曲屏的边缘按钮比较难按上。mi11 的问题在于骁龙 888
123jiayue
    12

123jiayue   30 天前 via iPhone   ❤️ 1

@Meowzilla 还好吧我有一台 s9+ 虽然两三年前的机器体验也很爽 没有广告啥都没有
goodhellonice
    13

goodhellonice   30 天前

@johnsonshu 对头。。。mi11 直接劝退,我也不是很喜欢曲面屏
JensenQian
    14

JensenQian   30 天前 via Android   ❤️ 2

不要 k40,要 DC 调光还要直屏不如直接 k30s 算了,865 现在也够用
JensenQian
    15

JensenQian   30 天前 via Android

@goodhellonice 现在 3000 以上安卓机基本上都是曲面了,这选择范围有点小了
JensenQian
    16

JensenQian   30 天前 via Android

realme gt 支持 dc,但是屏幕素质不如 k40,现在 870,888 的机子就这几台
摩托罗拉 edge s,realme 的 gt,iqoo7 你可以考虑下,小米 11,小米 10 870 版本曲面屏排除,一加 9 不知道咋样了,k40 系列没 dc 排除
noqwerty
    17

noqwerty   30 天前   ❤️ 1

我觉得可以考虑一下往年的旗舰?我手上的 1+6 是骁龙 845 到现在都还非常流畅,在你预算范围内可能选择面会大一些
flynaj
    18

flynaj   30 天前 via Android   ❤️ 1

买新不买久,K40 pro 888 的 u
sagaxu
    19

sagaxu   30 天前 via Android   ❤️ 1

@noqwerty 他这预算一加 8T 也够了,865+12g 扛个 3 年应该可以
noqwerty
    20

noqwerty   30 天前 via Android

@sagaxu 楼主说了不要一加,可能还是喜欢小米这种本地化小功能比较多的系统,但是小米老机器的价位我就不太了解了
oneforallsoft
    21

oneforallsoft   30 天前 via Android   ❤️ 1

k40 能不能刷安卓原生?
copymaster
    22

copymaster   30 天前 via Android   ❤️ 1

k40 8+128 ¥2199
k40 12+256 ¥2499
k40 pro 不推荐
realme gt 据说屏幕很垃圾,不确定
iqoo neo5 3.16 发布,从此前爆料来看 870 快充 防抖都有,价格应该也比 k40 高点,还是挺值得期待的
18k
    23

18k   30 天前 via Android   ❤️ 2

VIVO x60
Cielsky
    24

Cielsky   30 天前 via Android   ❤️ 1

color OS 挖了魅族不少人,系统进步明显,也确实可以看看了
hadooow
    25

hadooow   30 天前   ❤️ 1

@goodhellonice k30s 至尊纪念版还不错哦
xtli12
    26

xtli12   30 天前 via iPhone   ❤️ 1

一加刷氧 os 其他国产手机都有后门
lengyihan
    27

lengyihan   30 天前 via Android   ❤️ 1

摩托罗拉 edge s 。
atrexl
    28

atrexl   30 天前 via Android   ❤️ 1

魅族 17
Helsing
    29

Helsing   30 天前 via Android   ❤️ 1

K30s 至尊版
sagaxu
    30

sagaxu   30 天前 via Android   ❤️ 1

@Cielsky oppo 新增专利数仅次于华为,比一般组装厂更重视研发
yongliang
    31

yongliang   30 天前   ❤️ 1

OPPO Reno5 Pro+,预算超了,但还是挺好用的,建议对 OPPO 放下成见,这款机子还是很不错的,不过型号比较多,一定要注意 Pro 后面的+号。
小米的机子,每次看参数都很香,看到真机就劝退了。本来想买 K40 PRO+的,但是看到 K40 和 K40Pro 的屏幕后就不想买了。
打算去看一加 8T 的真机
iamv2er
    32

iamv2er   30 天前 via iPhone   ❤️ 1

k40
TAFMT
    33

TAFMT   30 天前   ❤️ 1

买个小米的次旗舰吧,我用小米好多年了,断流啥的还没遇到过

偶尔有一两个小问题,重启一下就好了

ps:小米的抢购真 tm 恶心人

konshana
    34

konshana   30 天前   ❤️ 1

@JensenQian k30s 是低频调光 看到有敏感的人说也有点影响
ShuoHui
    35

ShuoHui   30 天前 via iPhone   ❤️ 1

@johnsonshu #4 *,去设置关也是折腾,第二,那个一键关闭关不全。你们 miboy 是不是不知道真正的无广告长什么样?每次都讲的那么轻巧。
Awes0me
    36

Awes0me   30 天前   ❤️ 2

@ShuoHui #35

同时用 iPhone 和小米, 我有资格说小米广告很容易关了吗?

justin2018
    37

justin2018   30 天前   ❤️ 1

k40 得抢
k30s 至尊版我目前看中这 2 个 心仪 k40 晚上 0 点开始抢~

sosilver
    38

sosilver   30 天前 via Android   ❤️ 1

小米真实 ad os,上版本连应用安装界面广告都加上了。虽然可以关,但是按这么更,会有更多的广告+更多的关闭选项
gaopu
    39

gaopu   30 天前 via Android   ❤️ 1

去年双十一买了 k30s,主力机从 iphonexr 变成了红米,昨天买了小米 11 。

要我给你推荐的话,我只能推荐小米或红米,你这个价位的话只能选红米了,目前来看就是 k40 了,什么时候能买到就看你了。
手机重量来说,196g (我的小米 11 )算轻的,216g (我的 k30s )算重的。目前 k40 系列都是 196g 了。

为什么推荐小米红米?因为 miui 用着舒服,动效方面的体验和 ios 基本一致,十分流畅且美观,而且 miui 也越来越注重隐私,从宣传上来看,miui12.5 的隐私控制我觉得就和 ios 大差不差了。听说 miui12.5 会在四月底发布公开稳定版。

噢,还有上面有人说广告,现在 miui 系统里面是有广告开关的,可以一键关闭广告!(这个开关官方现在是没有宣传的,毕竟影响收入!)

cubecube
    40

cubecube   30 天前

家里小米红米都用,王者基本不断流,偶有的几次断流都是路由器的问题,后来优化了家里网络,在没碰见过 460.

不拍照的话,直男建议 k30s,续航和性能都比较棒

liuqitoday
    41

liuqitoday   30 天前

Redmi K40
impanghu
    42

impanghu   30 天前

刚刚下单 k30s 至尊版
HangoX
    43

HangoX   30 天前

买小米的话,我建议你等到 miui12.5 出了再观看,手持小米 11,搭在 miui12,各种掉帧,bug,完全不像 4000 多的手机。想要稳定,对华为 EMUI 不觉得丑的话,我更推荐华为
JensenQian
    44

JensenQian   30 天前 via Android

@konshana LCD 的,低亮度确实会,不过 A 屏就算 dc 调光也肯定不如 lcd
hihikm
    45

hihikm   30 天前

华为 mate 30
xianlu
    46

xianlu   30 天前

魅族 18 号称三无产品
ShuoHui
    47

ShuoHui   30 天前 via iPhone

@Awes0me #36 你是不是不会审题?很容易关和不需要关哪个更舒服?谁不是同时用,同时用你还吃得下小米这口屎?
chenerin
    48

chenerin   30 天前

小米很多广告都能关掉,再加个轻启动关闭各种软件开屏广告,我感觉我就没咋看过广告
z5e56
    49

z5e56   30 天前

个人建议:买能解锁 BL 的,可以 root 刷机,到时官方的用够了可以随时换。目前用的欧版 miui,功能少了一点,但是也少了很多累赘
cuicuiv5
    50

cuicuiv5   30 天前 via Android

s21 或者 s21 国行魅族 18
ZxykM
    51

ZxykM   30 天前

直接 k40 吧
Jim142857
    52

Jim142857   30 天前

@Awes0me 我也同时用 iPhone 和小米。请问小米应用商店的开屏广告怎么关?
S179276SP
    53

S179276SP   30 天前 via Android

@xtli12 那华为淘宝 80 刷欧洲版即可。
cantonadong
    54

cantonadong   30 天前

一加
rsy
    55

rsy   30 天前 via Android

推荐 OPPO Ace2
之前用的就是小米,因为当时抢不到 k30s 换的 OPPO
从 MIUI12 到 ColorOS11,觉得 MIUI 也没有传说的那么好,相反 ColorOS 少了很多牛皮癣广告,给人感觉清爽很多,系统更新频率差不多稳定月更,也可以接受,而且内置谷歌框架,直接安装 Google Play 就能用了,比国行 MIUI 还方便的多
而且 OPPO 的快充和无线闪充经常出门的话给人的体验好太多太多
当然从硬件参数来看,可能性价比不如小米红米,但综合体验是*对没有问题的
Lemeng
    56

Lemeng   30 天前

玩机用小米
Keyblade
    57

Keyblade   30 天前

新出的 realme GT
syuraking
    58

syuraking   30 天前   ❤️ 1

@Jim142857 USB 调试,adb 手工卸载 com.miui.systemAdSolution
Jim142857
    59

Jim142857   30 天前

@syuraking 好家伙…可惜我没有 Windows 电脑操作不了
mwVYYA6
    60

mwVYYA6   29 天前

买小米能刷 Pixel Experience 的就还好,MIUI 这壳牌系统就算了,各种头疼。
siys
    61

siys   29 天前

首先:断流先考虑路由器问题;然后:断流+手机型号去搜:每台手机都有,这不是小米特有。miui 小 bug 确实相对较多,但是功能也相对较多。
fatelight
    62

fatelight   29 天前

小米不后悔但是 MIUI12 和 12.5 可以让你后悔
Awes0me
    63

Awes0me   29 天前

@Jim142857 #59

并不需要 Windows,mac Linux 都行, 我就没见过自带的 app 商店有开屏广告的

Awes0me
    64

Awes0me   29 天前

@ShuoHui #47

很容易关 和 不需要关 没有区别,iOS 的关闭隐私跟踪难道不是要进入设置-隐私-跟踪, 然后关闭吗?

ArchScott
    65

ArchScott   29 天前

用惯了苹果再用安卓你会发现:

怎么这么好用?

silencht
    66

silencht   29 天前

用惯了苹果再用安卓你会发现:

怎么这么难用?

GoLand
    67

GoLand   29 天前

用惯了苹果再用安卓你会发现:

怎么这么自由?

huweic
    68

huweics   29 天前

@GoLand 高仿官方号
pkookp8
    69

pkookSp8   29 天前 via Android

@silencht 反过来不也一样?
我说安卓可以装$$R,你肯定会回复我 ios 也可以切美区。谁又能说服谁呢
isb
    70

isb   29 天前   ❤️ 1

预算 3k-4k,楼主不介意的话考虑下小米 10

jd 12+256G 正好是 4k 以内。

pdd 上车会更便宜

我自己备用机 k20p 12+512 用到现在没啥问题,然后就渐渐冷落了 iphone,安卓比较爽

广告基本上都可以关掉,下一个轻启动可以直接跳过安卓大部分广告,比 ios 爽

isb
    71

isb   29 天前

@isb 看错预算 orz 3k 出头 pdd 应该可以上车 小米 10
Zephyr1996
    72

Zephyr1996   29 天前

2300 收了个米 10 8+128 的,成色不错,还有半年保修就买了
但是挺纠结 128 够用不,虽然我现在用 mix2s 也就用个 50 多 G
全新的 12+256G,3450 能搞到
shellic
    73

shellic   29 天前 via Android

小米,手持小米手机回复,哪有那么多广告。。。
kunkunzhang
    74

kunkunzhang   29 天前

@Meowzilla 用惯安卓用不惯苹果的路过,苹果的左侧返回太难用了,右手单手够不着很抓狂
Zhancha
    75

Zhancha   29 天前

首先无脑 K40,但是一般( 99%)目前都是买不到的,等买得到的时候掉价的也差不多了,所以现在可以选的也不多,如果可以的话可以再等等。(如果需要经常去接触大客户或者需要场面的话,还是建议苹果华为,人就是这样,你懂得。)
Meowzilla
    76

Meowzilla   29 天前 via iPhone

@kunkunzhang 经你这么一说我才发现我左手玩手机很溜
shoushi
    77

shoushi   29 天前

@sagaxu 小米直接问小爱同学,系统广告就可以关掉
Fantasia1993
    78

Fantasia1993   28 天前

锤子
leonzhangs
    79

leonzhangs   28 天前

小米的广告都是可以关闭的。小爱同学也可以关闭广告。miui *大的问题是,现在掉帧比较严重,没那么顺溜了。
kunkunzhang
    80

kunkunzhang   28 天前

@Meowzilla 哈哈,我一般是右手拿手机,用安卓还是蛮爽的,左右都可以,话说苹果就这么固执地不加右侧滑返回么
eric_zyh
    81

eric_zyh   28 天前

坚果
linmq
    82

linmq   23 天前

小米 k40 有自带 gms 谷歌框架 吗
Admin8012
    83

Admin8012   22 天前 via Android

iOS 转 ADUI ?喂屎
moxuanyuan
    84

moxuanyuan   20 天前

昨晚发布的 iqoo neo 5,水桶机,我打算 618 买部 8+256G 给还在用 mate10 的 LD
wangqh333
    85

wangqh333   20 天前

预订了 iqoo neo5 决定试试水
wangqh333
    86

wangqh333   20 天前

K40 的屏幕不太讨喜,realme gt 无感,所以选择了 iqoo

现在移动端的应用主流都用什么模式开发?

为什么我感觉原生程,都没有什么热度

  • ios : object-c swift
  • android : java kotlin

然后就是 web 开发的,被吐槽各种不好用和 BUG 多

  • cordova ionic framework7
  • vue weex
  • react RN

虽说上面提及的东西用都是可以用着,但是生产环境线上项目都使用的是什么样子的技术做支撑?

16 条回复    2021-04-02 19:18:58 +08:00
SystemLight
    1

SystemLight   14 天前

补充一下,我感觉 python 的 Kivy 也可以,还不错
EasonC
    2

EasonC   14 天前 via iPhone

swift or flutter
ychost
    3

ychost   14 天前

flutter + 原生 混合开发貌似可以试试水
nicevar
    4

nicevar   14 天前

需求复杂的就选原生为主,弄其他花里胡哨的没什么好处
tanranran
    5

tanranran   14 天前

现在主流还是原生 [kotlin 、swift] , [object-c 、java] 慢慢用的人越来越少了,除了老项目

web 开发,的话,react [taro] 和 vue [uniapp] 吧

JHExp
    6

JHExp   14 天前

flutter+原生的体验是真的可以 但是 flutter 不能热更 所以很多还是走的 h5
d7sus4
    7

d7sus4   13 天前

内容、服务类应用更注重开发和维护成本,目前就是 RN 和 Flutter,个人认为还是 RN 比较靠谱,Flutter 感觉一直在横向扩张,目前还是不太敢在生产环境里用,保持关注吧。
复杂的工具类或重型应用,或者注重个性化体验和设计的,毫不犹豫选原生。
没有历史包袱的话直接 swift/kotlin 就好。
Roardeer
    8

Roardeer   13 天前

我一直用的 Xamarin
OldActorsSmile
    9

OldActorsSmile   13 天前

uniapp
IGJacklove
    10

IGJacklove   13 天前 via Android

一般都是混合开发吧 rn,flutter 大厂都在用,没啥好担心的,还是看你自己的需求。
abcbuzhiming
    11

abcbuzhiming   13 天前

@Roardeer 很少看见用这个的,这东西的生态圈能赶得上 RN 吗?
Roardeer
    12

Roardeer   13 天前

微软的生态,国内不算主流吧。我主要是全栈都用 C#
newHunter
    13

newHunter   13 天前

uniapp 一把梭
guiyun
    14

guiyun   13 天前

flutter 的话大厂用的话还挺好的,小厂还是算了吧,当时技术总监要我们用 flutter,结果技术总监一走,我们 flutter 的项目都不知道怎么维护了
huobazi
    15

huobazi   13 天前

flutter 大法好
SystemLight
    16

SystemLight   3 天前

再补充一个,不知道有没有人用过 meteor

服务器参数知多少 带你一一认识这些参数

大家平常用电脑的时候关注较多的可能是系统或者电脑本身的一些问题,很少用户会去理解服务器是怎么回事,今天就跟大家一起认识下,整理了十二个参数,具体解释,希望大家看完之后能有帮助。

1、服务器处理器主频

服务器处理器主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。像其他的处理器厂家,有人曾经拿过一快1G的全美达来做比较,它的运行效率相当于2G的Intel处理器。

所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。CPU的运算速度还要看CPU的流水线的各方面的性能指标。

当然,主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。

2、服务器前端总线(FSB)频率

前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率×数据带宽)/8,数据传输*大带宽取决于所有同时传输的数据的宽度和传输频率。比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输*大带宽是6.4GB/秒。

外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8Byte/bit= 800MB/s。

其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。 但随着处理器性能不断提高同时给系统架构带来了很多问题。

而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。

3、处理器外频

外频是CPU的基准频率,单位也是MHz。CPU的外频决定着整块主板的运行速度。说白了,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是*对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。

目前的*大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。外频与前端总线(FSB)频率很容易被混为一谈,下面的前端总线介绍我们谈谈两者的区别。

4、CPU的位和字长

位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。

字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。

5、倍频系数

倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应—CPU从系统中得到数据的*限速度不能够满足CPU运算的速度。一般除了工程样版的Intel的CPU都是锁了倍频的,而AMD之前都没有锁。

6、CPU缓存

缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率*高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。

L1 Cache(一级缓存)是CPU*层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。

L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量*大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达256-1MB,有的高达2MB或者3MB。

L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。

其实*早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强 MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。

但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。

7、CPU扩展指令集

CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的*有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX (Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。

我们通常会把CPU的扩展指令集称为”CPU的指令集”。SSE3指令集也是目前规模*小的指令集,此前MMX包含有57条命令,SSE包含有50 条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是*先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。

8、CPU内核和I/O工作电压

从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。其中内核电压的大小是根据CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低;I/O电压一般都在1.6~5V。低电压能解决耗电过大和发热过高的问题。

9.制造工艺

制造工艺的微米是指IC内电路与电路之间的距离。制造工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC 中,可以拥有密度更高、功能更复杂的电路设计。现在主要的180nm、130nm、90nm。*近官方已经表示有65nm的制造工艺了。

10、指令集

(1)CISC指令集

CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。

要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其*块16位CPU(i8086)专门开发的, IBM1981年推出的世界*台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了 X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。

虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII至强、PIII至强、Pentium 3,*后到今天的Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有 CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。x86CPU目前主要有intel的服务器CPU和AMD的服务器 CPU两类。

(2)RISC指令集

RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,*常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。

RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。 RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。

目前,在中高档服务器中采用RISC指令的CPU主要有以下几类:PowerPC处理器 、SPARC处理器、PA-RISC处理器、MIPS处理器、Alpha处理器。

(3)IA-64

EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向 RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix下的应用软件要好得多。

Intel采用EPIC技术的服务器CPU是安腾Itanium(开发代号即Merced)。它是64位处理器,也是IA-64系列中的*款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器, Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。 IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。

IA-64微处理器*大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上 (Itanium、Itanium2 ……)引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是*有效率的解码器,也不是运行x86代码的*好途径(*好的途径是 直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因。

(4)X86-64 (AMD64 / EM64T)

AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。

x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容 x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器。

而今年也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技术类似,采用64位的线性平面寻址,加入8个新的通用寄存器 (GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同AMD64一样是向下兼容的。 Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。

应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。

11、超流水线与超标量

在解释超流水线与超标量前,先了解流水线(pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。

超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远远比不上AMD 1.2G的速龙甚至奔腾III。

12、封装形式

CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向以节约成本为主。

十二个参数都一一介绍完了,不知道大家对哪个参数印象*深,虽然我们平常使用的时候不必知道这么详细,不过一旦出现问题了,知道的事情越多就越能帮你快速解决,所以大家还是看看吧。

服务器参数如何选择?

1、CPU:cpu主要负责数据分析和处理,如果网站页面数量大、数据信息多的情况下,至少需要选择4核左右的CPU.

2、内存:运行内存越大,能用的缓存文件越大,网站开启速率也越快。对于用户量、访问量较大的网站,服务器内存需要大一些,否则容易造成网站访问缓慢。

3、硬盘:硬盘主要用于存储网站数据信息、用户数据自来哦等。对于一些刚搭建的网站,可以选择小一点的硬盘空间。不过随着网站信息增多,就相应需要对硬盘的容量进行扩容。

4、网络:对于刚搭建的网站,单线路10M左右可以满足使用需求。随着访问人数的增加,可再进行宽带升级。

关于 Windows 集群管理的经验

背景
我们公司想自建小机房,然后抽取部分服务器,来组建三个 Windows Server 集群 ,分别用于 文件服务 、 应用服务 、 数据库服务( SQL Server ) ,而这些服务 必须提供 24 小时的服务 。为了能提供 24 小时不间断服务,就要求组建的三个集群能够达到高可用,而公司目前没有专职的运维,正在考虑购买第三方公司的整套服务方案:服务器 + Rose HA + 计时运维服务

问题
是否可以使用 Windows Server 的故障转移配置 和 SQL Server 的 Always On 使集群达到高可用?对比第三方 HA 商业软件(例如 Rose HA ),这样的做法有没有优势?

AifeiI 1
AifeiI 2017-11-29 21:04:27 +08:00
额外问一下,如果想了解关于 Windows Server 集群管理方面的知识,哪个社区 /论坛有更多的资料?
AifeiI 2
AifeiI 2017-11-29 23:04:34 +08:00
?我是发错节点呢,还是 V2 不待见 Windows Server ?
zlfzy 3
zlfzy 2017-11-29 23:07:58 +08:00
为什么自建机房却没有运维
dot 4
dot 2017-11-29 23:24:16 +08:00 via Android
同问。
目前我接触的 Rose HA 案例都不太好,可能是我倒霉……
f2f2f 5
f2f2f 2017-11-29 23:28:12 +08:00
首先,推荐你上云。小公司一个机房的维护成本(软硬件+基础环境+人工投入)并不比你在成熟的云端部署要划算。而且你会承担更多的安全风险。

其次,如果你想在自己的机房实现上述想法。建议划两个独立的 zone,然后被一个统一的 vcenter 接管。vcenter 可以实现基本的 HA,然后你可以在 vmware 虚拟化基础上,利用现有硬件分别部署三套独立系统。
AifeiI 6
AifeiI 2017-11-30 00:14:44 +08:00
@zlfzy boss 的决定,运维交给外包公司了,计时服务的那种。。。
AifeiI 7
AifeiI 2017-11-30 00:15:15 +08:00
@dot 我比较想知道,Rose HA 和 Windows 以及 SQL Server 自身方案的对比
AifeiI 8
AifeiI 2017-11-30 00:16:28 +08:00
@f2f2f 因为项目的原因,不能上云。。。

如果物理机出现故障,是否能够快速进行故障转移?
f2f2f 9
f2f2f 2017-11-30 00:31:00 +08:00
@AifeiI 在物理节点数满足的情况下,vcenter 迁移虚机时间*快到秒(当然数据量大会卡一下),迁移期间至多掉 2 个包。
AifeiI 10
AifeiI 2017-11-30 08:46:00 +08:00
@f2f2f 那 Hyper-V 是否也能达到这样的效果?

f2f2f 11
f2f2f 2017-11-30 09:01:14 +08:00
@AifeiI hyper-v 只是一种虚拟化技术吧,跟 HA 没关系。
AifeiI 12
AifeiI 2017-11-30 09:31:58 +08:00
@f2f2f 抱歉,我没有表达清楚,我的想法是,利用 Windows Server 自身服务(自身故障转移 + Hyper-V ),是否能达到 VMware vCenter 的服务效果?
f2f2f 13
f2f2f 2017-11-30 10:06:07 +08:00
@AifeiI windows server 自带组件有 HA 功能吗?这个没用过不太清楚哎,不好意思

不过需要更正你的是故障转移跟 hypervisor 层面应该关系不大,无论是哪种虚拟化技术( HV,Xen,Kvm,VM )理论上都可以通过软件实现 HA。
AifeiI 14
AifeiI 2017-11-30 10:29:59 +08:00
@f2f2f 谢谢,因为我看到 Rose HA 相关资料实在是较少,就想看看有没有其他更好、更稳妥的 HA 方案,避免被坑了还要擦屁股。

你提供的使用虚拟化是一个新思路
f2f2f 15
f2f2f 2017-11-30 10:35:25 +08:00
@AifeiI HA 现在技术比较成熟了,对于你这种小规模的应用,无非就是切换响应速度和切换无感的程度差异,坑不多的。

真正坑多的是双活……那是真的替厂商填坑……

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速