曼陀號第五屆 Engineering 組
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 第一次月會筆記 - build presentation with AI: [Gamma app](https://gamma.app/) ### 技術的重要性 - 技術 vs 管理? - 如果技術不夠很有可能帶團隊一起往錯誤的方向前進 - 面試挑公司:這間公司的創辦人有人是技術長嗎? - 沒有的話可能很難去學習到一些技術知識 - 專精 vs 廣度 - 定義 - 專精:精通一項技術或工具,深入研究、探索,達到能獨立開發的水準 - 如果你一整天的問題 chatgpt 都能回答那可能就要擔心專精的部分了 - 廣度:掌握多種技術,能解決多樣的問題,可應對業務的多樣性,廣度關係到發揮綜合效益 - 為什麼應該先求專精 - 提高核心競爭力:追求更深廣的專業能力,達到一定的高度,可以優化技術結構,提升核心競爭力 - 公司的專案跑多久很重要:如果今天公司有技術債(活下來的公司才有技術債),如果你是想碰新東西,去接案或者新創公司,大公司會面對許多 legacy codebase (如何去度過這個舊換新的考驗就是前往資深的一條路) - 如何突破冒牌者症候群:你發現這件事只有你知道,你可能需要去翻 source code 去解決某個問題,可以培養自己信心。當你投入地夠多,可以去發現某個套件本身的問題,或者某個 API 或 Application 的問題時,發現對方沒考慮到的問題時,就可以累積信心跟心得,是往 senior 重要的一步。 - 提高技術美感:專精不僅要追求功能的實現,還要透過技術來提高使用者體驗,注重技術美感 - 如何判斷自己在一件事情上的理解是否夠深入 - 試著教給別人:你可以清晰地向別人解釋你的概念並回答他們的問題,你就可以確信自己已經理解這個概念。 - 挑戰自己:在熟悉的領域之中,嘗試解決更複雜的問題,或者學習一些新的技術。 - 跟專家交流:和行業內的專家交流,了解他們的觀點,並詢問他們的建議,可以幫助你更好地了解這個領域。 - 如何在專精後追求廣度 - 定立目標:選定想學的技術領域或業務,並透過不斷學習和實踐實現目標。 - 融合已有知識:將專精的技術運用到新學的技術領域或業務,整合已有的 - 既有的知識可以幫助理解新事物。 - Kotlin 發表怎麼那麼多人就發教學相關的東西?:他懂其他類似語言的框架,在學習新東西時可以直接有靈感去找到一些問題或新的知識 - 學習交流:尋找志同道合的人,進行技術交流和互相? - 工欲善其事必先利其器 - 你會不會google?:能否根據問題找到solid的答案,並好好地闡述(可以的話進來工作也不會太差)e.g. js 中沒有 class 的概念 - 你熟不熟悉IDE&打字速度是否夠快 - 硬體配件: - 程式語言&技術框架: - 學習資源與社群資源: ## 生產力提昇 (14:45 ~ 15:30) ### 1.程式編輯器與開發者工具 * 開發不同的語言會用不同的編輯器 * java IntelliJ * 不同語言大家用的編輯器會不一樣 * VsCode * 插件 * for 心情:計時/sparkle * 錯字 * Code Spell Checker * codegpt: 寫 unit test / refactor * copliot * DeBug * F5 開發者工具 * 中斷點 (時間序比較複雜) * react developer * Responsive APP (介面測試) * charles: 抓包工具 * 手機測試:ngrok * Terminal * 可以用 code 打開 vscode * zsh-autosuggesion * zsh-syntax-autohighlighting * git config 設定 alias ``` [user] name = XXX email = ooo@gmail.com [filter "lfs"] clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true [alias] co = checkout br = branch st = status up = fetch --all --tags tagg = tag -l --sort=-v:refname logg = log --oneline --graph --decorate --pretty=format:'%C(yellow)%h %C(magenta)%ad %C(cyan)%an%C(green)%d %C(reset)%s' --date=short-local loga = log --all --oneline --graph --decorate --pretty=format:'%C(yellow)%h %C(magenta)%ad %C(cyan)%an%C(green)%d %C(reset)%s' --date=short-local tree = log --graph --pretty=oneline --abbrev-commit [pager] branch = false #log = false [core] excludesfile = /Users/<username>/.gitignore` ``` ### 2.硬體配件 * keyboard: Leopad、HHKB * 滑鼠:垂直滑鼠、觸控板。從用手肘控制滑鼠改成用手指控制滑鼠 * 降噪耳機 * dock、usb hub:一對多個螢幕、usb 裝置的話很方便 * 升降桌、靠背、腳踏墊:脊椎只有一條 * 螢幕 * 筆電支架:墊高螢幕,對脖子比較友善 * 延伸扶手:桌子深度不夠的情況,可以考慮用延伸扶手,讓鍵盤滑鼠更靠向桌子邊界,騰出桌面空間 * 筆電:拿著就走、到哪都可以用很方便 * 螢幕擦拭布:墊在鍵盤和螢幕中間可以防止螢幕髒掉 * 請公司租用算力強的雲端機器 ### 3.程式語言與技術框架 * 快速了解新技術: 上 YT 看影片、跟著技術文件摸索、使用 chatGPT demo * 一些可能碰到的瓶頸:要當 mentor、照顧家庭、兼顧 project or product owner ... etc ### 4.學習資源與社群資源 * 成長經驗 * 「非本科,進公司跟著任務做、查到什麼學什麼,覺得學習沒有效率...」 * 上過全端課程,大致可以分類後覺得自己對後端比較有熱情。 * 做中學。還沒統整清楚會覺得混亂。**還沒用到的時候要學,會覺得學得很無聊**。任務結束後,已經得到知識後,再重來一次會怎麼做 * 程式語言是為了解決問題而被創造出來的,了解是為了解決什麼問題、付出的代價跟缺點是什麼、在什麼場景下適合使用 * 學習資源 * conference: PyCon、Ruby 默默會、Coscup * 研討會議程不是只有技術,也可以知道其他人最近在玩什麼、把技術應用在什麼地方。 * **Lightning Talk** * 程式 Bootcamp 的 roadmap,從裡面挑自己有興趣的內容 * Total Typescript * Alphacamp、五倍紅寶石(十八銅人) * github 搜尋 {Backend, Frontend, Devops} roadmap * 官方文件:e.g. React native,跟著 quickstart 先早一遍 ## 資訊本科重要嗎? - 什麼基本知識很重要? - 程式語言理論:什麼是物件導向程式設計?什麼是函數式程式語言?有沒有指標?什麼是Garbage collection?為什麼R是所謂的統計用語言? - 資料結構與資料庫:不管是前後端多少會遇到資料結構與資料庫的議題,什麼是SQL、NoSQL,什麼是List, hash, areay等等? - 刷題的意義:知道各個資料結構的效能與在什麼情況要用哪種資料結構 - 網路與分散式系統:從瀏覽器到 DNS 到 TCP/IP,這些網路協議大概做的事情是什麼?如何將資料分配到多台主機上?什麼是負載平衡、什麼是 CAP 理論? ## 深度討論 ### 前端 ### 後端 - 輪流自我介紹:工作使用的程式語言、3 個工作上用到的工具或技術的關鍵字、自己遇到的問題、覺得前輩什麼地方厲害 - TODO(gaga) - 流量、Scalability - 錢能解決的事情就是小事 - 小流量想怎麼寫就怎麼寫 - 寫入 DB lock table,背景運作的。**Rollbar**、**後台的執行人員** - critical zone - 程式可讀性、架構 - DDD、Solid、Clean Archicture - Ruby 物件導向。為了追一行程式碼在哪、要開 6 7 的檔案 - 未來一定要拿掉:耦合。棄用也方便 - 資料庫的選擇 - *資料的儲存、選型*。side-project 有根 senior 工程師討論 - 技術選型不只技術方面的東西:對現在的自己很方便、**對未來團隊維護、入門** - data analysis。持久性存 RDB、mongo bson - 第一版:業務面變動太快 - 第二版:dynamodb - 要解決的問題 - 為什麼誕生:**解決什麼突破的問題**,深入、現況、瓶頸 - framework:express、koa 更早之前。有歷史背景。每一個背景 - 流程改善 - mindset:過去的自己累積成今天的自己 - 輸出導向:列自己做了哪些嘗試、自己不懂的。問同事得到反饋。 logseq.order-list-type:: number - 建立流程:例子:建立一個 endpoint,大家都知道怎麼寫。跟原先公司架構設計、怎麼決策跟 trade-off。 logseq.order-list-type:: number - 變成自己的開發流程 logseq.order-list-type:: number - @gaga - 卡片盒筆技法、第二大腦、間接式筆記 - build, measure, learn。三步工作法 ### 資料 ## Q&A ## others wifi 密碼:54324104 ## 閒聊 活下來的公司才有技術債 -> 好有道理 來不及打完阿哭 東西好多 +1 還一直被擋住哭 直接要ppt了 -> 好

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully