Md Daily – Telegram
Md Daily
729 subscribers
239 photos
15 videos
21 files
283 links
راجب مقالات و مستندات فنی یا غیر فنی که میخونم و علایقم اینجا مینویسم :)


گروه کانال: https://news.1rj.ru/str/MdDailyGap

کورس ها: https://news.1rj.ru/str/MdDaily/395

وبلاگ: https://mddaily.ir
Download Telegram
میدونستید اگه موقع نصب ویندوز ۱۱ گزینه ی Time And currency format رو روی English(World) بذارید دیگه براتون برنامه ها و سرویس های اضافی رو نصب نمیکنه؟
دلیلشم اینکه با توجه به رجین و قوانین موجود توی اون رجین، سرویس ها و برنامه های شخص ثالثی که نصب میکنه متفاوته .
و روی این حالت هیچ برنامه ی شخص ثالثی براتون نصب نمیشه :)

@MdDaily
👍4👏2
#ترفند

با کامند man ascii میتونید خیلی سریع به جدول ascii دسترسی پیدا کنید

@MdDaily
👍1
متاسفانه Bram Moolenaar خالق ویم فوت کرده 💔🖤

@MdDaily
💔5
نسخه ی جدید Mx Linux (توزیع رنک 1 دیسترو واچ) بالاخره منتشر شد!

این نسخه برپایه ی Debian 12 هست و با نام نسخه ی MX Linux 23 Libretto در دسترس کاربران برای بروزرسانی و نصب قرار گرفته.

توی این نسخه تغییرات و بهبود های زیادی انجام شده .

مهم ترین تغییرات:

- معرفی لوگوی جدید

- بروزرسانی کرنل به نسخه ی 6.1 LTS

-بهبود های گرافیکی و فانکشنالیتی نصاب و اضافه شدن پشتیبانی از swapfiles هنگام نصب توزیع

- بروزرسانی دسکتاپ XFCE به نسخه ی 4.18

- بروزرسانی دسکتاپ Plasma به نسخه ی 5.27

- فعال شدن UFW firewall به صورت پیش فرض

- معرفی ابزار جدید : User Installed Packages با استفاده از این ابزار برای شما یه فایل شامل تمام برنامه هایی که نصب کردید درست میکنه. مثلا وقتی که توزیعتون رو میخواهید دوباره نصب کنید با استفاده از این فایل تمام برنامه هایی که قبلا نصب کرده بودید دوباره نصب میشوند و نیاز به نصب دستی مجدد اونها نیست.

@MdDaily
2
یه پروژه خیلی باحال پیدا کردم که توش اومده یه لیستی از کار هایی که برای حفظ حریم شخصی توی سه سیتم عامل ویندوز مک و لینوکس باید انجام بدید را آماده کرده چون حریم شخصی داشتن جذابه :)

وبسایت پروژه:
https://privacy.sexy

لینک گیت هاب پروژه:
https://github.com/undergroundwires/privacy.sexy

@MdDaily
2
68747470733a2f2f7668732e636861726d2e73682f7668732d3544797633707.gif
321.4 KB
یه ابزار cli خیلی باحال به نام Pop هست که با زبان گولنگ نوشته شده و باهاش میتونید هر نوع ایمیلی را از طریق ترمینال بفرستید‌.
حتی از ارسال فایل هم پشتیبانی میکنه و میتونید با استفاده از ویژگی mod از AI برای تولید متن ایمیل بر اساس موضوع استفاده کنید

لینک گیت هاب پروژه:
https://github.com/charmbracelet/pop

@MdDaily
👏3👍1
🥳بالاخره Go 1.21.0 منتشر شد!

تغییرات مهم این نسخه:

. اضافه شدن دو تابع جدید min و max

. اضافه شدن تابع جدید clear برای خالی کردن map و یا صفر کردن عناصر slice

.پکیج هایی که import میشه بر اساس path هاشون مرتب میشوند

.بهینه سازی های زیادی توی مصرف کم تر سی پیو و رم انجام شده و عملکرد garbage collectors بهینه تر شده

.پکیج های داخلی جدیدی مثل slog و slogtest که توی نمایش لاگ های بهتر و بهینه تر به شما کمک میکنند اضافه شدند

و...

میتونید لیست کامل تغییرات رو از اینجا ببینید:

https://go.dev/doc/go1.21

@MdDaily
2
#معرفی

برای تبدیل کد ها به عکس ابزار ها و اکستن شن های زیادی هست . یکی از این ابزار ها با کلی قابلیت سفارشی سازی https://ray.so/ هستش که میتونید پس زمینه، تم و پدینگ تصویر را تغییر بدید

گیت هاب پروژه:
https://github.com/raycast

