Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
انرژیا بالاس، میریم تو کارش 🔥
میدونید Node.js چیه ؟
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 اگر در هنگام نصب وب سرور Lamp لوکال اجرا نشد و خطای زیر را داد :

Forbidden You don't have permission to access this resource


دستورات زیر وارد کنید:

sudo usermod -g www-data username
sudo systemctl restart apache2


قسمت username نام کاربری لینوکسی که ثبت کردید را وارد کنید.

این دستور کاربر را به www-data اضافه می کند و دسترسی را باز می کند.

این خطای بالایی معمولا هنگام جا به جایی پوشه www وب سرور Lamp به جای دیگر اتفاق می افتد.

#لینوکس

@TheRaymondDev
دوستان حس می‌کنم پارچم رو خراب کردم.

@SohrabContents
This media is not supported in your browser
VIEW IN TELEGRAM
به جایِ اینکه خودتون برید جوابِ سوالتون رو از لابه‌لایِ ایشوها، کدها و مستندات در بیارید، لینکِ مخزن گیتهاب رو به این سایت بدید و بعد ازش بپرسید. حتی می‌تونید آدرسِ پکیج موردنظر در npm, pypi, pub رو بهش بدید و بعد دربارهٔ اون پکیج سوال بپرسید.
app.commanddash.io

@DevTwitter | <Ayub Kokabi/>
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
روز برنامه نویس مبارک 🎉

@TheRaymondDev
#fun

- جاوااسکریپت تو یه لول دیگس :))

🚀 @coolycode
روز برنامه نویس مبارک 🎉


۲۱ شهریور (۱۲ سپتامبر) به عنوان "روز برنامه‌نویس" شناخته می‌شود زیرا این روز، ۲۵۶مین روز سال است. عدد ۲۵۶ برای برنامه‌نویسان معنای ویژه‌ای دارد؛ چون در سیستم دودویی (باینری) که اساس کامپیوترها و برنامه‌نویسی است، ۲۵۶ بزرگ‌ترین توانی است که می‌توان با ۸ بیت (یک بایت) نشان داد. همچنین، عدد ۲۵۶ در بسیاری از مفاهیم کامپیوتری به‌ویژه حافظه و پردازش داده‌ها اهمیت زیادی دارد. به همین دلیل، روز ۲۵۶مین روز سال در تقویم میلادی به عنوان روز برنامه‌نویس انتخاب شده است.

در تقویم میلادی، اگر سال کبیسه باشد، این روز به ۱۳ سپتامبر منتقل می‌شود.


@ninja_learn_ir
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
تیم همروش گزارشی از نظرسنجی ۲۰۲۴ استک‌اورفلو منتشر کرده که مطالب جذابی داره:

https://hamravesh.com/blog/stackoverflow-survey/

چیزی که به نظرم انتظار می‌رفت:

برای سالیان طولانی MySQL همواره محبوب‌ترین دیتابیس در آمارهای Stack Overflow بوده است. اما در طول ۲ سال گذشته PostgreSQL توانسته رتبه اول محبوب‌ترین دیتابیس دنیا را به خود اختصاص دهد. در جایگاه دوم نیز MySQL حضور دارد.

مانند سال‌های پیش، جاوااسکریپت، توانسته جایگاه محبوب‌ترین زبان برنامه‌نویسی را به خود اختصاص دهد. جالب است بدانید که از سال ۲۰۱۴ تا اکنون جاوااسکریپت همواره محبوب‌‌ترین زبان برنامه‌نویسی بوده است. بعد از زبان‌های HTML/CSS توانستند رتبه دوم و زبان پایتون رتبه سوم محبوب‌ترین زبان‌های برنامه‌نویسی، اسکریپت‌نویسی و نشانه‌گذاری را بدست بیاورند.

@code2_ir
12 سپتامبر (22 شهریور) روز برنامه نویسه
این روز به خاطر 256اُمین روز سال نامگذاری شده
عدد 256 بر مبنای 2 میشه 1 بایت :))

روز همه «از نظر فنی نمیشه»، «ساختارمون بهم میریزه» و «از کشه» ها مبارک

@DevTwitter
Forwarded from Linuxor ?
چند تا روش مصنوعی برای افزایش ذهنیت هکری که تا الان به صورت تجربی بدستشون آوردم


+ بمباران سوال : سعی کنید برای موضوعتون سوال طرح کنید. این کارو انقدر باید تکرار کنید که همیشه سوال های خوب به ذهنتون برسه و سوالای سطحی حذف بشه

