وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز
وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز

SQL Part 1

What is SQL?
SQL stands for standard query language  and it used for designing and managing databases for our programs. 

types of relations in SQL : 
1-one to one 
ex: every costumer has one address 

2- one to many
one costumer can have many orders 

3- many to many 

import java.util.ArrayList


How to declare an array object with integers in Java :

public ArrayList<Integer> ArrayName(int[] arr){

ArrayList<Integer> numbers = new ArrayList<>();

}

* "numbers" is name of array

ArrayList is call for import java.util.ArrayList;

* <> What is type inside of the array (string or integer) 




چند تا سورس برای خودم

این پست جهت یادداشت من برای سورسهای خودم است که بعدا بیام سراغشون یا دوباره بخونمشون.



تهیه فرم با استفاده از بوت استراپ 

https://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-forms.php



دیباگ کردن جاوا اسکریپت 

https://www.youtube.com/watch?v=AX7uybwukkk


هر روز یک نمونه سوال در مصاحبه برنامه نویسی 

https://www.dailycodingproblem.com/


پنج نکته مهم که د رهنگام مصاحبه باید یادم باشه 

https://insights.dice.com/2019/06/06/winning-first-job-interview-5-handy-tips/


تفکر الگوریتمی 

https://teachinglondoncomputing.org/resources/developing-computational-thinking/algorithmic-thinking/



گیت و گیت هاب برای تازه کارها 

https://www.youtube.com/watch?v=SWYqp7iY_Tc


سایت فیزباز 

https://fizbuz.com/


نمونه یک مصاحبه ویدیویی برای برنامه نویسی 

https://www.youtube.com/watch?v=aotBpjJUqJo&feature=youtu.be


معرفی و آموزش بوت استرپ 4

https://www.youtube.com/playlist?list=PL55RiY5tL51rLqH4-8LBVlUTIFF70dxhb


آموزش رایگان سی اس اس - سایت اسکریمبا

https://scrimba.com/g/gR8PTE


تست کردن با جزمین 

https://www.youtube.com/watch?v=h2eWfvcAOTI


 

دانلود کیت برنامه نویسی جاوا 8

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

آموزش تمام تگهای مهم اچ تی ام ال در یک فایل اچ تی ام ال

میخواهید برنامه نویس وب شوید؟ اگر نمیخواهید و هیچ علاقه ای هم ندارید که بدانید پس لطفاً وقت خود را برای خواندن این پست زیاد هدر ندهید.

چراغها رو خاموش کنید بزارید اونهایی که میخوان برن تو همین تاریکی برند! 


خب اگر علاقه مند هستید که برنامه نویس وب شوید پس باید زبان برنامه نویسی اچ تی ام ال را بلد باشید 

HTML

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

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


خب حتما توقع ندارید که حاج رضا بشینه دونه دونه تگهای اچ تی ام ال رو براتون با ذکر مثال و نمودار توضیح بده. 

اینجا من با روش نینجایی استاد پروفسور دکتر الحاج رضا این کار رو انجام میدم. یک صفحه اچ تی ام ال که تمام تگ های مهم اچ تی ام ال در آن قرار دارد را برایتان آپلود کردم. شما کافی این صفحه را از طریق کنسول گوگل کرم یا برنامه ویژوال استودیو کد یا نوت پد پلاس پلاس یا اصلاً همین نوت پد معمولی باز کنید تا کد ها را ببینید. 

دقت کنید که هر تگ با <...> شروع میشود و با <..../> تمام میشود. اون سه تا نقطه هم مثلا اسم تگ هست. 

همزمان فایل را با مرورگرتان هم باز کنید (هر مرورگری که باشه فرق نمیکنه)

شما برای اینکه بدانید هر تگ چه کاری میکند میتوانید آن تگ را در گوگل جستجو کنید و اطلاعات لازم رو بدست بیارید و به دلخواه خودتون در برنامه های کد نویسی تغییرش بدیدو نتیجه رو در مرورگرتون ببینید. اینطوری خیلی کامل و جامع یاد میگیرید که این اچ تی ام ال چی هست و چطوری کار میکنه! 

والا بقرعان 

البته یادآوری میکنم که یادگرفتن این تگها اینقدرها هم آسان نیست ولی اگر واقعاً علاقه مند هستید اینم یه راهشه دیگه! 

