在.gitignore中寫忽略文件時需要把路徑也寫上,例如(若是在根目錄下):/*.a
不然忽略不成功,只要這個忽略成功了,是不會發(fā)生有大文件存在的,因為這個大文件都被忽略了,服務器在不會去檢查它呢
不傳比較嚴謹,這個JS也容易控制的,
let url = ''
const id_data = `id=${id}`
const name_data = name_data = `name=${name}`;
const age_data = age_data = `age=${age}`;
Boolean(name_data) && Boolean(age_data) && url = `biz?${id_data}?${name_data}?${age_data}`;
Boolean(name_data) && Boolean(!age_data) && url = `biz?${id_data}?${name_data}`;
Boolean(!name_data) && Boolean(age_data) && url = `biz?${id_data}?${age_data}`;
1.網絡出問題的時候要在接口里面判斷,若請求失敗就使用 mui('#refreshContainer').pullRefresh().endPulldown();方法關閉正在‘正在刷新...’的字樣。
2.判斷一下少于多少條數(shù)據(jù)的時候就用這個方法,隱藏上拉加載更多mui('#refreshContainer').pullRefresh().disablePullupToRefresh();
備案和服務器關系不大吧,備的是域名,你買個域名,解析到你ip就好了,如果你要備案,到你買域名的服務商上面看看,一般都有教你怎么備案的
CoordinatorLayout的本質是FrameLayout,肯定會發(fā)生遮擋的,要不給rv加個margin top
因為1901年之前,上海時間是+8:05:43的,直到1901年之后,切換為真正的東八區(qū),即+8:00:00,chrome做的太細致了,參考下面這個網站,可以看到歷年時間遷移
https://www.timeanddate.com/t...
不過在我的chrome版本上,卻直接返回 Sun Dec 31 1899 00:00:00 GMT+0800,估計和chrome版本有關。
SWBT框架https://github.com/YWNA/SWBT,一個基于Swoole和beanstalkd實現(xiàn)多進程異步處理消息隊列的框架。
es6:
var items = document.querySelectorAll("li");
for(let i = 0; i<items.length;i++){
items[i].onclick = function(){
console.log(i)
}
}
es5:
var items = document.querySelectorAll("li");
for(var i = 0; i<items.length;i++){
(function(i){
items[i].onclick = function(){
console.log(i)
}
})(i)
}
for循環(huán)直接就運行了跑了6次,等你點擊的時候i已經等于5
這是thymeleaf 2的bug ,升級到thymeleaf 3可以解決此bug;
thymeleaf2的時候是自己處理的json;
thymeleaf3使用的jackson,jackson可以通過使用@JsonIgnoreProperties和@JsonIgnore注解解決 兩個類互相引用的問題
可以。生成(定義)一個合約對象,通過這個對象就可以調用合約的接口,里面有查詢代幣余額的接口。哎,這么久都沒有人回答。
跟 flex 沒關系,是子元素大小超出父元素引起的。
<div class='wrapper'>
<div class="inner">
</div>
</div>
.wrapper {
width: 100px;
overflow: auto;
}
.inner {
width: 120px;
}
也會出現(xiàn)這種情況,包括父容器的padding-right,也不是無效,還是有的,但是沒起到影響布局的效果。
應該是,超出情況下在兩側布局樣式無法同時滿足時,默認左上為布局起點,所以優(yōu)先滿足margin-left等左側布局樣式。
"{" 括號報錯了
你要寫 const obj = {} 嗎
錯誤都是有意義的。
比如這個Undefined index,80%的情況是,有個參數(shù)沒傳進來,不在$_GET或者相應的數(shù)組里,引用個數(shù)組不存在的東西當然就要報錯咯。但你不能為了不想看到就關掉它,這樣當你想debug時,打開error.log一看,干干凈凈,所有應該發(fā)生問題的地方全被@給懟掉了,咋辦?到時候只能繞更大的彎。
說回這個問題。其實解決很簡單的,比如你要取個$_GET['id'],有沒有你可以先去判斷下,既然它是數(shù)組,那么肯定有方法檢測這個鍵名是否存在咯,或者是一個固定的寫法、或者是API,肯定有方法的,那么PHP里就可以用array_key_exists方法先去做個判斷,如果有再取值,沒有給它丟個空字符串或者其它什么標識就好了呀!比如:
$userid = array_key_exists('id', $_GET) ? $_GET['id'] : '';這是一個閉包的問題,這樣解決
...
def wrapper(i):
def add_fun(self):
return self.num + i
return add_fun
setattr(..., wrapper(i), ...)
...better-scroll
之前項目中用到的,你可以參考一下:
function generateDateAxis(config) {
// 合并參數(shù)
let p = Object.assign({
// 類型
type: '年',
// 方向
direction: 'prev',
// 模板
source: '',
target: 'YYYYMMDD',
// 開始
start: moment(),
// 時間軸長度,默認2個
length: 2,
// 處理時間軸單個時間的方法
forEach: function (item, idx, axis) {
return item;
},
// 停止添加時間軸元素的方法
stop: function (item, idx, axis) {
return false;
},
// 升序 ascend(asc) || 降序 descend(desc)
sort: 'asc'
}, config);
// 時間類型映射表
const DATE_TYPE_MAP = {
'year|年': 'years',
'month|月': 'months',
'week|周|星期': 'weeks',
'day|日|天': 'days',
};
// 類型
let type = '', tstr, treg;
// 根據(jù)參數(shù)type獲取moment需要加減的單位(年|月|星期|日)
for (tstr in DATE_TYPE_MAP) {
treg = new RegExp(tstr);
if (treg.test(p.type)) {
type = DATE_TYPE_MAP[tstr];
break;
}
}
let direction = p.direction === 'prev' ? 'subtract' : 'add', // 減 || 加
Sattern = p.source || p.target, // 源模板
Tpattern = p.target, // 目標模板
start = p.start, // 開始時間
sort = p.sort === 'asc' ? 'unshift' : 'push', // 排序
unit, // 時間軸單個元素
idx = 0, // 時間軸下標
newStart;
// 循環(huán)獲取單個時間,并通過forEach方法處理,然后放入result數(shù)組返回
let axis = (function loop(l, r) {
newStart = moment(start, Sattern)[direction](idx, type).format(Tpattern);
// 處理生成的時間軸元素
unit = p.forEach(newStart, idx, r);
// 處理后的元素合法則放進結果數(shù)組
r[sort](unit);
if (r.length === l || p.stop(unit, idx, r)) {
return r;
}
idx++;
return loop(l, r);
})(p.length, []);
return axis;
}
> 用法:
let result = generateDateAxis({
// 類型
type: '月',
// 方向
direction: 'prev',
// 模板
source: 'YYYYMM',
target: 'YYYY-MM',
// 開始
start: moment(),
// 時間軸長度,默認2個
length: 10,
// 處理時間軸單個時間的方法
forEach: function (item, idx, axis) {
return item;
},
// 停止添加時間軸元素的方法
stop: function (item, idx, axis) {
return false;
},
// 升序 ascend(asc) || 降序 descend(desc)
sort: 'asc'
});
console.log(result);可能的原因:
簡而言之,盡量不要用手機來做這種涉及到IP的測試,除非你確定中間經過什么
可以增加兩項配置來做測試:
location = /ip {
default_type text/plain;
allow all;
return 200 "$remote_addr, $realip_remote_addr, $http_x_real_ip";
}
location = /deny {
deny all;
}
使用filepath.Glob+ 帶緩沖的channel:
package main
import (
"fmt"
"path/filepath"
"sync"
)
func main() {
ls, err := filepath.Glob("*") // 獲取頂層文件/文件夾
CheckErr(err)
wg := new(sync.WaitGroup)
ch := make(chan string, 5)
go DeleteFile(ch, wg)
for _, v := range ls {
wg.Add(1)
ch <- v
}
close(ch)
wg.Wait()
}
func DeleteFile(ch chan string, wg *sync.WaitGroup) {
for v := range ch {
fmt.Println("to remove : ", v)
wg.Done()
}
}
func CheckErr(err error) {
if err != nil {
panic(err)
}
}我之前遇到過類似的情況,是因為服務器上部署了兩臺tomcat,做了負載均衡。每臺都有一個scheduled,就執(zhí)行了兩次。
如果不是我這種情況,那忽略吧。
stackoverflow 上的類似問題。
Java Spring @Scheduled tasks executing twice
確保你沒有在@Scheduled注釋的bean類上使用@Configurable,并且在容器中注冊為普通的Spring bean。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產業(yè)為響應國家深化產教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。