題主更新了問題,那么原答案就當(dāng)回到第一問了,至于第二問,講講我個(gè)人的看法吧:
其實(shí)編程這個(gè)東西,很大程度上上是一個(gè)經(jīng)驗(yàn)工種,前期也許需要一點(diǎn)所謂的理解能力去搞懂一些抽象的東西,也可以不去搞懂,只是這樣的話天花板來的會很快;中期需要橫向拓展,因?yàn)楹芏鄸|西是相同的,比如緩存機(jī)制,從硬件一路用到分布式,但是你不靠經(jīng)驗(yàn)去了解它是很難搞明白怎么用好它的;后期需要縱向深入,中期積累的各方面經(jīng)驗(yàn)足夠你在一個(gè)領(lǐng)域去爆發(fā)的時(shí)候,你就可以嘗試一下所謂的一通百通。
當(dāng)然所謂的前中后期的說法是我自創(chuàng)的,不代表普適規(guī)則,但是終究多數(shù)人是平庸的(無貶義 畢竟我自己也只是個(gè)平庸的普通人),在沒有足夠驚艷的天賦時(shí),只能靠經(jīng)驗(yàn)來強(qiáng)化自己的能力,又由于這個(gè)行業(yè)的特殊性,幾乎可以說一生都在學(xué)習(xí)。
我從初三開始學(xué)習(xí)編程,批處理入的門,也進(jìn)過學(xué)校的信奧班(奈何智商不夠,沒讀完 ORZ);
高中主用易語言,我知道很多人瞧不起這個(gè)東西,但是靠它我可以很快得上手 windows gui 編程,這讓我明白了很多 gui 系統(tǒng)的消息機(jī)制到底是什么,也讓我明白了一個(gè)通用ui組件的抽象化是怎么做的,中間斷斷續(xù)續(xù)學(xué)過 php 和 python(為了折騰 ss),在此期間我買過 vps 綁過域名也通過 http 權(quán)威指南 懂了一個(gè)http請求的歷程;
高中的過分沉迷編程讓我的文化課成績異常糟糕,我那一屆98%的人上了本科而我就是那2%,所以讀了大專
到了大一,按部就班學(xué)習(xí) c 語言和網(wǎng)頁,此時(shí)的我對 c 已經(jīng)沒太多興趣因?yàn)橛眠^高級語言就不想用那么麻煩的東西了 Orz,而網(wǎng)頁我也只是處于知道盒模型但是搞不定兼容 js 更是一竅不通的水平;
到大二我開始用 node.js ,我現(xiàn)在的所有js知識全部來源于此,5月份我開始學(xué)習(xí) java,哪怕一行也沒寫過,我也能看過基礎(chǔ)語法后當(dāng)晚用 java 就寫一個(gè)把 .java 轉(zhuǎn)換為 .jsp 的東西(當(dāng)時(shí)猜測 jsp 的性質(zhì)與 php 類似);
現(xiàn)在我大三正準(zhǔn)備找實(shí)習(xí)呢 Orz
講我的經(jīng)歷是因?yàn)?,以我現(xiàn)在的經(jīng)驗(yàn),還有對于編譯原理的一些理論了解(比如我在 sf 倒數(shù)第二篇文章),對于一些 oo 的語言我可以根據(jù)文檔很快上手,其框架也大抵如此,不過這是將將能用而已,很多我重新造輪子的地方后面就發(fā)現(xiàn)框架已經(jīng)提供了我不知道而已。
因此一個(gè)語言是變化的,一個(gè)框架也是會更新?lián)Q代的,經(jīng)典的思想雖然不會太快過時(shí),但也避不過時(shí)代巨輪的碾壓,畢竟硬件性能足夠了我們可能就不那么需要扣內(nèi)存了(所以現(xiàn)如今不用太會算法也足夠找份吃飯的工作了),所以是學(xué)不完的。
那么到底怎么快速上手一門語言或者框架呢,無他,唯手熟爾。
這個(gè)答案可能不會被很多人看到,但是我自己是個(gè)從彎路走上來的人,甚至可以說不算是一個(gè)科班出身的,希望能幫到一些人吧。
突然看到標(biāo)題說的是從0到精通???
精通這個(gè)詞,就不提 c++ 那種多范式的變態(tài),java 這種 語言規(guī)范 加 虛擬機(jī)規(guī)范 合起來近千頁的,0基礎(chǔ)一個(gè)小時(shí)看的完?那還有 Spring 等等之類的文檔還沒開始看呢。
假定我們討論的是,寫的產(chǎn)品的代碼量是一個(gè)小時(shí)內(nèi)能寫完的。
我見過有研究生寫的代碼是『一個(gè)main幾千行』,沒有任何編程思想(指的是抽象 模塊化 這些)在里面。
事實(shí)上,語言本身是可以用數(shù)學(xué)抽象的,不排除有人對語言的理解就是能一目了然,甚至可以按部就班硬寫個(gè)所謂的產(chǎn)品(只要求跑的起來,結(jié)果正確)。
但是還有個(gè)大前提,那就是他寫的是這個(gè)產(chǎn)品,包不包含其他知識點(diǎn),你可以用 c 寫個(gè)純數(shù)學(xué)算法,但是你用 c 寫個(gè) http 響應(yīng)哪怕是個(gè) socket,你都得還要學(xué)習(xí)一下網(wǎng)絡(luò)協(xié)議,這種情況下,一個(gè)小時(shí)能不能把網(wǎng)絡(luò)協(xié)議看完都是未知數(shù),遑論寫產(chǎn)品。
嚴(yán)格的說法,在c中你無法改變實(shí)參,因?yàn)?code>c中傳遞參數(shù)是通過復(fù)制來傳遞的,由main函數(shù)到被調(diào)函數(shù)的過程中實(shí)參和行參已經(jīng)完全沒有了關(guān)系,除了值相同之外
之前就回答過你了,fun1中的行參a 以及 b 和 main 中的 x 以及 y 除了指向相同的地址之外
沒有任何的關(guān)系,你對調(diào)了a b不會對x 和 y產(chǎn)生任何影響,也不會對 i 和 j 產(chǎn)生影響
而你所理解的能改變實(shí)參,指的是通過指針可以改變指向變量的值(畢竟指針就是干這個(gè)的!),無論指針(被調(diào)函數(shù)(fun1 fun2 fun3)中的 a b 以及 main中的x y )在哪里,只要指向的地方相同都能訪問到那個(gè)指向的變量(i 以及 j),即通過 *a 或者 *x 就能改變 i的值!
fun2 是錯(cuò)誤的寫法
這應(yīng)該是cookie跨域的問題,搜索一下解決方案。我更推薦使用token作為認(rèn)證手段。
更新:
因?yàn)槟愕膕napsack函數(shù)在i的時(shí)候會去令i位的m等于0或者等于1.
然后去算i-1的時(shí)候的snapsack()。
最后到了base case(也就是i==0的時(shí)候),打印出整個(gè)m數(shù)組。
因?yàn)槟阌胢表示的話,m等于0或者1.
因此這個(gè)遞歸可以得出所有結(jié)果。
PS:
抽象接口和普通接口? 你是從其他語言中看到的吧? 抽象接口和接口是一樣的.
一般來說, 接口是一種規(guī)范或者規(guī)則, 用來規(guī)范常量和方法, 且不提供實(shí)現(xiàn), 接口方法會有固定的方法類型、方法名、參數(shù)類型及數(shù)量、返回值類型等.
在iOS中, 實(shí)現(xiàn)接口中的方法必然是類、分類或者結(jié)構(gòu)體(Swift), 通常用protocol協(xié)議來表示程序中的接口.
suid只對二進(jìn)制可執(zhí)行程序有效,如果你把編譯過后的encapsulation設(shè)置了4755權(quán)限,那么應(yīng)該是直接./encapsulation執(zhí)行有效
如果A和B都是路由里面的頁面,可以監(jiān)聽到啊。
在A頁面:
beforeRouteEnter(from,to,next){
if(from.path=="B"){
alert("來源于B頁面")
}
next()
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//** 聲明結(jié)構(gòu)
//** @result 返回對稱數(shù)數(shù)組
//** @length 數(shù)組的長度
struct Symmetrical {
int *result;
int length;
};
typedef struct Symmetrical Symmetrical;
Symmetrical *findSymmetrical() {
//為結(jié)果分配內(nèi)存,最大可能為所有數(shù)都是對稱數(shù),即 sizeof(int)*1993
int *result = (int *)malloc(sizeof(int)*1993);
int length = 0;
//數(shù)字轉(zhuǎn)換為字符串后存放的數(shù)組
char *numStr = (char *)malloc(sizeof(char)*4);
for (int i = 1; i <= 1993; i++) {
//如果小于10,一定為對稱數(shù)
if (i < 10) result[length++] = i;
else {
int is_symmetrical = 1;
// 轉(zhuǎn)換數(shù)字到字符串,itoa是非標(biāo)準(zhǔn)函數(shù),可以用sprintf代替
sprintf(numStr, "%d", i);
// itoa(i, numStr, 10);
int num_length = strlen(numStr);
//對每一位進(jìn)行對比
for (int j = 0; j < num_length / 2; j++) {
//如果正數(shù)第j位和倒數(shù)第j位不一樣,則不為對稱數(shù),結(jié)束循環(huán)
if (numStr[j] != numStr[num_length - j - 1]) {
is_symmetrical = 0;
break;
}
}
//如果是對稱數(shù),存到結(jié)果數(shù)組里
if (is_symmetrical) result[length++] = i;
}
}
free(numStr);
//創(chuàng)建對稱數(shù)結(jié)構(gòu),用于同時(shí)傳遞數(shù)組和數(shù)組長度
Symmetrical *symmetrical = (Symmetrical *)malloc(sizeof(Symmetrical));
symmetrical->result = result;
symmetrical->length = length;
return symmetrical;
}
int main() {
Symmetrical *result = findSymmetrical();
//打印
for (int i = 0; i < result->length; i++) {
printf("%d ", result->result[i]);
}
free(result->result);
free(result);
}
答案非最優(yōu)解,但思路是這樣。
在項(xiàng)目的gradle.properties中:設(shè)置android.enableAapt2=false
https://github.com/wuyunqiang...
github了解一下:
思維走入誤區(qū)
那就直接先吧修改后的值,post到后臺存到數(shù)據(jù)庫,然后后臺把數(shù)據(jù)庫里的數(shù)據(jù)再全部返給你,你commit一個(gè)mutilations,再修改state,頁面就自動更新了呀。舉個(gè)修改列表數(shù)據(jù)的例子
import axios from 'axios';
const listData = {
state:{
list:null
},
mutations:{
CHANGE_LIST(state,payload){
state.list = payload
}
},
actions:{
changeListAction({commit}){
axios.post("你后端的接口",{key:val}).then(res=>{
if(res.data.result){
commit("CHANGE_LIST",res.data.data)
}
})
}
}
};
export default listData
修改數(shù)據(jù)的時(shí)候,在組件中:
this.$store.dispatch('changeListAction');
你在組件中取數(shù)據(jù)的時(shí)候:
const listData = this.$store.state.resource.list這是IEEE 754的規(guī)定.float的二進(jìn)制表示被分為三部分
為了計(jì)算機(jī)更好的比較浮點(diǎn)數(shù),所以階碼是無符號數(shù),0<階碼<255.其中0(00000000)和255(11111111)有特別含義看,所以用到的范圍實(shí)際是1<階碼<254.然后規(guī)定了一個(gè)偏置碼(bias value),大小為127,階碼的值(指數(shù))=階碼無符號數(shù)-偏置碼(127)
最后:
處理這種的方式就是打開瀏覽器。
看一下 js是否真正的保存了cookie。并且 跳轉(zhuǎn)到home頁后的請求,是否攜帶了該cookie。
如果攜帶了,就去后端找問題~
這是一個(gè)坑
xml模板不能有空格,清除掉就可以了
微信官方文檔給的模板有空,但沒有做提示。
舉個(gè)例子:
同步:我踹你一腳,你立馬告訴我你疼;
異步:我踹你一腳,你沒反應(yīng),過兩天你媽媽找到我媽媽,說你疼。
這個(gè)錯(cuò)誤提示很明顯 .
就是 你選擇的版本的 iOS 下沒有這個(gè)系統(tǒng)函數(shù) clock_settime
事實(shí)上. macOS 也是 10.12 下才有這個(gè)函數(shù)的.
clock_settime 的手冊頁說明如下.
These functions first appeared in Mac OSX 10.12
建議你找找你別人修改過可以在 iOS 下運(yùn)行的 python 版本, 或者自行修改.
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。