اینم از فایل از اینجا میتونید دانلودش کنید. 

برو ببینم چیکار میکنی! 

فول استک دولوپر

تا حالا این اسم فول استک به گوشتون خورده؟

به کسانی که هم بتونند برنامه نویسی تحت وب را انجام بدهند، و هم طراحی وب را انجام دهند فول استک دولوپر میگویند. 

یعنی این شخص، هم میتونه برنامه های فرانت اند (برنامه های کلاینت ساید) مثل اچ تی ام ال و سی اس اس رو اجرا کنه و هم بتونه با برنامه های بک اند (مثل پی اچ پی، و ای اس پی) برنامه نویسی کنه! یعنی کسی که همه کارها رو در ضمینه ایجاد و طراحی وب رو انجام میدند! 


این لینک رو از دست ندید در مورد فول استک دولوپر 

https://virgool.io/@yadify/full-stack-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%D8%A8%D9%87-%DA%86%D9%87-%DA%A9%D8%B3%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D9%81%D9%88%D9%84-%D8%A7%D8%B3%D8%AA%DA%A9-%D9%85%DB%8C%DA%AF%D9%88%DB%8C%D9%86%D8%AF-phobv1sjvrmv



کاربرد جبر خطی در برنامه نویسی

این استاد ما گیر داده که شما علاوه بر اینکه باید نحوه حل مسائل ریاضی رو باید یاد بگیرید، باید بتونید اون رو در برنامه نویسی هم پیاده اش کنید! 

مثلاً چطور میشه یه ماتریس و یه وکتور رو در برنامه نویسی اضافه کرد

این هم کد یکی اش 

-----------------------------------------------------------------------------------------------

%%bash

pip install --upgrade setuptools

pip uninstall --yes ed-scripts

pip install -U -q git+https://github.com/drdavidrace/ed_scripts.git

import importlib

import in_array

from in_array import in_array

importlib.reload(in_array)

from in_array.in_array import array_float_np, array_float_syp, matrix_float_syp, array_int_np, matrix_int_syp

import numpy as np

from numpy import array, resize, reshape, shape

#There are two ways to enter matrices

#  Method 1:  using reshape

x = reshape(array([1., 2., 3., 4., 5., 6.]),(2,3))

print(x)

print(shape(x))

print(type(x))

print()

#  Method 2:  Entering data as an array of arrays

x = array([[6., 5., 4.],[ 3., 2., 1.]])

print(x)

print(shape(x))

print(type(x))

#  Notice that the shape of the ndarray is derived from the shape of the input automatically in this case.

print()

y = reshape(array([1., 0., -1]),(3,1))

print(y)

print()

print(shape(y))

print()

#  A matrix vector operation

z = x @ y

print(z)

print()

#  another way to do the multiplication

zz = np.matmul(x,y)

print(zz)

print()

#  yet another way to do the multiplication

zzz = np.dot(x,y)

print(zzz)

print()

#  If you like object oriented style programming

zzzz = x.dot(y)

print(zzzz)

print()

-------------------------------------------------------------------------------------------------------------

این استاد محترم تازه این رو به زبان برنامه نویسی پایتون نوشته که من تا حالا باهاش کار نکرده بودم! 

من حالا باید برم یه کم بیسیک پایتون بخونم و هم چه طوری این ماتریس ها و نحوه حل کردنش رو توی یه برنامه بنویسم بدم این استاد تا همش 5 درصد نمره نهایی رو بگیرم! 

این وضع و حال روز ماست اینجا! 

برنامه جاوایی که این چند روز نوشتم

این آخرین تکلیف ام تو درس جاوا بود. درسته تا حالا نمره های خوبی گرفتم ولی باید اذعان کنم که این زبان واقعاً زبان حوصله بر و منفجر کننده مغزه! 

برای نوشتن این برنامه حدود سه روز به مدت 14 ساعت تا حالا کار کردم روش! ناگفته نماند که یه کم تقلب هم کردم! 

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