+ نقض فرضیه ها : همه چیز ممکنه، سعی کنید فرضیه های مسئله رو به راحتی قبول نکنید. حتی در حد چند ثانیه بیشتر فکر کردن

+ از بازی روانی نترسید : قرار نیست یه سایت یا اپلیکیشن چون ui خوب و تعداد کاربر بالایی داره باگ نداشته باشه همه جا برای شما زمین بازیه حتی سایت Google.com

+ پلن برای فانه : استرس اینکه وقت و پول ندارم رو نداشته باشید، نگهبان بازی (مغزتون) بفهمه پول یا وقت ندارید خیلی بی رحمه اجازه نمیده خوب بازی کنید

+ سازنده باشید : فقط دنبال این نباشید که این سیستم رو هک کنم و اون سیستم رو هک کنم، خودتون سعی کنید یه سیستم بسازید، ناخودآگاه نقاط ضعف سیستم های بقیه رو پیدا می‌کنید

+ در نهایت شما نیاز به علم دارید : با ورودی اطلاعات ثابت به مغزتون به احتمال زیاد خروجی تکراری میده باید ورودی های مغزتون رو بالا ببرید تا بتونید خروجی های غیر تکراری تری تولید کنید


🐧 @Linuxor
Forwarded from Abolfazl Devs (Abolfazl)
Happy Programmer's Day 👨‍💻🎉
آپدیت وضعیت:

این مدت کارهای شرکت‌هایی که استعفا دادم رو پیش بردم و نیروهای جایگزین رو onboard کردم.
هرچند هنوز خودم درگیر هستم (ولی خیلی سعی می‌کنم دور بمونم و ساعت کاری پر نکنم)
پیشنهاد دستمزد بالاتر هم بهم دادند ولی دیگه نمی‌خوام کار کنم (پروژه‌ها خسته کننده شده)

توی این مدت بهم اجازه داد روزی ۳-۴ ساعت Rust کد بزنم.
الان از توانایی کد زدنم مطمئن شدم، اما با مدل پروژه‌هام حال نمی‌کنم بنظرم می‌شه بهتر ازین باشه واقعاً.

برای همین تصمیم گرفتم، از امروز دوباره برگردم روی آموزش خوندن، خوبی این مدت کد زدن این بود که فهمیدم یک سری مفاهیم رو جزئیاتش رو ندیدم توی آموزش‌های قبلی و این جزئیات برای کد بهتر و تمیزتر زدن مهم هست.

می‌تونم با سرچ بهش برسم ولی هربار سرچ کردن و خوندن با توجه به اینکه مرض درک جزئیات دارم زمان زیادی ازم داره میگیره، پس تصمیم گرفتم یک مقدار کد زدن رو کنار بذارم و باز به آموزش دیدن رو بیارم.

الان میدونم دقیقاً کجاها ضعف دارم و چه چیزهایی رو به جزئیاتش نیاز، البته که با منابع جدید ادامه خواهم داد.


این وسط یک اتفاق دیگه هم افتاد، چندروز قبل مدیرم با مدیرعامل headquarter اصلی برای دفاع از آنچه که به ناحق علیه تیم‌های فنی بود دعوا کرد.
امروز هم استعفا داد، با اینکه این شرکت تنها جایی بود که کار میکرد.
برای من بعنوان مدیر میانی (تیم‌لید بودم بیشتر) این موضوع خیلی درگیری ذهنی ایجاد کرد تا اینکه امروز به این تصمیم رسیدم با وجود اینکه این شرکت درآمد ساده و خوبی رو بهم می‌داد استعفا بدم در حمایت از مدیر خودم که به حق دعوا کرد، حدود ظهر اینکار رو کردم و متوجه شدم باقی مدیرهای فنی همراه ایشون هم استعفا دادند.

و بعد از اون یکسری از نیروهای زیر دست، متأسفانه با من هماهنگ نشده بود ولی همگی متنی یکسان برای استعفا داده بودند با این خلاصه که :

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

حدود ۷۰ نفر استعفا دادند در کل، اینجوری شد ۳ تا استعفای شغلی برای من
ولی بابت این آخری خیلی خوشحالم، بعد از این استعفا واقعاً حالم خوب شد چون طرف درستی وایسادم.

در نهایت اینکه؛ یک جورایی داره بهم الهام میشه که شاید وقتش هست برم سمت Rust برای موقعیت شغلی بعدی.

برای همین ۵-۶ مورد دعوت به همکاری که این چندروز بعد از تعطیلات دریافت کردم رو فعلا رد کردم؛ شاید با همین ۲ تا شغل که دارم بمونم و به وقت گذاشتن روی Rust ادامه بدم

