跳到主要內容

精選文章

【公開聲明】關於近期網路特定言論與個資洩漏事件的說明

大家好,我是江舜智(紅色死神)。 近期有許多長期關注我的朋友、學生以及合作夥伴向我反映,網路上有特定人士(Threads 帳號 @drama.note)持續在各類與事件無直接關聯的討論串、課程資訊以及公開貼文下方留言,並引導他人前往我的個人網站與公開平台,同時以負面標籤及特定敘事方式討論我個人。 由於相關行為已持續相當長一段時間,甚至延伸至現實生活層面,對我的合作單位、教學夥伴以及部分學生造成困擾與壓力,我對此感到遺憾,也對受到影響的朋友們表達歉意。 因此,我希望藉此機會向所有關心此事的朋友,說明我的立場與態度。 一、關於事件本身:理性討論永遠受到歡迎 多年來,不論是在軟體開發、網頁前端教學領域,或是經營「Uniform Map 制服地圖」、進行攝影創作與分享個人觀點時,我始終相信公開透明與理性交流的重要性。 我並非完美的人,任何人都可能有思慮不周或與他人意見不同的時候。過去關於網站經營模式與相關議題,網路上確實出現過不少討論與質疑,而相關事項也曾進入司法程序接受調查。 經檢察機關完整調查後,最終依法作出不起訴處分,案件已告確定。 這代表相關指控經過司法審查後,並未認定存在違法情事。即使如此,我仍然願意以開放的態度面對外界意見。 如果有人對於我的教學內容、網站運作方式,或任何公開言論抱持不同看法,我始終歡迎在尊重彼此的前提下進行公開且理性的討論。 若有任何值得檢討與改進之處,我也願意虛心接受建設性的批評與建議。 二、關於持續性的騷擾行為:應以事實與法律為依據 我認為理性討論與持續性騷擾之間,存在明確界線。 近一年來,特定人士的部分行為已不再只是針對議題提出意見,而是逐漸演變成持續性的人身攻擊與現實層面的干擾,包括: • 在與事件無直接關聯的課程公告、教學資訊及各類公開討論串中,反覆張貼我的個人資訊與相關內容。 • 主動聯繫我的合作單位與工作相關機構,對其施加壓力或進行干擾。 • 在司法程序進行期間及收到相關通知後,仍持續以指名道姓方式發布涉及人格評價與攻擊性的言論。 我尊重每個人表達意見與監督公共議題的權利,但我同樣認為,任何討論都應建立在事實基礎上,並尊重法律程序與他人的基本權益。 無論支持或反對我的人,都有權自行查閱公開資訊、了解案件經過並形成自己的判斷,而不是透過片面標籤或情緒性指控來取代事實。 三、我的處理方式 對於相關爭議,我始終選擇透過法律與制度來處理,...

Bootstrap Table Sorting

Bootstrap Table

bootstrap 真是好工具,由他延伸出來的東西也超多的,這次要做可以升冪降冪排序的表格,稍微google一下就找到了。

當然因為是 bootstrap 延伸的,所以要放一下相關的 css 跟 js。
  1. <link rel="stylesheet" href="bootstrap.min.css">  
  2. <link rel="stylesheet" href="bootstrap-table.css">  
  3. <script src="jquery.min.js"></script>  
  4. <script src="bootstrap.min.js"></script>  
  5. <script src="bootstrap-table.js"></script>  


可以直接在 html 就設定很方便。

  1. <table data-url="data1.json" data-height="299" data-sort-name="name" data-sort-order="desc">  
  2.     <thead>  
  3.         <tr>  
  4.             <th data-field="id" data-align="right" data-sortable="true">Item ID</th>  
  5.             <th data-field="name" data-align="center" data-sortable="true">Item Name</th>  
  6.             <th data-field="price" data-sortable="true">Item Price</th>  
  7.         </tr>  
  8.     </thead>  
  9. </table>  

或是用 js


  1. <table id="table-javascript"></table>   
  2. <script>   
  3.     $(function () {   
  4.         $('#via-javascript-table').next().click(function () {   
  5.             $(this).hide();   
  6.   
  7.             $('#table-javascript').bootstrapTable({   
  8.                 method: 'get',   
  9.                 url: 'data2.json',   
  10.                 cache: false,   
  11.                 height: 400,   
  12.                 striped: true,   
  13.                 pagination: true,   
  14.                 pageSize: 50,   
  15.                 pageList: [10, 25, 50, 100, 200],   
  16.                 search: true,   
  17.                 showColumns: true,   
  18.                 showRefresh: true,   
  19.                 minimumCountColumns: 2,   
  20.                 clickToSelect: true,   
  21.                 columns: [{   
  22.                     field: 'state',   
  23.                     checkbox: true  
  24.                 }, {   
  25.                     field: 'id',   
  26.                     title: 'Item ID',   
  27.                     align: 'right',   
  28.                     valign: 'bottom',   
  29.                     sortable: true  
  30.                 }, {   
  31.                     field: 'name',   
  32.                     title: 'Item Name',   
  33.                     align: 'center',   
  34.                     valign: 'middle',   
  35.                     sortable: true,   
  36.                     formatter: nameFormatter   
  37.                 }, {   
  38.                     field: 'price',   
  39.                     title: 'Item Price',   
  40.                     align: 'left',   
  41.                     valign: 'top',   
  42.                     sortable: true,   
  43.                     formatter: priceFormatter,   
  44.                     sorter: priceSorter   
  45.                 }, {   
  46.                     field: 'operate',   
  47.                     title: 'Item Operate',   
  48.                     align: 'center',   
  49.                     valign: 'middle',   
  50.                     clickToSelect: false,   
  51.                     formatter: operateFormatter,   
  52.                     events: operateEvents   
  53.                 }]   
  54.             });   
  55.         });   
  56.     });   
  57. </script>  

留言

熱門文章