小编Jon*_*ter的帖子

如何在多用户MacOS Sierra安装程序上使用Homebrew

我有两台工程师共享的Mac.两者都有单独的用户帐户.两者都需要运行brew updatebrew install...偶尔为之.

如何设置这没有得到这样的错误: /usr/local must be writable!

是的,我可以UserA接受/usr/local每次他想使用brew 的权限(和相同UserB),但这似乎是很多不必要的麻烦.

permissions macos homebrew multi-user

32
推荐指数
8
解决办法
2万
查看次数

如何在Angular中使用HATEOAS REST API?

我正在开发一个Angular 4前端,用于由另一个团队构建的API.API遵循HATEOAS并为我提供每个响应的超媒体链接.

我知道API的形状,我想我可以简单地将URL硬编码到Angular Services中.然而,一位同事(他是一名后端开发人员)试图说服我,我应该充分利用超媒体,因为它意味着前端和后端之间的耦合较少(如果API发生变化,可能会导致破坏).

但是,我对如何使用Angular的内置Http服务实现简单的HATEOAS模式感到困惑.如何以不将所有服务连接在一起并使其难以测试的方式存储/共享超媒体/ URL信息?似乎没有任何例子.

尝试创建一个HATEOAS友好的HTTP客户端甚至是一个好主意,还是可能不值得麻烦?

javascript rest hateoas angular

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

angular-in-memory-web-api:ctorParameters.map不是一个函数

我正在使用Angular2 In-Memrory API的0.1.17以及Angular CLI(使用Webpack).我从HTTP教程中逐字地遵循了所有步骤,我收到以下错误:

reflection_capabilities.js:58 Uncaught TypeError: ctorParameters.map is not a function
    at ReflectionCapabilities.parameters (http://localhost:4200/main.bundle.js:48626:45)
Run Code Online (Sandbox Code Playgroud)

这是我的app.module.js导入:

imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    AppRoutingModule,
    SharedModule,
    CoreModule,

    // Fake API -- remove for production
    InMemoryWebApiModule.forRoot(InMemoryDataService)
  ],
Run Code Online (Sandbox Code Playgroud)

javascript angular

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

"CLI"的正确发音是什么?

"命令行界面"的缩写:它应该是像"看El Eye"这样的首字母缩写,还是像"Kl-eye"这样的首字母缩略词?

command-line-interface

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

如何在 redux 中构建我的商店以实现主从视图?

我正在使用 Redux 构建电子邮件收件箱。屏幕的一半有电子邮件主题列表,您可以单击其中一个以在屏幕的另一半上查看完整的电子邮件内容。大多数开发人员将其称为“主从”类型的应用程序。

显示在“主”列表中的电子邮件(它是我的应用程序中名为 的类SimpleEmail)如下所示。该模型已缩小,以减少获取可能包含 100 多封电子邮件的列表时传输的数据量。

{
  from: "hello@site.com",
  subject: "Hello, Jon",
  id: "abc123"
}
Run Code Online (Sandbox Code Playgroud)

“详细信息”列表中的电子邮件(名为 的类EmailDetails)具有更复杂且形状不同的模型。

{
  id: "abc123"
  headers: {
    from: "hello@site.com",
    subject: "Hello, Jon",
    to: [],
    bcc: null,
    cc: null,
    replyTo: // and about 10 more fields
  },
 bodyHtml: "This is some text",
  attachments: [],
  receivedAt: null,
  // and about 10 other fields
}
Run Code Online (Sandbox Code Playgroud)

我应该如何在 redux 中塑造我的应用程序状态来处理正在使用的这两种不同的模型?我最初的想法是执行以下操作:

{
   emailMaster: {
     entitiesById: {},  // a Map of emails keyed by ID
     ids: [], …
Run Code Online (Sandbox Code Playgroud)

javascript redux ngrx

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

ChangeDetectionStrategy.OnPush 何时实际运行更改检测?

我建立一个角4应用程序包含多个组件,其中ChangeDetectionStrategyOnPush。虽然关于这个问题的 Angular 文档没有太多信息,但各种消息来源表示OnPush组件仅在它们的@Inputs 更改(新对象或基元)时更新。

但是,OnPush组件内部的各种事件似乎也会触发更改检测。但是,我注意到其他人不会触发更改检测。

ChangeDetectionStrategy.OnPush关于组件内部事件的具体规则是什么?

javascript typescript angular

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

具有深层组件层次结构的角度组件输出/事件

我正在研究一个复杂的Angular2应用程序,我正在尝试遵循一个纯粹的,可重用的,"哑"组件的模式,这个组件由一个更大的"智能"组件包裹,该组件处理API交互(或与我的无功商店同步,或者其他否则处理外部依赖).

我的一个子组件<yet-another-presentational-component>(请参阅下面的代码)发出一个需要与API同步的事件.但是,它在其他不同组件中的深度为3级.这会产生一个问题,因为现在每个包含的组件<yet-another-presentational-component>都必须处理它的事件,以便将它们传递给智能父组件.这看起来非常糟糕; 如果有关如何<yet-another-presentational-component>发出的变化,那么我必须更新几个组件.

在另一方面,如果我注入我ApiService<yet-another-presentational-component>(从而使其成为"智能"组件),这将解决我的活动"桶式"的问题,而造成另一个问题:现在<yet-another-presentational-component>是不是可重复使用.此外,它违反了演示/智能组件的合同(据我所知,至少).

使用Angular1,至少$scope.$emit(或要求父母)可以用来解决这个问题.我怎么能重新设计这个小部件,以避免事件"桶旅",同时还坚持"智能"与"哑"组件的良好模式.

<!-- Sample app markup architecture -->

<smart-component-with-api-access>

   <dumb-presentational-component-1 (changeStatus)="handleStatusChange($event)">

       <dumb-presentational-component-details (changeStatus)="handleStatusChange($event)">

           <yet-another-presentational-component (changeStatus)="handleStatusChange($event)">

           </yet-another-presentational-component>

       <dumb-presentational-component-details>
   </dumb-presentational-component-1>
</smart-component-with-api-access>
Run Code Online (Sandbox Code Playgroud)

javascript angular

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