小编nin*_*sky的帖子

Android4中的"computeValuesWithHarfbuzz - 需要强行单机运行":这是什么意思?

我的Android 4应用程序通过向textviewsa 添加多个来生成长视图linearlayout.这适用于我的所有列表项,除了一个.问题是,textviews添加第一个之后的中止列表textview,但没有异常被抛出!

我只是在LogCat中看到这个警告:

TextLayoutCache | computeValuesWithHarfbuzz - 需要强制单次运行

有谁知道这意味着什么?

android

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

由于不存在的嵌入式浏览器,Google 希望阻止 OAuth 登录

今天我收到了以下来自谷歌的电子邮件:

谨此通知您,从 2021 年 1 月 4 日起,Google 将停止支持从嵌入式浏览器框架登录 Google 帐户。 我们检测到您的一个或多个 OAuth 客户端使用嵌入式浏览器框架,这些客户端可能会在 2021 年 1 月 4 日或之后被屏蔽。请检查您在以下 Google OAuth 客户端 ID 中使用 Google 帐户授权流程的情况,并在 2021 年 1 月 4 日之前进行任何必要的更改:

这很奇怪,因为我的 B2C Web 应用程序既没有加载到嵌入式浏览器中,也没有加载到 Web 视图中。它甚至不是使用嵌入式浏览器或 Web 视图的移动应用程序。根本没有用户可以登录的嵌入式浏览器或 Web 视图。我的 Web 应用程序只是一个简单的公共 B2C“网站”,它做两件事:

  • 用户可以通过 Google OAuth(Google Sign-In for Websites)登录
  • 通过使用离线访问的 OAuth 令牌,通过 cronjob 使用 YouTube 数据 API 自动检索 YouTube 数据

所以我想知道为什么我会收到这封电子邮件。非常感谢您的建议,因为似乎 Google 计划限制/阻止我的 Google API clientID,而且我有点担心网站会中断。

更新 1:

  • 在我的开发环境中,我在本地主机上测试了 Google OneTap 登录半年。也许这可能是原因?
  • 我也在使用 HotJar.com 屏幕录制来优化我的网站。HotJar Javascript …

google-oauth google-cloud-platform hotjar

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

Epson TM-T88V-i摘要认证无效

我的Epson TM-T88V-i收据打印机尝试从服务器URL获取XML数据,该服务器URL需要打印机通过HTTP摘要进行身份验证.(此Epson功能称为" 服务器直接打印 ")

从打印机的Web控制台,我能够向服务器发送测试请求,但HTTP摘要认证失败.如果让打印机尝试在服务器上进行身份验证,也会发生同样的情况.

如果我尝试通过浏览器访问URL,则会出现HTTP摘要用户名+密码框,如果我输入凭据,XML将按预期显示在浏览器中.这表明服务器端的HTTP摘要机制设置正确(我使用的是PHP框架Symfony 2.8).

在服务器端,我看到以下日志信息:

步骤1
[2016-04-03 16:33:01] security.INFO:抛出了AuthenticationException; 重定向到身份验证入口点.{"exception":"[object](Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException(code:0):在TokenStorage中找不到令牌.在/home/.../src/Symfony/Component/安全/ HTTP /防火墙/ AccessListener.php:53)"}


步骤2
[2016-04-03 16:33:01] security.DEBUG:调用认证入口点.


步骤3
[2016-04-03 16:33:01] security.DEBUG:从用户代理收到的摘要授权标头.{"header":"username = \"printer \",realm = \"example \",nonce = \"MTQ1OTk5Mzk4MS40NjQ3OmI0OTVmN2ZkZTlhYmE1NmNjNDIxNmIxMWU0OGVmYjUz \",uri = \"/ export \",cnonce = \"MDAxNjM0 \",nc = 00000001 ,qop = \"auth \",response = \" c6ad88607624efd17f7de602f6ee9def \""}
步骤4
[2016-04-03 16:33:01] security.DEBUG:来自DigestAuth的意外响应; 标题返回明文密码? {"expected":" 741bff6abed513b6948c26eae529b6b6 ","已收到":" c6ad88607624efd17f7de602f6ee9def "}


步骤5
[2016-04-03 16:33:01] security.INFO:摘要认证失败.{"exception":"[object](Symfony\Component\Security\Core\Exception\BadCredentialsException(code:0):/home/.../src/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener的响应不正确.PHP:107)"}

日志文件告诉我们服务器端发生了什么:

  1. 在步骤1 + 2中,Epson尝试访问受HTTP摘要保护的服务器URL,服务器发送带有nonce的401"未授权"响应(我们在此日志文件中没有看到此信息)

  2. 在步骤3中,Epson发送HTTP摘要客户端授权请求,包括所有必要的数据.所述响应参数包含散列出其他授权参数来生成

  3. 在步骤4中,我的symfony 2.8应用程序说,Epson在步骤3中发送的散列响应参数不是HTTP摘要过程所期望的参数.

  4. 最后,步骤5显示HTTP摘要认证失败.

据我所知,摘要认证过程(如维基百科上所述)是正确的,除了Epson不在他的认证请求中计算正确的哈希值. …

authentication digest epson digest-authentication symfony

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

Schema.org在<时间>开放时间

我正在尝试为openshours创建一个schema.org定义,该定义在Google的丰富网页摘要测试工具中得到验证.

有了这个标记,我想在星期一定义一个商店从11:00-22:00开放.

<time datetime="Mo 11:00-22:00" itemprop="openingHours">11:00-22:00</time>
Run Code Online (Sandbox Code Playgroud)

但是,丰富的片段测试工具显示:

警告:openinghours是指不是ISO 8601的日期时间格式.

Schema.org 定义:

