Programming facts
Open in Telegram
940
Subscribers
No data24 hours
+27 days
+1630 days
Posts Archive
امشب سید برداشته بود این چالش رو گذاشته بود و خیلی خیلی برام جالب بود،
گفتم با شما هم به اشتراک بزارم
واچر مونگو :
https://www.mongodb.com/docs/manual/reference/method/db.collection.watch/
تریگر پستگرس :
https://www.postgresql.org/docs/current/sql-createtrigger.html
اجرای کد پایتون در پستگرس :
https://www.postgresql.org/docs/9.4/plpython-funcs.html
✅️ @SEYED_BAX
#چالش_بازی
فرض کنید میخواید یک کاری انجام بدید که اگر کسی دسترسی به دیتابیس گرفت و خواست تغییری توی دیتابیس ایجاد کنه، شما متوجه بشید که اون تغییر مشکوکه و یک ایمیل برای ادمین سیستم بره
راهکار هایی که به ذهنتون میرسه رو بنویسید. اینکه چطور تشخیص میدید دیتابیس عوض شده و در لحظه عمل کنید و اینکه چطور تشخیص میدید کد شما اون تغییر رو ایجاد نکرده
✅️ @SEYED_BAX
♨️ مهارتنرم یک برنامه نویس به اندازه مهارتهای فنی مهم است (حضرت تجربه)
⁉️ مهارتنرم یا Soft Skill چیه؟
مهارتهای نرم در زمینه برنامهنویسی شامل مجموعهای از تواناییها و ویژگیهای شخصیتی است. این مهارتها برای همکاری مؤثر با دیگران، مدیریت پروژه و رسیدن به اهداف مشترک در تیمهای برنامهنویسی بسیار ارزشمند هستند.
مهارت حل مسئله - توانایی کار تیمی - مهارتهای ارتباطی - مدیریت زمان - توانایی هماهنگی و ...
💢 یکی از وظایف مهم برنامهنویس، حل مسئله است. خب حالا یعنی چی؟
یک برنامهنویس خوب اول باید بتونه یه مسئله یا چالش رو به درستی و عمیق درک کنه و برای حل اونا راه حل مناسبی ارائه بده. خب شاید از خودتون بپرسید هر چیزی رو میشه با یه سرچ ساده بدست آورد.
ولی این روش همیشه کارساز نیس و در اکثرا مواقع با مشکلاتی جدید و پیچیدهای روبهرو میشیم که کدهای Stack Overflow به دردمون نمیخوره. در این مواقع فقط دانش حل مسئله و تجربه به کمک یه برنامهنویس میاد.
💢 حالا چطوری میشه مهارت حل مسئله رو در خودمون تقویت کنیم؟
- استفاده از فلوچارت برای درک بهتر نحوه اجرای الگوریتم
- برگذاری جلسات طوفان فکری و مشورت با همتیمی ها
- بررسی issue گیتهاب و راه حلهای ارائه شده بقیه برنامهنویسان
- شرکت در مسابقات برنامه نویسی مختلف
- حضور فعال در گروههای برنامه نویسی
ولی من خودم شخصا میشینم و فکر میکنم بدون نگاه کردن به سیستمی یا چیزی، این به نظرم خیلی خیلی جواب تره، مغزو باز میکنه
💠 پ.ن: پیشنهاد شخصی من اینه که سوالات سایت کوئرا یا هکر رنک رو حل کنید تا درک بهتری نسبت به چالشها و طریقه حلشون داشته باشید و بیشتر از اینا تا میتونید فکر کنید
🔆 شما چه تجربهای در این زمینه دارید؟ اونو با ما به اشتراک بگذارید...
@soheil_programmer
♨️ مهارتنرم یک برنامه نویس به اندازه مهارتهای فنی مهم است (حضرت تجربه)
⁉️ مهارتنرم یا Soft Skill چیه؟
مهارتهای نرم در زمینه برنامهنویسی شامل مجموعهای از تواناییها و ویژگیهای شخصیتی است. این مهارتها برای همکاری مؤثر با دیگران، مدیریت پروژه و رسیدن به اهداف مشترک در تیمهای برنامهنویسی بسیار ارزشمند هستند.
مهارت حل مسئله - توانایی کار تیمی - مهارتهای ارتباطی - مدیریت زمان - توانایی هماهنگی و ...
💢 یکی از وظایف مهم برنامهنویس، حل مسئله است. خب حالا یعنی چی؟
یک برنامهنویس خوب اول باید بتونه یه مسئله یا چالش رو به درستی و عمیق درک کنه و برای حل اونا راه حل مناسبی ارائه بده. خب شاید از خودتون بپرسید هر چیزی رو میشه با یه سرچ ساده بدست آورد.
ولی این روش همیشه کارساز نیس و در اکثرا مواقع با مشکلاتی جدید و پیچیدهای روبهرو میشیم که کدهای Stack Overflow به دردمون نمیخوره. در این مواقع فقط دانش حل مسئله و تجربه به کمک یه برنامهنویس میاد.
💢 حالا چطوری میشه مهارت حل مسئله رو در خودمون تقویت کنیم؟
- استفاده از فلوچارت برای درک بهتر نحوه اجرای الگوریتم
- برگذاری جلسات طوفان فکری و مشورت با همتیمی ها
- بررسی issue گیتهاب و راه حلهای ارائه شده بقیه برنامهنویسان
- شرکت در مسابقات برنامه نویسی مختلف
- حضور فعال در گروههای برنامه نویسی
ولی من خودم شخصا میشینم و فکر میکنم بدون نگاه کردن به سیستمی یا چیزی، این به نظرم خیلی خیلی جواب تره، مغزو باز میکنه
💠 پ.ن: پیشنهاد شخصی من اینه که سوالات سایت کوئرا یا هکر رنک رو حل کنید تا درک بهتری نسبت به چالشها و طریقه حلشون داشته باشید
🔆 شما چه تجربهای در این زمینه دارید؟ اونو با ما به اشتراک بگذارید...
@soheil_programmer
♦️بازی مار با پایتون
🔹نکته: باید کتابخانه pygame رو نصب داشته باشید
import pygame
import random
pygame.init()
# تعریف متغیرها
SCREEN_WIDTH, SCREEN_HEIGHT = 640, 480
CELL_SIZE = 20
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("بازی مار ساده")
clock = pygame.time.Clock()
snake_pos = [(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)]
snake_direction = (CELL_SIZE, 0)
snake_length = 1
food_pos = (random.randrange(1, SCREEN_WIDTH // CELL_SIZE) * CELL_SIZE,
random.randrange(1, SCREEN_HEIGHT // CELL_SIZE) * CELL_SIZE)
# حلقه اصلی بازی
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and snake_direction != (0, CELL_SIZE):
snake_direction = (0, -CELL_SIZE)
elif event.key == pygame.K_DOWN and snake_direction != (0, -CELL_SIZE):
snake_direction = (0, CELL_SIZE)
elif event.key == pygame.K_LEFT and snake_direction != (CELL_SIZE, 0):
snake_direction = (-CELL_SIZE, 0)
elif event.key == pygame.K_RIGHT and snake_direction != (-CELL_SIZE, 0):
snake_direction = (CELL_SIZE, 0)
# حرکت مار
snake_pos[0] = (snake_pos[0][0] + snake_direction[0], snake_pos[0][1] + snake_direction[1])
# بررسی برخورد با مرزها
if snake_pos[0][0] >= SCREEN_WIDTH or snake_pos[0][0] < 0 or snake_pos[0][1] >= SCREEN_HEIGHT or snake_pos[0][1] < 0:
pygame.quit()
quit()
# بررسی برخورد با خود
if snake_pos[0] in snake_pos[1:]:
pygame.quit()
quit()
# بررسی برخورد با غذا
if snake_pos[0] == food_pos:
snake_length += 1
food_pos = (random.randrange(1, SCREEN_WIDTH // CELL_SIZE) * CELL_SIZE,
random.randrange(1, SCREEN_HEIGHT // CELL_SIZE) * CELL_SIZE)
# رسم مار و غذا
screen.fill(WHITE)
for pos in snake_pos:
pygame.draw.rect(screen, GREEN, (pos[0], pos[1], CELL_SIZE, CELL_SIZE))
pygame.draw.rect(screen, RED, (food_pos[0], food_pos[1], CELL_SIZE, CELL_SIZE))
pygame.display.update()
clock.tick(10)``
@soheil_programmerسه سوال فنی
ویندوز 7, 8، 10، 11 داریم
آیفون 7,8, ولی نه نداریم
میشه بگید مشکلشون با عدد نه چیه؟
❓ تا حالا شده دلتون بخواد اسکریپتتون رو جوری آبفاسکیت کنید که کسی جز شما نتونه اون رو بخونه؟
ابزار python-obfuscator مخصوص شماست!
با pip نصبش میکنید:
pip install python-obfuscator --break-system-packages
با کامند pyobfuscate هم اسکریپت رو آبفاسکیت میکنید : 👁
pyobfuscate -i script.py -r True
✈️ @soheil_programmerRepost from کالی بویز | ترفند | تکنولوژی
✔️ ادعا شده آسیب پذیری RCE در تلگرام کشف شده که در قسمت دانلود خودکار مدیا وجود داره و جهت اطمینان چه در گروه ها چه در چت های شخصی در تنظیمات تلگرام Automatic Media Download رو در حالت Disable قرار بدید.فعلا POC بهتر که نشون بده که این مورد واقعی هست دیده نشده است.
➖➖➖➖➖➖
🆔 @kaliboys | کالی بویز
خب خب
امروز میخواییم بریم سراغ کار با وب سوکت ها در جنگو و ساخت یک وب اپ چت خیلی ساده با جنگو
اول از همه کتابخونه زیر رو نصب کن
pip install channels
بعدش یه اپ جدید برای چت درست کنیم
python manage.py startapp chat
سپس فایل routing.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from chat.consumers import ChatConsumer
websocket_urlpatterns = [
path('ws/chat/', ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urlpatterns
)
),
})
سپس فایل consumers.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
import json
from channels.generic.websocket import AsyncWebsocketConsumer
class ChatConsumer(AsyncWebsocketConsumer):
async def connect(self):
self.room_name = 'default_room'
self.room_group_name = 'chat_%s' % self.room_name
# Join room group
await self.channel_layer.group_add(
self.room_group_name,
self.channel_name
)
await self.accept()
async def disconnect(self, close_code):
# Leave room group
await self.channel_layer.group_discard(
self.room_group_name,
self.channel_name
)
async def receive(self, text_data):
text_data_json = json.loads(text_data)
message = text_data_json['message']
# Send message to room group
await self.channel_layer.group_send(
self.room_group_name,
{
'type': 'chat_message',
'message': message
}
)
async def chat_message(self, event):
message = event['message']
# Send message to WebSocket
await self.send(text_data=json.dumps({
'message': message
}))
در نهایت، فایل routing را به ASGI_APPLICATION در فایل settings.py پروژه خود اضافه کنید:
ASGI_APPLICATION = 'your_project_name.routing.application'
تموم شد و رفتخب خب
امروز میخواییم بریم سراغ کار با وب سوکت ها در جنگو و ساخت یک وب اپ چت خیلی ساده با جنگو
اول از همه کتابخونه زیر رو نصب کن
python
pip install channels
بعدش یه اپ جدید برای چت درست کنیم
python
python manage.py startapp chat
'''
سپس فایل routing.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
python
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from chat.consumers import ChatConsumer
websocket_urlpatterns = [
path('ws/chat/', ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urlpatterns
)
),
})
سپس فایل consumers.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:python import json from channels.generic.websocket import AsyncWebsocketConsumer class ChatConsumer(AsyncWebsocketConsumer): async def connect(self): self.room_name = 'default_room' self.room_group_name = 'chat_%s' % self.room_name # Join room group await self.channel_layer.group_add( self.room_group_name, self.channel_name ) await self.accept() async def disconnect(self, close_code): # Leave room group await self.channel_layer.group_discard( self.room_group_name, self.channel_name ) async def receive(self, text_data): text_data_json = json.loads(text_data) message = text_data_json['message'] # Send message to room group await self.channel_layer.group_send( self.room_group_name, { 'type': 'chat_message', 'message': message } ) async def chat_message(self, event): message = event['message'] # Send message to WebSocket await self.send(text_data=json.dumps({ 'message': message }))
در نهایت، فایل routing را به ASGI_APPLICATION در فایل settings.py پروژه خود اضافه کنید:python ASGI_APPLICATION = 'your_project_name.routing.application' ``` حالا شما یک اپلیکیشن چت ساده با استفاده از وبسوکت در جنگو دارید. این اپلیکیشن به وسیله کاربران میتوانند به یک چت روم متصل شوند و پیامهای خود را ارسال و دریافت کنند. برای استفاده از آن، میتونید در تمپلیتها یک رابط کاربری ایجاد کنید که به وسیله وبسوکتها پیامها را دریافت و نمایش دهد.
خب خب
امروز میخواییم بریم سراغ کار با وب سوکت ها در جنگو و ساخت یک وب اپ چت خیلی ساده با جنگو
اول از همه کتابخونه زیر رو نصب کن
python
pip install channels
بعدش یه اپ جدید برای چت درست کنیم
python
python manage.py startapp chat
'''
سپس فایل routing.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
python
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from chat.consumers import ChatConsumer
websocket_urlpatterns = [
path('ws/chat/', ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urlpatterns
)
),
})
سپس فایل consumers.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:python import json from channels.generic.websocket import AsyncWebsocketConsumer class ChatConsumer(AsyncWebsocketConsumer): async def connect(self): self.room_name = 'default_room' self.room_group_name = 'chat_%s' % self.room_name # Join room group await self.channel_layer.group_add( self.room_group_name, self.channel_name ) await self.accept() async def disconnect(self, close_code): # Leave room group await self.channel_layer.group_discard( self.room_group_name, self.channel_name ) async def receive(self, text_data): text_data_json = json.loads(text_data) message = text_data_json['message'] # Send message to room group await self.channel_layer.group_send( self.room_group_name, { 'type': 'chat_message', 'message': message } ) async def chat_message(self, event): message = event['message'] # Send message to WebSocket await self.send(text_data=json.dumps({ 'message': message }))
در نهایت، فایل routing را به ASGI_APPLICATION در فایل settings.py پروژه خود اضافه کنید:python ASGI_APPLICATION = 'your_project_name.routing.application' ``` حالا شما یک اپلیکیشن چت ساده با استفاده از وبسوکت در جنگو دارید. این اپلیکیشن به وسیله کاربران میتوانند به یک چت روم متصل شوند و پیامهای خود را ارسال و دریافت کنند. برای استفاده از آن، میتونید در تمپلیتها یک رابط کاربری ایجاد کنید که به وسیله وبسوکتها پیامها را دریافت و نمایش دهد.
خب خب
امروز میخواییم بریم سراغ کار با وب سوکت ها در جنگو و ساخت یک وب اپ چت خیلی ساده با جنگو
اول از همه کتابخونه زیر رو نصب کن
python
pip install channels
بعدش یه اپ جدید برای چت درست کنیم
python
python manage.py startapp chat
'''
سپس فایل routing.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
python
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from chat.consumers import ChatConsumer
websocket_urlpatterns = [
path('ws/chat/', ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urlpatterns
)
),
})
سپس فایل consumers.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:python import json from channels.generic.websocket import AsyncWebsocketConsumer class ChatConsumer(AsyncWebsocketConsumer): async def connect(self): self.room_name = 'default_room' self.room_group_name = 'chat_%s' % self.room_name # Join room group await self.channel_layer.group_add( self.room_group_name, self.channel_name ) await self.accept() async def disconnect(self, close_code): # Leave room group await self.channel_layer.group_discard( self.room_group_name, self.channel_name ) async def receive(self, text_data): text_data_json = json.loads(text_data) message = text_data_json['message'] # Send message to room group await self.channel_layer.group_send( self.room_group_name, { 'type': 'chat_message', 'message': message } ) async def chat_message(self, event): message = event['message'] # Send message to WebSocket await self.send(text_data=json.dumps({ 'message': message }))
در نهایت، فایل routing را به ASGI_APPLICATION در فایل settings.py پروژه خود اضافه کنید:python ASGI_APPLICATION = 'your_project_name.routing.application' ``` حالا شما یک اپلیکیشن چت ساده با استفاده از وبسوکت در جنگو دارید. این اپلیکیشن به وسیله کاربران میتوانند به یک چت روم متصل شوند و پیامهای خود را ارسال و دریافت کنند. برای استفاده از آن، میتونید در تمپلیتها یک رابط کاربری ایجاد کنید که به وسیله وبسوکتها پیامها را دریافت و نمایش دهد.
خب خب
امروز میخواییم بریم سراغ کار با وب سوکت ها در جنگو و ساخت یک وب اپ چت خیلی ساده با جنگو
اول از همه کتابخونه زیر رو نصب کن
''' python
pip install channels
'''
بعدش یه اپ جدید برای چت درست کنیم
''' python
python manage.py startapp chat
'''
سپس فایل routing.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
''' python
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from chat.consumers import ChatConsumer
websocket_urlpatterns = [
path('ws/chat/', ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urlpatterns
)
),
})
'''
سپس فایل consumers.py را در داخل پوشه chat ایجاد کنید و کد زیر را در آن قرار دهید:
''' python
import json
from channels.generic.websocket import AsyncWebsocketConsumer
class ChatConsumer(AsyncWebsocketConsumer):
async def connect(self):
self.room_name = 'default_room'
self.room_group_name = 'chat_%s' % self.room_name
# Join room group
await self.channel_layer.group_add(
self.room_group_name,
self.channel_name
)
await self.accept()
async def disconnect(self, close_code):
# Leave room group
await self.channel_layer.group_discard(
self.room_group_name,
self.channel_name
)
async def receive(self, text_data):
text_data_json = json.loads(text_data)
message = text_data_json['message']
# Send message to room group
await self.channel_layer.group_send(
self.room_group_name,
{
'type': 'chat_message',
'message': message
}
)
async def chat_message(self, event):
message = event['message']
# Send message to WebSocket
await self.send(text_data=json.dumps({
'message': message
}))
'''
در نهایت، فایل routing را به ASGI_APPLICATION در فایل settings.py پروژه خود اضافه کنید:
''' python
ASGI_APPLICATION = 'your_project_name.routing.application'
'''
حالا شما یک اپلیکیشن چت ساده با استفاده از وبسوکت در جنگو دارید. این اپلیکیشن به وسیله کاربران میتوانند به یک چت روم متصل شوند و پیامهای خود را ارسال و دریافت کنند. برای استفاده از آن، میتونید در تمپلیتها یک رابط کاربری ایجاد کنید که به وسیله وبسوکتها پیامها را دریافت و نمایش دهد.
