Forwarded from صرفا جهت اطلاع برنامهنویسان
🔷گزارش نظرسنجی از دولوپرهای سراسر دنیا در ۲۰۱۸
🔹فریمورکها و لایبرریهای مورد نیاز بازار کار
🔹محبوبترین و منفورترین
🔹تسلط دولوپر ها
🔹دغدغهٔ کارفرمایان و ...
goo.gl/Zm6WoY
@programming_tips
🔹فریمورکها و لایبرریهای مورد نیاز بازار کار
🔹محبوبترین و منفورترین
🔹تسلط دولوپر ها
🔹دغدغهٔ کارفرمایان و ...
goo.gl/Zm6WoY
@programming_tips
LinkPlace
https://paperprograms.org/
Paper Programs چگونه کار میکنند؟
برنامهها با استفاده از Node.js و PostgreSQL بر روی سرور سایت PaperPrograms.org ذخیره میشوند؛ هر برنامه یک شماره دارد که نقاط روی کاغذ آن شماره را اِنکد میکنند. هر گوشه بهطور منحصربهفردی با 5 نقطه و 5 رنگ یکتا شناسایی میشود؛ یعنی هر کاربر میتواند حدود 600 کاغذ یکتا داشته باشد.
دوربین نقاط را شناسایی کرده و برنامه مربوط به هر کاغذ را بازیابی میکند. این کار روی مرورگر با استفاده از OpenCV کامپایل شده به زبان WebAssembly انجام میشود (همچنین میتوان از کد جاوااسکریپت شخصیسازی شده برای انجام این کار استفاده کرد). کالیبراسیون آن هم بهصورت عملی و با استفاده از UI تعریف شده در React انجام میشود. در نهایت، کد برنامه و تنظیمات آن در حافظهٔ لوکال مرورگر ذخیره میشوند.
برنامهنویسی و اجرای برنامهها در یک پنجرهٔ مرورگر جداگانه انجام میشوند. برنامهها بهصورت غیر همزمان در Web Worker اجرا شده و میتوانند درخواست دسترسی به یک Canvas یا مختصات برنامههای دیگر را بدهند (به عبارت دیگر، برنامه درخواست دسترسی به برنامهٔ دیگر یا فراخوانی یک برنامه دیگر را دارا است).
در نهایت یک صفحهٔ ادیتور وجود دارد که هر کاربر با یک لپتاپ یا تبلت میتواند برنامهها را با استفاده از Monaco ویرایش کند. هنگام ایجاد یک برنامهٔ جدید، میتوانید دکمهٔ پرینت را بزنید تا یک کاغذ جدید پرینت شود. متن برنامه روی کاغذ پرینت میشود و شما میتوانید روی آن برنامه را اجرا کنید.
برنامهها با استفاده از Node.js و PostgreSQL بر روی سرور سایت PaperPrograms.org ذخیره میشوند؛ هر برنامه یک شماره دارد که نقاط روی کاغذ آن شماره را اِنکد میکنند. هر گوشه بهطور منحصربهفردی با 5 نقطه و 5 رنگ یکتا شناسایی میشود؛ یعنی هر کاربر میتواند حدود 600 کاغذ یکتا داشته باشد.
دوربین نقاط را شناسایی کرده و برنامه مربوط به هر کاغذ را بازیابی میکند. این کار روی مرورگر با استفاده از OpenCV کامپایل شده به زبان WebAssembly انجام میشود (همچنین میتوان از کد جاوااسکریپت شخصیسازی شده برای انجام این کار استفاده کرد). کالیبراسیون آن هم بهصورت عملی و با استفاده از UI تعریف شده در React انجام میشود. در نهایت، کد برنامه و تنظیمات آن در حافظهٔ لوکال مرورگر ذخیره میشوند.
برنامهنویسی و اجرای برنامهها در یک پنجرهٔ مرورگر جداگانه انجام میشوند. برنامهها بهصورت غیر همزمان در Web Worker اجرا شده و میتوانند درخواست دسترسی به یک Canvas یا مختصات برنامههای دیگر را بدهند (به عبارت دیگر، برنامه درخواست دسترسی به برنامهٔ دیگر یا فراخوانی یک برنامه دیگر را دارا است).
در نهایت یک صفحهٔ ادیتور وجود دارد که هر کاربر با یک لپتاپ یا تبلت میتواند برنامهها را با استفاده از Monaco ویرایش کند. هنگام ایجاد یک برنامهٔ جدید، میتوانید دکمهٔ پرینت را بزنید تا یک کاغذ جدید پرینت شود. متن برنامه روی کاغذ پرینت میشود و شما میتوانید روی آن برنامه را اجرا کنید.
LinkPlace
Paper Programs چگونه کار میکنند؟ برنامهها با استفاده از Node.js و PostgreSQL بر روی سرور سایت PaperPrograms.org ذخیره میشوند؛ هر برنامه یک شماره دارد که نقاط روی کاغذ آن شماره را اِنکد میکنند. هر گوشه بهطور منحصربهفردی با 5 نقطه و 5 رنگ یکتا شناسایی…
نمیدونم نگاهش کردین یا نه ولی پیپر پروگرمز از ایده داینامیک لند راه افتاده.
بیشتر از این که چیکار میکنه این که فلسفه پشتش چیه مهمه. داینامیک لند حاصل ریسرچ یه سری از شاید بهترین مغز های طراحی اینترفیس تاریخه. برت ویکتور (کسی که بخش زیادی از اینترفیس های اپل رو طراحی کرده و ایده هاش باعث به وجود اومدن یه سری از اساسی ترین مفاهیم این چند وقت شدن مثل پلیگراند های کد، کد های ریاکتیو، داکیومنت های اینتراکتیو، اینترفیس های اوتومیشن بدون پروگرمینگ، ویژوالایزیشن های بهتر و...)
یکی دیگه از آدمای خیلی گنده ای هم که توی داینامیک لند هست آلن کی ئه که اگه نمیشناسینش کافیه یکی بگه کسی که کلا ایده Graphical User Interface رو سر زیراکس اسپارک اختراع کرده،
یه سری آدم خیلی باحال مثل لری تسر (کسی که باعث شد دیگه mode توی برنامه ها وجود نداشته باشه) کار کردن (mode یعنی برای هر کاری برنامه یه حالت خاص داشته باشه، تو تکست ادیتور های قدیمی مد وجود داشت و شما مثلا توی Vim باید برین تو مد اینسرت که بتونین یه چیزی بنویسن، مد کامند برای اکسکیوت کردن و ....، لری تسر ادیتور های مدرن رو درست کرد که این مشکل رو مرتفع بکنه و نتیجه این کار بزرگش این بود که copy & paste رو اختراع کرد (احتمالا همتون به خاطر لری تسر به اینجا رسیدین))
ایده داینامیک لند هم خیلی بزرگه ولی هنوز خیلی کار داره. ایدشون ساختن یه کامپیوتره که فیزیکیه و آدما تو یه محیطی باهم حرف میزنن و کار میکنن و در حین کار باهم ارتباط دارن. بهتره برین سایتشون رو ببینین:
http://dynamicland.org
به جز اون اگه یه درسد براتون آینده برنامه نویسی جالبه و دوست دارین در مورد اینترفیس ها و humane بودنشون بیشتر بدونین به شدت توصیه میکنم این پلی لیست رو ببینین:
https://www.youtube.com/playlist?list=PLOD26EKGRtP_C0_LL5MVKX8oTKGrdTIMX
(فک نمیکنم در مورد چیزی گفته باشمش ولی این پلی لیست به احتمال بالا زندگیتون یا حداقل تفکرتون رو به طور کامل عوض میکنه)
بیشتر از این که چیکار میکنه این که فلسفه پشتش چیه مهمه. داینامیک لند حاصل ریسرچ یه سری از شاید بهترین مغز های طراحی اینترفیس تاریخه. برت ویکتور (کسی که بخش زیادی از اینترفیس های اپل رو طراحی کرده و ایده هاش باعث به وجود اومدن یه سری از اساسی ترین مفاهیم این چند وقت شدن مثل پلیگراند های کد، کد های ریاکتیو، داکیومنت های اینتراکتیو، اینترفیس های اوتومیشن بدون پروگرمینگ، ویژوالایزیشن های بهتر و...)
یکی دیگه از آدمای خیلی گنده ای هم که توی داینامیک لند هست آلن کی ئه که اگه نمیشناسینش کافیه یکی بگه کسی که کلا ایده Graphical User Interface رو سر زیراکس اسپارک اختراع کرده،
یه سری آدم خیلی باحال مثل لری تسر (کسی که باعث شد دیگه mode توی برنامه ها وجود نداشته باشه) کار کردن (mode یعنی برای هر کاری برنامه یه حالت خاص داشته باشه، تو تکست ادیتور های قدیمی مد وجود داشت و شما مثلا توی Vim باید برین تو مد اینسرت که بتونین یه چیزی بنویسن، مد کامند برای اکسکیوت کردن و ....، لری تسر ادیتور های مدرن رو درست کرد که این مشکل رو مرتفع بکنه و نتیجه این کار بزرگش این بود که copy & paste رو اختراع کرد (احتمالا همتون به خاطر لری تسر به اینجا رسیدین))
ایده داینامیک لند هم خیلی بزرگه ولی هنوز خیلی کار داره. ایدشون ساختن یه کامپیوتره که فیزیکیه و آدما تو یه محیطی باهم حرف میزنن و کار میکنن و در حین کار باهم ارتباط دارن. بهتره برین سایتشون رو ببینین:
http://dynamicland.org
به جز اون اگه یه درسد براتون آینده برنامه نویسی جالبه و دوست دارین در مورد اینترفیس ها و humane بودنشون بیشتر بدونین به شدت توصیه میکنم این پلی لیست رو ببینین:
https://www.youtube.com/playlist?list=PLOD26EKGRtP_C0_LL5MVKX8oTKGrdTIMX
(فک نمیکنم در مورد چیزی گفته باشمش ولی این پلی لیست به احتمال بالا زندگیتون یا حداقل تفکرتون رو به طور کامل عوض میکنه)
dynamicland.org
Incubating a humane dynamic medium.
http://www.reactnativeexpress.com
اگه دوست دارید ری اکت نیتیو یاد بگیرید این داکیومنت خوب و کاملی هستش
آخرشم چندتا اپ میزنید که یکیش یه قمست از اپ Uber هستش
اگه دوست دارید ری اکت نیتیو یاد بگیرید این داکیومنت خوب و کاملی هستش
آخرشم چندتا اپ میزنید که یکیش یه قمست از اپ Uber هستش
Forwarded from The Art of Programming (tan)
Something you might not know - from Python 3.6 onwards, dictionary keys stay in the order they were inserted:
https://stackoverflow.com/questions/39980323/are-dictionaries-ordered-in-python-3-6
https://stackoverflow.com/questions/39980323/are-dictionaries-ordered-in-python-3-6
Stack Overflow
Are dictionaries ordered in Python 3.6+?
Dictionaries are insertion ordered as of Python 3.6. It is described as a CPython implementation detail rather than a language feature. The documentation states:
dict() now uses a “compact”
dict() now uses a “compact”
Learning-React-Native.pdf
15.5 MB
کتاب آموزش ری اکت نیتیو
از مجموعه انتشارات OREILLY
از مجموعه انتشارات OREILLY
Forwarded from Dataacademy.ir
چه مفاهیمی را نمی توان داده کاوی نامید! چه چیزهایی داده کاوی نیست!!! https://goo.gl/QoFJcA
Forwarded from Tech C**P (Alireza Hos.)
Make your
Django deliberately doesn’t serve media for you, and it’s designed that way to save you from yourself. If you try to serve media from the same Apache instance that’s serving Django, you’re going to absolutely kill performance. Apache reuses processes between each request, so once a process caches all the code and libraries for Django, those stick around in memory. If you aren’t using that process to service a Django request, all the memory overhead is wasted.
So, set up all your media to be served by a different web server entirely. Ideally, this is a physically separate machine running a high- performance web server like lighttpd or tux. If you can’t afford the separate machine, at least have the media server be a separate process on the same machine.
For more information on how to separate static folder:
- https://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files
If you can afford it, stick your database server on a separate machine, too. All too often Apache and PostgreSQL (or MySQL or whatever) compete for system resources in a bad way. A separate DB server — ideally one with lots of RAM and fast (10k or better) drives — will seriously improve the number of hits you can dish out.
I don’t totally understand how KeepAlive works, but turning it off on our Django servers increased performance by something like 50%. Of course, don’t do this if the same server is also serving media… but you’re not doing that, right?
Although Django has support for a number of cache backends, none of them perform even half as well as memcached does. If you find yourself needing the cache, do yourself a favor and don’t even play around with the other backends; go straight for memcached.
#python #django #memcached
Django application blazing fast by doing some tips:1- Use a separate media server:Django deliberately doesn’t serve media for you, and it’s designed that way to save you from yourself. If you try to serve media from the same Apache instance that’s serving Django, you’re going to absolutely kill performance. Apache reuses processes between each request, so once a process caches all the code and libraries for Django, those stick around in memory. If you aren’t using that process to service a Django request, all the memory overhead is wasted.
So, set up all your media to be served by a different web server entirely. Ideally, this is a physically separate machine running a high- performance web server like lighttpd or tux. If you can’t afford the separate machine, at least have the media server be a separate process on the same machine.
For more information on how to separate static folder:
- https://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files
2- Use a separate database server:If you can afford it, stick your database server on a separate machine, too. All too often Apache and PostgreSQL (or MySQL or whatever) compete for system resources in a bad way. A separate DB server — ideally one with lots of RAM and fast (10k or better) drives — will seriously improve the number of hits you can dish out.
3- Turn off KeepAlive:I don’t totally understand how KeepAlive works, but turning it off on our Django servers increased performance by something like 50%. Of course, don’t do this if the same server is also serving media… but you’re not doing that, right?
4- Use memcached:Although Django has support for a number of cache backends, none of them perform even half as well as memcached does. If you find yourself needing the cache, do yourself a favor and don’t even play around with the other backends; go straight for memcached.
#python #django #memcached
Tech C**P
Make your Django application blazing fast by doing some tips: 1- Use a separate media server: Django deliberately doesn’t serve media for you, and it’s designed that way to save you from yourself. If you try to serve media from the same Apache instance…
Somehow BS
1-Use nginx
Use uwsgi
3- that’s because you are using modpython
Use uwsgi
4-cache backend has a little effect compared to cache method
Redis works pretty good
1-Use nginx
Use uwsgi
3- that’s because you are using modpython
Use uwsgi
4-cache backend has a little effect compared to cache method
Redis works pretty good