想阅读 Android 源码,请问该往哪个方向努力?

我是一年经验的 Android 开发,在某大厂工作。对 Android 的源码比较有兴趣。

尝试鼓捣过 AOSP,生成 ipr 文件后在 Android Studio 基本不报红。但是看源码抓瞎,不知道从何看起(如:①应用在安装过程中,Android 系统做了什么操作;②又或是状态栏下滑时,当前 TaskRecord 顶部的 Activity 会发生什么变化,等等),请问我该怎么做?

先感谢各位老哥老姐的回复!

12 条回复    2021-02-22 16:13:13 +08:00
MaxLi77
    1

MaxLi77   63 天前

半吊子先回答一下,Activity 相关 AMS,安装包管理 PMS,服务管理 Service Manager,进程通信 Binder 。懂的老哥可以多补充。
calloc
    2

calloc   63 天前 via iPhone

可以从上层 APP 入手,比如要分析安装 apk 时系统做了什么,我们知道系统在安装 apk 的时候 UI 界面是有所体现的,那么可以用`adb shell dumpsys activity top`命令查看当前界面对应的 Activity 。知道它的 Activity 就可以在源码中找到它对应的类,之后就可以用调试大法了。
ZSpirytus
    3

ZSpirytus   63 天前 via Android

@MaxLi77 感谢!我主要想搞懂某一个细节,比如说,点击安装后,系统做了什么之类的,直接看 AMS 和 PMS 的源码容易抓瞎。。
ZSpirytus
    4

ZSpirytus   63 天前 via Android

@calloc 感谢!这个思路巧妙,忘了还有 adb 这个工具,我试试看!
elonmask
    5

elonmask   63 天前 via Android   ❤️ 1

现在的安卓开发卷的厉害,想当年知道四大组件和生命周期就可以去 bat,现在又是 framework 又是 kernel 的,
12 年的时候我记得当时 QQ 安卓 app 的账号和密码都还放明文放 share preference 呢。如果
还年轻可以读个研或者自学换个方向,写界面是没有前途的。
MaxLi77
    6

MaxLi77   63 天前

@ZSpirytus 直接搜索 XXX 功能 + 源码分析,跟着别人的分析思路去看
m30102
    7

m30102   63 天前

@elonmask 以前 20 分的水平能一年一套房,现在 80 分的水平大概率睡桥洞
welkinshadow002
    8

welkinshadow002   62 天前

这里推荐 Gityuan 的相关博客,对整个流程的理解十分有帮助,http://gityuan.com/android/,我自己还买了一些书 android 系统内核设计思想啥的。

不过需要注意的是 android10 、android11 系统源码的改动比较大,自己还是要去跟一下

同样一年经验在学源码,共勉

ZSpirytus
    9

ZSpirytus   62 天前 via Android

@MaxLi77 哈哈,这个确实也是一种思路,我试试
ZSpirytus
    10

ZSpirytus   62 天前 via Android

@welkinshadow002 谢谢,这个我参考一下

ZSpirytus
    11

ZSpirytus   62 天前 via Android

@elonmask 我是纯兴趣的,只是好奇里面是怎么工作的
yolo0014
    12

yolo0014   44 天前

可以从 SystemUI 和 launcher 入手看看

2021 – Flutter or uniapp or React Native or Kotlin

想快速搭一个放推广广告的 APP,*好能跨平台,但搭建速度是唯一要求.

后续要接入第三方广告平台.

怎么选型,各位大佬 0.0

(个人技术栈偏后端,较少写 JS,所以都有一定的学习成本)

37 条回复    2021-02-13 22:24:46 +08:00
debuggerx
    1

debuggerx   61 天前   ❤️ 1

首先排除 flutter,其他人继续
Lxxyx
    2

Lxxyx   61 天前   ❤️ 1

React Native 可以满足你的需求,在不遇到 BUG 的情况下也挺快的,但出问题时如果不懂 native 就会比较麻烦
tuomasi
    3

tuomasi   61 天前   ❤️ 1

kotlin 或者 java
sss495088732
    4

sss495088732   61 天前

@debuggerx flutter 坑很多么 0.0,,…还花了一天时间看文档
sss495088732
    5

