۵ مطلب با کلمه‌ی کلیدی «پایتون» ثبت شده است

داکرفایل OracleInstantClient

پروژه شما نیاز به ارتباط با دیتابیس اوراکل داره و شما نیاز به نصب Oracle Client دارید. اینجا دیگه نباید از ایمیج alpine استفاده کنید (توضیحات بیشتر) بلکه باید از ایمیج oracle linux slime که اوراکل ارائه داده استفاده کنید. داکر فایل قرار داده شده در ریپازیتوری زیر به ما در ایجاد داکر فایل شخصی خودمون کمک خواهد کرد:

https://github.com/oracle/docker-images/tree/master/OracleInstantClient

من داکر فایل‌ام رو به شکل زیر نوشتم و به سادگی تونستم پروژه خودم رو به اوراکل متصل کنم:

نکته: در هنگام اتصال به اوراکل دیگه از آی پی هاست نباید استفاده کنید و باید آی پی داکری ماشین اوراکل دیتابیس سرور رو پیدا و استفاده کنید.

FROM oraclelinux:7-slim

ARG release=19
ARG update=3
# define the directory to work in
WORKDIR /code
# copy the requirements.txt file to the work directory
COPY requirements.txt .

RUN yum -y install oracle-release-el7 && yum-config-manager --enable ol7_oracle_instantclient && \
yum -y install oracle-instantclient${release}.${update}-basic oracle-instantclient${release}.${update}-devel oracle-instantclient${release}.${update}-sqlplus && \
rm -rf /var/cache/yum && \
yum -y install oracle-epel-release-el7 && \
yum -y install python36 && \
yum -y install vim sudo && \
ln -fs /usr/bin/python3 /usr/bin/python && \
python3 -m pip install --no-cache-dir -r requirements.txt

# Optional Oracle Network or Oracle client configuration files can be
# copied to the default configuration file directory. These files
# include tnsnames.ora, sqlnet.ora, oraaccess.xml and cwallet.sso.
# For example:
# COPY wallet/* /usr/lib/oracle/${release}.${update}/client64/lib/network/admin

# Uncomment if the tools package is added
# ENV PATH=$PATH:/usr/lib/oracle/${release}.${update}/client64/bin

# Copy rest of the source code
COPY src/ src/
# EXPOSE the needed ports, for example 8080
EXPOSE 8080
# Running Command or Entry Point
CMD python src/app.py
CMD tail -f /dev/null
۰۵ مهر ۹۸ ، ۱۱:۵۸ ۰ نظر
مهدی غفاری

بیلد یک پروژه کوچیک با استفاده از داکر ایمیج پایتون

اول از همه چیز باید هدف داکر یادمون باشه، سلامت یک پروژه با حداقل بسته‌های وابستگی! پس برای پروژه نرم‌افزاری خودتون تا جایی که می‌تونید حداقل پابستگی‌ها را در فایل Requirements.txt مشخص کنید.

با کم کردن حجم شما برای خودتون بهترین رویکرد در deploy رو با کم کردن حجم دانلودها، حجم push ها به سرور عملیاتی رو ایجاد کردید. پس این نکات وقتی دارید داکر ایمیج ایجاد می‌کنید توی ذهنتون باشه.

ادامه مطلب...
۰۴ مهر ۹۸ ، ۲۳:۱۷ ۱ نظر
مهدی غفاری

اسامی صحیح کاراکترها

خیلی‌ها کاراکترها رو با کاربردشون میشناسن مثلا علامت مجموعه‌ها ولی نکته اینجاست که اسامی با کاربرد کاراکترها در اون حوزه منطبق شدند و در حوزه‌های دیگه ممکنه کاراکترها کاربردهای مختلفی داشته باشند پس بهتره مواقعی که می‌خوایم از اسم کاراکترها نام ببریم اون رو با توضیح کاربردش توی اون حوزه تشریح نکنیم و از اسم خود کاراکتر استفاده کنیم. اسامی درست یکسری از کاراکترهای پر کاربرد در برنامه‌نویسی رو لیست می‌کنم تا حواسمون بیشتر روی این موضوع باشه:

 

`

Backtick

~

Tilde

;

Semicolon

:

Colon

.

Period, Dot, Full stop, Point

-

Hyphen

_

Underscore

Double quotation

Quotation

()

Parentheses

{}

Braces

[]

Brackets

< >

Right and Left angle brackets

@

At sign

|

Vertical bar

/

Slash

\

Back Slash

*

Asterix

?

question mark

!

Exclamation mark

Sharp sign

#

Number sign, Hash, Pound sign

 

دریافت
حجم: 28.6 کیلوبایت

۲۷ ارديبهشت ۹۸ ، ۰۸:۰۳ ۰ نظر
مهدی غفاری

ویژگی فونت‌های monospaced

فونت‌هایی که برای کدنویسی استفاده می‌شوند یک ویژگی مشترک دارند اون هم monospaced بودن فونت است. این ویژگی توی خیلی از فونت‌ها مثل Courier هستش. فونتهای monospaced تمام کاراکترهاشون(حروف، اعداد و کاراکترهای ویژه) فاصله افقی هر کاراکتر از چپ‌ترین تا راست‌ترین باهمدیگه یکی هستش

این ویزگی خیلی به خوانایی کدها کمک میکنه چون کد به خاطر یکی بودن فاصله افقی هر ۲ سر کاراکترها یه حالت جدولی پیدا میکنه چون دقیقا کاراکترها زیر همدیگه قرار می‌گیرند و برای همین چشم خیلی  راحتتر حروف رو دنبال میکنه

اگه می‌خواین برای شخص یا گروهی توی تلگرام کد بفرستید از سه تا کاراکتر بک تیک (backtick) استفاده کنید سرور تلگرام متن شما رو با فونت monospaced نشون میده

۲۰ ارديبهشت ۹۸ ، ۱۱:۴۰ ۰ نظر
مهدی غفاری

The Zen of Python

حدودا ۱۵ سال پیش مهندس نرم‌افزار Tim Peters به طور خلاصه راهنمایی را جهت آشنایی با فلسفه پایتون منتشر کرد که در ابتدا قرار بود ۲۰ مورد باشد که ۱۹ تای آن نوشته شد.

تائوی برنامه نویسی

استاد برنامه نویس بدین گونه به سخن درآمد: «هنگامی که سه روز بدون برنامه نویسی سپری شود، زندگی معنای خود را از دست خواهد داد.»

نویسنده جفری جیمز، مترجم آیدین غریب نواز

دریافت پی دی اف تائوی برنامه نویسی
حجم: 201 کیلوبایت

>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

ادامه مطلب...
۳۱ فروردين ۹۸ ، ۲۰:۲۸ ۰ نظر
مهدی غفاری