@MdDaily
دولت و وزارت دفاع هند تصمیم گرفتند سیستم های دفاتر خود را با لینوکس جایگزین کنند .

به خاطر حجم گسترده ی حملات و مالویر هایی که آلودشون میکرده

اما خود همین جایگزینی چالش هایی رو هم به همراه داره. یکی از چالش ها رابط کاربری سیستم عامل هستش

برای همین یه توزیع جدید رو بنام Maya برای این کار ساختند که بر پایه ubuntu هست.

رابط کاربریش تا جای ممکن شبیه ویندوز طراحی شده که کارمندا برای کار با این سیستم جدید به مشکل نخورند .

همچنین این توزیع مجهز به یه ابزاری بنام Chakravyuh هست که یه پروتوکل محافظتیه و جزئیات بیشتری ازش منتشر نشده .

تا ۱۵ آگوست یا همون ۲۴ مرداد خودمونم به وزارت دفاع هند فرصت دادند که تمام سیستم های خودش را به Maya تغییر بده

لینک مقاله:
https://news.itsfoss.com/indian-govt-linux-windows/

@MdDaily
این کتاب رو توسعه دهنده های Stack Overflow با مستنداتی که تو چند سال گذشته تو این پلتفرم نوشته شده تهیه کردند.
به نظرم مهم ترین ویژگیش این بود که از اول تا آخرش شما با مثال میری جلو.
۵۵ فصل ۲۵۰ صفحه، هر سوالی رو متوجه نشدید از مدل های زبانی کمک بگیرید.

فایل کتاب در پست بعدی 👇

<Sabber>

@MdDaily
بعنوان برنامه نویس شاید برای شماهم جذاب باشه که بدونید شرکتای بزرگ چطور نرم افزارهاشون رو تولید میکنن؟

با چالشایی مثل Scale, performance, availability و..چیکار میکنن و اصلا ساختار تیماشون به چه شکله؟

این ریپازیتوری منبع خوبیه بابت خوندن درخصوص این مسائل:

https://github.com/binhnguyennus/awesome-scalability

<Reza>

@MdDaily
#privacy

https://PrivacyTools.io

تو این سایت کلی ابزار و نرم افزار معرفی کرده که با استفاده ازشون میتونید privacy بیشتری داشته باشید

@MdDaily
👍1
‏یه حرف خیلی خوبی که Andrew Chen، پارتنر a16z (یکی از بزرگترین VCهای دنیا) میزنه، اینه:

خلاقیت در شروع استارتاپ مهم نیست! بیشتر استارتاپ‌های موفق، به جای اینکه بیان روی یه ایده‌‌های بدون مشابه کار کنن، اتفاقا میان روی ایده‌هایی کار می‌کنن که بازارشون اثبات شده.

استارتاپ‌های موفق، میان یک ایده‌ اثبات شده رو کپی می‌کنن و بعدش سعی می‌کنن یک قسمتشو خیلی بهتر کنن. خلاقیت رو معطوف می‌کنن به بهتر کردن یک ایده، نه خلق یک ایده کاملا جدید.

در واقع این میانبری هست برای رسیدن به product/market fit. بعد از اون وقتی که استارتاپ جون گرفت و تو مرحله رشد قرار گرفت، حالا وقتش هست که شروع کنه به زیاد کردن خلاقیت و تست فرضیه‌هایی که شاید رشدش رو نمایی کنه، شایدم کار نکنه.

ریسک کردن زیاد هنگام شروع یک استارتاپ و چسبیدن به فرضیه‌هایی که قبلا اثبات نشده، معمولا کار درستی نیست و باعث شکست استارتاپ میشه.

<Farokh>

@MdDaily
🔸ساموئل جانسون معتقده که برای انجام دادن کارهای بزرگ به‌جای قدرت به ثبات و تداوم نیازه دارن. اما این جمله یعنی چی؟

🔹فرض کنین اضافه وزن دارین و می‌خواین برای بهتر شدنتون ورزش رو شروع کنین. اگه‌ تو هفته به‌صورت افراطی و خیلی شدید ورزش کنین به‌نظرتون چه اتفاقی می‌افته؟ سریع‌تر به وزن دلخواهتون می‌رسین؟

🔸جواب این سؤال قطعا نه هست و حتی ممکنه آسیب ببینین و دیگه نتونین ورزش کنین. اما اگه با توجه به آمادگی جسمانی‌تون تو مدت مثلاً ۶ ماه ورزش کنین چطور؟ چقدر نتیجه‌اش فرق می‌کنه؟

🔹این موضوع نشون می‌ده که وقتی می‌خوایم کار‌های مهم و بزرگی رو انجام بدیم باید صبر داشته باشیم و بتونیم توی انجام دادنشون ثبات داشته باشیم.

