我决定将 MySql 或 NoSQL 用于论坛站点。我对整个 NoSQL 想法很陌生,在阅读文档时我注意到“项目”不能大于 64kb,这包括属性和值。从我理解的方式来看,我能想到的实现这一点的唯一方法是这样的:
Posts: [
{ user: 'gates', text: 'first post'
comment: [
{ user: 'jim', text: 'comment1',
user: 'bobby', text:'comment2'
}
]
},
{ user: 'jim', text: 'second post' }
]
Run Code Online (Sandbox Code Playgroud)
这里的问题是如果一个帖子有很多评论,它会超过该项目的 64kb 限制。是否有另一种实现这种“帖子/评论关系”的方法可以很好地扩展?
我使用位来表示一天发生的事件.例如,如果我存储4天的信息,我可以使用1011(从右到左凝视)将在第1,2天指示,并且发生4个事件(第1,2和4位设置).
我正在使用Long
存储位的类型(在此示例中将存储数字11).现在Long
我可以存储63天的事件(长最大尺寸是2 ^ 64 -1).
仅供参考:我稍后在我的一系列事件中选择一个,然后将其与另一组进行比较,以查看同一天发生了多少事件(我使用Long的bitcount方法来执行此操作).例如,1011 AND 1000 = 1
事件发生在这两组中的同一天.
我面临的问题是:我现在需要存储超过63天的数据.我现在需要大约180天.我正面临着我的两个解决方案的性能问题,并且想知道是否有更有效的方法来实质上存储"180位"整数.
我的第一个解决方案是使用BigInteger
,但这在运行时非常慢.我的另一个解决方案是将180位分解为3 Long
秒,然后相应地进行比较,但显然这会产生3倍的工作量.
我正在使用nodejs和库Promises / A +(选择它似乎是最受欢迎的库)https://www.npmjs.com/package/promise。我面临的问题是,即使异步功能已按预期完成,但在失败声明后仍已完成。因此sv + ' No it failed'
,总是在async方法中的console.log消息(表明成功)之前打印此消息。此console.log消息应该先打印出来,因为它在async方法内部。我被困住为什么会这样?即使异步方法成功返回后,promise也总是在失败时运行?
我的代码:
var promise = new Promise(function (resolve, reject) {
var u = asyncmethod(some_var);
if (u){
resolve(some_var)
}
else{
reject(some_var);
}
});
promise.then(function(sv) {
console.log(sv + ' Yes it worked');
}, function(em) {
console.log(sv + ' No it failed');
});
Run Code Online (Sandbox Code Playgroud) 我正在学习mongodb。如果我创建批量写入,此事务是全部还是全部?我有一个场景,我的用户可以删除他们的朋友。
FRIEND 1 | FRIEND 2
User B USER A
User A USER B
Run Code Online (Sandbox Code Playgroud)
为此,我需要从双向关系中删除。为了一致性,我需要将这些作为全有或全无发生,因为我不希望 2 个操作中只有 1 个成功,因为这会导致错误数据。阅读文档我找不到答案:
我有几张幻灯片,其中添加了动态内容.问题是幻灯片内部的内容不会滚动.因此,如果我有很多项目只有一些节目,没有能力滑动.如何才能使我的列表中的内容在幻灯片中滑动?
<ion-content>
<ion-slides (change)="onSlideChanged($event)">
<ion-slide >
<ion-list>
<ion-item *ngFor="#item of items1; #i = index">
<h2>{{item}</h2>
</ion-item>
</ion-list>
</ion-slide>
<ion-slide>
<ion-list>
<ion-item *ngFor="#item of items2; #i = index">
<h2>{{item}</h2>
</ion-item>
</ion-list>
</ion-slide>
</ion-slides>
</ion-content>
Run Code Online (Sandbox Code Playgroud) 我有一个索引页面,其中包含3个选项卡.问题出现在所有选项卡中,但我将在此处显示主页.发生的问题是主页的一些顶部内容被标题栏和标签栏重叠,因此它被隐藏.
在Home html页面的内部,我试图用离子内容包装代码(参见下面的代码),但这隐藏了顶级内容,调整了高度,它不再是全屏,加上幻灯片我必须刷过来内容因为如果我触摸一些填充或边距空间它将不再滑动(幻灯片3是一个很好的例子,因为它没有很多内容,你必须按下并在文本上滑动才能刷卡).如果我删除了离子内容标签,这会正确调整高度,使滑动工作,所以我不必刷内容使其工作,但顶部内容的问题仍然被标签和标题栏重叠存在.如何将home.html完美地放在标签下并利用所有空间?
的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- ngCordova install script needed -->
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<!-- your app's js --> …
Run Code Online (Sandbox Code Playgroud) 标题是Azure Blob存储事务是什么?我有两个场景:
1)我需要插入/修改两个文件.他们需要全部或全部,所以如果一个失败,没有插入/更新.
2)何时更新争用处理方式?可以说我有file.txt.两个用户同时想要更新该文件的内容.在这种情况下会发生什么?
我的主要活动包含 2 个片段:
主要活动
public class MainActivity extends AppCompatActivity implements FragmentOne.OnFragmentOneInteractionListener, FragmentTwo.OnFragmentTwoInteractionListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Check that the activity is using the layout version with
// the fragment_container FrameLayout
if (findViewById(R.id.fragment_container) != null) {
// However, if we're being restored from a previous state,
// then we don't need to do anything and should return or else
// we could end up with overlapping fragments.
if (savedInstanceState != null) {
return;
}
// Create …
Run Code Online (Sandbox Code Playgroud) 我在Java 8中有一个异步操作,它返回一个onError回调或onSuccess回调.如果操作成功与否,我需要返回我的方法内部.所以我返回一个布尔值来说明这个信息.我遇到的问题是我得到以下编译错误:
错误:从内部类引用的局部变量必须是最终的或有效的最终
谷歌搜索错误我可以看到你不允许这种类型的操作,但如果操作成功与否,我怎么能返回?
public Boolean addUser(String email, String password) {
Boolean isSuccess = false;
Map<String, AttributeValue> item = new HashMap<String, AttributeValue>();
item.put("email", new AttributeValue(email)); //email
item.put("password", new AttributeValue(password)); //password
dynamoDB.putItemAsync(new PutItemRequest().withTableName("Users").withItem(item), new AsyncHandler() {
@Override
public void onError(Exception excptn) {
}
@Override
public void onSuccess(AmazonWebServiceRequest rqst, Object result) {
isSuccess = true;
}
});
return isSuccess;
}
Run Code Online (Sandbox Code Playgroud) 我正在为我的反应项目 (material-ui.com) 使用材料 ui 库,并希望在 appbar 组件的中心添加我的徽标。
我尝试使用以下代码:
<AppBar position="sticky" >
<Toolbar>
<img src={'../logo.svg'} className={classes.logo} alt="logo" />
</Toolbar>
</AppBar>
Run Code Online (Sandbox Code Playgroud)
样式是:
logo: {
margin: 'auto',
textAlign: 'center',
maxWidth: '50%',
maxHeight: '70%',
}
Run Code Online (Sandbox Code Playgroud)
它“有点”有效。我的意思是在 Chrome 和 Firefox 中徽标大小不同,而在 IE 中它与应用栏重叠。
我正在寻找如何将此徽标居中放置在所有浏览器之间相对一致的栏中间。
android ×2
css ×2
java ×2
java-8 ×2
angular ×1
asynchronous ×1
atomic ×1
azure ×1
bulkinsert ×1
html ×1
ionic ×1
ionic2 ×1
javascript ×1
material-ui ×1
mongodb ×1
node.js ×1
nosql ×1
performance ×1
promise ×1
reactjs ×1
sql ×1