شایدم ۱ مورد دیگر رو هم اضافه کنم، چون از اول تصمیم روی استعفا از ۲ تا شغل بود نه ۳ مورد.

ولی بطور خلاصه، برگشتم روی یادگیری باز و اینبار عمیق‌تر قرار هست Rust بخونم.
وسط یک مشت حاشیه توی جامعه نرم افزار آزاد طبق معمول، بالاخره پچم توی گنوم و گنوم‌موبایل مرج شد:

https://gitlab.gnome.org/verdre/gnome-shell-mobile/-/blob/46-mobile.1/CHANGELOG.md

@SohrabContents
ساخت فایل در Node.js
برای ساخت فایل و نوشتن در آن در Node.js از ماژول داخلی fs استفاده می‌کنیم:
ماژول fs را ایمپورت کنید:
javanoscript
Copy code
const fs = require('fs');
ایجاد و نوشتن در فایل:
javanoscript
Copy code
fs.writeFile('myfile.txt', 'این یک متن نمونه است.', (err) => { if (err) throw err; console.log('فایل با موفقیت ساخته شد.'); });
اجرای برنامه:
فایل را با دستور زیر در ترمینال اجرا کنید:
bash
Copy code
node filename.js
با این کار فایل myfile.txt ساخته شده و متن داخل آن ذخیره می‌شود.
برای سوالات بیشتر در دسترسم!
4o
You said:
یه نکته جذاب اخر متن بگو
ChatGPT said:
ChatGPT
اگر بخواهید به جای بازنویسی، اطلاعات جدیدی به فایل اضافه کنید، می‌توانید از متد appendFile استفاده کنید تا هر بار اطلاعات جدید به انتهای فایل اضافه شود، بدون اینکه محتوای قبلی پاک شود! 👌
4o
You said:
بازنویسی یعنی چه
ChatGPT said:
ChatGPT
بازنویسی یعنی وقتی محتوای جدیدی را در یک فایل می‌نویسید، محتوای قبلی فایل پاک می‌شود و فقط متن جدید در آن ذخیره می‌شود. در واقع، فایل به حالت اولیه بازگردانده می‌شود و محتوای قدیمی جایگزین می‌شود.
برای مثال، وقتی از متد writeFile در Node.js استفاده می‌کنید، اگر فایلی با همان نام وجود داشته باشد، تمام محتوای آن حذف می‌شود و متن جدید جایگزین می‌شود.
برای اینکه محتوای قبلی حفظ شود و فقط متن جدید به انتهای آن اضافه شود، باید از متد appendFile استفاده کنید.
ماژول fs در Node.js

ماژول fs (فایل سیستم) در Node.js برای کار با فایل‌ها و دایرکتوری‌ها استفاده می‌شود. این ماژول امکان خواندن، نوشتن، حذف و مدیریت فایل‌ها را فراهم می‌کند.
متدهای مهم fs:
fs.readFile(path, callback)
محتوای فایل را می‌خواند و در صورت موفقیت، آن را به کال‌بک برمی‌گرداند.
fs.writeFile(path, data, callback)
محتوای داده را در فایل می‌نویسد و فایل را بازنویسی می‌کند.
fs.appendFile(path, data, callback)
داده جدید را به انتهای فایل اضافه می‌کند بدون حذف محتوای قبلی.
fs.unlink(path, callback)
فایلی را حذف می‌کند.
fs.rename(oldPath, newPath, callback)
نام یا مکان فایل را تغییر می‌دهد.
fs.mkdir(path, callback)
یک دایرکتوری جدید ایجاد می‌کند.
fs.rmdir(path, callback)
دایرکتوری خالی را حذف می‌کند.
fs.readdir(path, callback)
لیست فایل‌ها و پوشه‌های داخل دایرکتوری مشخص شده را برمی‌گرداند.
fs.stat(path, callback)
اطلاعات مربوط به وضعیت فایل یا دایرکتوری (مانند سایز، تاریخ ایجاد) را برمی‌گرداند.
fs.copyFile(src, dest, callback)
فایل را از یک مکان به مکان دیگر کپی می‌کند.
fs.watch(path, listener)
تغییرات در یک فایل یا دایرکتوری را نظارت می‌کند و هر تغییری را گزارش می‌دهد.
fs.existsSync(path)
به صورت همزمان بررسی می‌کند که آیا فایل یا دایرکتوری وجود دارد یا خیر