TroubleShooting

A collection of 16 posts

TroubleShooting

broken vim on High Sierra with rbenv

前陣子把電腦更新到 High Sierra 陸續發現不少災情,例如 docker 的 networking 怪怪的、或是 VSCode 開不起來等等,但這些都莫名重開機就能解決(彷彿變成 Windows 電腦);唯獨遇到的 vim 問題花了許久總算解決。 沒辦法用 vim 真的很困擾,像是 git commit 或是 rebase editor 都是預設 vim,會一直出現這樣的錯誤 dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.

  • hothero
    hothero
Safari

Mobile Safari Page Auto Refresh Limitation

最近有個客戶告知網站在手機看會一直自己重新整理,後續追蹤才發現是 safari,而非所有瀏覽器都會。 當時從幾個方向找: 會不會是 vuejs 的關係? 會不會是 vuejs 的套件,像是 vue-route 的關係? 後端伺服器 node.js 的關係? 還是安裝的第三方套件的關係,像是 optimizely? 在確認都非開發端的問題後,合理懷疑是 safari 的關係,進而找到,原來 safari 有其可瀏覽網頁的限制! MobileSafari keeps website cache only in RAM, and therefore, once it runs out of RAM,

  • hothero
    hothero
rails

Rails Turbolinks & PJAX

前陣子在接觸 rails turbolinks 時想說 turbolinks 怎這麼 suck,光是 GA、Facebook Pixel 等 tracking script 無法正常運作就讓人十分頭痛(當時直接怒拔...),但在最近因為看了這篇文章 瞬間懂了。 Turbolinks 是在 Ruby on Rails 4.0 被默認的一個 gem,當時(2013年)很多人在分享時都搭上一句標題「Turbolinks for Rails (like pjax)」。那什麼是 pjax?turbolinks?更詳細解說可看上述提及的文章,這邊就針對一些所獲的重點摘錄做分享。 講什麼是 pjax 跟 turbolinks

  • hothero
    hothero
Amazon

[Note] Laravel 使用 sqs 做 Queue Server 寄 Email

此篇目的在於使用 Amazon SQS (Simple Queue Service) 作為 Queue Server,以另一台機器作為 Queue Worker 來寄送 Email,使 Production Server 能更專注在服務網站,使用者體驗也會更好(若沒使用 Queue Server 使用 sync 模式寄送 Email,會讓使用者操作停住等待發送完成才能繼續動作)。 第一步:設定 app/config/queue.php 將 default 改成 sqs('default' => 'sqs') 設定 sqs 'sqs' =>

  • hothero
    hothero
TroubleShooting

Matlab Mex Setup Solution

在MATLAB上用mex編譯C/C++檔案是稀鬆平常,但卻又常困擾著開發者。不外乎就是找不到gcc或是找不到Standard Library中的header file,像是stdlib.h, stddef.h等等。諸如以下發生的錯誤訊息: /Applications/MATLAB_R2011b.app/bin/mex: line 305: gcc-4.2: command not found /Applications/MATLAB_R2012a.app/extern/include/matrix.h:852:20: error: stdlib.h: No such file or directory 筆者的開發環境:

  • hothero
    hothero
TroubleShooting

[Troubleshooting] MATLAB mex file running error "The specified module could not be found."

MATLAB是MATrix LABoratory的縮寫,是一款由美國The MathWorks公司出品的商業數學軟件。MATLAB是一種用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。除了矩陣運算、繪製函數/數據圖像等常用功能外,MATLAB還可以用來創建用戶界面及與調用其它語言(包括C,C++和FORTRAN)編寫的程序。(from wiki.) MATLAB不只矩陣運算處理快速、方便,也有許多toolbox可以使用,但伴隨而來就是肥大的開發環境,與執行效率的問題。因MATLAB本身是由c語言架構而成,故可將需要較佳處理效能的函式以c語言撰寫,並透過g++編成MEX-file供MATLAB使用。 ??? Invalid MEX-file 'D:\machineLearning\private\distSqrPairwiseMex.mexw64': The specified module could not be found. 很多時候這些MEX-file不只是自己使用,也會publish給其他人使用,但每台電腦的環境都不同,有些人就會出現上述的錯誤訊息&

  • hothero
    hothero
aws

解決InnoDB分配記憶體錯誤問題

最近server很常因為InnoDB的分配記憶體給Buffer pool出錯導致mysql自動關閉,而使wordpress毀滅,找了很多方式還是沒個頭緒知道錯誤源頭是在哪。最後決定用最笨的方法,每天固定一個時段release memory,使每次InnoDB有需求時都能有空間分配。 大致上的mysql錯誤訊息如下: 120514 23:31:37 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 120514 23:31:37 InnoDB: Completed initialization of buffer pool 120514 23:31:37 InnoDB: Fatal error:

  • hothero
    hothero
ruby

[Troubleshooting]incompatible character encodings: UTF-8 and ASCII-8BIT

最近把放在heroku上的rails專案,其上傳檔案paperclip的storage改至S3上,當一上傳中文檔名便會發生"incompatible character encodings: UTF-8 and ASCII-8BIT"這樣的編碼問題。若錯誤訊息是"... ASCII-8BIT and UTF-8",則解法1的編碼需改成UTF-8。 解法1(適用於筆者) 註:在處理上傳的params前加入這兩行,team為該model name,avatar為檔案上傳的名稱,可依照需求自行修改。 params[:team][:avatar].original_filename.force_encoding('ASCII-8BIT') params[:team][:avatar].headers.force_encoding('ASCII-8BIT') 解法2 針對config/

  • hothero
    hothero
apache

解決AWS Server "mountall: Disconnected from Plymouth"與apache2 rewrite之wordpress permalink問題

前幾天我在AWS 上的Ubuntu Server(也就是本站的server)毫無預警的毀滅.....server壞掉打不開、重開機也沒用,只留下一長串的Server Logs跟我乾瞪眼==  這串System Log我想最關鍵的就是最後一行"mountall: Disconnected from Plymouth",以此行去Google可以發現是Ubuntu 10.4的kernel問題,但也沒一個人可以講出最關鍵的原因。 但茫茫大海中的一個明燈表示"將Instance Type從micro改成small便可正常運行",為了我的資料冒著花錢的風險也要嘗試,所幸成功也救回了所有檔案。 Rewrite 救回檔案的步驟大概如下:改成small instance type成功Run起Server -> 開啟FTP下載var/www、/etc/apache2兩處有關server檔案與設定檔 -> 架起新Server環境 ->

  • hothero
    hothero
TroubleShooting

Error : cache: [GET /admin] miss" on Heroku

最近將Rails專案(3.2 with ruby 1.9.3)放置heroku發生了/admin 連結miss的問題,查了很久發現不是rails_admin的問題,而是cancan這套認證gem的問題。 解決方法 1. 將application_controller.rb內的cancan設定改成: {% codeblock lang:ruby %} rescue_from CanCan::AccessDenied do |exception| redirect_to root_url, :alert => exception.message end 2. 在routes.rb內的root :to => "

  • hothero
    hothero