iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1
SideProject30

解密:從零打造資安社團/資安社群遇到的挑戰與解決攻略系列 第 1

Day1 資安社團與資訊社團攻略:何謂社團 & 社團系統:友站連結功能

  • 分享至 

  • xImage
  •  

我是誰

我曾經擔任過第四屆的逢甲大學黑客社社長,也擔任過第七屆台灣科技大學資安社社長,目前是 CURA Co-founder。

CURA

全名為 CyberSecurity Unions Research Association,簡稱 CURA。
是由前台科資安社的核心幹部所獨立出來的一個社群,成立宗旨旨在串聯全臺灣學術與業界社群的力量推廣資訊安全,為全臺灣的學生與社會人士提供學習與交流資訊安全的社群,致力於推廣資安資訊的資源中轉站,以及不定期舉辦課程等活動供大眾參加。
粉絲專頁:https://www.facebook.com/cura.tw
Discord:https://discord.gg/VcVFUkJp5a

為什麼寫這一篇系列

當社團幹部總是會

  • 非常迷惘
  • 不知道要做什麼
  • 不知道可以怎麼思考

系列目標

  • 記錄自己曾經嘗試過的方法(雖然有些可能不可考)
  • 回顧自己在 2021 AIS3 CLUB 社團幹部研習營的內容

聲明

在社群經營的經驗當中,經驗分享並不是希望新人複製過往的方法,而是希望大家可以從別人的經驗中去思考,哪一個方法才比較適合自己的社團,可以從目標導向中思考,為了社團的好處/利益而思考。

什麼是社團

  • 社團
    • 基於共同理念目的而結成的團體
  • 團體
    • 指兩個以上的個體互相影響、互相依賴,以達成目標的組合

社團的基石:核心元素探討

從我的經驗來分享,我認為一個社團可以由三個核心的元素來,分別是行政、課程和傳承。

行政

  • 行政是社團運作的基石
  • 社團的管理工作
    • 財務管理
    • 人力調整管理等
  • 行政的流程建立可以讓社團更好執行
  • 用"最小可執行"方法來簡化行政過程
    • 但很多學生會因為行政很麻煩,導致社團沒有辦法在學校很好的活下去,如果是這種情形,可以找"最小可執行"的方法經營社團。
    • 比如知道學校規定,只需要參與幾次學校會議,辦理幾次社課,就可以保留社團名字。

課程

  • 課程是社團的心臟
    • 資訊與資安社團屬於學藝性的社團
    • 常見方式:每週社課、讀書會
    • 讓社員有持續的學習和成長機會。

常見的問題有不知道怎麼設計社團課程,不知道怎麼邀請講師,不知道怎麼安排讀書會。

傳承

  • 傳承是社團的靈魂
    • 延續社團文化與價值觀
    • 可以過去學長姐積累的知識和經驗傳遞給新一代成員

如果你是新一代的社團沒有學長姐該怎麼辦

這幾年遇到很多高中與大學都創立屬於自己的社團,很多歷史比較悠久的社團還有學長姊可以詢問,但更多會是沒有經驗的學弟妹創立社團。

解決方法一:找自己學校的其他社團

直接找在同一個學校的其他社團,詢問他們的經驗是什麼,也可以去社團博覽會或是社團評鑑的榜單,看前幾名的社團直接去請益。

觀察這些社團:如何處理行政、如何安排課程、如何做好傳承

解決方法二:找其他學校的資安/資訊社團

換一個對象,直接去詢問這些前輩是如何經營社團,有問到什麼障礙如何解決。

或是參加 AIS3 CLUB 的活動,可以認識很多其他學校的資安/資訊社團,而且也有精實的課程與學習方向。

社群列表

以下列出幾個相關的資安社群與社團列表,歡迎大家送 PR 更新新資訊。

實作目標

本次系列希望可以快速利用 Django 寫出一個社團系統。

會採用"隕石開發",每天想到一個功能就實作一個功能的方式進行。

而本篇介紹與許多志同道合的資安社團與資安社群,因此目標是製作系統中的"友站連結"的功能。

User Story

功能一: 新增友社資訊

  • 前置條件
    • 使用者已登入系統。(本次尚未實作)
  • 步驟
    1. 使用者點選「新增」按鈕。
    2. 使用者在彈出的表單中輸入友社的名稱、連結和地區。
    3. 使用者點選「儲存」以儲存資訊。
  • 期望結果
    • 新的友社資訊將被儲存到資料庫中,並在友站列表中顯示。

功能二: 查看友站列表

  • 前置條件
    • 使用者已登入系統。(本次尚未實作)
  • 操作步驟
    1. 使用者點選「友站連結」按鈕。
    2. 系統將從資料庫中查詢所有的友站資訊並顯示在列表中。
  • 期望結果
    • 使用者可以看到所有儲存在資料庫中的友站資訊。

DB 架構

  • 基本架構
Table: FriendSocieties
- ID (Primary Key, Auto-increment, Integer)
- SocietyName (VARCHAR)
- SocietyLink (VARCHAR)
- SocietyLocation (VARCHAR)
- CreatedAt (DateTime)
- UpdatedAt (DateTime)
  • 欄位說明
    • ID: 一個唯一識別每一條記錄的主鍵。
    • SocietyName: 友社的名稱。
    • SocietyLink: 友社的網站或其他連結。
    • SocietyLocation: 友社的地區或位置。
    • CreatedAt: 記錄創建的時間。
    • UpdatedAt: 記錄上次更新的時間。

實作

  • https://djangobuilder.io/#/home
    • 快速製作 Django 的網站
    • 可以快速建立 CRUD 的頁面
  • 取專案名稱 ClubSystem
  • 建立好專案
  • 新增 APP Societies
    • 與社群相關的 APP
  • 新增 Models
    • FriendSocieties
  • 確認預設欄位(新增日期與更新日期)
  • 新增欄位(欄位記得用小寫)
    • ID

      • 因為 Django 內建 PK 因此不用新增
    • 名稱

    • 網址

    • 地區

  • 點選下載
  • 解壓縮之後,安裝 Django
  • 執行 python3 manage.py makemigrations
  • 執行 python3 manage.py migrate
  • 執行 python3 manage.py runserver
  • 打開瀏覽器輸入
  • 預設介面
  • 社團列表
  • 新增連結
  • 詳細資料
  • 清單
    • CSS 介面尚未修改,因此只有出現編號

快速建立好 CRUD 介面,就可以開始修改 CSS 介面以及其他功能。


下一篇
Day2 資安社團與資訊社團攻略:如何做好行政 & 社團系統:社團章程功能
系列文
解密:從零打造資安社團/資安社群遇到的挑戰與解決攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言