緣由
業(yè)務(wù)需要在使用這個(gè)框架,國內(nèi)知道的除了美團(tuán)的學(xué)城好像沒有在用這個(gè)框架的,中文的資料也很少。 因?yàn)樽髡撸ㄒ彩?CodeMirror 的作者) marijn 也不是說英文的,他寫的文檔晦澀難懂,有些需要看源碼才能明白(或者有些你沒深入用過看源碼也弄不明白),因此有了翻譯中文+自己注釋理解的想法。當(dāng)然,已經(jīng)取得作者的同意。(作者說非常高興有三方的文檔,而且不是掛載到他的域 https://prosemirror.net 下,這樣他就不用負(fù)責(zé)了...)
地址
地址放在: https://prosemirror.xheldon.com
有興趣可以在頁面找到更多信息。
phper 們應(yīng)該都會(huì)自動(dòng)內(nèi)存泄露主要由于循環(huán)應(yīng)用導(dǎo)致的,比如如下代碼將會(huì)導(dǎo)致內(nèi)存泄露: function fun1() { $a = ['hello']; $a[] = &$a; } func1();
自己的代碼還好,可以檢查檢查,由于使用了第三方依賴,怎么在依賴的文件中定位到有這種有內(nèi)存泄露的代碼呢?小弟實(shí)在想不出有什么好的辦法
對(duì)方給的為 rsa 512bit 加密,文件如下(密鑰只是做演示用,實(shí)際上不會(huì)用它,謝謝各位關(guān)心):
公鑰: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDoDluy+M0FpwQbCPPpYuICWDWOGHpuaSslLN8pegFrrINVGjZ7HnTHqKiP7dtKw+Rwt3jdc5MsNxrnTHKTXMjV4PFhJfmp7cQhq4CgByoS+NQG7hMcSSE2MSA5W0mD4qXOrgQKT6BeETEDRk0PjKA5SLdhQkDuNMMRFffgufsd4QIDAQAB
私鑰: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmsQGx3MOMHYVJF6VwV6rBcJ_GcfW-U1gtOhxC2iFf6veqqEG9zwtOPAT2I82hOSyRW7CHDg_N0AKFj7-7J_nlQIDAQABAkEAkMYy-Tx914N-f4kjWcIvBbJNp1YzmP5zKogNx3g8-ZHb7PmvLL7MGX-yeaH2WDJbAcisYRBR-QMKSTLK0wxbuQIhAOFxGiEeIynPPlP8hNNhQpkfqQDEdwiPrsReDddz1IqHAiEAr75xho4Z1ivaGq93bvskWA0C8CEXR7x73skh_vv1eAMCIEoHyw3PCLsFDDGmPbPwP19rLyNKYNBV5o0jWaZDqirnAiBOF_BWfFqaww2-Ae6ukEbMIawGjI3NwMHCc9n5dnjThQIgICR7g2y_DLFeacC5Kx99dSDh-d5ZcO-vQmMAMp6TS2A
公鑰加密——私鑰解密 明文: {"iccid":"8986112022503532929","nickName":"aaa","userPhone":"17336606861","idCard":"430204199101172111"}
密文: khls5onpTAZ9ilpcQgg4ACX22BSdFmMW_rSlXQmbrso20jVDpq5S0V8WhmibonkfRun0H3gVIeOnD5DHzcIJCXVKpYAUeNX-om38Lh7vHJAGzpfbx0uKV_nK5Wqe6rocAK72sxpOb4NAAtlep_tKPE8ZDgKSlAs5wJWH3CMpzP4
我用的 php 這樣寫的: public function publicEncrypt($data = '') { if (!is_string($data)) { return null; } return openssl_public_encrypt($data, $encrypted, $this->public_key) ? base64_encode($encrypted) : null; }
返回的為空,我在在線網(wǎng)站上用 rsa 512bit 貌似也不行,麻煩各位幫我看一下他是怎么加密的,他是用的 java,php 有什么辦法沒,謝謝
前后端分離測試,本地 POST 后臺(tái)登錄正常,刷新瀏覽器后 Auth::check() 仍是未登錄狀態(tài)。請(qǐng)問想要登錄狀態(tài)也能保存需要怎么設(shè)置?
跨域已設(shè)置 $response->header('Access-Control-Allow-Origin', '*'); $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN'); $response->header('Access-Control-Expose-Headers', 'Authorization, authenticated'); $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS'); $response->header('Access-Control-Allow-Credentials', 'true');
前端用的是 Bootstrap4 + layui + JQ
后端用的是海豚 PHP 的框架
前期寫的時(shí)候出現(xiàn)了各種 XSS 漏洞
現(xiàn)在均做了過濾,代碼寫的不規(guī)范,還請(qǐng)各位批評(píng)
http://120.79.199.101:66/
如題: $a = true; echo $a; //輸出 1; //但是想輸出 true,咋辦? echo json_encode($a); //輸出 true;
json_encode()會(huì)對(duì)參數(shù)進(jìn)行 json 編碼, 那 php 為什么要默認(rèn)幫忙轉(zhuǎn)一下,明明沒有明確的指令
我想