一个企业的营业时间.开放时间可以指定为每周时间范围,从天数开始,然后是每天的时间.可以使用逗号','列出多天,每天分隔.使用连字符" - "指定日期或时间范围.

  • 使用以下两个字母组合指定天数:Mo,Tu,We,Th,Fr,Sa,Su.

  • 时间是使用24:00时间指定的.例如,下午3点被指定为15:00.

  • 这是一个例子: <time itemprop="openingHours" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>

html5 date microdata schema.org

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

Symfony 4.4metadata_cache_driver 配置键弃用通知

自从我将 Symfony 从 4.4.15 升级到 4.4.16 以来,我收到了以下弃用通知:

\n
\n

“metadata_cache_driver”配置键已弃用。当 %kernel.debug% 为 false 时,PHP 数组\n缓存现在会自动注册。

\n
\n

这很奇怪,因为官方文档除了以下文本之外没有提及任何有关此弃用的内容:

\n
\n

自版本 4.4 起已弃用:自 Symfony 4.4 起,所有 Doctrine 缓存类型均已弃用,并且在 Symfony 5.0 及更高版本中\xe2\x80\x99 不再可用。将它们替换为 type: service 或 type: pool 并使用\n使用 Symfony Cache 定义的任何缓存池/服务。

\n
\n

但我正在使用缓存类型池或服务。我的配置如下:

\n
doctrine:  \n    orm:  \n        metadata_cache_driver:\n            type: pool\n            pool: doctrine.system_cache_pool  \n\nframework:\n    cache:\n        default_memcached_provider: \'memcached://localhost:11211\'\n        pools:\n            doctrine.system_cache_pool:\n                adapter: cache.adapter.memcached\n                public: false\n                default_lifetime: 86400\n
Run Code Online (Sandbox Code Playgroud)\n

我什至尝试将缓存配置为这样的服务,这给了我相同的弃用通知:

\n
doctrine:\n    orm:    \n        metadata_cache_driver:\n            type: service\n            id: doctrine.system_cache_provider\n\nservices:\n    doctrine.system_cache_provider:\n …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm symfony-4.4

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

如何使用 SvelteKit 加载 Google API 客户端库

我是 SvelteKit 的新手,正在尝试了解如何加载 Javascript 的 Google 客户端库。

谷歌告诉我这样做:

<head>
    <script src="https://apis.google.com/js/api.js"></script>
    <script>
      function start() {
        // Initializes the client with the API key and the Translate API.
        gapi.client.init({
          'apiKey': 'YOUR_API_KEY',
          'discoveryDocs': ['https://www.googleapis.com/discovery/v1/apis/translate/v2/rest'],
        }).then(function() {
          // Executes an API request, and returns a Promise.
          // The method name `language.translations.list` comes from the API discovery.
          return gapi.client.language.translations.list({
            q: 'hello world',
            source: 'en',
            target: 'de',
          });
        }).then(function(response) {
          console.log(response.result.data.translations[0].translatedText);
        }, function(reason) {
          console.log('Error: ' + reason.result.error.message);
        });
      };

      // Loads the …
Run Code Online (Sandbox Code Playgroud)

google-api svelte workbox sveltekit

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

PHP:使用 ImageMagick 将 alpha 通道转换为白色背景

我正在尝试删除 PNG 文件的 alpha 通道(透明度)并将其替换为 PHP 中的白色背景。

使用 ImageMagick 到目前为止,我已经尝试了几个功能但都没有成功。这些是不起作用的功能:

    $iMagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);
    $iMagick->setImageBackgroundColor('#FFFFFF');
    $iMagick = $iMagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
Run Code Online (Sandbox Code Playgroud)

此外setBackgroundColor('#FFFFFF'),而不是setImageBackgroundColor('#FFFFFF')没有帮助。同样,以代替'#FFFFFF''white'在这些2种功能。

使用 ImageMagick 3.4.0RC6(发布日期:2016-11-29)与 ImageMagick 6.8.9-9 Q16 x86_64 2016-03-14 编译。当前版本(Ubuntu 16.04)。

有任何想法吗?提前
致谢

php graphics imagemagick imagick

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

如何一键关闭DaisyUI抽屉菜单?

我正在使用 DaisyUI 抽屉组件在移动设备上呈现菜单。请参阅此处的工作示例: https ://daisyui.com/components/drawer

现在,在示例中有一个按钮可用于打开和关闭移动菜单。

该按钮会触发以下复选框的选中状态以显示/隐藏抽屉:

<input id="my-drawer" type="checkbox" class="drawer-toggle">
Run Code Online (Sandbox Code Playgroud)

我的代码:

let checked = 'checked';

function handleClick() {
    (checked == 'checked') ? checked = '': checked = 'checked';
}
Run Code Online (Sandbox Code Playgroud)

在输入上:

<input id="my-drawer-3" type="checkbox" class="drawer-toggle" bind:checked={checked}>
Run Code Online (Sandbox Code Playgroud)

在菜单项上:

<a on:click={handleClick} href='/test'>Test</a>
Run Code Online (Sandbox Code Playgroud)

问题是我必须点击两次才能隐藏抽屉。第一次单击会触发菜单项上的视觉效果。第二次单击将关闭抽屉。如何才能一键获得相同的结果?

演示链接:
https://svelte.dev/repl/c06f018ac84f4b86b1d37f7576d25db1 ?version=3.29.7

svelte daisyui

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

PHP7中的随机字符串

我正在尝试使用PHP7的闪亮的新random_bytes()函数来创建一个8和12随机字符串.

官方PHP文档中,只有一个示例如何使用bin2hex()创建十六进制字符串.为了获得更大的随机性,我想生成一个字母数字[a-zA-Z0-9]字符串,但找不到如何实现这一点的方法.

在此先感谢您的帮助
ninsky

php random

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