<TechRasa>

@MdDaily
👍1
نوشتن گیت هاب اکشن در پایتون

گیت هاب به توسعه دهندگان اجازه میده از سه طریق اکشن های مبتنی بر داکر، جاوا اسکریپت و کامپوزیت اکشن های سفارشی بنویسند. اما اگر نیاز باشه ما این کار را در پایتون انجام بدیم چی؟

صدرا تویه یک مقاله ابزاری را به نام PyAction معرفی کرده که با استفاده از این ابزار شما میتونید گیت هاب اکشن ها را در پایتون بنویسید :)

تویه پست زیر مقاله را ترجمه کردم و خلاصش را براتون آماده کردم

🆔 @MdDaily
2
چطوری با ابزار PyAction کار کنیم ؟

خب قبل از همه باید یه اکشن بسازیم . به دلیل اینکه PyAction از cookiecutter برای تولید تمپلیت استفاده میکنه. پس اول از همه باید cookiecutter را نصب کنیم با استفاده از دستور زیر:
pip install -U cookiecutter
بعد از نصب برای اینکه مطمئن بشید درست نصب شده دستور زیر را اجرا کنید:
cookiecutter -V

توی مرحله ی بعدی به فولدری که میخواین تمپلیت توش قراره بگیره برید و این دستور را اجرا کنید :
cookiecutter gh:lnxpy/cookiecutter-pyaction

بعد از اجرای این دستور یه سری سوالاتی از شما میپرسه .
Action name: نام اکشن شما
Project slug : آدرس فولدر یا ریپو
Python version: نسخه ی پایتون
Include dependencies: دپندسی های مورد نیاز
Branding Icon: Feather icons (وارد سایت بشید و اسم آیکون مورد نظر را توی این فیلد بنویسید. این آیکون را گیت هاب نشون میده)
Branding color: رنگ آیکون

> اگه قصد دارید اکشنتون رو توی GitHub Marketplace منتشر کنید مطمئن بشید که Action name ای وارد نکنید که تکراری باشه

بعد از اینکه به سوالات جواب دادید . یه فولدر جدیدی به نام چیزی که توی Project slug بهش دادید براتون میسازه .
تنها چیزی که باید تغییر بدیم فایل های action.yml، main.py و README.md هستند.
بعد از اینکه کار ستاپمون رو تموم کردیم وقت اینکه اولین اکشن خودمون رو بسازیم :)‌

توی این گیت هاب اکشن ما میخوایم به کاربر ها این امکان رو بدیم که متغیری بنام ‍‍name را به workflow ما بفرستند و و پیامی با محتوای :
Hello {name}
را ببینند

ادامه پست بعدی:

🆔 @MdDaily
3
برای این کار فایل action.yml ما باید دو بخش inputs و outputs را ویرایش کنیم:
...
# == inputs and outputs ==

inputs:
name:
required: false
denoscription: the person/thing you want to greet
default: World

outputs:
phrase:
denoscription: output message

با این روش کاربر ها میتونند موقع استفاده از اکشن ما مقدار name را تنظیم کنند و بعدش از طریق متغیر phrase خروجی پیام را ببینه.

و اما میریم سراغ main.py :
import os
import sys
from typing import List

from actions import io


def main(args: List[str]) -> None:
"""main function

Args:
args: STDIN arguments
"""

# reading the name variable from `with`
name = os.environ["INPUT_NAME"]

# writing to the buffer
io.write_to_output({"phrase": f"Hello {name}"})

# now, people can echo `phrase`


if __name__ == "__main__":
main(sys.argv)


کارما تقریبا تمومه و الان وقت تسته . برای تست فقط کافیه توی ریپوی گیت هابتون یه workflow بسازید . محتوای فایل main.yml:

# .github/workflows/main.yml
name: Testing My hello-world Action

on: workflow_dispatch

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- id: greetings
name: Using نام اکشن شما
# use the action that's inside the same repository
uses: ./
with:
name: @MdDaily

- name: Echo phrase
run: |
echo ${{ steps.greetings.outputs.phrase }}

و تمام :)
بعد از ذخیره میتونید به تب Actions ریپوی گیت هابتون برید روی Run Workflow کلیک کنید و تا تموم شدن بیلد اکشن منتظر بمونید.
توی لاگ های build میتونید بخش Echo phrase را باز کنید و خروجی echo و پیام مورد نظر را ببینید.


لینک های مفید:
https://github.com/lnxpy/cookiecutter-pyaction
https://github.com/lnxpy/pyaction-hello-world
https://haya14busa.github.io/github-action-brandings/

🆔 @MdDaily
4