小编dim*_*cas的帖子

全圆形按钮,动态尺寸

我想在CSS中创建圆形按钮.我border-radius: 100%用来使按钮看起来像一个圆圈,但它只有在我明确设置元素的宽度和高度时才有效.但如果我这样做,按钮将无法调整以修复较大的文本

这是我到目前为止所尝试的:

.round-button{
  width: 60px;
  height: 60px;
  text-decoration: none;
  display: inline-block;
  outline: none;
  cursor: pointer;
  border-style: none;
  color: white;
  background-color: #3498db;
  border-radius: 100%;
  overflow: none;
  text-align: center;
}

.round-button:active{
  background-color: #2980b9;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <button class="round-button">Button</button>
</div>
<div>
  <button class="round-button">This text will overflow the button!</button>  
</div>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,第一个按钮看起来很不错,但第二个按钮中的文本溢出了它.我习惯于overflow: hidden防止它看起来很丑,但我希望按钮大小可以根据内容的大小进行调整.那可能吗?

html css

7
推荐指数
1
解决办法
3082
查看次数

允许的启发式曼哈顿距离

我最近开始了人工智能的入门课程,并且我已经获得了在Python中实现可接受的启发式功能的任务,该功能通过A*搜索解决了15-Puzzle.

我实施了曼哈顿距离以及其他一些启发式算法.Python代码运行得很好,算法实际上解决了这个问题,但我对曼哈顿距离启发式是否可以接受这个特定问题有一些疑问.

根据理论,如果从未 高估达到目标的成本,则启发式是可以接受的.这意味着启发式是乐观的,它返回的成本永远不会超过实际成本.

当初始状态如下(0表示空槽)时:

1  2  3  4
0  6  7  8
5  9  10 12
13 14 11 15
Run Code Online (Sandbox Code Playgroud)

我的程序通过5次移动解决了问题,但是每个放错位置的瓦片的曼哈顿距离之和等于10,这是实际成本的两倍.因此,实际成本远低于估计成本.这是否意味着启发式不可接受或我的逻辑有什么问题?

我想过只计算空块的曼哈顿距离,但是当空块在正确的位置而其他瓷砖放错位置时,这会导致估计成本为零的状态.

algorithm artificial-intelligence heuristics a-star

5
推荐指数
1
解决办法
8102
查看次数

关闭 PDO 语句

我最近决定从 MySQLi 大跃进到 PDO,关于 PDO 的准备语句有一些困扰我的事情。

在 MySQLi 中,我会编写一个典型的 fetch 查询,如下所示:

$db = new mysqli("localhost", "user", "pass", "mydb");
$sql = "SELECT firstCol, secondCol FROM testTable WHERE thirdCol=?";
$stmt = $db->prepare($sql);
$stmt->bind_param("s", $thirdCol);
$stmt->execute();
while( ($row = $stmt->fetch()) )
{
   //do something
}
$stmt->close();
$db->close();
Run Code Online (Sandbox Code Playgroud)

当然还有适当的错误检查。查询后我总是关闭语句和数据库连接。使用 PDO 时,我通过将数据库处理程序设置为 null 来关闭连接,如下所示:

$db = null;
Run Code Online (Sandbox Code Playgroud)

但是声明呢?我在这里找到了一篇建议使用unset或的帖子closeCursor。哪一个更好?我应该将它设置为null喜欢连接吗?

php mysql mysqli pdo prepared-statement

5
推荐指数
1
解决办法
9541
查看次数

禁用按钮时禁用悬停效果

我创建了一组具有不同大小,颜色和效果的按钮,因此有绿色按钮,红色按钮等,其中一个是下面的蓝色按钮.正如您所看到的,鼠标悬停时背景颜色会变为更暗的颜色

我想只创建一个CSS类,.button-disabled这将使按钮看起来像一个禁用的按钮.我试图想办法在禁用按钮时删除悬停效果(如下例中的第二个按钮)

请注意,我希望将此类应用于具有不同背景颜色的按钮,因此我不能只添加以下内容:

.button-disabled:hover{
    background-color: /** Same as when not hovering **/
}
Run Code Online (Sandbox Code Playgroud)

.button{
   text-decoration: none;
   border: none;
   padding: 12px 20px;
   cursor: pointer;
   outline: 0;
   display: inline-block;
   margin-right: 2px;  
   color: #ffffff;
   border-radius: 12px;
}

.button-blue{
    background-color: #3498db; 
}

.button-blue:hover{
    background-color: #2980b9; 
}

.button-blue:active{
    color: #3498db;
    background-color: #ffffff; 
    box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.2);
}