sss495088732   61 天前

@Lxxyx ….0.0 应该很难遇到不出 bug 的情况.
sss495088732
    6

sss495088732   61 天前

@tuomasi 所以还是原生么,还以为原生快被淘汰了.0.0
wa143825
    7

wa143825   61 天前   ❤️ 1

首选排除你来写,花钱找一个吧
xieren58
    8

xieren58   61 天前   ❤️ 1

Flutter , 谁用谁爽 ,快速开发赚到钱再说.
janxin
    9

janxin   61 天前   ❤️ 1

优先考虑原生,除非有强需求或其他需求,不建议选跨平台,要踩坑
sss495088732
    10

sss495088732   61 天前

@wa143825 还得维护迭代 0.0….不自己写不放心….上一个就是买的.现在被恶心吐了…换了四五个人维护这个屎山项目…搞不动了..重来一遍

sss495088732
    11

sss495088732   61 天前

@janxin 没什么调用到原生 API 的功能.都是 UI 和渲染,接第三方 webview 是不是能考虑跨平台
sss495088732
    12

sss495088732   61 天前

@xieren58 0.0 嗯嗯…就是这么想的…实在不行后期再招人重构
meteor957
    13

meteor957   61 天前

@sss495088732 你要说原生市场缩减有可能,原生被淘汰了,你觉得 rn flutter 这种还能活着?
visonme
    14

visonme   61 天前   ❤️ 1

四选一,要速度,无太多前端经验,我还是推荐 uniapp
weixiangzhe
    15

weixiangzhe   61 天前 via Android   ❤️ 1

直接 webview 吧?
wsyft
    16

wsyft   60 天前

+1
wsyft
    17

wsyft   60 天前

@visonme +1 支持 14 楼。
16 楼*次发帖不会回复。
sss495088732
    18

sss495088732   60 天前

@meteor957 嗯嗯,也是.草率了
sss495088732
    19

sss495088732   60 天前

@visonme 0.0 我看墙内 uniapp 挺多的.之前本科阶段导师也说 uniapp 很行 0.0.
WebKit
    20

WebKit   60 天前 via Android

uniapp 打包成原生 bug 太多了,不推荐,flutter 还是有些坑的,不过不用原生相关的东西还是可以的,流畅度也是可以的。kotlin 这个目前资料太少了
tanranran
    21

tanranran   60 天前   ❤️ 1

根据你的需求,uniapp 或者 Flutter,但是优先 uniapp

