Forwarded from Accio
What the hell is a tree-sitter and how is it any different than language server?
- What's a language server?
They're like compilers but with extra features meant for editors. The fact that your current text editor can show you where you have a function signature mismatch or you have an unused variable in another file or you can simply jump to the definition of the variable you're hovering, means they have some knowledge of the language and actually have gone through your code. This can be achieved via communicating with a language server (usually provided with the language tools). They all follow LSP interface so if an LS exists for your language, your editor can communicate with it.
- What's a tree-sitter?
Tree-sitter is a syntax parser much like the parsers used in compilers. It provides editors with details about the current file syntax and structure. It will aid editors to have better syntax-highlighting, folding features, jumping to function arguments, ...
- The difference:
You can see that a language server is capable of doing everything a tree-sitter can do and more. So why do we even have tree-sitters? The are fast. that's it. They only consider your current file (not the whole project like language servers) and they can provide your editor with useful information on a matter of keystrokes.
If you are interested in how tree-sitter works in general, This article is a good read
- What's a language server?
They're like compilers but with extra features meant for editors. The fact that your current text editor can show you where you have a function signature mismatch or you have an unused variable in another file or you can simply jump to the definition of the variable you're hovering, means they have some knowledge of the language and actually have gone through your code. This can be achieved via communicating with a language server (usually provided with the language tools). They all follow LSP interface so if an LS exists for your language, your editor can communicate with it.
- What's a tree-sitter?
Tree-sitter is a syntax parser much like the parsers used in compilers. It provides editors with details about the current file syntax and structure. It will aid editors to have better syntax-highlighting, folding features, jumping to function arguments, ...
- The difference:
You can see that a language server is capable of doing everything a tree-sitter can do and more. So why do we even have tree-sitters? The are fast. that's it. They only consider your current file (not the whole project like language servers) and they can provide your editor with useful information on a matter of keystrokes.
If you are interested in how tree-sitter works in general, This article is a good read
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
تقریباً عملیاتی کردن Clickjacking با وجود مکانیزمهای مدرن مرورگرها مثل SameSite: Lax ناممکن است.
اما حالا شاهد بوجود آمدن DoubleClickjacking هستیم!
برخلاف Clickjacking سنتی که به یک کلیک تکیه دارد، DoubleClickjacking از یک توالی دو کلیک بهرهبرداری میکند.
این تغییر ظاهراً کوچک به مهاجم اجازه میدهد تا از حفاظتهای موجود مانند X-Frame-Options، frame-ancestors در CSP و کوکیهای SameSite عبور کنند که همانطور میدانید میتواند به account takeovers منجر شود!
https://paulosyibelo.com/2024/12/doubleclickjacking-what.html
@DevTwitter | <Vahid Nameni/>
اما حالا شاهد بوجود آمدن DoubleClickjacking هستیم!
برخلاف Clickjacking سنتی که به یک کلیک تکیه دارد، DoubleClickjacking از یک توالی دو کلیک بهرهبرداری میکند.
این تغییر ظاهراً کوچک به مهاجم اجازه میدهد تا از حفاظتهای موجود مانند X-Frame-Options، frame-ancestors در CSP و کوکیهای SameSite عبور کنند که همانطور میدانید میتواند به account takeovers منجر شود!
https://paulosyibelo.com/2024/12/doubleclickjacking-what.html
@DevTwitter | <Vahid Nameni/>
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
امروز Google Authenticator رو باز کردم دیدم حالت آفلاین هم باز 2FA میده.
بعد جستجو فهمیدم از الگوریتم TOPT استفاده می کنه و برپایه HMAC هست؛ این سورس الگوریتم TOPT با go هست.
https://gist.github.com/AminCoder/5d970ab8a0e04d9dd3218e5627ae6b13
@DevTwitter | <Amin Badin/>
بعد جستجو فهمیدم از الگوریتم TOPT استفاده می کنه و برپایه HMAC هست؛ این سورس الگوریتم TOPT با go هست.
https://gist.github.com/AminCoder/5d970ab8a0e04d9dd3218e5627ae6b13
@DevTwitter | <Amin Badin/>
Forwarded from دستاوردهای یادگیری عمیق(InTec)
روز اول ترامپ؛
بیشتر از حداقل ۱۶ سال گذشته رئیس جمهورهای ایران برای کشورش سرمایهگذاری و ... به همراه آورد.
یعنی مبالغ و کارهایی که توی روز اول انجام شد؛ حتی ۵٪ اش توی ۱۶ سال گذشته توی ایران انجام نشده.
بیشتر از حداقل ۱۶ سال گذشته رئیس جمهورهای ایران برای کشورش سرمایهگذاری و ... به همراه آورد.
یعنی مبالغ و کارهایی که توی روز اول انجام شد؛ حتی ۵٪ اش توی ۱۶ سال گذشته توی ایران انجام نشده.
Forwarded from Geek Alerts
دمیس هاسابیس، مدیرعامل گوگل دیپمایند و برنده جایزه نوبل میگه امسال اولین داروهایی که به کمک AI ساخته شدن آزمایش بالینیشون شروع میشه.
در واقع یک اسپینآف برای کشف دارو ساختن به اسم Isomorphic Labs که خود هاسابیس مدیرش هست، جایزه نوبل هاسابیس هم بیربط نیست، با جان جامپر به خاطر کار روی AlphaFold که یک سیستم یادگیری عمیقه و میتونه ساختار پروتئینها را پیشبینی کنه این جایزه رو بردن.
البته تو این مسیر هم تنها نیست، انویدیا هم با خانواده BioNeMo از چارچوبهای یادگیری ماشین برای توسعه دارو و طراحی مولوکولی استفاده میکنه که به صورت اوپنسورس هم منتشر شدن. الان با غولهای داروسازی مثل نوو نوردیسک همکاری میکنه تا سیستمهای تحقیقاتی جدیدی هم راهاندازی کنن.
theregister
@geekalerts
در واقع یک اسپینآف برای کشف دارو ساختن به اسم Isomorphic Labs که خود هاسابیس مدیرش هست، جایزه نوبل هاسابیس هم بیربط نیست، با جان جامپر به خاطر کار روی AlphaFold که یک سیستم یادگیری عمیقه و میتونه ساختار پروتئینها را پیشبینی کنه این جایزه رو بردن.
البته تو این مسیر هم تنها نیست، انویدیا هم با خانواده BioNeMo از چارچوبهای یادگیری ماشین برای توسعه دارو و طراحی مولوکولی استفاده میکنه که به صورت اوپنسورس هم منتشر شدن. الان با غولهای داروسازی مثل نوو نوردیسک همکاری میکنه تا سیستمهای تحقیقاتی جدیدی هم راهاندازی کنن.
theregister
@geekalerts
Forwarded from Geek Alerts
ممنوعیت TikTok که از روز یکشنبه (۱۹ ژانویه) اجرایی شده بود الان با دستور ترامپ برای ۷۵ روز معلق شد.
یعنی اگه شرکتهای مثل اپل این اپ رو به اپ استور برگردونن جریمه نمیشن، البته حقوقدانها میگن ممکنه دستور ترامپ با قانون مطابقت نداشته باشه و اگه اپل و گوگل پلی تیکتاک رو در دسترس قرار بدن با جریمههای سنگین روبرو بشن.
از اون طرف دولت چین هم به نظر میاد مقداری کوتاه اومده و احتمالا دارن به فروش سهام ۵۰ درصدی تیکتاک به آمریکا فکر میکنن یعنی مشارکت ۵۰-۵۰ چین و آمریکا روی شرکت Bytedance وجود داشته باشه. اینجوری ترامپ میتونه کنگره آمریکا رو راضی به لغو دائمی ممنوعیت کنه و از طرفی چین هم به صورت کامل این برنامه رو از دست نمیده.
9to5mac
@geekalerts
یعنی اگه شرکتهای مثل اپل این اپ رو به اپ استور برگردونن جریمه نمیشن، البته حقوقدانها میگن ممکنه دستور ترامپ با قانون مطابقت نداشته باشه و اگه اپل و گوگل پلی تیکتاک رو در دسترس قرار بدن با جریمههای سنگین روبرو بشن.
از اون طرف دولت چین هم به نظر میاد مقداری کوتاه اومده و احتمالا دارن به فروش سهام ۵۰ درصدی تیکتاک به آمریکا فکر میکنن یعنی مشارکت ۵۰-۵۰ چین و آمریکا روی شرکت Bytedance وجود داشته باشه. اینجوری ترامپ میتونه کنگره آمریکا رو راضی به لغو دائمی ممنوعیت کنه و از طرفی چین هم به صورت کامل این برنامه رو از دست نمیده.
9to5mac
@geekalerts
Forwarded from Geek Alerts
برنامه Truecaller که مشخصات تماسگیرنده رو بهتون نمایش میده و مدتی بود توی آیفونها ویژگیهاش کار نمیکردن با اومد IOS 18 و ویژگی Live Caller ID Lookup شرکت اپل اومدن یک آپدیت منتشر کرد که الان اگر این برنامه رو نصب داشته باشید به صورت زنده هر کسی باهاتون تماس بگیره بهتون میگه کی هست.
البته که فقط در نسخه IOS 18 و بالاتر کار میکنه، این ویژگی هست که تمام گوشیهای اندرویدی الان دارن ولی در آیفون به دلیل امنیت و حریم خصوصی تا الان وجود نداشت. البته این برنامه یک بات هم در تلگرام به اسم @TrueCaller_Z_Bot داره که میتونید با حریمخصوصی بیشتر و فقط شماره وارد کنید و اطلاعاتی که از اون شماره داشته باشه رو بهتون میگه.
این اپ توسط الن ممدی (سوئدی) و نامی زرینقلم (ایرانی) در کشور سوئد و در سال ۲۰۰۹ ساخته شد.
Appstore
techcrunch
@geekalerts
البته که فقط در نسخه IOS 18 و بالاتر کار میکنه، این ویژگی هست که تمام گوشیهای اندرویدی الان دارن ولی در آیفون به دلیل امنیت و حریم خصوصی تا الان وجود نداشت. البته این برنامه یک بات هم در تلگرام به اسم @TrueCaller_Z_Bot داره که میتونید با حریمخصوصی بیشتر و فقط شماره وارد کنید و اطلاعاتی که از اون شماره داشته باشه رو بهتون میگه.
این اپ توسط الن ممدی (سوئدی) و نامی زرینقلم (ایرانی) در کشور سوئد و در سال ۲۰۰۹ ساخته شد.
Appstore
techcrunch
@geekalerts
Forwarded from Gopher Academy
Forwarded from Geek Alerts
دیوید جانچو، تدوینگر فیلم تحسین شده «بروتالیست» گفته ما از هوشمصنوعی برای بهبود لهجهی مجارستانی آدرین برودی و همبازیش فلیسیتی جونز استفاده کردیم. این هفته گذشته کلی جنجال داشت که الان به اسکار هم کشیده شده.
جانچو میگه من کامل به زبان مجاستانی مسلط هستم و تلفظ کلمات تو این زبان سخته، ما به برودی آموزش دادیم و کارش هم واقعا خوب بود ولی توی تدوین تصمیم گرفتیم با AI کاملترش کنیم. از طرفی جاهای دیگه فیلم مثلا برای کلاسیک کردن رنگبندیها استفاده کردن، در واقع به کمک AI کاری کردن که رندر خروجی فیلم شبیه به فیلمهاش دهه ۱۹۸۰ بشه.
از اونجایی که منتقدها بازی آدرین برودی رو تحسین برانگیز میدونن و اون شانس برنده شدن اسکار رو داره خیلیها انتقاد دارن این استفاده از AI نباید باعث برنده شدن اسکار توسط این بازیگر یا برنده شدن فیلم باشه. سازندگان فیلم اما اعلام میکنن از AI فقط برای رندر خروجی و اصلاح موارد کمی از تلفظ کلمات استفاده کردن که زمان یا شرایط اصلاح اونها وجود نداشته.
ktla
@geekalerts
جانچو میگه من کامل به زبان مجاستانی مسلط هستم و تلفظ کلمات تو این زبان سخته، ما به برودی آموزش دادیم و کارش هم واقعا خوب بود ولی توی تدوین تصمیم گرفتیم با AI کاملترش کنیم. از طرفی جاهای دیگه فیلم مثلا برای کلاسیک کردن رنگبندیها استفاده کردن، در واقع به کمک AI کاری کردن که رندر خروجی فیلم شبیه به فیلمهاش دهه ۱۹۸۰ بشه.
از اونجایی که منتقدها بازی آدرین برودی رو تحسین برانگیز میدونن و اون شانس برنده شدن اسکار رو داره خیلیها انتقاد دارن این استفاده از AI نباید باعث برنده شدن اسکار توسط این بازیگر یا برنده شدن فیلم باشه. سازندگان فیلم اما اعلام میکنن از AI فقط برای رندر خروجی و اصلاح موارد کمی از تلفظ کلمات استفاده کردن که زمان یا شرایط اصلاح اونها وجود نداشته.
ktla
@geekalerts
Forwarded from کانال مهرداد لینوکس
🔥 دستور tar در لینوکس
در ادامه بحث Backup گیری شما نیاز دارید، فایل و یا فولدر هاتون را در یک فایل با هم ترکیب و درصورت نیاز فشرده و مجوزها را حفظ کنید تا Backup گیری ساده تر بشه.
🔆 آرشیوهای Linux Tape archive (tar) همین کار را میکنه
✅ کاربرد
💠آرشیو کردن (Archiving)
💠فشردهسازی (Compression)
💠پشتیبانگیری (Backup)
💠انتقال دادهها (Data Transfer)
✅ساختار دستور tar
✅ مثال :
برای Incremental Backup
❤️ ممنون از حمایت هاتون 💐🌺
#لینوکس
#linux
در ادامه بحث Backup گیری شما نیاز دارید، فایل و یا فولدر هاتون را در یک فایل با هم ترکیب و درصورت نیاز فشرده و مجوزها را حفظ کنید تا Backup گیری ساده تر بشه.
🔆 آرشیوهای Linux Tape archive (tar) همین کار را میکنه
✅ کاربرد
💠آرشیو کردن (Archiving)
💠فشردهسازی (Compression)
💠پشتیبانگیری (Backup)
💠انتقال دادهها (Data Transfer)
✅ساختار دستور tar
tar [operation mode] [options] [archive] [files or locations]
✅ مثال :
tar -c -f backupfile.tar ./Mehrdad_Backup_Folder
برای Incremental Backup
tar --create --gzip --file=incremental-backup-1.tar.gz --listed-incremental=backup.snar ./MehrdadLinux_Folder
ماکروسافت در Windows 11 22H2 در تاریخ October 31, 2023 اعلام کرد به صورت native از Tar پشتیبانی میکنه
❤️ ممنون از حمایت هاتون 💐🌺
#لینوکس
#linux
Forwarded from Geek Alerts
ایلان ماسک این عکس رو گذشته که تعداد دفعات استفاده کلمات افراطگرایی رو برای گروههای سیاسی در ویکیپدیا نشون میده و نوشته «تا زمانی که تعادل برقرار نشود، کمکهای مالی به ویکیپدیا را قطع کنید.» منظورش اینه که این برنامه به شکل جهتداری محتوا تولید میکنه.
در پاسخ جیمی ولز، بنیانگذار ویکیپدیا نوشت «فکر میکنم ایلان ناراحت است که ویکیپدیا برای فروش نیست. امیدوارم کمپین او برای قطع کمکهای مالی به ما، منجر به دریافت کمکهای زیاد از سوی افرادی شود که به حقیقت اهمیت میدهند.»
jimmy_wales
@geekalerts
در پاسخ جیمی ولز، بنیانگذار ویکیپدیا نوشت «فکر میکنم ایلان ناراحت است که ویکیپدیا برای فروش نیست. امیدوارم کمپین او برای قطع کمکهای مالی به ما، منجر به دریافت کمکهای زیاد از سوی افرادی شود که به حقیقت اهمیت میدهند.»
jimmy_wales
@geekalerts
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 به نظر میاد گوگل تایید اکانت یوتیوب با شماره مجازی ممنوع کرده است و فقط باید شماره موبایل واقعی اکانت یوتیوب را تایید کنید.
اسم ایران وجود دارد اما ...
@TheRaymondDev
اسم ایران وجود دارد اما ...
@TheRaymondDev
Forwarded from BenDev
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره
و تک تک عناصر رو خروجی بده با استفاده از جنریتور
برای مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,2,3,"a","b"]
#تمرین_پایتون
@BenDevelop
و تک تک عناصر رو خروجی بده با استفاده از جنریتور
برای مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,2,3,"a","b"]
#تمرین_پایتون
@BenDevelop
Forwarded from Gopher Academy
🔵 عنوان مقاله
if got, want: A Simple Way to Write Better Go Tests
🟢 خلاصه مقاله:
مقالهای که بررسی شد به بیان یک الگوی برجسته در بخش تست نویسی در زبان برنامه نویسی Go میپردازد که کمتر شناخته شده است. این الگو شامل استفاده از تخصیص و مقایسه در یک خط دستوری if است که باعث میشود خواندن و درک کد آزمایشی آسانتر شود. این روش تست نویسی به ما امکان میدهد که در زمان کمتر و با کدی که بهتر از نظر ساختاری سازماندهی شده است، کد را تست کنیم. بیان شده است که این الگو حتی در کتابخانه استاندارد زبان Go نیز مورد استفاده قرار گرفته است. نویسندگان اغلب مزایای استفاده از این الگو را نادیده میگیرند، درحالی که میتواند به بهبود فهم و کارایی کدهای تست کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/164269/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
if got, want: A Simple Way to Write Better Go Tests
🟢 خلاصه مقاله:
مقالهای که بررسی شد به بیان یک الگوی برجسته در بخش تست نویسی در زبان برنامه نویسی Go میپردازد که کمتر شناخته شده است. این الگو شامل استفاده از تخصیص و مقایسه در یک خط دستوری if است که باعث میشود خواندن و درک کد آزمایشی آسانتر شود. این روش تست نویسی به ما امکان میدهد که در زمان کمتر و با کدی که بهتر از نظر ساختاری سازماندهی شده است، کد را تست کنیم. بیان شده است که این الگو حتی در کتابخانه استاندارد زبان Go نیز مورد استفاده قرار گرفته است. نویسندگان اغلب مزایای استفاده از این الگو را نادیده میگیرند، درحالی که میتواند به بهبود فهم و کارایی کدهای تست کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/164269/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
mtlynch.io
if got, want: A Simple Way to Write Better Go Tests
There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds.
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
پکیج پر کاربرد scribe در لاراول
برای مستند سازی api ها هستش که شما خیلی سریع با وارد کردن دستور زیر تمامی api ها به صورت سریع و اتوماتیک مستند میشن
scribe:generate
ابزار ها و پکیج های خوبی مثل Swagger وجود دارن ولی اگه بخواهییم generate کنیم به صورت اتوماتیک در لاراول، باید یک سری موارد رو دستی بنویسیم که حداقل از حوصله من خارجه
ولی با پکیج scribe خیلی راحت میتونید این مورد رو هندل کنید که حداقل یک مستند api route هارو داشته باشید
لینک پکیج برای نصب و داکیومنت :
https://scribe.knuckles.wtf/laravel/
@DevTwitter | <Mohtaba Zaferani/>
برای مستند سازی api ها هستش که شما خیلی سریع با وارد کردن دستور زیر تمامی api ها به صورت سریع و اتوماتیک مستند میشن
scribe:generate
ابزار ها و پکیج های خوبی مثل Swagger وجود دارن ولی اگه بخواهییم generate کنیم به صورت اتوماتیک در لاراول، باید یک سری موارد رو دستی بنویسیم که حداقل از حوصله من خارجه
ولی با پکیج scribe خیلی راحت میتونید این مورد رو هندل کنید که حداقل یک مستند api route هارو داشته باشید
لینک پکیج برای نصب و داکیومنت :
https://scribe.knuckles.wtf/laravel/
@DevTwitter | <Mohtaba Zaferani/>
Forwarded from Linuxor ?
چت جی پی تی یکی از API هاش باگ داشته و ازش به عنوان Mirror برای حمله DDoS استفاده میکردن
قضیه این شکلی بوده که یکی از API های ChatGPT یه پارامتر urls داشته که لیست آدرس های URL رو میگرفته ولی برنامه نویس های OpenAI غفلت کردن و یونیک بودن و حداکثر تعداد براش مشخص نکردن و مهاجما به تعداد زیاد آدرس قربانی رو قرار میدادن و یجورایی حمله DDoS از سمت سرور های ChatGPT به سرور قربانی میزدن؛ توی این لینک توضیحات فنی و کامل ترش هست.
@Linuxor
قضیه این شکلی بوده که یکی از API های ChatGPT یه پارامتر urls داشته که لیست آدرس های URL رو میگرفته ولی برنامه نویس های OpenAI غفلت کردن و یونیک بودن و حداکثر تعداد براش مشخص نکردن و مهاجما به تعداد زیاد آدرس قربانی رو قرار میدادن و یجورایی حمله DDoS از سمت سرور های ChatGPT به سرور قربانی میزدن؛ توی این لینک توضیحات فنی و کامل ترش هست.
@Linuxor
Forwarded from Laravel News
Managing Laravel View Search Paths https://laravel-news.com/view-search-paths
Laravel News
Managing Laravel View Search Paths - Laravel News
Explore Laravel's prependLocation method for streamlined view path management. Learn to efficiently prioritize custom view locations when implementing themes, plugins, or modular systems.
Forwarded from Laravel News
Laravel SpaceOCR: Parse Images and Multi-page PDFs in Laravel https://laravel-news.com/laravel-spaceocr
Laravel News
Laravel SpaceOCR: Parse Images and Multi-page PDFs in Laravel - Laravel News
The Laravel OCRSpace package integrates with the OCRSpace API to provide a simple way to parse images and multi-page documents into JSON using Optical Character Recognition.
Forwarded from LearnPOV | لرن پی او وی
This media is not supported in your browser
VIEW IN TELEGRAM
#fun
خیلی خوب بود این، مو جهش یافته یُوم ... 😂
- وقتی به باگ خوردی و میگی این دیگه چیه
+ همون لحظه واکنش باگ :
.
.
.
🚀 @coolycode