鍍金池/ 問答/ 網(wǎng)絡(luò)安全問答
浪婳 回答

親,我的解決了,結(jié)合我的不斷重復(fù)的過程,問題出在了MYSYS2和bundle這兩個身上,我跟你大致說一下我的安裝過程及一些注意點(diǎn)(最重要的點(diǎn)就是所有安裝目錄最好不好出現(xiàn)空格):
1、安裝ruby,根據(jù)你的教程,無腦點(diǎn)就行,但是有個注意點(diǎn),安裝的路徑中,連同命名,不要出現(xiàn)空格?。?!
2、ruby安裝完,會出現(xiàn)有個選項,讓你安裝MSYS2這個東東,如果沒有勾選,后面自己打開cmd,輸入“ridk install”進(jìn)行MSYS2的安裝,會出現(xiàn)然你選擇123,你選3就行。這個過程會下載很多安裝包什么的,耐心等待,一定要耐心,要完整裝完才行,裝好會讓你再做一次123選擇,這個時候不需要選了,直接enter退出就行了。
3、安裝DevKit,在官網(wǎng)下載DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,然后點(diǎn)擊運(yùn)行,同樣,安裝目錄不要出現(xiàn)空格,可以百度這個相關(guān)的安裝,還是比較簡單的
4、然后安裝RubyGems,從官網(wǎng)下載壓縮包,解壓到你想要的目錄下,路徑不要有空格,然后cmd命令指到這個文件夾下面,輸入“ruby setup.rb”執(zhí)行安裝,同樣也可百度
5、安裝bundler,輸入“gem install bundler”執(zhí)行安裝
6、上面的安裝基本缺一不可,然后就可以安裝jekyll了,執(zhí)行“gem install jekyll”,最后成功了。

我也是在重復(fù)安裝卸載安裝的過程中,最后成功了,jekyll的要求比較高,所以該有的環(huán)境都不能漏,這是我的做法,給你參照下,一次不行就多次,有一點(diǎn)遺漏最好就重新整個過程,不然補(bǔ)這個補(bǔ)那個的最后很容易面目全非,做了無用功。。

撿肥皂 回答

byte 能夠存儲的數(shù)據(jù)范圍是 -128~+127,0x80 已經(jīng)超出這個范圍了,所以不兼容。

  1. 不是。0x80 是一個 int 類型的整數(shù),對應(yīng)的是 128,而不是負(fù)數(shù)。數(shù)字字面量除非后面加了 l 或者 L 來表示是一個 long 類型,否則就是 int 類型。
  2. byte b = -10; 時,系統(tǒng)認(rèn)為 -10 是一個 int,而這個 int 正好在 -128~+127 范圍之內(nèi),所以把 byte 類型的 b 初始化為 -10。否則拋出異常。
  3. 如果內(nèi)存中是 0xFFFFFFFE,那么他比僅僅能表示 -24294967294,它可以表示一個/幾個字符,一段音頻片段,一幅圖畫片段,一個點(diǎn),………等等。至于到底表示什么,在于程序。如果它表示的是一個變量,那么它具體的值取決于這個變量類型的定義。

如果你透視了內(nèi)存條某個空間的值是 10101000001010001010101,它到底表示什么,沒人知道。賦予它愿意的是程序,是代碼。

雨蝶 回答

promotions.component.spec.ts:

import { ClubCodeGuard } from './../../../guards/club-code.guard';
import { EnrollMemberComponent } from './../enroll-member.component';
import { Router, ActivatedRoute } from "@angular/router";
import { EnrollMemberModule } from './../enroll-member.module';
import { MembershipService } from './../../../member/services/membership.service';
import { MemberForm } from './../models/enroll-member-form';
import { EnrollMemberPromotionsComponent } from './promotions.component';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { DebugElement,Injectable,Component, OnInit, NgModule, ViewChild } from '@angular/core';
import { ComponentFixtureAutoDetect } from '@angular/core/testing';//自動變更檢測
import { async } from '@angular/core/testing';//異步的beforeEach
import { Member } from 'app/member/models/member';
import { FormsModule } from '@angular/forms';
import { ToastrModule } from 'ngx-toastr';
import { Observable, BehaviorSubject } from 'rxjs/Rx';
import { ProformaInvoiceComponent } from 'app/member-prospect-manager/enroll-member/proforma-invoice/proforma-invoice.component';
import { ClubService } from 'app/club/services';
import { HttpModule, Http } from '@angular/http';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { HandleErrorService } from '../../../shared-services/handle-error.service';
import { AccessTypeService } from '../../../club/services/access-type.service';
import { MemberService } from '../../../member/services/member.service';
import { CurrentUserService } from '../../../user/services/current-user.service';
import { GetCurrentUserService } from '../../../user/services/get-current-user.service';
import { PromotionService } from 'app/promotions/services/promotion.service';
import { FormService } from 'app/membership/services/form.service';
import { RouterTestingModule } from "@angular/router/testing";
import { EnrollMemberMembershipTypeComponent } from 'app/member-prospect-manager/enroll-member/membership-type/membership-type.component';
import { EnrollMemberMembershipInfoComponent } from 'app/member-prospect-manager/enroll-member/membership-info/membership-info.component';
import { EnrollMemberReviewAndPayComponent } from 'app/member-prospect-manager/enroll-member/review-and-pay/review-and-pay.component';
import { EnrollMemberConfirmationComponent } from 'app/member-prospect-manager/enroll-member/confirmation/confirmation.component';

