#کتاب
Math for Programming: Learn the Math, Write Better Code
Author: Ronald T. Kneusel
Edition: 1st
Date: April 2025
Publisher: No Starch Press
Length: 504 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
Math for Programming: Learn the Math, Write Better Code
Author: Ronald T. Kneusel
Edition: 1st
Date: April 2025
Publisher: No Starch Press
Length: 504 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
👍4❤2🔥2
HICTE Blog
#کتاب Math for Programming: Learn the Math, Write Better Code Author: Ronald T. Kneusel Edition: 1st Date: April 2025 Publisher: No Starch Press Length: 504 pages Amazon 👀 Download 😉 🚁 Hicte Blog
توضیحات:
A one-stop-shop for all the math you should have learned for your programming career.
Every great programming challenge has mathematical principles at its heart. Whether you’re optimizing search algorithms, building physics engines for games, or training neural networks, success depends on your grasp of core mathematical concepts.
In Math for Programming, you’ll master the essential mathematics that will take you from basic coding to serious software development. You’ll discover how vectors and matrices give you the power to handle complex data, how calculus drives optimization and machine learning, and how graph theory leads to advanced search algorithms.
Through clear explanations and practical examples, you’ll learn to:
Harness linear algebra to manipulate data with unprecedented efficiency
Apply calculus concepts to optimize algorithms and drive simulations
Use probability and statistics to model uncertainty and analyze data
Master the discrete mathematics that powers modern data structures
Solve dynamic problems through differential equations
Whether you’re seeking to fill gaps in your mathematical foundation or looking to refresh your understanding of core concepts, Math for Programming will turn complex math into a practical tool you’ll use every day.
❤1👍1🔥1
#معرفی
راهنمای مشارکت بر روی پروژه پارچ:
https://wiki.parchlinux.com/fa/contributing
پارچ حدوداً ۷۹ مخزن داخل گیت خودش داره که میتونید روی اون ها مشارکت کنید و بهبود بدید!
🚁 Hicte Blog | @ParchLinux
راهنمای مشارکت بر روی پروژه پارچ:
https://wiki.parchlinux.com/fa/contributing
پارچ حدوداً ۷۹ مخزن داخل گیت خودش داره که میتونید روی اون ها مشارکت کنید و بهبود بدید!
🚁 Hicte Blog | @ParchLinux
🔥6👍3🤡3👌1
[ Source >> X ]
#امنیت
باگ امنیتی شبکهی 2G
این نسل کلا احراز هویت شبکه نداره، با IMSI catchers میشه موبایلهارو فریب داد که بهش وصل بشن (چون گوشی فکر میکنه این دکل مخابراتی واقعی هست). کارهای زیادی مثل پیدا کردن موقعیت، شنود تماس، پیامک و ... میشه انجام داد.
حتی وقتی شما دارید از 4G استفاده میکنید میشه اتصال شما رو دستکاری کرد که به 2G سوییچ کنه. توی دنیا دولتها و مجرمها ازش استفاده میکنن. با این حال دولتها خیلی هم بهش نیازی ندارن چون اونا قابلیتهای شنود قانونی (lawful interception - LI) در شبکههای تلفن همراه رو دارن.
مجرمها میتونن با تجهیزاتی در حدود ۵۰ دلار این کار رو انجام بدن. با این حال باگهای امنیتی 2G کم نیستن، تا جایی که از اندروید 12 یه گزینه اضافه کردن که میتونی 2G رو کلا غیر فعال کنی.
یه اصل هست «چیزی که تو بتونی شنود کنی بقیه هم میتونن» به خاطر همین دولتها (۶۱ کشور) برنامهریزی کردن 2G رو کلا خاموش کنن، یه جاهایی مثل ژاپن و استرالیا دیگه 2G نداره و بقیه هم تو فرایند پایان دادن به این تکنولوژی هستن.
🚁 Hicte Blog
#امنیت
باگ امنیتی شبکهی 2G
این نسل کلا احراز هویت شبکه نداره، با IMSI catchers میشه موبایلهارو فریب داد که بهش وصل بشن (چون گوشی فکر میکنه این دکل مخابراتی واقعی هست). کارهای زیادی مثل پیدا کردن موقعیت، شنود تماس، پیامک و ... میشه انجام داد.
حتی وقتی شما دارید از 4G استفاده میکنید میشه اتصال شما رو دستکاری کرد که به 2G سوییچ کنه. توی دنیا دولتها و مجرمها ازش استفاده میکنن. با این حال دولتها خیلی هم بهش نیازی ندارن چون اونا قابلیتهای شنود قانونی (lawful interception - LI) در شبکههای تلفن همراه رو دارن.
مجرمها میتونن با تجهیزاتی در حدود ۵۰ دلار این کار رو انجام بدن. با این حال باگهای امنیتی 2G کم نیستن، تا جایی که از اندروید 12 یه گزینه اضافه کردن که میتونی 2G رو کلا غیر فعال کنی.
یه اصل هست «چیزی که تو بتونی شنود کنی بقیه هم میتونن» به خاطر همین دولتها (۶۱ کشور) برنامهریزی کردن 2G رو کلا خاموش کنن، یه جاهایی مثل ژاپن و استرالیا دیگه 2G نداره و بقیه هم تو فرایند پایان دادن به این تکنولوژی هستن.
🚁 Hicte Blog
👍12⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
#میم
توضیحعلی برای کودک سال ها:
بهش میگن RCA connector
تو تلویزیونای قدیمی و اینا بود
زرد واسه تصویره
سفید واسه صدای مونو/چپ
قرمز واسه صدای راست [برای استریو]
ادیت: ونگوگ باید بجای قرمز، سفید میداشت.
🚁 Hicte Blog
توضیحعلی برای کودک سال ها:
تو تلویزیونای قدیمی و اینا بود
زرد واسه تصویره
سفید واسه صدای مونو/چپ
قرمز واسه صدای راست [برای استریو]
🚁 Hicte Blog
👍7🤣4🔥2😢2❤1😁1
#کتاب
Understanding the Linux Kernel: From I/O Ports to Process Management
Author: Daniel P. Bovet and Marco Cesati
Edition: 3rd
Date: December 2005
Publisher: O'Reilly Media
Length: 942 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
Understanding the Linux Kernel: From I/O Ports to Process Management
Author: Daniel P. Bovet and Marco Cesati
Edition: 3rd
Date: December 2005
Publisher: O'Reilly Media
Length: 942 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
👍3
HICTE Blog
#کتاب Understanding the Linux Kernel: From I/O Ports to Process Management Author: Daniel P. Bovet and Marco Cesati Edition: 3rd Date: December 2005 Publisher: O'Reilly Media Length: 942 pages Amazon 👀 Download 😉 🚁 Hicte Blog
توضیحات:
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.
The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:
Memory management, including file buffering, process swapping, and Direct memory Access (DMA)
The Virtual Filesystem layer and the Second and Third Extended Filesystems
Process creation and scheduling
Signals, interrupts, and the essential interfaces to device drivers
Timing
Synchronization within the kernel
Interprocess Communication (IPC)
Program execution
Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
HICTE Blog
#کوئیز 🚁 Hicte Blog
توی تکه کد بالا booo چی هست؟
Anonymous Quiz
19%
یه alias برای تایپ پوینتر به یه تابع که آرگومانی نمیگیره و signed char بر میگردونه.
17%
یه alias برای تایپ یه تابع که آرگومانی نمیگیره و پوینتر به signed char بر میگردونه.
12%
اسم یه تابع که آرگومانی نمیگیره و پوینتر به signed char بر میگردونه.
12%
syntax error.
40%
اطلاعی ندارم ✋.
👍3🔥1
#کتاب
Software Architecture: The Hard Parts
Author: Neal Ford and Mark Richards and Pramod Sadalage and Zhamak Dehghani
Edition: 1st
Date: November 2021
Publisher: O'Reilly Media
Length: 459 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
Software Architecture: The Hard Parts
Author: Neal Ford and Mark Richards and Pramod Sadalage and Zhamak Dehghani
Edition: 1st
Date: November 2021
Publisher: O'Reilly Media
Length: 459 pages
Amazon 👀
Download 😉
🚁 Hicte Blog
👍4🔥1
HICTE Blog
#کتاب Software Architecture: The Hard Parts Author: Neal Ford and Mark Richards and Pramod Sadalage and Zhamak Dehghani Edition: 1st Date: November 2021 Publisher: O'Reilly Media Length: 459 pages Amazon 👀 Download 😉 🚁 Hicte Blog
توضیحات:
There are no easy decisions in software architecture. Instead, there are many hard parts--difficult problems or issues with no best practices--that force you to choose among various compromises. With this book, you'll learn how to think critically about the trade-offs involved with distributed architectures.
Architecture veterans and practicing consultants Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani discuss strategies for choosing an appropriate architecture. By interweaving a story about a fictional group of technology professionals--the Sysops Squad--they examine everything from how to determine service granularity, manage workflows and orchestration, manage and decouple contracts, and manage distributed transactions to how to optimize operational characteristics, such as scalability, elasticity, and performance.
By focusing on commonly asked questions, this book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect.
Analyze trade-offs and effectively document your decisions
Make better decisions regarding service granularity
Understand the complexities of breaking apart monolithic applications
Manage and decouple contracts between services
Handle data in a highly distributed architecture
Learn patterns to manage workflow and transactions when breaking apart applications
#دواپس
توابع در ترافرم
توابع در ترافرم ابزاری هستن که بهت اجازه میدن مقادیر رو ترکیب کنی یا عملیات مختلف روش انجام بدی.
توابع رو توی ترافرم میشه توی فایلهای
اولین نکتهای که باید در نظر بگیریم اینه که هر تابع روی نوع خاصی از دادهها توی ترافرم اجراپذیر هست. یعنی مثلاً نمیتونی تابع عددی رو روی رشته اعمال کنی.
در کل توابع توی ترافرم به چند دسته تقسیم میشن:
۱. توابع رشتهای (String Functions)
۲. توابع لیست و مپ (Collection functions)
۳. توابع عددی (Numeric functions)
مثال کامل استفاده از توابع در
اینجوری میشه که فرض کنید ما یک ARN داریم به صورت
واسه یک ماشینی توی AWS و میخوایم که با استفاده از توابع براش ریسورس تعریف کنیم اینجوری میشه:
الان تابع Split که از توابع لیست هست اومده تو خط اول اون رشته ARN رو به لیست تعریف کرده و region و اکانت آیدی و اینستنس آیدی رو هم که الان دیگه تبدیل به لیست شده رو به راحتی از آرایه هاش استفاده کرده.
🚁 Hicte Blog | (Nariman Tj)
توابع در ترافرم
توابع در ترافرم ابزاری هستن که بهت اجازه میدن مقادیر رو ترکیب کنی یا عملیات مختلف روش انجام بدی.
توابع رو توی ترافرم میشه توی فایلهای
main.tf یا variables.tf یا در بلاکهای resource و variable و کلاً توی همه بلوکها استفاده کرد.اولین نکتهای که باید در نظر بگیریم اینه که هر تابع روی نوع خاصی از دادهها توی ترافرم اجراپذیر هست. یعنی مثلاً نمیتونی تابع عددی رو روی رشته اعمال کنی.
در کل توابع توی ترافرم به چند دسته تقسیم میشن:
۱. توابع رشتهای (String Functions)
upper("abc") → "ABC"
lower("ABC") → "abc"
replace("hello world", "world", "terraform") → "hello terraform"۲. توابع لیست و مپ (Collection functions)
length(["a", "b", "c"]) → 3
join(",", ["a", "b", "c"]) → "a,b,c"
split(",", "a,b,c") → ["a", "b", "c"]
lookup(map("key1", "val1"), "key1", "default") → "val1"
۳. توابع عددی (Numeric functions)
max(1, 5, 3) → 5
min(1, 5, 3) → 1
abs(-7) → 7
مثال کامل استفاده از توابع در
main.tfاینجوری میشه که فرض کنید ما یک ARN داریم به صورت
ARN of AWS EC2 = arn:aws:ec2:eu-west-1:123456789012:instance/i-0fb379ac92f436969
واسه یک ماشینی توی AWS و میخوایم که با استفاده از توابع براش ریسورس تعریف کنیم اینجوری میشه:
resource "aws_instance" "web" {
# arguments omitted for brevity
}
locals {
arn = split(":", aws_instance.web.arn)
region = local.arn[3] # eu-west-1
account_id = local.arn[4] # 123456789012
instance_id = local.arn[5] # instance/i-0fb379ac92f436969
}الان تابع Split که از توابع لیست هست اومده تو خط اول اون رشته ARN رو به لیست تعریف کرده و region و اکانت آیدی و اینستنس آیدی رو هم که الان دیگه تبدیل به لیست شده رو به راحتی از آرایه هاش استفاده کرده.
🚁 Hicte Blog | (Nariman Tj)
👍4❤1🔥1
[ Source >> @sudoshz ]
#متفرقه_لینوکس
📢 معرفی دوره کاربری آرچ لینوکس
🎯 همواره رسالت رسانه محتوای باز بر آن بوده که اولویت را بر آن نهد که آموزشهایی که در وب فارسی از جنس نرمافزارهای آزاد/متنباز، کمتر بدان پرداخته شده را مد نظر قرار دهد.
🐧 میتوان مدعا شد که توزیع گنو/لینوکسی آرچ لینوکس یکی از مواردی است که آموزش فارسی اندکی را در دهکده جهانی به خود اختصاص داده است.
🚀 لذا بر آن شدیم تا آموزش ویدئویی کاربری سیستمعامل آرچ لینوکس را تهیه و تدوین و به رایگان منتشر کنیم.
🛠️ دوره آموزش کاربری آرچ لینوکس (Arch Linux) که توسط علیرضا فیضآبادی و رسانه محتوای باز در اختیار شما قرار گرفته، کلیه مطالب اصولی و پایهای را دربردارد و میتوانید از این دوره آموزشی بهره لازم را ببرید.
💻 در این دوره با مقدمهای بر دنیای آرچ لینوکس و نحوه نصب آن بر روی کامپیوترهای خانگی به همراه توضیحاتی در مورد نحوه کارکرد برخی از اجزای آن، تست بر روی ویرچوال باکس و مشکلاتی که ممکن است در دنیای آرچ با آن مواجه شویم؛ آشنا میگردید.
🔗 لینک دوره: [ https://opencontent.ir/product/arch-linux-course ]
🚁 Hicte Blog | (smm)
#متفرقه_لینوکس
📢 معرفی دوره کاربری آرچ لینوکس
🎯 همواره رسالت رسانه محتوای باز بر آن بوده که اولویت را بر آن نهد که آموزشهایی که در وب فارسی از جنس نرمافزارهای آزاد/متنباز، کمتر بدان پرداخته شده را مد نظر قرار دهد.
🐧 میتوان مدعا شد که توزیع گنو/لینوکسی آرچ لینوکس یکی از مواردی است که آموزش فارسی اندکی را در دهکده جهانی به خود اختصاص داده است.
🚀 لذا بر آن شدیم تا آموزش ویدئویی کاربری سیستمعامل آرچ لینوکس را تهیه و تدوین و به رایگان منتشر کنیم.
🛠️ دوره آموزش کاربری آرچ لینوکس (Arch Linux) که توسط علیرضا فیضآبادی و رسانه محتوای باز در اختیار شما قرار گرفته، کلیه مطالب اصولی و پایهای را دربردارد و میتوانید از این دوره آموزشی بهره لازم را ببرید.
💻 در این دوره با مقدمهای بر دنیای آرچ لینوکس و نحوه نصب آن بر روی کامپیوترهای خانگی به همراه توضیحاتی در مورد نحوه کارکرد برخی از اجزای آن، تست بر روی ویرچوال باکس و مشکلاتی که ممکن است در دنیای آرچ با آن مواجه شویم؛ آشنا میگردید.
🔗 لینک دوره: [ https://opencontent.ir/product/arch-linux-course ]
🚁 Hicte Blog | (smm)
👍5
HICTE Blog
#کوئیز 🚁 Hicte Blog | (smm)
اعلانی از تابع foo که توی خط 5 نوشته شده معادل کدوم گزینه هست؟
Anonymous Quiz
11%
fv *foo(int, fv *);
11%
pfv foo(int, pfv);
5%
fv foo(int, fv *);
10%
fv foo(int, pfv);
13%
گزینههای 1 و 2
0%
گزینههای 3 و 4
7%
هیچکدام
43%
اطلاعی ندارم
👍1