,楼上估计都是没有深入用过吧 [本人原生安卓 7 年经验,iOS 2 年经验,前端 3 年经验,C#1 年经验,uniapp1 年实际商用经验]

Flutter 需要学习的内容比 uniapp 高
React Native 太重了
Kotlin 现阶段更本不能商业化的跨平台
uniapp 缺点就是涉及到地图、多媒体、各种硬件功能的话,需要自己写插件,但如果业务只是 CRUD,他*对是目前跨平台中开发效率*高学习成本*低的框架

dcalsky
    22

dcalsky   60 天前

@sss495088732 本科导师也用过 uniapp ?很潮啊
ryougifujino
    23

ryougifujino   60 天前

@tanranran #21 kotlin 也是有 kotlin multiplatform 的,不过不是 UI 跨平台就是了。Netflix 实践过( https://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23?gi=ec795dd165c8 )所以不能算是不能商业化跨平台。
sss495088732
    24

sss495088732   60 天前

@WebKit 搭了个 flutter demo….感觉跟写 QT 一样 0.0…
sss495088732
    25

sss495088732   60 天前

@tanranran 0.0 非常感谢大佬.我先试下搭个 demo 跟 flutter 对比一下…感觉 uniapp 的社区很活跃 0.0
sss495088732
    26

sss495088732   60 天前

@dcalsky 教了我们一年就变成副院长…才 30 岁
tydl
    27

tydl   60 天前 via Android

uniapp 原来 app 这么好写
tanranran
    28

tanranran   60 天前

@ryougifujino #23 可能是我描述的有问题,意思是 kotlin 的跨平台,离正式使用还很远,主要是生态问题
lrvinye
    29

lrvinye   60 天前   ❤️ 1

uniapp 确实很快
YIsion
    30

YIsion   60 天前 via iPhone   ❤️ 1

uniapp 只适合简单的页面展示和表单提交。客户端有复杂的业务或者页面就不建议用了
debuggerx
    31

debuggerx   60 天前   ❤️ 1

@sss495088732 flutter 很好啊,我只是根据你的需求建议,你们不适合 flutter 而已,不要误解了。大多数场景我都是推荐跨平台方案优先 flutter 的,但是从你的描述,预计你用 fluuter 搭广告平台难度比较高,风险更大一些
mauve
    32

mauve   60 天前   ❤️ 1

想要优秀的用户体验只有原生
hushao
    33

hushao   59 天前   ❤️ 1

如果 js 不是很懂,rn 大概率你会碰一鼻子灰。flutter 很舒服,但是单单一个广告平台的话,ui 可能不重,flutter 对你们来说就是杀鸡的牛刀。uniapp 你们场景我猜是很合适的。
wuliaoshixia
    34

wuliaoshixia   59 天前   ❤️ 1

楼主要做的推广 app,所列的技术肯定都能实现。根据楼主描述的技术栈,感觉 uniapp 比较适合你们。
lxhcool
    35

lxhcool   59 天前

flutter 或者 rn
lxhcool
    36

lxhcool   59 天前   ❤️ 1

你还是选 flutter 吧,uni 和 rn 要学 vue 和 react
coolesting
    37

coolesting   53 天前 via Android

上手速度和跨平台,uniapp 〉 react n 〉 flutter 〉 native

如果要性能和深度,就反转来看。

有用过这种个人支付接口吗?体验如何?

*近在做一些安卓的 app 项目,也有小程序的,需要接入支付,找到了一些目前可以官方结算的个人接口,找到了几个,有点疑惑需要知情人的解答。这种是几乎所有支付方式都支持,而且是官方结算,也不需要执照,这是什么原理?

我目前知道支付宝是可以个人注册当面付的,微信这块好像没有提供个人能直接接入的 api 接口,微信网页端不让用后,我只知道目前可以用手机 app 监控来解决个人支付,但只支持手机扫码,不太适合我的项目

有用过的大佬说下吗,这种个人支付接口有没有什么坑呢?

第 1 条附言  ·  1 天前

之前用的有赞接口,但是已经下架了。目前找到的类似的这些,payjs 好像是*早做这个的,但是好贵啊…
payjs.cn
www.xunhupay.com
h5zhifu.com
10 条回复    2021-04-08 10:45:58 +08:00
testver
    1

testver   1 天前

没出事没坑,出事钱没了
AoEiuV020
    2

AoEiuV020   1 天前

没接过,但见过,机场之类不合规的软件集成的支付基本都是这种,做为用户就能看出来,时不时的失效、维护、更换,
只能算是没办法的办法,靠谱肯定是不靠谱的,
pytth
    3

pytth   1 天前

payjs.cn 用过,用了 2 年,体验跟官方的一样,还不错。
zhuweiyou
    4

zhuweiyou   1 天前

payjs 以前用过, 原理是 “小微商户”.
钱直接到官方的, 第二天自动提现到你的银行卡.
sleepm
    5

sleepm   1 天前

前两个应该算是微信支付服务商, 第三个不熟悉
https://pay.weixin.qq.com/static/partner_ability/platform_ability.shtml
airplayxcom
    6

airplayxcom   1 天前

4 、5 楼 正解,就是换个皮。
marcong95
    7

marcong95   22 小时 13 分钟前

h5zhihu 的推广贴不还呆在水深火热么,发帖人似乎只是一只“合法合规”的复读机

传送门: /t/765660

marcong95
    8

marcong95   22 小时 7 分钟前

@marcong95 #7 知乎刷多了,鬼使神差地把 h5zhifu 打成了 h5zhihu,我向知乎道歉?
kanbi
    9

kanbi   11 小时 32 分钟前

对接第三方黑产网站,第三方个人三无网站,,,这种大部分已跑路为生吧,前端是模板,,后端是某个 cms,靠不靠谱看心情
zoharSoul
    10

zoharSoul   2 小时 15 分钟前

微信小微商户, 他们给你搞定了线下的门头照片罢了

SED使用心得

SED使用心得

1.在指定行的上一行或下一行添加一行
记录下sed在*个匹配结果前添加新行的尝试过程
test.txt原文本内容

table demo.demo
TABLE demo.demo
1
2
预期达成效果:

table test.test
table demo.demo
TABLE demo.demo

以下为尝试的四种方法:

$row=`sed -n -e ‘/^TABLE/I=’ test.txt|sed -n “1”p` && sed “${row}i\table test.test” test.txt

sed “/^table/Ii\test.test” test.txt

sed “0,/^TABLE/Ii\table test.test” test.txt

sed “0,/^TABLE/Is//table test.test\ntable/” test.txt

1、3、4都达到了预期效果,2则是把每一个以table开头的行上都新增一行。*终方案我选择了4,因为1、3方案在遇到不存在你要匹配的行时,会在文件的每一行上都添加你想添加的内容。。。
以下为本次摸索的理解:

1.以上命令都只是展示修改效果,不对文件进行实际修改,需要修改的话要在sed后添加-i,*个命令只需在*后一个sed添加 -i
2.I表示忽略大小写
3.i表示在匹配行的前面添加新行,匹配行后添加新行为a
4.\可有可无,写上可区分动作表示a/i
5.0,代表第几个匹配结果
6.第4种方法其实是用替换,里面的s是替换的意思,这里把匹配到的行替换成了table test.test \n(换行符)

后续。。。
使用中发现了第4种方式的缺陷,当正则表达式从table变成了TABLE.*edit_date这种更模糊的匹配时会把新增行的下一行的正则匹配部分替换掉。。。

sed “0,/^TABLE.*edit_date/Is//table test.test\ntable/” test.txt
1
解决方案:

row=`sed -n “/^table/I=” test.txt|sed -n “1”p` && test “$row” != ” && sed “${row}i\table test.test” test.txt || echo no
1
中间添加的test “$row” != ‘’ 用来判断匹配的行号是否不为空,&&执行不为空的情况,||执行为空的情况,类似if else。

爬虫处理payload请求

爬虫处理payload请求

在爬取网站的时候经常遇到post请求,对于一般的form_data参数的就很好处理,是不是遇到过下面的这种payload形式呢?

%title插图%num

像这种payload类型的网站,需要由特定的处理方式处理。

处理方法:

import requests
import json
headers = {
“Content-Type”:”application/json;charset=UTF-8″,
“User-Agent”:”Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36″,
}
payload_data = {“token”: “”, “pn”: 20, “rn”: 20, “sdt”: “”, “edt”: “”, “inc_wd”: “”, “exc_wd”: “”, “fields”: “title”,
“cnum”: “001”, “sort”: “{\”infodatepx\”:\”0\”}”, “ssort”: “title”, “cl”: 200, “terminal”: “”,
“condition”: [{“fieldName”: “categorynum”, “likeType”: 2, “equal”: “003004002”}], “time”: [
{“fieldName”: “infodatepx”, “startTime”: “2021-01-07 00:00:00”,
“endTime”: “2021-04-07 23:59:59”}], “highlights”: “title”, “accuracy”: “”, “noParticiple”: “1”,
“isBusiness”: “1”}
url = “http://jsggzy.jszwfw.gov.cn/inteligentsearch/rest/inteligentSearch/getFullTextData”
resp = requests.post(url,headers=headers,data=json.dumps(payload_data))

与form_data的不同点是用json.dumps封装了一下

需要注意的点:如果是json格式,要在headers里加上”Content-Type”:”application/json;charset=UTF-8″

还有一种处理方法。将payload_data改写成”token=”\npn=20\nrn=20\nsd=”  这种形式,即参数之间加上\n,不需要json.dumps也能解决问题。

清洗之缺失值处理—删除

清洗之缺失值处理—删除

一、数据清洗
1、目的:让数据更加完整合理
2、为什么:数据可能存在缺失数据或异常数据,清洗就是对缺失的数据和异常的数据进行处理。
3、定义:数据清洗是通过删除,转换器,组合等方法,处理数据中的异常样本,为数据建模提供优质的数据的过程
4、包括:
缺失值处理
异常值处理
一.1、缺失值处理
1、缺失的原因:
人为疏忽、机器故障
人为刻意隐瞒部分数据
数据本身不存在
系统实时性高
历史局限性导致数据收集不完整
2、数据缺失类型:
完全随机缺失
随机缺失
非随机缺失
3、缺失值存在的形式:
np:nan 、” “、空格
4、缺失值处理的方式:
删除
填充
不处理
4.1 删除:
适用范围:数据量大,数据缺失值少的数据
方法:80%法则,缺失值超过总量20%,删除该属性
优点:操作简单
缺点:破坏数据的历史完整性
Python中用到的库:pandas

import pandas as pd
data=pd. read_csv(‘. /data02.csv’)
# 读取数据 (‘数据文件的路径’)
data. head() #读取数据前五行
print(type(data)) #查看数据类型
data. describe() # 查看详细信息 平均值,*大小值
#进行绘画展示
import missingno #导入库
import matplotlib. pyplot as plt #导入库
missingno. bar(data) #图画展示
#80%删除
drop_data=data. drop(axis=1,how=any,thresh=8000)
# axis=1 按列删除 0 :按行删除
#thresh:完整度

 

musdb18数据集的预处理

musdb18数据集的预处理

 

 

win10下处理musdb18数据集

下载musdb18的链接点我

想要将musdb18里的.stem.mp4文件批量处理成wav文件?首先,你需要安装musdb包

 

pip install musdb

1

接着,在命令行里运行下面的指令

 

musdbconvert <your_DIR> <target_DIR>

#例如 musdbconvert musdb18 musdb18wav

1

2

不过我在用这条命令处理musdb18数据集时遇到了问题:

 

TypeError: Invalid file: WindowsPath(‘etc/musdb18_dev_wav/train/A Classic Education – NightOwl/mixture.wav’)

1

现贡献我的解决方法如下:

粘贴musdb_convert代码 点我到一个新建的python文件中比如test.py,命令行输入

 

test.py musdb18 musdb18wav

1

可以得到形如酱紫的musdb18wav文件结构

%title插图%num

恭喜你成功啦!接下来就可以进行声源分离啦!

 

关于数字图像处理中的几种滤波算法

关于数字图像处理中的几种滤波算法

 

 

关于数字图像处理中的几种滤波算法

// An highlighted block

# -*- coding: utf-8 -*-

“””

Created on 2021/3/24 18:40

 

# @Author  : desires19

“””

import numpy as np

import matplotlib.pyplot as plt

import sys

from PIL import Image

 

 

def loading_image(path):

image = Image.open(path)

image = np.array(image)

r = image[:, :, 0]

g = image[:, :, 1]

b = image[:, :, 2]

# print(“loading image finish!”)

return r, g, b

 

 

”’图片填充”’

 

 

def padding(c):

size = c.shape

re_size = (size[0] + 2, size[1] + 2)

row = 0  # 行

col = 0  # 列

l = [[0 for i in range(re_size[1])] for i in range(re_size[0])]

 

while col < re_size[0]:  # 列 801

while row < re_size[1]:  # 行 642

if col == 0 or row == 0 or col == (re_size[0] – 1) or row == (re_size[1] – 1):

l[col][row] = 0

else:

l[col][row] = c[col – 1][row – 1]

row += 1

col += 1

row = 0

re = np.asarray(l)

re = re.reshape(re_size)

# print(“padding finish!”)

return re

 

 

def Fuzzy(c, filter):

f_size = filter.shape

c_size = c.shape

# 定义卷积上下左右边界

left = 0

right = f_size[0] – 1

top = 0

bottom = f_size[1] – 1

l = []

r = 0

f_row = 0  # 滤波器的行

f_col = 0  # 滤波器的列

while bottom < c_size[0]:

while right < int(c_size[1]):

”’大循环”’

while f_col < f_size[0]:

while f_row < f_size[1]:

”’小循环”’

r = r + filter[f_col][f_row] * c[top + f_col][left + f_row]

if r < 0:

r = 0

if r > 255:

r = 255

# print(r)

f_row += 1

f_col += 1

f_row = 0

l.append(int(r + 0.5))

r = 0

right += 1

left += 1

f_row = 0  # 重新归零进行下一次卷积运算

f_col = 0

bottom += 1

top += 1

right = f_size[0] – 1

left = 0

re = np.asarray(l)

re = re.reshape(c_size[0] – 2, c_size[1] – 2)

return re

 

 

def Mid(c, n):

c_size = c.shape

# 定义卷积上下左右边界

left = 0

right = n – 1

top = 0

bottom = n – 1

l = []

r = []

f_row = 0  # 滤波器的行

f_col = 0  # 滤波器的列

while bottom < c_size[0]:

while right < c_size[1]:

”’大循环”’

while f_col < n:

while f_row < n:

”’小循环”’

r.append(c[top + f_col][left + f_row])

# print(r)

f_row += 1

f_col += 1

f_row = 0

r.sort()

l.append(r[int((pow(n, 2) / 2))])

r = []

right += 1

left += 1

f_row = 0  # 重新归零进行下一次卷积运算

f_col = 0

bottom += 1

top += 1

right = n – 1

left = 0

re = np.asarray(l)

re = re.reshape(c_size[0] – 2, c_size[1] – 2)

return re

 

 

”’均衡化”’

 

 

def Equalization(p):

count = 0

x = []

y = []

while count < 256:

x.append(count)

y.append(0)

count += 1

ls = [x, y]

# print(“init finish!”)

y_1 = ls[1]

size = p.shape

row = 0

col = 0

count = 0

re = []

while col < size[0]:

while row < size[1]:

y_1[p[col][row]] += 1

row += 1

col += 1

row = 0

x = np.array(ls[0])

y_0 = np.array(ls[1])

y = y_0 / (size[0] * size[1])  # 归一化处理

 

”’计算累计直方图”’

num = 0

dy = []  # 累计直方数组

for n in y:

num = num + n

dy.append(num)

”’取整处理”’

sk = []  # 转化后

for n in dy:

num_1 = int(255 * n + 0.5)  # 四舍五入

sk.append(num_1)

”’处理映射关系”’

col = 0  # 归零处理,重新循环,覆盖图像

row = 0

while col < size[0]:  # 列

while row < size[1]:  # 行

num_2 = p[col][row]

re.append(sk[num_2])  # 进行映射

row += 1

col += 1

row = 0

im_re = np.array(re)

im_re = im_re.reshape(size)

return im_re

 

 

def image_show(r, g, b, image_name):

new_image = np.stack((r, g, b), axis=2)

# print(new_image.shape)

plt.rcParams[‘savefig.dip’] = 400  # 图片像素

plt.rcParams[‘figure.dip’] = 300  # 分辨率

plt.imshow(new_image)  # 显示图片

plt.axis(‘off’)  # 不显示坐标轴

plt.savefig(image_name, bbox_inches=’tight’)

 

 

def switch(state):

if state == 1:

”’高斯滤波器”’

Gauss = np.asarray([[1, 2, 1], [2, 4, 2], [1, 2, 1]]) / 16

 

g_r = Fuzzy(p_r, Gauss)

g_g = Fuzzy(p_g, Gauss)

g_b = Fuzzy(p_g, Gauss)

image_show(g_r, g_g, g_b, ‘E:\Documents\python_work\dpi\output\\gauss_1.jpg’)

elif state == 2:

”’均值滤波器”’

Average = np.asarray([[1, 1, 1], [1, 1, 1], [1, 1, 1]]) / 9

a_r = Fuzzy(p_r, Average)

a_g = Fuzzy(p_g, Average)

a_b = Fuzzy(p_g, Average)

image_show(a_r, a_g, a_b, ‘E:\Documents\python_work\dpi\output\\average_2.jpg’)

 

elif state == 3:

”’中值滤波器”’

m_r = Mid(p_r, 3)

m_g = Mid(p_g, 3)

m_b = Mid(p_b, 3)

image_show(m_r, m_g, m_b, ‘E:\Documents\python_work\dpi\output\\mid_3.jpg’)

 

elif state == 4:

”’锐化滤波器”’

H_1 = np.asarray([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]])

