🌳中文課程介紹:資料結構與演算法 (JavaScript)
這堂課內容包含電腦科學世界中的常見與實用的演算法與資料結構,對於不是資工本科系的人來說,是非常重要的演算法課程!此包含
演算法分析(Big O Complexity)、
八種排序演算法(Sorting Algorithms)、
主定理(Master Theorem)、
遞迴演算法(Recursion)、
連結串列(LinkedList)、雜湊表(Hash Table)、
二元搜尋樹(Binary Search Tree)、
優先佇列(Priority Queue)、
霍夫曼演算法(Huffman Encoding)、
最小生成樹(Minimal Spanning Tree)、
深度優先搜尋(Depth First Search)、
寬度優先搜尋(Breadth First Search)、
最短路徑演算法(Floyd-Warshall Algorithm)、
戴克斯特拉演算法(Dijkstra’s Algorithm)、
動態規劃 (Dynamic programming)等等的內容。
在這堂課程當中,我們會學習各種電腦科學當中,使用JavaScipt這門程式語言,來了解並一步一步寫出各種實用的演算法與資料結構。
✍ 對這門課有興趣,請參考底下留言區,目前 NT 430 特價中
同時也有4部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。 就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又...
hash table 在 BorntoDev Facebook 的最佳貼文
📌 จากประเด็นในโพสต์ก่อนหน้าที่แนะนำ MD5 แอดขอเปลี่ยนมาเป็นหัวข้อนี้ดีกว่า ! กับเรื่อง MD5 ที่จริง ๆ แล้ว ตามตำราที่ว่าไว้ ไม่ว่าจะเป็นการ hash ทางเดียว แงะ ออกกันไม่ได้ มันคือตัวเลือกที่ปลอดภัยที่สุดจริง ๆ ไหมนะ !?
.
แน่นอนฮะ มันไม่ใช่เรื่องผิด ถ้าเราทำเว็บเมื่อสมัยก่อน และ MD5 มันก็มีประโยชน์ในตัวมันเอง ทั้งในเรื่องของการเช็คว่าไฟล์ ๆ นั้น คือต้นฉบับไม่ถูกการแก้ไขไหม ? และ หลายคนรวมถึงตอนนี้ก็เอามาใช้ในการทำการเข้ารหัสใน Database
.
🔥 อะ เข้าเรื่อง .. "การทำการใช้เทคนิคนี้เก็บข้อมูลในระบบปลอดภัยจริง ๆ ไหม ?"
.
คำตอบคือ "อ่ะ ใช่แหละ คนทั่วไปอ่านไม่ออก แงะกลับมาไม่ได้ มันก็ปลอดภัยหนะสิ" ใช่ครับ แต่มันจะปลอดภัยแค่ชั่วครู่เท่านั้น และ จะไม่ได้ปลอดภัยกับทุกรหัสผ่านที่มีในระบบ
.
หนึ่ง Concept ที่เราจะเข้าใจเรื่องนี้เราจะต้องเข้าใจวิธีการทำงานของมันก่อน อันดับแรก คือ สมมุติว่าเราพิมพ์ข้อมูล AAA ทำการผ่านฟังก์ชัน MD5 เราจะได้ข้อมูลยาว ๆ ชุดนึงมา ("e1faffb3e614e6c2fba74296962386b7")
.
✅ แน่นอนว่า อีกสิบวัน สิบปี เราเอาข้อมูล AAA ตัวนี้เข้าฟังก์ชันนี้ มันก็จะได้ค่า ๆ เดิมออกมานั่นเอง
.
ซึ่งเวลาเราจะดำเนินการตรวจสอบว่า Username และ Password ที่เก็บไว้ใน Database ตรงกับที่พิมพ์ไหม เราก็ใช้ตรง ๆ คือ ดูว่าเอ่อ User ชื่อนี้ และ รหัสผ่านเป็น AAA ที่เราเอาไปเข้า MD5 ไหม ถ้าตรงก็คือจบ
.
อ้าว .. ก็ดูปกติใช่ไหมครับ มาถึงตรงนี้ แต่ก็ต้องบอกว่า ตรงนี้ก็เป็นจุดอ่อนของการใช้ MD5 เพียว ๆ เช่นกัน เพราะว่า ถ้าเรารู้ว่า ข้อความที่ถูกเข้าผ่านฟังก์ชันนี้แล้วให้ผลลัพธ์ว่า e1faffb3e614e6c2fba74296962386b7 มันคือข้อความว่า AAA นะ
.
😱 "วันหลังที่เราเห็น ข้อความชุดเดียวกันอีก เราก็จะสามารถย้อนดูรหัสผ่านจริง ๆ ได้ ซึ่ง ความพังของมันคือ ถ้าเรารู้อีเมล หรือ username เขาแล้วรู้รหัสต้นฉบับ เราอาจจะนำรหัสนี้ไปใช้ทำอะไรก็ได้ !!"
.
และ แน่นอนว่าคนที่มีความสามารถ หรือ เข้าถึงข้อมูลพวกนี้ได้เขาก็ไม่ได้กด Ctrl + F หารหัสเอาแน่ ๆ เพราะเขาก็แค่ทำการไล่เข้ารหัสไปเรื่อย ๆ เพื่อสร้าง Table หรือ ตารางชุดคำตอบของ MD5 ที่นำไปเข้ารหัสนั่นเอง
.
แค่นี้เราก็จะรู้ได้ว่า ข้อมูลต้นฉบับหลัง MD5 เป็นยังไงนั่นเองฮะ !! แม้ว่าเทคนิคนี้จะใช้เวลานานกับ รหัสประหลาด ๆ ตัวอักษรผสมเยอะ ๆ มีตัวอักษรพิเศษมีอะไรปน แต่มันก็ใช่ว่าจะแกะไม่ได้อยู่ดี 🤣
.
🔥 ซึ่งปัจจุบันมีแหล่งอ้างอิงตอนปี 2012 บอกมาว่า หลังจากข้อมูลของ Hash ที่อยู่ใน Database หลุดไปไม่เกิน 3 วัน กว่า 90% ของรหัสผ่านในนั้นถูกแงะแปลงกลับได้จนหมดเลย ! (แอดทิ้งลิงก์ไว้ข้างล่างนะ)
.
ดังนั้นแล้ว มาถึงตอนนี้ ถามว่าเอ่อ เลิกใช้ไปเลยดีไหม ? เอาจริง ๆ มันใช้ได้อยู่ และ ใช้ได้ดีมากกกก สำหรับการตรวจสอบไฟล์นะ ว่าเอ่อ ไฟล์นี้ต้นฉบับจริง ๆ ไหม ?
.
เพราะหลักการเดียวกับรหัสผ่านที่แอดพูดถึงก่อนหน้า ที่เขาจะนำข้อมูลมาเข้าจนได้ Data ชุดนึงมา ถ้ามันตรงกันก็คือต้นฉบับแน่นอน
.
⭐ แต่สำหรับใครที่อยากเอาไปใช้กับ Password ในปัจจุบันก็มีอีกหลายเทคนิคที่น่าสนใจ ใครอยากตามก็ตามมาที่นี่ได้เลยคร้าบ >> https://www.vaadata.com/blog/how-to-securely-store-passwords-in-database/
.
✌ //ref สำหรับ รหัสผ่านที่ถูกแงะในปี 2012 อยู่ในนี้นะคร้าบ >> https://www.lefigaro.fr/secteur/high-tech/2016/05/18/32001-20160518ARTFIG00292-plus-de-100-millions-de-mots-de-passe-linkedin-dans-la-nature.php
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
hash table 在 BorntoDev Facebook 的精選貼文
เพื่อนๆ เคยสงสัยไหมว่า..ที่เราเรียน Data Structure ไปเนี่ยนำไปใช้งานจริงในการเขียนโปรแกรมได้ยังไง ??
.
วันนี้แอดหาคำตอบมาให้แล้ว !!
.
กับคอร์สเรียน "Data Structures For Python Developers" จาก ช่อง freeCodeCamp.org ซึ่งจะสอนการประยุกต์ใช้ Data Structure ในการเขียนโปรแกรมจริงๆ ด้วยภาษา Python
.
สอนละเอียดมาก และยังใช้งานจริงให้ดูอีกด้วย ทั้งหมดนี้ภายใน 3 ชม. เท่านั้น !! ดูจบปุ๊บสามารถประยุกต์ใช้ Data Structure ในโปรเจคของเพื่อนๆ ได้เลย!!
.
📄 ภายในคอร์สจะมีหัวข้อให้ศึกษาดังนี้
✅Intro
✅Install Python & Flask
✅Database Setup & API Skeleton
✅Install Database Browser
✅Linked List
✅Install Postman
✅Hash Table
✅Binary Search Tree
✅Stacks and Queues
.
💥 ถ้าพร้อมแล้วไปเรียนได้ตามลิงค์นี้เลยจ้า >> https://www.youtube.com/watch?v=74NW-84BqbA
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
hash table 在 在地上滾的工程師 Nic Youtube 的最佳貼文
硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。
就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又恰巧的在職涯旅途中碰上用處。
章節:
00:00 學這些有用嗎
00:52 我與速成班的距離
04:45 業務增長後的影響
06:36 基本功知識科普
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#資料結構 #演算法 #計算機概論 #前端 #後端 #工程師
hash table 在 奮game王紫楓 Youtube 的最佳解答
#軟體工程師
👍歡迎訂閱!! 🔔🔔按下小鈴鐺,就可以一有新影片就搶先看!
[軟體工程師雜談] 輕鬆搞懂資料結構: 雜湊(hash) |IT鐵人賽: 從零開始搞懂寫程式,資工系4年最重要的學科,資料結構,演算法,物件導向
IT鐵人賽網址:https://ithelp.ithome.com.tw/users/20128489/ironman/3093
程式新手學習發問區,問都給問!!: https://www.facebook.com/groups/914880435669061
紫楓FB專頁: https://www.facebook.com/tbpfs2/
紫楓blog: https://tbpfs1.blogspot.com/
斗內專線: https://pse.is/KUYMP
部分圖片來源: http://l.ovoy.click/vc97y
hash table 在 雜湊表- 維基百科,自由的百科全書 的相關結果
雜湊表(Hash table,也叫哈希表),是根據鍵(Key)而直接查詢在記憶體儲存位置的資料結構。也就是說,它通過計算出一個鍵值的函數,將所需查詢的數據映射到表中一個位置 ... ... <看更多>
hash table 在 Hash Table:Intro(簡介) 的相關結果
簡介:Dictionary(字典); 以Array實現的Direct Access Table; Hash Table的概念. 很可能發生Collision. Hash Function介紹. Division Method; Multiplication Method. ... <看更多>
hash table 在 白話的Hash Table 簡介 的相關結果
簡介Hash Table. Hash Table 是儲存(key, value) 這種mapping 關係的一種資料結構,從圖中可以很清楚地看到. ... <看更多>