.button-disabled{
    opacity: 0.6;  
}
Run Code Online (Sandbox Code Playgroud)
<button class="button button-blue">Enabled Button</button>
<button class="button button-blue button-disabled" disabled>Disabled Button</button>
Run Code Online (Sandbox Code Playgroud)

html css css3

5
推荐指数
1
解决办法
1万
查看次数

无法用DI注入课程

我有一个类使用DialogService来自'aurelia-dialog` 的实例来打开我的Aurelia应用程序中的几乎每个对话框.以非常抽象的方式,类看起来像这样:

export class DialogTrigger{
    triggerDialogA() {...}
    triggerDialogB() {...}
    triggerDialogC() {...}
}
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我尝试注入DialogTrigger其中一个对话框.

所以我想说我想创建一个新的对话框DialogD.我只需添加另一种方法triggerDialogD()DialogTrigger打开一个新的对话框DialodD视图模型和一切正常.但是,如果我希望我的新对话框也可以通过使用DialogTrigger一切实例来触发其他对话框(A,B或C)之一.

如果我注入DialogTriggerDialogD我总是得到一个错误:

键/值不能为null或未定义.您是否尝试注入/注册DI不存在的内容?

如果我删除依赖项,该对话框将起作用.

TL; DR 我有一个DialogTrigger打开aurelia-dialogs 的课程.当我注入DialogTrigger由它实例化的任何对话框时,DI失败.

有任何想法吗?

dependency-injection typescript aurelia aurelia-dialog

4
推荐指数
1
解决办法
741
查看次数

UWP - 从基页C继承