s_r = Fuzzy(p_r, H_1)

s_g = Fuzzy(p_g, H_1)

s_b = Fuzzy(p_b, H_1)

image_show(s_r, s_g, s_b, ‘E:\Documents\python_work\dpi\output\\strong_4.jpg’)

elif state == 0:

”’均衡化处理”’

e_r = Equalization(p_r)

e_g = Equalization(p_g)

e_b = Equalization(p_b)

image_show(e_r, e_g, e_b, ‘E:\Documents\python_work\dpi\output\\transform_0.jpg’)

 

elif state == 5:

sys.exit()

def init():

print(“0为均衡化处理”)

print(“1为高斯滤波”)

print(“2为均值滤波”)

print(“3为中值滤波”)

print(“4为锐化滤波”)

print(“5为退出程序”)

key = input(“请输入您想要进行的操作 “)

return key

 

 

if __name__ == ‘__main__’:

im_path = ‘./example.jpg’

 

r, g, b = loading_image(im_path)

p_r = padding(r)

p_g = padding(g)

p_b = padding(b)

”’

0为均衡化处理

1为高斯滤波

2为均值滤波

3为中值滤波

4为锐化滤波

 

”’

while(1):

k = eval(init())

switch(k)

 

 

/

 

配置mysql允许远程连接的方法

