小编pti*_*tim的帖子

了解 JS 中使用按位 AND、OR 和十六进制数字的计算

我试图理解这里共享的一段代码:/sf/answers/148226641/

// returns a valid GUID
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0;
    var v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
});
// "3bce4931-6c75-41ab-afe0-2ec108a30860"
Run Code Online (Sandbox Code Playgroud)

我从问题Using bitwise OR 0 to Floor a number中了解到,a3.142 | 0将通过截断分数返回一个整数,但我猜测当将其应用于十六进制数字时,当我们AND然后OR像这样时会丢失:randomNumber & 0x3 | 0x8

我发现十六进制值有一个toString方法(数字没有!):

0x3.toString() // returns '3'
Run Code Online (Sandbox Code Playgroud)

我猜测可能randomNumber & 0x3 | 0x8会返回一个两位值,它是所需范围内的 ascii 字符(不仅仅是数字)...但我猜测,我找不到一个很好的参考来给我整个画面。

有人可以指导我完成它/建议参考吗?

这个问题似乎相关,但没有专门处理 JS,或者与我的示例匹配:按十六进制结果进行按位和逻辑 AND/OR


更新:

从那时起,我注意到原始问题有很多很好的答案来探索这个问题,特别是 …

javascript math hex bitwise-operators

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

如何在Safari中应用隐藏/远程源地图?

我正在尝试在我的React应用中调试一个问题,该问题仅在生产环境中的iOS上发生。我想利用隐藏的源地图,这样就可以在Safari中调试应用的最小化资源,而不必公开发布评论源。

hidden-source-map -与source-map相同,但不向捆绑包添加参考注释。

https://webpack.github.io/docs/configuration.html#devtool

在Chrome浏览器中,我可以:

  • 在我喜欢的任何地方提供源地图(例如main.js.map,在缩小文件旁边)
  • 在“来源”标签中打开缩小的资产
  • 右键单击并“添加Sourcemap…”,将URL提供给main.js.map。
  • Cmd-p选择源文件(例如MyComponent.js)
  • 在源图中添加断点
  • 获利(将实时应用暂停在正确的位置)

我已经搜索,单击,右键单击,仔细检查了Safari devtools,阅读了我能找到的Safari文档,但无济于事……我能找到的最相关的链接是:

在Safari 7中,无需打开或关闭源地图,它们就像在Web开发人员工具中始终可以使用的资源一样,始终处于打开状态。 如何在Safari 7中切换源映射?

在Safari中可以吗?还有其他方法可以在Safari中实现类似的结果吗?

是否有一些技巧可以使用代理为我的测试iPhone提供我本地的,未缩小的源?(例如,assets-swapper-chrome-extension。我有可能这样做,但不知道如何做!)

我使用的是OSX 10.12,Safari 10.0.2。


请注意,此问题是关于在Safari中使用源映射的,但问题未解决:iPhone:无需越狱即可向/ etc / hosts添加条目

javascript safari remote-debugging source-maps safari-web-inspector

5
推荐指数
0
解决办法
781
查看次数

如何恢复 postgres 备份 - 错误:无法删除当前打开的数据库

我正在尝试从不再配置的系统中恢复 postgres 备份,并且根据我的尝试,我收到了一系列错误。

  • 我只有备份,没有可参考的原始服务器
  • 过去我已经成功地从这些生产备份中恢复了,但是自从上次成功后就搞乱了我的本地环境(例如,通过 Homebrew 重新安装了 postgres)
  • 我相信一位前同事(不再可用)已成功恢复此特定备份
  • 我在以下情况下遇到了同样的错误:
    • 尝试使用 postgresql@9.4 进行备份
    • 尝试以前已知良好的数据库版本(使用 postgres 11)

(我已阅读相关/建议的问题,但它们似乎不相关)

使用以下命令(在 bash 脚本中)创建备份:

pg_dump --schema=public -Fc
Run Code Online (Sandbox Code Playgroud)

