@course.comments.sum{ |cc| cc.comment.length }
這是IEEE 754的規(guī)定.float的二進制表示被分為三部分
為了計算機更好的比較浮點數(shù),所以階碼是無符號數(shù),0<階碼<255.其中0(00000000)和255(11111111)有特別含義看,所以用到的范圍實際是1<階碼<254.然后規(guī)定了一個偏置碼(bias value),大小為127,階碼的值(指數(shù))=階碼無符號數(shù)-偏置碼(127)
xml分行寫,就沒有問題了。
不明白你的問題,意思是沒取到cookie還是不應該取到cookie但是取到了
我認為使用define的最大價值在于是否可以將大段的重復性代碼濃縮為define,后續(xù)使用可能用一個宏就解決大段的重復性代碼。比如mfc中的消息映射,成功的將很多重復性的代碼濃縮為一兩個宏,雖然mfc本身很復雜,但是它的宏定義的使用堪稱教科書。其他常用的使用場景比如定義不定長的函數(shù),你給出的這個例子就是。比如與操作系統(tǒng)和編譯環(huán)境有關的,比如__FILE__,__LINE__,DEBUG等。至于你講的可能的代替,我認為是定義常量、定義簡單的函數(shù)等。
https://docs.open.alipay.com/... 看到開發(fā)文檔 開始沒有找對
當然有意義。
你覺得你用不到,很多時候是框架幫你做了這些事情。
我舉幾個例子
誠然,其實不用這些標準也能實現(xiàn)很多東西,但是我們?yōu)槭裁凑f面向接口編程,就是不需要知道實現(xiàn)細節(jié),也能很好的使用。
如果生成操作比較耗時,可以通過異步處理, 即把生成的文件以用戶為單位保存成列表,然后在生成功能時以某種方式,(可以是websocket,也可以是輪詢)等處理完了,彈出文件下載列表。至于服務器端成的文件,可以通過servlet或者nginx等直接提供下載即可。
一般情況下不要#include.c文件?。?!
在編譯的時候,首先工作的是預處理器,預處理器將#include展開成對應文件的內(nèi)容,這里你的SeqList.c文件里的函數(shù)定義就會被放進main.c中。
接著編譯器會實際編譯被預處理器處理過的main.c和SeqList.c,然后就得到了兩份SeqList.c中的函數(shù)定義對應的匯編/機器碼。
接著會鏈接,有兩組名字一樣的函數(shù)定義,自然就鏈接不上了……
解決方案就是另外做一個SeqList.h放函數(shù)的聲明,然后#include .h文件
Linux不會報錯大概是編譯器的容錯機制做的好吧……
autolayout的話,如果你是在一個viewController里面,一般是在viewDidLayoutSubviews才能生效,如果是一個view的話,一般則在layoutSubviews里面才生效
&的用意我只知道除了是引用和位址之外,它還有一個功能就是防止拷貝(比較有效率)。
void swap(int &a, int &b)
和
void swap(int a, int b)
的差別是一個是整數(shù)a b的本身,另一個是整數(shù)a b的副本。如果你使用第二個swap函數(shù)來進行交換整數(shù)的話,你會發(fā)現(xiàn)沒有換到。因為你所處理的只是在副本上進行交換整數(shù)而已,它本身的自己卻沒有更動到。
Box operator+(const Box& b)
{
Box box;
box.length = this->length + b.length;
box.breadth = this->breadth + b.breadth;
box.height = this->height + b.height;
return box;
}
知道了&的一些概念后,你可能會問為什么 Box& b前面要放 const!
因為你知道 &會改變對象本身,然后我們只是想用b里面的變數(shù)且不想更動到它們,所以前面加const的用意是防止改變對象!
總結來說,const B &b 達到了無副本 + 無法修改的目的。
new->next = head->next;
head->next = new;
head = head->next;
new = malloc(sizeof(struct ListNode));
運行中,此四行構造出一循環(huán)鏈表。故addTwoNumbers函數(shù)退出后,判定程序在打印結果時死循環(huán)。
簡單的項目可以用自適應,復雜點的,我覺得應該分開寫
sem_init函數(shù)入?yún)⑿枰獋魅虢Y構體地址,即sem_t mutex;
sem_init(&mutex);
還有看到你buffer定義是數(shù)組指針,但感覺初始化是按照字符數(shù)組初始化的。
set里,只有值和引用地址都完全相同,兩個元素才算是一樣的
已解決
return parent::render($e);
上面沒有把參數(shù)傳遞進去
傳入可變參數(shù)時,用 PyTuple_Size() 獲取參數(shù)個數(shù),然后用 PyTuple_GetItem() 循環(huán)讀取每個參數(shù)值,最后根據(jù)情況轉換參數(shù)值。
請參考下面的代碼
/*
此 python 擴展示例代碼,計算整數(shù)數(shù)組和,如下:
from liyi import psum
psum(1, 2)
psum(10, 20, 30)
try:
psum('a', 1)
except TypeError:
pass
## 編譯命令(以 linux 為例)
cc -g -Wall `python3.6-config --cflags` -o demo demo.c `python3.6-config --ldflags`
## 參考
https://docs.python.org/3/c-api/index.html
*/
#include <Python.h>
// 計算整數(shù)數(shù)組和
static PyObject* psum(PyObject *self, PyObject *args)
{
int sum = 0;
for (int i=0; i<PyTuple_Size(args); i++) {
PyObject *item = PyTuple_GetItem(args, i);
// 數(shù)組元素必須是整型
if (!PyLong_Check(item)) {
char message[128];
snprintf(message, sizeof(message), "%d-th item must be long", i);
PyErr_SetString(PyExc_TypeError, message);
return NULL;
}
sum += PyLong_AsLong(item);
}
return PyLong_FromLong(sum);
}
static PyMethodDef Methods[] = {
{"psum", psum, METH_VARARGS, "Return sum of integer array"},
{NULL, NULL, 0, NULL}
};
static PyModuleDef Module = {
PyModuleDef_HEAD_INIT,
"liyi", NULL, -1, Methods,
NULL, NULL, NULL, NULL
};
static PyObject* PyInit(void)
{
return PyModule_Create(&Module);
}
int main(int argc, char *argv[])
{
PyImport_AppendInittab("liyi", &PyInit);
Py_Initialize();
PyRun_SimpleString(
"from liyi import psum\n"
"for numbers in [(1,2), (10,20,30)]:\n"
" print('%s = %d' % ('+'.join(map(str, numbers)), psum(*numbers)))\n"
"try:\n"
" psum('a', 1)\n"
"except TypeError:\n"
" import traceback; traceback.print_exc()\n"
);
if (Py_FinalizeEx() < 0) {
exit(1);
}
return 0;
}iCarousel切換的慢是不是速度問題, 而是和在一定時間內(nèi)滾動的Offset有關.
每一個item切換的Offset是通過時間計算的, 然后iCarousel再調用[self scrollByOffset:[self minScrollDistanceFromOffset:_scrollOffset toOffset:offset] duration:duration];滾動視圖.
NSTimeInterval time = MIN(1.0, (currentTime - _startTime) / _scrollDuration);
delta = [self easeInOut:time];
_scrollOffset = _startOffset + (_endOffset - _startOffset) * delta;
[self didScroll];
需要改變的是scrollOffset, scrollOffset和時間, 也就是time計算出delta = [self easeInOut:time];, 所有我建了一個分類, 其中重寫了easeInOut方法, 從而調整scrollOffset
#import <iCarousel/iCarousel.h>
@interface iCarousel (speed)
/** 滾動速度 */
@property (nonatomic, assign) CGFloat speed;
@end
#import "iCarousel+speed.h"
#import <objc/runtime.h>
@implementation iCarousel (speed)
static NSString * const iCarousel_speed = @"iCarousel_speed";
- (CGFloat)easeInOut:(CGFloat)time
{
return self.speed;
// return 0.32;
// return (time < 0.5)? 0.5 * pow(time * 2.0, 3.0): 0.5 * pow(time * 2.0 - 2.0, 3.0) + 1.0;
}
- (void)setSpeed:(CGFloat)speed
{
objc_setAssociatedObject(self, &iCarousel_speed, @(speed), OBJC_ASSOCIATION_RETAIN);
}
- (CGFloat)speed
{
return [objc_getAssociatedObject(self, &iCarousel_speed) doubleValue];
}
@end
speed越小速度越快, 設置_icarouselView.speed = 0.32;
自測: 滾動時略有卡頓, 還不夠完美, 但是滾動速度上確實提高了不少.
以下方案:
tcp server/ws server提供一個http接口。
比如我nodejs寫的websocket服務器,php要發(fā)消息怎么辦,PHP不能直接連接,那只能nodejs給個接口,php去請求了。
基于消息隊列
tcp server/ws server連接到一個消息隊列作為消費者,php端將要發(fā)生的消息寫入消息隊列
很多web應用都提供了從其他的服務器上獲取數(shù)據(jù)的功能。使用用戶指定的URL,web應用可以獲取圖片,下載文件,讀取文件內(nèi)容等。這個功能如果被惡意使用,可以利用存在缺陷的web應用作為代理攻擊遠程和本地的服務器。這種形式的攻擊稱為服務端請求偽造攻擊(Server-side Request Forgery)。
例如使服務器獲取本地任意文件
file:///C:/Windows/win.inifile:///etc/passwd
SSRF 可用于實現(xiàn)任意文件下載,但其可以用于更高級別的攻擊,通過判斷本地已經(jīng)安裝的服務,從而實現(xiàn)針對特定服務的漏洞利用,甚至獲得完整控制權。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。