默认情况下,MySQL只允许本地登录,如果要开启远程连接,则需要修改/etc/my.cnf文件

vim /etc/my.cnf
注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1
保存退出。
mysql -uroot -p123456

为需要远程登录的用户赋予权限:
复制代码 代码如下:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@”%” IDENTIFIED BY “123456”;
或者: update user set host=’%’ where user=’root’;
mysql> flush privileges;
远程登录命令:
mysql -h 139.199.163.114 -u root -p(-h后跟的是要登录主机的ip地址)

%title插图%num
%title插图%num

阿里云服务器怎么查询不到新增加的域名 A 记录

买了个阿里云的服务器,想自己做个站玩玩,域名早就有了,直接分了个二级域名( xx.example.com ) A 记录到阿里云的 IP 地址,

在 windows CMD 上运行 nslookup xx.example.com 可以查到这个二级域名对应的 A 记录, 也就是阿里云服务器的 IP 地址;而且通过浏览器也能直接访问到服务器。

但是在阿里云服务器上运行 nslookup 或者 ping 域名,直接显示 unknown host xx.example.com 和 Can’t find xx.example.com: no answer 。。。

这是什么鬼?

DNS 缓存啥的能清理的都清理了,服务能重启的都重启了。 难不成还需要重启服务器? Linux 机器被玩成蜂窝煤了都不需要重启,添加个域名就需要?我可不信蛤。。。 阿里云这也太坑了吧。。。。

我的域名主要是在国外的 VPS 上用的,所以没在国内备案。但是我不用 80 端口,应该不会有影响吧。

tianshuang 2017-03-31 00:19:12 +08:00
使用 dig @8.8.8.8 xx.example.com 看能解析出来不 如果能解析出来应该就是 LDNS 的问题
elfive 2
elfive 2017-04-07 20:02:10 +08:00
@tianshuang 能查出来, LDNS 问题怎么解决?
tianshuang 3
tianshuang 2017-04-07 22:00:47 +08:00 ❤️ 1
那就手动制定 DNS 服务器地址嘛,国内的话换成 114.114.114.114 之类的
tianshuang 4
tianshuang 2017-04-07 22:00:57 +08:00
指定,打错了
elfive 5
elfive 2017-04-08 11:24:28 +08:00
@tianshuang 汗,好吧。。。阿里的 ECS 真用不习惯。。
elfive 6
elfive 2017-04-08 11:24:35 +08:00
@tianshuang 谢谢了
conwey 7
conwey 2017-04-21 03:36:33 +08:00
又是没有添加好安全规则吧? 233
elfive 8
elfive 2017-04-22 12:02:44 +08:00
@conwey 应该不是, 233
全端口,全协议都开放了的

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