來顯示圖片
怎么寫啊 下面這個(gè)隨機(jī)圖片直接可以打開,引用不行 '; ?>
用這個(gè)直接 404
請(qǐng)教一下 PHP 直接輸出圖片怎么寫?
最近公司要搞這個(gè),之前沒搞過,看了幾個(gè)教程的思路還是一臉懵,有做過的大神能指點(diǎn)一二嗎?
前言
從發(fā)布預(yù)告帖到現(xiàn)在不知不覺已經(jīng)過去將近 4 個(gè)月時(shí)間,不得不感嘆一下時(shí)間過得真快!在這 4 個(gè)月期間 Dcat Admin 受到很多同學(xué)的關(guān)注和支持,在大家的推動(dòng)下 Dcat Admin 也日益完善和成熟,我也一直積極聽取每個(gè)用戶意見,保持著高頻率的更新。
至此 1.0 雖然還有一些不太合理的設(shè)計(jì)和需要打磨之處,但功能上已經(jīng)足夠的完善和成熟,接下來更新頻率會(huì)放緩,將會(huì)把重心轉(zhuǎn)移到 2.0 的開發(fā)上,如果順利的話可以在 9 月份上線!
這里也非常感謝關(guān)注和支持這個(gè)項(xiàng)目的同學(xué)們,我的初心不會(huì)變,做一個(gè)對(duì)大家有用的高品質(zhì)項(xiàng)目,然后持續(xù)維護(hù)下去!
新功能簡介
下面簡單的介紹下 1.6 和 1.6.5 上線的主要功能,更多更新內(nèi)容查看請(qǐng)前往 https://learnku.com/docs/dcat-admin/1.x/update-log/8710
1.全新表格樣式
在這個(gè)版本開始,默認(rèn)的表格布局將會(huì)采用? table_collapse ?模式,效果如下
如果想要切換回舊版本的表格布局樣式,可以在? app/Admin/bootstrap.php 中加上 Grid::resolving(function (Grid $grid) { $grid->tableCollapse(false); });
2.表格固定列 注意這個(gè)功能支持組合表頭功能,但不兼容列字段隱藏功能!
通過 fixColumns 方法可以給表格設(shè)置固定列,第一個(gè)參數(shù)表示固定從頭開始的前三列,第二個(gè)參數(shù)表示固定從后往前數(shù)的兩列,(第二個(gè)參數(shù)可不傳,默認(rèn)為-1 ) $grid->fixColumns(2, -2);
效果
3.表單字段動(dòng)態(tài)顯示
此功能在 工具表單 中一樣有效,更多用法請(qǐng)參考文檔 表單字段動(dòng)態(tài)顯示 $form->radio('radio') ->when([1, 4], function (Form $form) { // 值為 1 和 4 時(shí)顯示文本框 $form->text('text1'); $form->text('text2'); $form->text('text3'); }) ->when(2, function (Form $form) { $form->editor('editor'); }) ->when(3, function (Form $form) { $form->image('image'); }) ->options([ 1 => '顯示文本框', 2 => '顯示編輯器', 3 => '顯示文件上傳', 4 => '還是顯示文本框', ]) ->default(1);
效果
更多更新內(nèi)容查看請(qǐng)前往 https://learnku.com/docs/dcat-admin/1.x/update-log/8710
Dcat Admin
Dcat Admin 是一個(gè)基于 laravel-admin 二次開發(fā)而成的后臺(tái)系統(tǒng)構(gòu)建工具,只需很少的代碼即可快速構(gòu)建出一個(gè)功能完善的高顏值后臺(tái)系統(tǒng)。內(nèi)置豐富的后臺(tái)常用組件,開箱即用,讓開發(fā)者告別冗雜的 HTML 代碼,對(duì)后端開發(fā)者非常友好。
在線演示站點(diǎn) | LearnKu 官方文檔 | Github 主頁 (如果喜歡這個(gè)項(xiàng)目不妨點(diǎn)個(gè) star,感謝支持!) | Gitee 主頁
升級(jí)方法 composer update dcat/laravel-admin
本次版本需要重新發(fā)布 靜態(tài)資源 以及 語言包 ,然后按 Ctrl + F5 清除瀏覽器緩存 ! php artisan admin:publish --assets --force php artisan admin:publish --lang --force
目前使用的框架是:TP3有一個(gè)場景是第三方回調(diào)太早,導(dǎo)致數(shù)據(jù)庫里查不到相關(guān)數(shù)據(jù),所以需要讓它等待幾秒再執(zhí)行,與此同時(shí),不阻塞系統(tǒng)其它進(jìn)程的執(zhí)行,請(qǐng)問這個(gè)該如何實(shí)現(xiàn)?
使用了 Azure 的 Kubernetes 平臺(tái),不知道 IP 地址是什么。 有什么辦法可以獲取嗎?
地址 https://lostsquirrel.github.io/k8sDocs/concepts/workloads/controllers/deployment/
歡迎吐槽
請(qǐng)問 k8s 如何將 pod 均勻調(diào)度到每個(gè) node 上? 目前遇到問題,node 負(fù)載不均?
用 nfs-client-provisioner 提供動(dòng)態(tài) PV,目前的數(shù)據(jù)在 NFS A 上,這個(gè)東西支持在不影響業(yè)務(wù)的情況下遷移到 NFS B 么?
或者它的 volumes 支持掛載多個(gè) nfs server 么?
求大佬賜教
我最近一直在看 k8s 的東西,但是感覺光看書和文檔不太過癮,想要跟著源碼一起看看。
我是在我的臺(tái)式機(jī) win10 上把 k8s 的源碼弄下來,通過 GoLang 來進(jìn)行源碼閱讀的,但是光看源碼沒有調(diào)試還是很難理解 k8s 的代碼執(zhí)行流程,所以想問問各位老哥,是怎么在本地調(diào)試 k8s 源碼的? 我搜了一些資料都是千篇一律,沒有一個(gè)靠譜的。
目前業(yè)務(wù)遇到了比較蛋疼的問題,雖然要上 k8s 但是應(yīng)用本身不支持 replica,不然會(huì)出重復(fù)數(shù)據(jù) 看了一圈發(fā)現(xiàn)好像 k8s 不管是 replicaset 還是 hpa 好像都只支持多個(gè) pod 同時(shí) active 然后隨機(jī)接受流量,請(qǐng)問有什么方法能同時(shí)跑多個(gè) pod 但是只讓其中一個(gè)接受流量,剩下的只是運(yùn)行狀態(tài)?類似 DB 的 primary 和 secondary,只有 primary 接受流量,剩下的只要在 primary 掛掉時(shí)能及時(shí)接上就好。
數(shù)據(jù)是統(tǒng)一寫入數(shù)據(jù)庫的,所以不存在數(shù)據(jù)差異問題
新手使用 Ubuntu,每次關(guān)機(jī)或者重啟后,桌面的都變得非常奇怪。 會(huì)出現(xiàn)任務(wù)欄丟失、圖標(biāo)重疊。 需要重新設(shè)置任務(wù)欄右側(cè)(我默認(rèn)為左側(cè)),并重啟后,才會(huì)出現(xiàn)正常的桌面。是我什么地方設(shè)置錯(cuò)誤了嗎?
需要開啟 intel 集成顯卡開啟 VirtualHeads,將一個(gè)閑置的筆記本做屏幕顯示 然后創(chuàng)建以下文件 /usr/share/X11/xorg.conf.d/20-intel.conf Section "Device" Identifier "intelgpu0" Driver "intel" Option "VirtualHeads" "1" EndSection 啟動(dòng)后,能顯示,但是會(huì)有很多雪花,花屏 一旦刪除這個(gè)文件就不會(huì)花屏了
lspci |grep VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 02)
lspci -v -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 02) (prog-if 00 [VGA controller]) Subsystem: Hewlett-Packard Company UHD Graphics Flags: bus master, fast devsel, latency 0, IRQ 149 Memory at b0000000 (64-bit, non-prefetchable) [size=16M] Memory at a0000000 (64-bit, prefetchable) [size=256M] I/O ports at 5000 [size=64] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Len=0c > Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Capabilities: [100] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [300] Page Request Interface (PRI) Kernel driver in use: i915 Kernel modules: i915
有專門的一臺(tái)編譯服務(wù)器,系統(tǒng)裝的是 UbuntuServer,下載的內(nèi)核版本是 5.7.6. 在這臺(tái)機(jī)器上編譯好后,直接執(zhí)行 make modules_install,make install 為本機(jī)安裝內(nèi)核后,可以啟動(dòng)到 shell 。
把 新編譯的 lib/modules/5.7.6 下的文件和 config-5.7.6 、System.map-5.7.6 、vmlinuz-5.7.6 拷貝到另一臺(tái)機(jī)器,執(zhí)行 update-initramfs -c -k 5.7.6, 提示 update-initramfs: Generating /boot/initrd.img-5.7.6 find: ‘/var/tmp/mkinitramfs_t30Vsh/lib/modules/5.7.6/kernel’: No such file or directory
用此內(nèi)核重啟電腦,不能正常啟動(dòng)。
之前一直用著 14.04 ,不過 14.04 很多軟件開始不支持這么低版本了,剛好 20.04 出來了,咬咬牙備份數(shù)據(jù)直接升了。
資源占用一般般
剛開機(jī)時(shí),大概是 1.1G 內(nèi)存,我的老機(jī)子無固態(tài),開機(jī)大概 1 分鐘。現(xiàn)在開著個(gè) Firefox,占用 1.7G
軟件商店
還是很慢,而且很多軟件沒有適配。比如 VirtualBox 就搜索不到,vs code 也沒有,也可能是人家根本不打算上商店吧
輸入法
ibus 自帶拼音、五筆。我用的極點(diǎn)五筆,沒有找到 shift 英文上屏的設(shè)置。即當(dāng)前是中文,打出幾個(gè)字母后,按 shift 鍵,會(huì)直接把英文上屏。我對(duì)字庫沒什么要求,其他倒是沒啥問題。
文件管理器
文件管理器沒有接管桌面,感覺 BUG 超級(jí)多 在桌面上沒法用 ctrl + c 、ctrl + v 來復(fù)制粘貼,但在文件夾可以。在桌面右鍵操作是可以的 桌面文件無法拖動(dòng)文件直接復(fù)制、移動(dòng)文件 在舊面無法用 f2 重命名文件,在文件夾里是可以的 無法右鍵新建文件(在桌面和文件夾里都不行,沒有那個(gè)選項(xiàng),只能建文件夾,截圖工具截不到右鍵菜單???)
啟動(dòng)
系統(tǒng)裝好后,UEFI 啟動(dòng)是無效的,在 liveCD 搞了個(gè) boot-repair 還把 win 啟動(dòng)也搞廢了,最后手動(dòng)修復(fù)的。問題是我的 win 是 win7,必須得用 CSM,然后這個(gè)啟動(dòng) logo 被拉伸了(不啟用 CSM 是正常的)
繼續(xù)試用幾天,文件管理器的問題搞不定我就換 Debian 了
具體步驟 換源,自己搜索 安裝 desktop, 這個(gè)過程很長 sudo apt install xubuntu-desktop 如果出現(xiàn)錯(cuò)誤: dpkg: error processing package blueman (--configure):
逐條運(yùn)行以下命令, 然后在安裝 desktop sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/ sudo mkdir /var/lib/dpkg/info/ sudo apt-get update sudo apt-get -f install sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/ sudo rm -rf /var/lib/dpkg/info sudo mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/ 安裝 xrdp sudo apt install xrdp 遠(yuǎn)程端口替換 sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini 最后運(yùn)行,如果打開 windows 遠(yuǎn)程桌面連接,連接地址是: [::1]:3390 sudo echo xfce4-session >~/.xsession sudo service xrdp restart
6T 的數(shù)據(jù)盤,誤將一個(gè) 8M 文件 dd 到了硬盤分區(qū)中 /dev/sda1,導(dǎo)致整個(gè)分區(qū)再無法讀取. 整個(gè)盤備份了后,使用 fsck 修復(fù)了,但貌似所有文件都在 lost+found 文件夾中,無法正確恢復(fù)文件樹結(jié)構(gòu). 請(qǐng)問各位大佬有什么招嗎 TAT
WSL2 可以安裝 ubuntu20.04,輸入 wsl --set-version Ubuntu-20.04 2,提示錯(cuò)誤,怎么解決? 見以下圖 https://i.loli.net/2020/05/07/sXr1Hvqk2i3alRp.png
今天把工作用的電腦從 Ubuntu 18.04 升級(jí)到了 Ubuntu 20.04 LTS,其中值得分享的幾點(diǎn)是: 1. 截止到 2020 年 4 月 23 日 下午, Ubuntu.com 官網(wǎng)仍未提供有關(guān) Ubuntu 20.04 LTS 的發(fā)布和鏡像文件(.iso )下載鏈接。根據(jù) Reddit 論壇的相關(guān)討論,Ubuntu 20.04 LTS 預(yù)計(jì)于北京時(shí)間 2020 年 4 月 24 日 凌晨發(fā)布。目前可以從 Ubuntu Releases (http://releases.ubuntu.com/ )上獲得于 2020 年 4 月 3 日 構(gòu)建的 Beta 版本鏡像。我是通過 do-release-upgrade -d 方式更新的。 2. 由于自 Ubuntu 19.10 后 Ubuntu 軟件源不提供 Qt4 有關(guān)的支持,所以搜狗輸入法在 Ubuntu 20.04 LTS 中缺乏依賴( https://packages.ubuntu.com/search?keywords=fcitx-frontend-qt4&searchon=names&suite=all§ion=all ),我目前使用 fcitx-googlepinyin 代替,如果有人愿意分享更好的方案,我非常感謝。3. 由于依賴有關(guān)的問題,steam-bootstrapper 在升級(jí)過程中被自動(dòng)移除了。然而所需依賴 libgl1-mesa-glx:i386 仍包含于 focal 軟件源中( https://packages.ubuntu.com/search?suite=all§ion=all&arch=any&keywords=libgl1-mesa-glx&searchon=names )。我沒有在 Ubuntu 20.04 LTS 中安裝 Steam 測試。4. 由于 Oracle 沒有發(fā)布針對(duì) Ubuntu 20.04 LTS 的相關(guān)軟件,mysql-workbench 以及 virtualbox 在升級(jí)過程中被自動(dòng)移除了。 5. 很高興 Golang 升級(jí)到 1.13 版本,Ubuntu 用戶終于迎來了第一個(gè)支持 Go mod 的 Ubuntu LTS 版本。 6. 新登錄界面仍需 gdm3 才能看到,我原來由于使用 ubuntu-unity 以及 lightdm,我進(jìn)行 dpkg-reconfigure gdm3 后才能體驗(yàn)到新登錄界面。另外,Ubuntu 20.04 LTS 與 lightdm 支持不是很好。 彩蛋:Dockerfile 使用的基礎(chǔ)鏡像從本月初我就換成 ubuntu:20.04 了,啊哈哈哈!
隨著數(shù)據(jù)的增長,如何高效的分享及獲取數(shù)據(jù)是利用好數(shù)據(jù)的前提。CKAN 是個(gè)開源的數(shù)據(jù)管理系統(tǒng),已有部分國家利用此平臺(tái)分享公開數(shù)據(jù),我們有何借鑒呢
啟動(dòng)系統(tǒng)會(huì)花屏,好像是阿里云的 VNC 不支持 GRUB 背景圖片,要改 GRUB 參數(shù): GRUB_TERMINAL=console
裝完之后 VNC 卡死在紫色啟動(dòng)屏幕上,后來發(fā)現(xiàn)是系統(tǒng)沒有自動(dòng)切換到 TTY1,要手動(dòng)切換。
TTY1 字體變成金色了:
軟件版本挺新的,可惜 PHP 不是 7.4.4
安裝方式:用 Netboot 安裝,下載 /ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/ 下的 linux 和 intrd.gz 到 /boot 下,然后讓 GRUB 引導(dǎo)就行了,接下來就和正常安裝一樣了。
然后水了一篇博文: https://josephcz.xyz/os/install-ubuntu-server-20-04-lts-on-aliyun-swas/
事情是這樣的,搞了個(gè)私人網(wǎng)盤來折騰,綜合考慮使用了 NextCloud,但是發(fā)現(xiàn)了幾個(gè)很嚴(yán)重的問題 只要播放視頻,服務(wù)器的 load average 就會(huì)飆到 50+,導(dǎo)致網(wǎng)站整個(gè)卡死 上傳很多文件的時(shí)候,傳著傳著網(wǎng)站就掛了
當(dāng)然了這些問題最終都被解決,最開始我把 NextCloud 的 php 源碼和數(shù)據(jù)倉庫都放在一個(gè) HDD 硬盤,所以本質(zhì)原因是因?yàn)?IO 被占滿,所以導(dǎo)致網(wǎng)站也掛了,負(fù)載雖然有 50+,其實(shí)不影響服務(wù)器,因?yàn)?CPU 內(nèi)存都不高,是 IO 導(dǎo)致的
所以有類似遭遇的朋友,可以參考上面的建議, 把數(shù)據(jù)倉庫和源代碼分到兩個(gè)不同的盤,源碼最好放在 SSD,這樣就算數(shù)據(jù)加載慢,不影響網(wǎng)站的功能
關(guān)于 PHP 方面有一個(gè)問題想請(qǐng)教:NextCloud 停止播放電影之后,磁盤也會(huì)持續(xù)占用持續(xù)一分鐘左右,平均 40M/s,差不多就是把電影文件讀完了,有沒有辦法讓他中途停止讀???
關(guān)于 NextCloud,v 站有一篇帖子寫的賊好,貼過來跟大家分享 《優(yōu)化 PHP 大文件下載速度至萬兆,讓 Nextcloud 支持萬兆網(wǎng)絡(luò)》
真的,php 只要做 php 好嗎!
從用被大拿瞧不起的 tp 框架開始用起,到了后來的 composer 出現(xiàn),Laravel 那套真的是頭大,看評(píng)論說過運(yùn)行個(gè) hellow world 都要耗很多資源,還有 sowft 的 entiy,db,data,logic 分層。。有時(shí)間 composer 自己弄個(gè)簡易的框架不香么?
php 為啥之前那么多人用還不是因?yàn)榭梢钥焖匍_發(fā)一把梭,你把 java 那套搬過來整得一套一套的,真有這功夫?yàn)樯恫挥?jsp ???
一個(gè)語言就應(yīng)該應(yīng)用于擅長的領(lǐng)域,異步的后端需求可以用其他語言呀例如 go,上手也簡單。
團(tuán)隊(duì)語言:PHP
目前業(yè)務(wù)較多,項(xiàng)目較多,維護(hù)起來,成本太高 現(xiàn)在需要把服務(wù)拆分,形成一個(gè)一個(gè)單獨(dú)的服務(wù) 比如,每個(gè)項(xiàng)目都有下單邏輯,現(xiàn)在就想把下單邏輯整合成一個(gè)服務(wù) 最外層有一個(gè)類似于 open-api 的東西,client 調(diào)用這個(gè) open-api,open-api 再調(diào)用內(nèi)部的服務(wù)
大致是這樣的一個(gè)方向
目前的選擇:
1.騰訊的 tars *這個(gè)沒有去深入了解過,不知道效果和穩(wěn)定性如何?
2.還是走普通的 http 協(xié)議,架構(gòu)選擇:php-fpm or swoole
我們大概評(píng)估了下,對(duì)于我們公司來說,沒有必走 RPC,普通的 http,足夠了
原因:
1.量還沒有那么大
2.open-api 調(diào)用內(nèi)部服務(wù),都走的內(nèi)網(wǎng),如果用 http,應(yīng)該還是比較快的
只是想把服務(wù)拆分出來,維護(hù)起來方便一些,這是最重要的一個(gè)原因 不一定要用微服務(wù)全套的東西,對(duì)于我們公司來說,成本太高了,只是想借鑒微服務(wù)的一些優(yōu)點(diǎn)吧
各位老哥,有什么好的建議嗎?
現(xiàn)在想在 laravel 中,tcp client 連接到其它的 tcp server 上。tcp client 上收到的消息能顯示到網(wǎng)頁上??戳讼戮W(wǎng)上的方法,基本上是接連到 tcp server 后,收到消息就斷開。不知現(xiàn)在有沒有辦法解決這個(gè)問題。
從這里開始,基于 PhpStorm 打造高效酷炫的 PHP 開發(fā)利器: 一、主題篇:主題切換、自定義和第三方主題安裝 二、導(dǎo)航篇:通過快捷鍵實(shí)現(xiàn) PHP 代碼的全局導(dǎo)航和上下文導(dǎo)航 三、插件篇:第三方插件的安裝、使用和卸載 四、快捷鍵篇:快捷鍵預(yù)覽、切換和自定義 五、代碼模板篇:靈活使用代碼模板功能提高編碼效率 六、代碼重構(gòu)篇:通過代碼重構(gòu)提高代碼復(fù)用性 七、小技巧篇:一些提高工作效率的小技巧(多處修改、分割窗口、搜索作用域) 八、Vim 篇:基于 IdeaVim 插件模擬 Vim 編輯器進(jìn)行編碼 九、代碼調(diào)試篇(上):基于 Xdebug 調(diào)試 PHP CLI 應(yīng)用 十、代碼調(diào)試篇(下):基于 Xdebug 調(diào)試 PHP Web 應(yīng)用 十一、編碼風(fēng)格篇:使用 PHP CS Fixer 統(tǒng)一團(tuán)隊(duì)編碼風(fēng)格 十二、單元測試篇:基于 PHPUnit 進(jìn)行單元測試
希望通過這些教程的學(xué)習(xí),可以幫助你更好地使用 PhpStorm 這個(gè)代碼編輯器,從而提高日常的編碼、調(diào)試、測試效率,少加班,多漲薪,Code Happy !
現(xiàn)在本地有公鑰和私鑰(客戶端上傳的),但不清楚這證書是否 可信證書機(jī)構(gòu)簽發(fā)并且是有效的
php 可以通過 curl 和 stream_socket_client 建立握手時(shí)驗(yàn)證(這是架設(shè)好的服務(wù)器連接上)
想問下大家有沒有什么方法,php 直接對(duì)證書文件進(jìn)行真實(shí)性的驗(yàn)證,或者有什么插件和其他的方法。
如題,業(yè)務(wù)場景是,假設(shè)我有一個(gè)鉚定日期為 2020 年 1 月 1 號(hào)
我需要獲取該日期往前 10 天開始,到最新日期為止的所有數(shù)據(jù),
即根據(jù) 2020-1-1 獲取 2019-12-21 到 2020-8-1 (假設(shè)今天)的數(shù)據(jù),有沒有辦法在一次搜索里完成?
以前做這種實(shí)現(xiàn)都會(huì)拆成兩條,用 UNION 搞定
比如寫成這樣 SELECT date FROM `table` WHERE date < '2020-1-1' ORDER BY date DESC LIMIT 10 UNION SELECT date FROM `table` WHERE date >= '2020-1-1' ORDER BY date
一直用的也挺好的,今天想起來問一下萬能的 v 友們有沒有更優(yōu)雅的寫法
比如這種感覺的 SELECT date FROM `table` WHERE date >= '2020-1-1' ORDER BY date OFFSET -10
Warning: (1592, 'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe.')
MySQL 中存儲(chǔ)的詞組,比如:yellow wall,little cat,brown cat 、yellow dog 、coffee cup 之類的完全不同的詞組總共 100W 行,現(xiàn)在給出一個(gè)句子,比如:“a little cat is sleeping behind a yellow wall with a yellow dog”,怎樣以最快速度提取出這個(gè) 100W 詞組中存在的詞組:yellow wall,little cat 、yellow dog
這樣嗎? DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPRESSED; 改了后是非需要類似 sqlite 執(zhí)行 VACUUM 命令做磁盤整理? The VACUUM command rebuilds the database file, repacking it into a minimal amount of disk space. 如何估算該表所占磁盤空間?
有一個(gè)加了事務(wù)的方法,先是 deleteById,然后再 insertById,這兩個(gè)方法的 id 是同一個(gè) id通過接口調(diào)用沒有問題,用 maven 跑集成測試就死鎖了,通過 SELECT * FROM sys.innodb_lock_waits 可以看到 insertById 被 deleteById block 住了,去掉事務(wù)的話集成測試就可以跑過去,為啥會(huì)這樣...
有兩個(gè)問題請(qǐng)教下
1.第二個(gè)查詢結(jié)果,順序不應(yīng)該是先查子查詢嗎,為啥 table b 先查( id 相同,執(zhí)行順序由上至下 )
2.第三個(gè)查詢和第四個(gè)查詢 explain 結(jié)果是一樣的,是 mysql 做了優(yōu)化了 嗎
問題
描述:訂單表,Innodb 存儲(chǔ)引擎。排名前幾個(gè)的慢 sql 語句,有些用了 count(*),弄到 rds 數(shù)據(jù)庫 cpu 滿了,服務(wù)器 502.
1 、慢 sql 排名圖,如下:
2 、排名第一的慢 sql 執(zhí)行情況:
3 、explain 排名第一的慢 sql:
自我分析:sql 23ms 也正常呀,難道是鎖的問題嗎?
在 MySQL :: MySQL 8.0 Reference Manual :: 17.1.3.1 GTID Format and Storage 中,有這么一段: GTID assignment distinguishes between client transactions, which are committed on the source, and replicated transactions, which are reproduced on a replica. When a client transaction is committed on the source, it is assigned a new GTID, provided that the transaction was written to the binary log. Client transactions are guaranteed to have monotonically increasing GTIDs without gaps between the generated numbers. If a client transaction is not written to the binary log (for example, because the transaction was filtered out, or the transaction was read-only), it is not assigned a GTID on the server of origin.
它說“If a client transaction is not written to the binary log (for example, because the transaction was filtered out, or the transaction was read-only), it is not assigned a GTID on the server of origin.”,究竟是什么情況下,client transaction 會(huì)被 filtered out 呢?