我是众多Windows应用开发者之一.我确定其他人也遇到了这个问题.我希望有一个基页(c#),我在其中添加方法并在一些页面中使用它而无需反复编码.

我试过这样的:

Basicpage.cs:

public class BasicPage : Page 
{
    public void Test() {

    }
}
Run Code Online (Sandbox Code Playgroud)

SettingsPage.xaml.cs:

public sealed partial class SettingsPage : BasicPage{
    public SettingsPage () {
        InitializeComponent();
    }
}
Run Code Online (Sandbox Code Playgroud)

在粗体" BasicPage "上有错误:

"... SettingsPage"的基类与其他部分中声明的基类不同,基本类型"BasicPage"已在其他部分中指定

有人知道解决方案吗?

windows inheritance windows-phone-8.1 uwp

3
推荐指数
1
解决办法
3006
查看次数

在Laravel 5.4列中应用字符串函数

我正在使用最新的Laravel 5.4

我试图通过名称进行简单的查询来搜索用户.为MySQL编写的查询如下所示:

SELECT *
FROM users
WHERE upper(name) LIKE '%FOO%';
Run Code Online (Sandbox Code Playgroud)

我正试图让它与Eloquent合作.我尝试但失败的事情:

  1. User::where('upper(name)', 'LIKE', '%FOO%')->get()

  2. DB::table('users')->where('upper(name)', 'LIKE', '%FOO%')->get()

两者都失败并出现以下错误:

照亮\数据库\ QueryException与消息'SQLSTATE [42S22]:柱未找到:1054未知列'上(名)'在'where子句'(SQL:SELECT*FROM users其中upper(name)LIKE%FOO%)'

查询似乎失败了,因为Eloquent upper(email)用反引号("`","`")包装 语句.有没有办法绕过这个问题或者我是否必须使用特定的雄辩函数将列转换为大写,小写等?

php laravel eloquent sql-like laravel-5

2
推荐指数
1
解决办法
3000
查看次数

单元测试与集成测试:实体框架核心在内存中

我目前正在使用EF Core 2.0开发ASP.NET Core 2.0 Web API.我计划实现Repository + UnitOfWork模式,我已经创建了抽象,接口等.由于我遵循TDD方法,我想在继续执行之前在这些接口上编写测试.

我面临的问题主要与语义有关.我在我的解决方案中创建了两个项目,一个用于单元测试,一个用于集成测试.对我来说很明显,同样测试数据库的测试不是单元测试,因此应该放在IntegrationTests项目中.但事实是,我正在计划使用EntityFrameworkCore.InMemory提供程序,并为每个测试启动虚假的内存数据库.

所以每个测试都应该有这样的结构:

[TestClass]
public class GamesRepositoryTest
{
    AppDbContext _context;
    IGamesRepository _repository;

    public GamesRepositoryTest()
    {

    }

    [TestInitialize]
    public void Initialize()
    {
        DbContextOptionsBuilder<AppDbContext> builder = new DbContextOptionsBuilder<AppDbContext>().UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString());
        _context = new AppDbContext(builder.Options);
        _repository = new GamesRepository(_context);
    }

    [TestCleanup]
    public void Cleanup()
    {
        _context.Database.EnsureDeleted();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,EntityFrameworkCore.InMemory是否提供了足够的抽象级别,以便上面的类可以被认为是单元测试,还是应该将它放在IntegrationTests项目中?

c# unit-testing in-memory-database entity-framework-core asp.net-core

2
推荐指数
1
解决办法
1878
查看次数

Chart.js 中的水平 xAxis 标签

我正在使用一个必须放置在一个小 div 内的 chart-js 条形图,所以我正在寻找一种方法来使 x 轴上的标签水平而不是对角线。关键是为实际条形增加尽可能多的高度,因为现在标签占用了几乎 40% 的可用空间。

这是我的代码:

let options = {
    responsive: true,
    maintainAspectRatio: false,
    scales: {
        yAxes: [{
            ticks: {
                beginAtZero: true
            }
        }],
        xAxes: [{
            display: false
        }]
    }
};
let ctx = document.getElementById('barChartCtx');
let barChart = new Chart(ctx, {
    type: 'bar',
    data: data,
    options: options
});
Run Code Online (Sandbox Code Playgroud)

我暂时禁用了 xAxis 标签。它有效,但理想情况下我希望它们是水平的。想法?

javascript bar-chart chart.js

1
推荐指数
1
解决办法
3113
查看次数

docker-compose忽略DOCKER_HOST

我正在尝试在Windows的Bash(WSL)上运行3个Docker映像,MySQL,Redis和我的一个项目。

为此,我必须连接到Windows上运行的Docker引擎,特别是在上tcp://locahost:2375。我将以下行添加到.bashrc

export DOCKER_HOST=tcp://127.0.0.1:2375

我可以成功运行docker诸如docker ps或的命令,docker run hello-world但是每当我cd进入项目目录并运行 sudo docker-compose up --build以加载图像并旋转容器时,都会收到错误消息:

错误:无法通过http + docker:// localunixsocket连接到Docker守护进程-它正在运行吗?

如果它位于非标准位置,请使用DOCKER_HOST环境变量指定URL。

我知道,如果使用-H参数可以提供地址,但我希望找到一个更永久的解决方案。由于某种原因,docker-compose似乎忽略了DOCKER_HOST环境变量,我不知道为什么。

bash docker docker-compose windows-subsystem-for-linux bash-on-windows

1
推荐指数
1
解决办法
2487
查看次数