小编Dom*_*nik的帖子

理解 Rust 中的filter_map

我正在努力找出ages所有Person有第二个名字的人。我能够使用filtermap分别进行如下操作,但我想知道我们是否可以filter_map在 Rust 中使用。

但我无法弄清楚。

struct Person {
    pub first_name: String,
    pub last_name: Option<String>,
    pub age: i32,
}


fn main() {
    let mut persons: Vec<Person> = Vec::new();
    persons.push(Person {
        first_name: "Asnim".to_string(),
        last_name: None,
        age: 1,
    });
    persons.push(Person {
        first_name: "Fahim".to_string(),
        last_name: Some("Ansari".to_string()),
        age: 2,
    });
    persons.push(Person {
        first_name: "Shahul".to_string(),
        last_name: None,
        age: 6,
    });
    persons.push(Person {
        first_name: "Mujeeb".to_string(),
        last_name: Some("Rahuman".to_string()),
        age: 6,
    });

    let ages_of_people_with_second_name_using_seperate_filter_map: Vec<i32> = persons
        .iter()
        .filter(|p| p.last_name.is_some()) …
Run Code Online (Sandbox Code Playgroud)

rust

20
推荐指数
2
解决办法
4万
查看次数

google analytics api查询特定网址

我正在使用PHP访问Google分析API,这可以在我的最终使用,但我希望能够进一步过滤结果.现在我正在使用:

$OBJresult = $analytics -> data_ga -> get(
    'ga:' . $profilID,
    '2012-01-01',
    date( "Y-m-d" ),
    'ga:visits',
    array(
        'dimensions' => 'ga:pagePath',
        'metrics' => 'ga:pageviews',
        'sort' => '-ga:pageviews',
        'max-results' => '25'
    )
);
Run Code Online (Sandbox Code Playgroud)

目前,这将返回按其命中排序的25页.我希望将结果限制在服务器内的特定路径.因此,例如,仅查询domain.com/news,并且仅查看最受欢迎的新闻页面.我可以使用PHP过滤,而是尽可能具体地查询.

谢谢您的帮助

php google-analytics google-analytics-api

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

如何使 std::format 中的填充填充动态化?

要创建格式输出并填充输出,n您可以在 Rust 中执行以下操作:

\n
fn main() {\n    let title = " Title ";\n    println!("\xe2\x94\x8c{:\xe2\x94\x80^11}\xe2\x94\x90", title);\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这将打印:

\n
\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80 Title \xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n
Run Code Online (Sandbox Code Playgroud)\n

因此,str 的^两侧都被填充(通过 居中),且-间距不超过 11 个字符。

\n

我怎样才能使这个宽度动态化呢?通过变量。

\n

rust

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

UTF8工作流程PHP,MySQL总结

我正在为拥有非常不同的字母表的国际客户工作,因此我试图最终概述PHP和MySQL之间的完整工作流程,以确保正确插入所有字符编码.我已经阅读了很多这方面的教程,但仍然有问题(有很多东西需要学习),并且我想我可能只是把它们放在一起然后问.

PHP

header('Content-Type:text/html; charset=UTF-8');
mb_internal_encoding('UTF-8');
Run Code Online (Sandbox Code Playgroud)

HTML

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<form accept-charset="UTF-8"> .. </form>
Run Code Online (Sandbox Code Playgroud)

(虽然后者是可选的,而是一个建议,但我相信我宁愿建议不要做任何事情)

MySQL的

CREATE database_name DEFAULT CHARACTER SET utf8;或者ALTER database_name DEFAULT CHARACTER SET utf8;和/或utf8_general_ci用作MySQL连接整理.

(这里需要注意的是,如果使用varchar,这将增加数据库大小)

连接

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET utf8");
Run Code Online (Sandbox Code Playgroud)

企业逻辑

检测是否不是UTF8 mb_detect_encoding()并转换为ivon().
验证过长的UTF8和UTF16序列

$body=preg_replace('/[\x00-\x08\x10\x0B\x0C\x0E-\x19\x7F]|(?<=^|[\x00-\x7F])[\x80-\xBF]+|([\xC0\xC1]|[\xF0-\xFF])[\x80-\xBF]*|[\xC2-\xDF]((?![\x80-\xBF])|[\x80-\xBF]{2,})|[\xE0-\xEF](([\x80-\xBF](?![\x80-\xBF]))|(?![\x80-\xBF]{2})|[\x80-\xBF]{3,})/','?',$body);
$body=preg_replace('/\xE0[\x80-\x9F][\x80-\xBF]|\xED[\xA0-\xBF][\x80-\xBF]/S','?', $body);
Run Code Online (Sandbox Code Playgroud)

问题

  • mb_internal_encoding('UTF-8')PHP 5.3及更高版本是必要的,如果是这样,这意味着我必须使用所有多字节函数而不是其核心函数mb_substr()而不是substr()

  • 是否仍然需要检查输入错误的输入,如果是,那么可靠的功能/类是什么?我可能不想删除不良数据并且不太了解音译.

  • 应该真的是utf8_general_ci或者更确切地说utf8_bin

  • 上述工作流程中缺少什么?

来源:

http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/  
http://webcollab.sourceforge.net/unicode.html  
http://stackoverflow.com/a/3742879/1043231  
http://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/  
http://akrabat.com/php/utf8-php-and-mysql/  
Run Code Online (Sandbox Code Playgroud)

php mysql unicode workflow utf-8

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

JavaScript 中的真假与真假有什么区别?

我对 JavaScript 中的一些概念有疑问,例如(truthy, true)(falsy, false)

我知道 1 的类型不是,true但问题是:为什么1 == true

ECMAScript 将 1 或“ghsagh”视为 的主要原因是true什么?

我也无法理解的含义truthyfalsy

这种考虑有什么好处?!

javascript boolean falsy truthy

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

从在preinstall上运行的npm脚本中查找package.json文件

所以我需要package.json在通过npm安装新软件包之前阅读.

为什么首先阅读package.json?

我正在使用npm用于CSS组件,这些组件是单独版本化的并且可以具有相互依赖性.(没有提供javascript)

寻找一堆依赖项的版本冲突,我需要在package A需要时检测package C@1.0.0package B要求package C@2.0.0和处理它.

Npm(从版本3开始)通过在树内更深层地嵌入冲突模块来处理这些问题.您现在最终得到了同一模块的两个版本.CSS有一个全局命名空间,然后mixin(在Sasss的情况下)会相互覆盖并破坏你的CSS.

这个平面依赖问题在npm博客中得到了很好的概述:http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging

即使没有考虑我们的特定用例,我也很奇怪你没有访问package.jsonin preinstallpostinstall脚本.它们似乎只适用于该用例.

我尝试了什么

package.json正在安装的软件包看起来像这样:

{
    "name": "testmodule",
    "version": "0.3.6",
    "description": "TODO",
    "scripts": {
        "preinstall": "npm i some-script && some-script",
    },
    "author": "TODO",
    "license": "MIT"
}
Run Code Online (Sandbox Code Playgroud)

some-script我运行的那个包里面:

console.log( process.cwd() );
console.log( __dirname );
Run Code Online (Sandbox Code Playgroud)

然后我跑:

~/path/to/folder $ npm i testmodule
Run Code Online (Sandbox Code Playgroud)

这将导致:

$ npm i testmodule

> testmodule@0.3.6 preinstall /path/to/folder/node_modules/.staging/testmodule-5cc9d333 …
Run Code Online (Sandbox Code Playgroud)

node.js npm

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

服务工作人员无法在“缓存”上执行“放置”

我有一个网络应用程序,它将数据存储在浏览器中以支持“离线”工作。

下面是相关代码:

function getPosCacheData(request, cacheName) {

var storageUrl = request.url;

var checkResponse = navigator.onLine;

return caches.open(cacheName).then(function(cache) {
    if (checkResponse == true) {
        return fetch(request).then(function(networkResponse) {
            if (networkResponse.ok == true) {
                cache.put(storageUrl, networkResponse.clone());
            }

            return networkResponse;
        }).catch(function(error) {
            return cache.match(storageUrl).then(function(response) {
                if (response)
                    return formFilter(response);
                else
                    return fallPosBackResponse('live');
            });
        });
    } else {
        return cache.match(storageUrl).then(function(response) {
            if (response) {
                return response;
            } else {
                return fetch(request).then(function(networkResponse) {
                    if(networkResponse.ok == true){
                        cache.put(storageUrl, networkResponse.clone());
                    }

                    return networkResponse;
                }).catch(function(error) {
                    return fallPosBackResponse('css');
                });
            } …
Run Code Online (Sandbox Code Playgroud)

javascript service-worker

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

如何在 Next.js 中加载外部图像?

JavaScript 和我正在从https://picsum.photos加载随机图像,但它不起作用。请注意,目前我不想在 next.js 中使用新的图像优化。本地图像有效,但外部图像无效。下面是我的代码和 next.config.js

<Slider
            {...settingsThumbs}
            asNavFor={nav1}
            ref={slider => setSlider2(slider)}
          >
            {slidesData.map(slide => (
              <div className='slick-slide' key={slide.id}>
                <img
                  className='slick-slide-image'
                  src={`https://picsum.photos/800/400?img=${slide.id}`}
                  alt='sfd'
                />
              </div>
            ))}
          </Slider>
Run Code Online (Sandbox Code Playgroud)

下面是我的 next.js 配置

module.exports = {
  images: {
    domains: ['https://picsum.photos/']
  }
};

Run Code Online (Sandbox Code Playgroud)

reactjs next.js

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

npm 如何处理锁文件

所以我在npm install xyz另一个 npm 模块的 postinstall npm 钩子调用的脚本中运行。(让我们不要深入探讨为什么,但这与 npm 不支持的可选依赖项有关)

npm install moduleA
  -> installing moduleA
    -> running postinstall hook (my script)
      -> my script runs npm install xyz
Run Code Online (Sandbox Code Playgroud)

当我运行脚本本身时,npm install 运行得相当快,但是当我在 postinstall 挂钩中安装模块时,脚本会等待锁定文件至少 1 分钟。(或者我假设)

当我在 npm 中启用详细日志级别时,我得到如下输出:

[a lot more lines above]
npm verb addNamed "latest" is being treated as a dist-tag for invert-kv
npm info addNameTag [ 'invert-kv', 'latest' ]
npm verb addNameTag registry:https://registry.npmjs.org/invert-kv already in flight; waiting
npm verb addNamed "1.0.0" is a plain …
Run Code Online (Sandbox Code Playgroud)

node.js npm post-install npm-install

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

Using Fragment to insert HTML rendered on the back end via dangerouslySetInnerHTML

I used to compile and insert JSX components via

<div key={ ID } dangerouslySetInnerHTML={ { __html: HTML } } />
Run Code Online (Sandbox Code Playgroud)

which wrapped my HTML into a <div>:

<div>my html from the HTML object</div>
Run Code Online (Sandbox Code Playgroud)

Now react > 16.2.0 has support for Fragments and I wonder if I can use that somehow to avoid wrapping my HTML in a <div> each time I get data from the back end.

Running

<Fragment key={ ID } dangerouslySetInnerHTML={ { __html: HTML } } /> …
Run Code Online (Sandbox Code Playgroud)

node.js reactjs server-side-rendering

5
推荐指数
2
解决办法
1958
查看次数