این برنامه از سه تا کلاس تشکیل شده. کلاس اول که کلاس بانک اکانت هست یک کلاس انتزاعی هست که تمام فیلد ها و متودهای مربوط به محاسبات رو توش انجام میده. کلاس دوم کلاسی است که از کلاس اول به ارث گرفته شده و فعال بودن و غیرفعال بودن کلاس رو نشون میده و به علاوه نشون میده که اجازه فعالیت به بعضی از عملیات ها در صورتی که موجودی کمتر از 25  دلار باشه نده. سوپر کلاسها هم در همین کلاس دوم که به اسم سیوینگ اکانت هست قرار گرفته. کلاس سوم، کلاس درایور هست و عملاً همه کارها و متودهایی که در دو کلاس قبلی گفته شده بود را به نمایش میزاره. البته در این کلاس درایور من دو تا آبجکت هم درست کردم که نتیجه کار رو در دو حساب بانکی ببینم. 

This is my last Java assignment.  I post it here in my personal blog to keep these codes as a record for me.

I hope my professor gives me complete grade for this one because I spent plenty of time to finish it! 

I put this sentences in English that if she look up and searches my codes in internet and subsequently find this page, I can prove to  her that these codes are really mine! 

Here is a clue for her, I am DCCCD student! and my name is Reza

 برای دیدن کدها به ادامه مطلب بروید

ادامه مطلب ...

برنامه نویسی جاوا - قسمت اول

جاوا یکی از زبانهای قدرتمند برنامه نویسی  در دنیای امروزی است. کاربرد آن حالا حتی از برنامه های سی پلاس پلاس هم بیشتر شده. البته زبانهای مثل پایتون که چند سالی آمدند دارند کم کم عرصه را برای این زبانها تنگ میکنند اما همچنان زبانهای سی پلاس پلاس و جاوا محبوبیت و کارآیی خود را دارند. هنوز هم تقریبا همه برنامه های کامپیوتری و اپلیکیشن های موبایل با این دو تا زبان نوشته میشوند و صد البته هنوز هم یکی از پیش شرطهای استخدام در شرکتهای آی تی و خدمات کامپیوتری بزرگ دانستن این دو زبان میباشد. پس اگر واقعاً میخواهید وارد دنیای کامپیوتر شوید باید با این دو زبان آشنا باشید.

برگردیم سراغ همون زبان جاوا، برای برنامه نویسی و ویرایش کدهای جاوا شما نیاز به نرم افزارهای توسعه نرم افزار دارید. من اینجا فقط به دو تا از اونها اشاره میکنم.

1-      نرم افزار ایکلیپس

2-      نرم افزار نت بینز

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

 

لینک دانلود ایکلیپس

http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/oxygenr

البته شما نیاز به جاوا کیت هم دارید برای نصب کامل این برنامه که لینکش اینه

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

 

لینک دانلود نت بینز

http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html

 

بعد از اینکه صفحه دانلود را باز کردید باید روی گزینه قبول شرایط کلیک کنید و با توجه به سیستم عامل کامپیوترتون ورژن مورد نظر رو انتخاب کنید و بعد از دانلود اون رو نصب کنید.

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

تضمین کیفیت نرم‌افزار

من این اسم "تضمین کیفیت نرم‌افزار" رو چند سال پیش شنیده بودم. و یه مدت خیلی علاقه داشتم کسانی که این کار رو میکنند دقیقاً چه چیزهایی رو یاد میگیرند و چه کارهایی رو انجام میدند. 

به انگلیسی به این کار میگن Software Quality Assurance  یا به اختصار QA هم میگن. این افراد کارشون این است که آپدیتهای جدید و یا در کل خود نرم افزار از چند جهت تست میکنن و تلاش میکنند تمام باگهای اون رو تشخیص بدند و به تیم توسعه برنامه گزارش بدند. 

شاید در میان برنامه های کامپیوتری که چند پست قبل بهشون اشاره کرده بودم، این یکی آسونترینش باشه! شما اگر دانش پایه کامپیوتری رو داشته باشید، در عرض دو  ماه این رو یاد میگیرید و میتونید سریع جذب بازار کار بشید. 

این لینک پایین به انگلیسی همه چیز رو در مورد این کار توضیح داده 

https://www.guru99.com/all-about-quality-assurance.html

 

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

اینم لینک سایت مهندس پیشگان 

https://www.mohandespishegan.com/

 پس برای همین اگر واقعاً دنبال این کار هستید باید سایتهای انگلیسی رو دریابید. 

مروری بر برنامه ها و تخصص های جدید در دنیای فناوری اطلاعات