describe('when navigate to promotion selecte', () => {

let component: EnrollMemberPromotionsComponent;
let fixture: ComponentFixture<EnrollMemberPromotionsComponent>;
let de: DebugElement;
let el: HTMLElement;

let location: Location;
let router: Router;
let mockAR: any = {
    params: {
      subscribe: function() {
        console.log('Subscribed.');
        Observable.of({ id: 123 });
      }
    }
  }
  let mockRouter = {
    navigate: jasmine.createSpy('navigate')
  } 
beforeEach(async () => {
    TestBed.configureTestingModule({
        providers: [
            MembershipService,
            ClubService,
            HandleErrorService,
            AccessTypeService,
            MemberService,
            GetCurrentUserService,
            PromotionService,
            CurrentUserService,
            Router,
            ActivatedRoute,
            FormService,
            { provide: Router, useValue: mockRouter }
        ],
        imports: [
            FormsModule,
            EnrollMemberModule,
            HttpClientModule,
            HttpModule,
            ToastrModule.forRoot(),
            RouterTestingModule.withRoutes([
                {
                  path: 'tab',
                  component: EnrollMemberComponent,
                  data: {
                    title: 'EnrollMemberComopnent',
                    iconClass: 'fa fa-bullhorn'
                  },
                  canActivate: [ClubCodeGuard],
                  children: [
                    {
                      path: '',
                      redirectTo: 'membership-type',
                      pathMatch: 'full'
                    },
                    {
                      path: 'membership-type',
                      component: EnrollMemberMembershipTypeComponent,
                      data: { title: 'EnrollMemberMembershipTypeComponent', iconClass: 'fa fa-bullhorn' },
                      canActivate: [ClubCodeGuard]
                    },
                    {
                      path: 'membership-info',
                      component: EnrollMemberMembershipInfoComponent,
                      data: { title: 'EnrollMemberMembershipInfoComponent', iconClass: 'fa fa-bullhorn' },
                      canActivate: [ClubCodeGuard]
                    },
                    {
                      path: 'promotions',
                      component: EnrollMemberPromotionsComponent,
                      data: { title: 'EnrollMemberPromotionsComponent', iconClass: 'fa fa-bullhorn' },
                      canActivate: [ClubCodeGuard]
                    },
                    {
                      path: 'review-pay',
                      component: EnrollMemberReviewAndPayComponent,
                      data: { title: 'EnrollMemberReviewAndPayComponent', iconClass: 'fa fa-bullhorn' },
                      canActivate: [ClubCodeGuard]
                    },
                    {
                      path: 'confirmation',
                      component: EnrollMemberConfirmationComponent,
                      data: { title: 'EnrollMemberConfirmationComponent', iconClass: 'fa fa-bullhorn' },
                      canActivate: [ClubCodeGuard]
                    }
                  ]
                },{
                  path: '',
                  redirectTo: 'tab',
                  pathMatch: 'full'
                }
              ])
        ]
    }).compileComponents();  // compile template and css


    router = TestBed.get(Router);
    location = TestBed.get(Location);
    fixture = TestBed.createComponent(EnrollMemberPromotionsComponent);
    router.initialNavigation();
});

beforeEach(() => {
    router = TestBed.get(Router);
    location = TestBed.get(Location);

    component = fixture.componentInstance;
    fixture.detectChanges();
});

it('should create', () => {
    expect(component).toBeTruthy();
});

});

刮刮樂 回答

問題比較模糊,只能給個方向性建議,看看你使用的數(shù)據(jù)庫是否支持正則表達(dá)式吧。
如果是oracle,可以使用regexp_replace函數(shù),如:

SELECT regexp_replace('123 HTTPS://HEALTH.123.COM/456.HTML abc', 'HTTPS://(\w+)\.123\.COM/(\w+)\.HTML', '')
FROM dual;
短嘆 回答

shapely本質(zhì)上是基于GEOS庫的,要先安裝好GEOS庫

淡墨 回答

-- 希望對你們有幫助 --

UPDATE account_info
  SET SUM = CASE NAME
    WHEN '小紅' THEN 5
    WHEN '小明' THEN 2
    WHEN '小白' THEN 5
  END
WHERE id IN (1,2,3);
久舊酒 回答

這個報錯的意思是不允許在本機(jī)進(jìn)行傳輸,只需要在gitlab里做如下操作就行。

clipboard.png

喵小咪 回答

1)把比特流還原為幀;
鏈路層
2)決定使用哪些路徑將數(shù)據(jù)傳送到目的端;
網(wǎng)絡(luò)層
3)差錯控制;
物理層、鏈路層、網(wǎng)絡(luò)層、傳輸層
4)擁塞控制;
傳輸層、網(wǎng)絡(luò)層
5)流量控制;
網(wǎng)絡(luò)層、傳輸層
6)傳輸介質(zhì)
物理層

