我正在创建自己的实现来散列表用于教育目的.
增加哈希表大小的最佳方法是什么?
我目前加倍哈希数组大小.
我正在使用的散列函数是:key mod arraysize.
这个问题是如果键是:2,4,6,8,那么数组大小将继续增加.
克服这个问题的最佳方法是什么?有没有更好的方法来增加哈希表大小?改变我的散列函数会有帮助吗?
注意:我的键都是整数!
我正在尝试在 Linux/Ubuntu 中创建本地环境。
我已经安装了 Apache 2.4.7(使用 apt-get)。
我已将 /etc/hosts 更改为:
127.0.0.1 example.dev
127.0.0.1 localhost
...
Run Code Online (Sandbox Code Playgroud)
我还在“/etc/apache2/sites-available”中添加了一个文件“example.dev.conf”,如下所示:
<VirtualHost *:80>
ServerName example.dev
DocumentRoot "/home/yahya/path/to/projec"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/yahya/path/to/project">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Run Code Online (Sandbox Code Playgroud)
但是当我转到 example.dev 时,我收到以下消息:
第403章 禁止!您没有权限访问此服务器上的 /。
我还根据<Directory />此链接的建议编辑了 apache.conf 部分:禁止您无权访问此服务器上的 /和错误消息“禁止您无权访问此服务器上的 /”
从:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
Run Code Online (Sandbox Code Playgroud)
到
<Directory />
Options Indexes FollowSymLinks Includes ExecCGI …Run Code Online (Sandbox Code Playgroud) 我希望将浏览器缓存添加到我的Laravel应用程序中.
我使用过类似的Elixir版本工具:https: //laravel.com/docs/5.2/elixir#versioning-and-cache-busting
但是,根据Google PageSpeed Insights的说法,这些文件仍然没有缓存,而是我收到了这条消息:
在静态资源的HTTP标头中设置到期日期或最长期限会指示浏览器从本地磁盘而不是通过网络加载以前下载的资源.
我想这可能是因为我需要手动添加缓存头?
我正在尝试将单身人士用于特定班级.
我在"AppServicePrvider.php"中使用以下内容轻松地完成了这项工作:
<?php
namespace App\Providers;
use App\Helpers\ApplicationFormHelper;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
}
public function register()
{
$this->app->singleton(ApplicationFormHelper::class, function ($app) {
return new ApplicationFormHelper();
});
}
}
Run Code Online (Sandbox Code Playgroud)
然后我将此类包含在我的迁移文件中,如下所示:
<?php
use App\Helpers\ApplicationFormHelper;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
private $applicationFormHelper;
public function __construct(ApplicationFormHelper $applicationFormHelper)
{
$this->applicationFormHelper = $applicationFormHelper;
}
public function up()
{
//...
}
public function down()
{
Schema::drop('users');
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我执行时,php artisan migrate我得到以下错误,表明依赖注入不起作用.
[Symfony\Component\Debug\Exception\FatalThrowableError]
Type error: Argument 1 …Run Code Online (Sandbox Code Playgroud) 我正在使用Guzzle并发请求工具:http://docs.guzzlephp.org/en/latest/quickstart.html#concurrent-requests
我的代码类似于示例代码:
use GuzzleHttp\Pool;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
$client = new Client();
$requests = function ($total) {
$uri = 'http://127.0.0.1:8126/guzzle-server/perf';
for ($i = 0; $i < $total; $i++) {
yield new Request('GET', $uri);
}
};
$pool = new Pool($client, $requests(100), [
'concurrency' => 5,
'fulfilled' => function ($response, $index) {
// this is delivered each successful response
},
'rejected' => function ($reason, $index) {
// this is delivered each failed request
},
]);
// Initiate the transfers and …Run Code Online (Sandbox Code Playgroud) 我想在Web应用程序中围绕圆柱形对象(如杯子)包装图像,就像这样
这可能是包含用户上载图像的变换图像的基本图像(例如,马克杯的jpeg图像).
在PhotoShop中似乎有很多资源.但是,这当然不适用于Web,移动或服务器环境.
我也知道这是可能的,因为许多网站已经做得非常好.例如,Vista打印(见图),Asda照片(并通过在Google上搜索个性化的杯子在互联网上加载更多),使用似乎只是HTML5的东西.
然而,奇怪的我似乎无法找到任何Web应用程序的答案.有很多在StackOverflow上说都没有答案像这样的问题: 包裹的图像周围缸,采用HTML 5米的画布和javascript缠绕在圆筒形杯形象,如何使用HTML5的画布上的杯子叠加图像和许多许多!
因此,有人可以请最终提供这个问题的答案.
我想重命名 Laravel 5 中的索引。
在之前的迁移中,为表创建了一个列,名称a如下:
$table->unsignedInteger('foo')->index('blah');
Run Code Online (Sandbox Code Playgroud)
我想重命名索引,以便它使用默认的 Laravel 表示法。
即我想将blah索引重命名为a_blah.
我知道如何重命名普通列,如下所示:
$table->renameColumn('from', 'to');
Run Code Online (Sandbox Code Playgroud)
但文档没有提到如何重命名索引。
我怎样才能做到这一点?
更新
看来 Laravel 本身并不支持这个。请对这个问题点赞:
如何为 MySQL 数据库重新排列 Laravel 迁移文件中的列?
到目前为止,我有以下几点:
$table->date('foo')->after('bar')->change();
Run Code Online (Sandbox Code Playgroud)
但是,它似乎没有重新排列列。
为什么不,我该如何解决这个问题?
我有以下表格
我有以下型号:
class User {
public function favouriteBooks()
{
return $this->belongsToMany(Book::class, 'favourite_books');
}
}
Run Code Online (Sandbox Code Playgroud)
我想获得属于用户的所有ID.
我目前这样做的方式是这样的:
$user->favouriteBooks()->select('book_id')->get();
Run Code Online (Sandbox Code Playgroud)
然而,这会返回数据;
[
{
"book_id": 23,
"pivot": {
"user_id": 57,
"book_id": 23
}
},
{
"book_id": 41,
"pivot": {
"user_id": 57,
"book_id": 41
}
},
...
]
Run Code Online (Sandbox Code Playgroud)
我希望它像这样返回数据:
[
23,
41,
...
]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我使用“HTTP API”创建了一个示例 API 网关。
然后,我添加自定义域并将相关 CNAME 记录添加到 DNS。
然后,我继续配置 API 映射以添加 HTTP API,但收到以下错误消息:
在同一域名上混合使用 REST API 和 HTTP API 只能通过 API Gateway 的 V2 DomainName 接口来完成。目前,WebSocket API 只能与其他 WebSocket API 一起附加到域名。这也必须通过 API Gateway 的 V2 DomainName 接口进行。
请注意,添加普通的“REST API”效果很好。
到底是什么问题以及如何解决它?
请注意,我已经删除了所有自定义域,并重新添加了该域,但它仍然不起作用。