از اولین باری که از کامپیوتر استفاده میکردم (سال 2003) تا حالا که سال 2018 است سیستم های کامپیوتری و فناوری ها پیشرفت چشمگیری داشتند. به علت مشکلات شخصی ای که داشتم از سال 2009 به بعد من نتونستم مثل قبل دنبال برنامه ها و اخبار روز کامپیوتری برم و از این نظر خیلی عقب افتادم و واقعاً هم الان پشیمونم. 

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

1- زبان های برنامه نویسی 

شاید از همون اول که کامپیوتر ساخته شد این رشته و تخصص خیلی خیلی مهم بوده! الان هم هست! فعلاً برنامه های جاوا و پیتون توی بورس هستند. اما شما باید زبان سی پلاس پلاس رو هم بلد باشید. از نظر تقاضای بازار کار، پیتون (یا پایتون) برنامه جدیدتری است و خیلی جذب داره. 

یکی از بدیهای برنامه نویسی داشتن صبرو حوصله فوق العاده زیاد و دقت بالا در کار است. فرض کن نشستی یک برنامه رو نوشتی حالا میخواهی آپدیتش کنی! باید دونه دونه سینتاکس ها و ماژول ها رو از اول باید چک کنی که برنامه درست کار بکنه


2- هوش مصنوعی! 

بله! الان بیشتر شرکتهای بزرگ فناوری این خدمات رو هم دارند! اینجا لینک چند تاش رو میزارم

 هوش مصنوعی گوگل. 

https://ai.google/


هوش مصنوعی مایکروسافت

https://www.microsoft.com/en-us/ai


هوش مصنوعی آمازون

https://aws.amazon.com/machine-learning/ai-lex-polly-rekognition/


برنامه واتسون (هوش مصنوعی شرکت آی بی ام)

https://www.ibm.com/watson/

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


3- خدمات وب در فضای ابر

آمازون وب سرویس (AWS) پیشتاز این فناوری است! بازار کارش هم در اروپا و مخصوصاً آمریکا داغ داغ است! الان دیگه دوره دوره دیتا ساینس هست و گذشت اون زمان که کسانی که نتورکینگ کامپیوترها رو بلد بودند فکر میکردند خدای کامپیوتر هستند. دیگه شرکتها کم کم روی به سرور هایی آوردند که در فضای مجازی و به عنوان کلاود (ابر) هستند. 

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


4- بلاک چین

IBM Blockchain

این برنامه شرکت آی بی ام هست. کلاً این شرکت همیشه محصولاتش خفن و درجه یک هست! باز هم دیتا ساینس! 

اگه بخوام خلاصه راجع به این بلاک چین بگم، اطلاعات رو به صورت بلاک و زنجیره وار ذخیره میکنند. هر بلاک یک آی دی مخصوص به خودش رو داره و اگر یکی از این بلاک های اطلاعاتی دستکاری بشه، به طور خودکار تمام اطلاعات بعد از آن بی اعتبار میشند و دسترسی به اطلاعات غیرممکن میشه! این یک راه حل عالی برای جلوگیری از هک شدن سرورها و اطلاعات است. 

درآمد کسی که متخصص بلاک چین باشه از یک مهندس هم بالاتر است! 


5- کوبرنیتی و داکر کانتینر

خداییش اسم خفنش رو دارید! تو خط پایین انگلیسیش رو مینویستم تا بتونید تو اینترنت پیداشون کنید

Docker Containers

Kubernetes 

این برنامه ها از مجموعه دیوآپس هستند (Dev-Ops) .شما با دانستن این برنامه ها میتونید یک سیستم انتقال و دریافت داده رو تعریف کنید و اجرا کنید. این برنامه خیلی پیچیده است و شما باید مهارت های بالایی داشته باشید. به هر حال به یادگرفتنش صد در صد می ارزه و متخصص دیوآپس رو شرکتهای فناوری اطلاعات و ارگانهای دولتی  تو هوا میزنند. 


6- لینوکس رو فراموش نکنید

تمام برنامه ها و فناوری هایی که در بالا نوشتم روی سیستم عامل لینوکس قابل اجرا هستند! لینوکس سنت او اس، لینوکس اوبونتو و لینوکس فدورا از سیستم های محبوب تر و برای شرکتهای تجاری بیشتر استفاده میشه! 

خوبی لینوکس اینه که هم سیستم عاملش رایگان هست و هم آموزش های آنلاینش خیلی راحتتر پیدا میشه! 



خب اینم از گزارش امروزم