用于恢复脚本的命令(备份脚本将其作为帮助文本回显)是:

pg_dump --schema=public -Fc
Run Code Online (Sandbox Code Playgroud)

当我在本地运行 restore 命令时,我得到以下信息:

dropdb ${PGDATABASE}
createdb ${PGDATABASE}
time pg_restore \
    -j4 \
    -d ${PGDATABASE} \
    --create \
    --no-privileges \
    --no-owner \
    --clean \
    --if-exists \
    --exit-on-error \
    "${dirname}/${filename}"
Run Code Online (Sandbox Code Playgroud)

以前,我只有在运行几分钟后才会出现“磁盘空间不足错误”,但正如您从time输出中看到的,此错误几乎立即发生!

备份是使用压缩创建的-Fc,我可以使用压缩将备份解压缩为纯文本pg_restore backup.pg_dump > backup.sql,但我无法在其中找到与以下相关的任何命令DROP DATABASE:/

time pg_restore -j4 -d ${PGDATABASE} --create --no-privileges --no-owner --clean --if-exists --exit-on-error …
Run Code Online (Sandbox Code Playgroud)

postgresql pg-restore

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

在 sourcetree 上,如何在不同分支结帐后恢复隐藏?

我在一个分支上工作时有一些隐藏的更改。

我想在不同的分支上本地工作,所以我结帐到一个新的分支并丢失了 sourcetree 侧边栏中的所有隐藏。

这是sourcetree的屏幕截图:

源树

如果我git stash list在终端上输入,我会得到一个隐藏的列表......

stash@{0}: On feature/SITE-5-doctor-name-at-checkin-success: Before commits
stash@{1}: WIP on feature/SITE-5-doctor-name-at-checkin-success: df48232 WIP show dummyDoctor on success page
stash@{2}: WIP on feature/SITE-5-doctor-name-at-checkin-success: 82b1aed Linting
stash@{3}: On feature/SITE-5-doctor-name-at-checkin-success: DEBUG
Run Code Online (Sandbox Code Playgroud)

...所以我知道他们没有迷路。

我如何让它们回到我的 sourcetree 侧边栏,以便我可以在任何这些分支中使用它们?

git github atlassian-sourcetree sourcetree

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

LinkedIn +电子邮件的这个Oauth流程有什么问题?

我在laravel中使用oneAuth捆绑包,基于来自Phil Sturgeon的Fuel的NinjAuth,我相信,并试图获取用户的电子邮件地址.

我已经为我的请求添加了适当的范围,并且LinkedIn身份验证屏幕成功请求用户对基本配置文件和电子邮件地址的许可..到目前为止,非常好..

可能的问题是:电子邮件字段的正确名称是什么?我发现引用email-address,emailAddress"emailaddress` ...

文档显示email-address,但它不是为我工作:)

我正在使用以下网址:https://api.linkedin.com/v1/people/〜 :( id,first-name,paint-name,headline ,member -url-resources,picture -url,location,public-型材网址,电子邮件地址)?格式= JSON

这是/bundles/oneauth/libraries/oauth/provider/linkedin.php中有问题的片段

// Create a response from the request
return array(
    'uid'         => array_get($user, 'id'),
    // 'email'       => array_get($user, 'email-address)',
            // 'email'       => array_get($user, 'emailAddress)',
    'name'        => array_get($user, 'firstName').' '.array_get($user, 'lastName'),
    'image'       => array_get($user, 'pictureUrl'),
    'nickname'    => $nickname,
    'description' => array_get($user, 'headline'),
    'location'    => array_get($user, 'location.name'),
    'urls'        => array(
        'linkedin' => $linked_url,
    ),
);
Run Code Online (Sandbox Code Playgroud)

如果我取消注释电子邮件字段,请求会以某种方式失败(URL仍会显示mysite.com/connect/callback但是favicon会显示linkedin并且我会在chrome中显示ablank页面:" Error 324 (net::ERR_EMPTY_RESPONSE): …

authentication oauth linkedin laravel

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