怣人 回答

不要*號,直接:

.idea

就行,匹配所有文件夾下。

孤星 回答

其實MJ的這個也有你說的那種功能,文檔里面應(yīng)該有說明。原理可以參見我的這篇博文,之前看mj的視頻寫的。和樓上的大同小異,只是判斷的是距離。http://blog.csdn.net/leleyuan...
scrollView.contentInset包含如下屬性:CGFloat top, left, bottom, right;
在scrollView中,top是上面額外的高度,bottom是下面額外的高度,中間包含的是contentView的contentSize。
scrollView的contentOffSet計算的是頂部偏移量的距離,當(dāng)向上滾動時,contentOffSet.y將隨著視圖內(nèi)容而增大。比較contentSize.height和offset.y的值,就可以實現(xiàn)這個自動加載下一頁的功能。

澐染 回答

我認(rèn)為

首先你要定義一個細(xì)致的目標(biāo),例如:要清楚理解netty內(nèi)部實現(xiàn),諸如此類。

如果就是定義個練手的目標(biāo),只做出一個rpc也可以。

怣痛 回答
MongoDB has the join-like $lookup aggregation operator in versions >= 3.2. Mongoose has a more powerful alternative called populate(), which lets you reference documents in other collections.

DBRef只能根據(jù)ObjectId,并且有固定的格式要求,所以我傾向于認(rèn)為它是構(gòu)造了查詢,在得到數(shù)據(jù)對象的時候再根據(jù)引用條件查詢一次得到引用的對象。這樣就造成一個不可避免的問題,如果一次查詢返回結(jié)果集有10條記錄,那么除了這些記錄外還要進(jìn)行10次額外的查詢來獲取引用它們的對象。性能上面肯定是大打折扣的。

  • $lookup的性能比DBRef好,它只進(jìn)行一次查詢來獲取所有結(jié)果。但是這個運(yùn)算符目前只能在復(fù)制集中使用,分片集暫不支持。
  • 程序?qū)τ贛ongoDB查詢用了多少時間,當(dāng)然要從程序端來監(jiān)控。MongoDB端只會給出查詢用了多少時間,很多時候消耗的大頭還可能發(fā)生在網(wǎng)絡(luò)上面。如果對數(shù)據(jù)庫執(zhí)行程序花了多長時間感興趣,可以參考一下database profiler。但應(yīng)該避免在生產(chǎn)環(huán)境進(jìn)行profiling,因為它可能會對性能造成比較可觀的影響。

總結(jié)一下,無論是$lookup還是DBRef,都是建議盡量避免的。我在這個問題里解釋了正確的處理方式及原因,請參考。

舊螢火 回答

首先不應(yīng)該用 match_phrase 進(jìn)行搜索, match_phrase 是為了搜索一些精確的短語的關(guān)鍵詞搜索,所以每一個詞都會被當(dāng)做必須要匹配的詞.

這里可以考慮使用match來進(jìn)行搜索,使用類似于ik-analyzer這類中文分詞器進(jìn)行分詞

心沉 回答

在實際業(yè)務(wù)里面,統(tǒng)計的值都是每秒服務(wù)器處理了多少請求,即tps
人們習(xí)慣意義上的并發(fā)是應(yīng)用同一時間發(fā)出了多少請求,
比如一個商品同一時刻有多少人點(diǎn)擊下單,這個人數(shù)就是并發(fā),
而服務(wù)器一秒鐘可以處理多少個下單請求就是tps
所以我認(rèn)為他的9600實際上是tps,客戶端連接池2048,
那給到服務(wù)器的并發(fā)最高就是2048,除非多個客戶端同時訪問
然而對服務(wù)器來說真正意義的并發(fā)就是同時執(zhí)行,多少核cpu最多能處理多少并發(fā)
所以這個概念只是針對不同的對象有不同的理解而已,不必糾結(jié)

懶豬 回答

不知道你這文件大不大。如果不大,你可以一次讀出,記為txt,然后以"not found"分割txt,特殊判斷txt[0]txt[-1];對于剩下的txt[x],如果內(nèi)容中有大于2個"line"字符串,說明這就是符合要求的,做一做處理,然后輸出。
如果文件比較大,可以一部分一部分讀取,然后判斷連接位置的情況,其余的還是按上述處理

墨沫 回答

沒這功能吧,可以使用AOP利用反射修改注解@MyAnno的fieldKey屬性值為user.getUserName()
例如:

MyAnno myAnno=method.getAnnotation(MyAnno.class);
                InvocationHandler handler=Proxy.getInvocationHandler(myAnno);
                try {
                    Field field=handler.getClass().getDeclaredField("memberValues");
                     field.setAccessible(true);
                       /*從注入的httpSession獲取當(dāng)前User信息
                     
                        */
                        Map memberValues = (Map) field.get(handler);
                        // 修改 value 屬性值
                        memberValues.put("fieldKey", user.getUserName());
                } catch (NoSuchFieldException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
貓小柒 回答

import _ from 'lodash'
Vue.prototype._ = _
然后在你的項目中 可以使用 this._來使用