#بدون_شرح
امروز یه ماکرو که برای پیدا کردن سریع تر محل ارور های ران تایم و دلیلش مینویسم و باهاتون به اشتراک میذارم
یه ماکرو که پیام ارور رو میگیره و به همراه پیام ارور
نام فایل و نام تابع و خط ارور رو هم به همراه ارور مشخص میکنه
برای تست هم یه متغیر قلابی داریم که اگه غلط بود ارور بده
کدهاتون بی باگ
امروز یه ماکرو که برای پیدا کردن سریع تر محل ارور های ران تایم و دلیلش مینویسم و باهاتون به اشتراک میذارم
یه ماکرو که پیام ارور رو میگیره و به همراه پیام ارور
نام فایل و نام تابع و خط ارور رو هم به همراه ارور مشخص میکنه
برای تست هم یه متغیر قلابی داریم که اگه غلط بود ارور بده
#include <stdexcept>
using namespace std;
#define MYERROR( errormessage ) {char _errormessage[1000];sprintf(_errormessage,"\n\tError!!!\n\tFile=\"%s\"\n\tFunction=\"%s\"\n\tLine=\"%d\"\n\tProblem=\"%s\"",__FILE__,__FUNCTION__,__LINE__,errormessage); throw std::runtime_error(_errormessage);}
int main()
{
bool fakecheck = false;
if(!fakecheck)
MYERROR("fake check is false!");
return 0;
}
کدهاتون بی باگ
#بیشتر_بدانید
تاحالا به این فکر کردید که کلاس استرینگ مخصوص خودتون بسازین؟
بسازین خو
دوستی اومد و بهم گفت از شی گرایی بیشتر بگم
عجیبه اما من درباره شی گرایی زیاد حرف زدم قبلا
اما خب چون گفت منم این فکر به سرم زد
در ضمن من یه آماتور هستم و کلاس کامل تست شده نیست و احتمال ارور دادن یا نشت حافظه توش هست
اگه چیزی بود خبرم کنین درست کنم
کلاس کامنت گذاری شده هستش
#
تاحالا به این فکر کردید که کلاس استرینگ مخصوص خودتون بسازین؟
بسازین خو
دوستی اومد و بهم گفت از شی گرایی بیشتر بگم
عجیبه اما من درباره شی گرایی زیاد حرف زدم قبلا
اما خب چون گفت منم این فکر به سرم زد
در ضمن من یه آماتور هستم و کلاس کامل تست شده نیست و احتمال ارور دادن یا نشت حافظه توش هست
اگه چیزی بود خبرم کنین درست کنم
کلاس کامنت گذاری شده هستش
#
include <iostream>
#include <cstring>
#include <stdexcept>
using namespace std;
//چون حال ندارم هر بار تایپش کنم یه اسم مستعار براش میسازم
typedef unsigned int uint;
class MyString
{
public:
//سازنده ی بدون آرگومان
MyString()
{
// دیتا هیچوقت نباید خالی باشه چون ما تمام حزف های کلاس رو بدون شرط انجام میشه
data = new char[1];
// همیشه آخرین حرف باید پوچ باشه
data[0]='\0';
}
//سازنده ی با آرگومان
MyString(const char* in )
{
//اشاره گر رو آماده میکنیم
data = new char[strlen(in)+1];
//کپی میکنیم
strcpy(data,in);
// حرف آخرش رو هم پوچ میکنیم
data[strlen(in)]='\0';
}
//سازنده ی کپی
MyString(const MyString& other)
{
data = new char[strlen(other.data)+1];
strcpy(data,other.data);
data[strlen(other.data)]='\0';
}
//مخرب
virtual ~MyString()
{
delete[] data;
}
//موقع سرچ معادل پیدا نشدن هست
static const uint NullPosition = -1;
//دیتا رو بر میگردونه
const char* getdata()const
{
return data;
}
//اندازه رشته رو برمیگردونه
uint getsize()const
{
return strlen(data);
}
// پاک میکنه
void clear()
{
delete[] data;
//حتما باید دیتا حداقل یه خونه داشته باشه تا ارور نده
data=new char[1];
data[0]='\0';
}
// یه تیکه از رشته رو بر میگردونه با استفاده از نقطه شروع و پایانش
MyString substring(uint _start,uint _end=-1)const
{
//اگه پایانش منفی یک بود یعنی پایان رشته البته مقدار منطقیش منفی یک نیست
uint __end = (_end!=-1)?_end:strlen(data)+1;
if(_start>__end)//اگه نقطه شروع از پایان بزرگتر بود ارور بده
throw std::runtime_error("MyString::substr : start point is greater than end point");
MyString out;
delete out.data;
out.data= new char[__end-_start];//مقدار جدید خروجی
for(int i=_start;i<__end;i++)// کپی کردن
out.data[i-_start]=data[i];
out.data[__end-_start]='\0';
return out;
}
// یه رشته رو از داخل خود رشته پیدا میکنه و میتونین مشخص کنین از کجا شروع بشه
uint findstring(const char* in,uint from=0)const
{
uint pos = (uint)strstr(data,in);
if(pos==0)
return -1;
while(pos - (uint )data<from)
{
pos=(uint)strstr(&data[pos - (uint )data+1],in);
if(pos==0)
break;
}
if(pos - (uint )data<from || pos - (uint )data>getsize())
return -1;
return pos - (uint )data;
}
// پیدا کردن با استفاده از نوع خود کلاس
uint findstring(const MyString& in,uint from=0)const
{
return findstring(in.data,from);
}
// پاک کردن یه قسمت از رشته با استفاده از نقطه شروع و پایان
void erase(uint start,uint end=-1)
{
//اگه منفی یک بود یعنی انتهاش
uint _end=(end!=-1)?end:strlen(data);
if(start>getsize()||_end>getsize())
throw std::runtime_error("MyString::erase : start point or end point is greater than data size");
//سایز رشته قبل از تغییر
uint strsize=getsize();
//کپی کردن کاراکتر های بعد از قسمتی که باید پاک بشه
for(uint i=start;i<strsize;i++)
{
//یعنی توانایی کپی رو داره
if(i+(_end-start)<strsize)
{
// رشته جلویی رو میاره میذاره جایی که باید پاک شه
data[i]=data[i+(_end-start)];
//پوچ میشه تا باقی نمونه
data[i+(_end-start)]='\0';
}
else
// قابل کپی نیست و باید پوچ شه
data[i]='\0';
}
//یادتون نره میتونین مموری رو فلاش کنین اما من اینکار رو نکردم
}
// وارد کردن یه رشته به داخل رشتمون (پوستم سر دیباگ کردنش کنده شد)
void insert(uint point,const char* in)
{
// اگه نقطه شروع بود کار رو سریع انجام میدم که جمع کردنش باشه
if(point == 0)
{
MyString _a(in);
//توضیحات جمع کردن رو بخونید
*this = _a+*this;
return;
}
//سایز قبل تغییر
uint _s=getsize();
// سایز ورودی برای اینکه لازم نباشه هر بار چک کنیم
uint _inlen = strlen(in);
//نگه میداریم تا حافظه جدید بسازیم
char* buf = data;
data = new char[_s+_inlen+1];
//حافظه قدیمی رو کپی میکنیم
memcpy(data,buf,sizeof(*buf)*strlen(buf));
// حافظه قدیمی رو از بین میبریم
delete[] buf;
//کپی کردن
for(uint i=_s;i>=point;i--)
{
// از محل جایی که باید پاک بشه حروف ها رو به اندازه سایزشون جلو میبریم
data[i+_inlen]=data[i];
}
data[_s+_inlen]='\0';
//اون رشته ای که باید وارد میکردیم رو وارد میکنیم
memcpy(&data[point],in,sizeof(*in)*_inlen);
}
//این همون بالایی هس با فرض اینکه نوعش ورودی از نوع خودشه
void insert(uint point,const MyString& in)
{
insert(point,in.data);
}
// جایگزین کردن یه رشته با استفاده از نقطه شروعش
void replace(uint start,const char* b)
{
// اگه اندازش بیشتر بود باید حافظه جدید حاضر کنیم
if(start+strlen(b)>getsize())
{
// محل قدیمی رو نگه میداریم
char* buf=data;
//محل جدید رو حاضر میکنیم
data= new char[start+strlen(b)+1];
// محتوای قدیمی رو به جای جدید کپی میکنیم
memcpy(data,buf,sizeof(*buf)*strlen(buf));
data[start+strlen(b)]='\0';
// حافظه قدیمی رو پاک میکنیم
delete[] buf;
}
//اندازه ورودی رو بدست میاریم
uint blen = strlen(b);
// کپی میکنیم
for(uint i=start;i<blen+start;i++)
data[i]=b[i-start];
}
// این رو که دیگه معلومه
void replace(uint start,const MyString& b)
{
replace(start,b.data);
}
// تمام کلمات آرگومان اول رو با آرگومان دوم جایگزین میکنه . نقطه شروع هم میتونین بهش بدین نظقطه پایان هم همینطور
void replaceall(const char* what,const char* with,uint from=0,uint end=-1)
{
uint _d=findstring(what,from);
while(1)
{
if(end<_d||_d==-1)
break;
erase(_d,_d+strlen(what));
insert(_d,with);
_d=findstring(what,_d+strlen(with));
}
}
//معلومه دیگه
void replaceall(const MyString& what,const MyString& with,uint from=0,uint end=-1)
{
replaceall(what.getdata(),with.getdata(),from,end);
}
//جمع کردن یه رشته با یه رشته دیگه
MyString operator+(const char* in)const
{
MyString out;
delete out.data;
// مقدار جدید براش آماده میکنیم
out.data = new char[strlen(in)+strlen(data)+1];
// مقدار خود رشته رو کپی میکنیم
memcpy(out.data,data,sizeof(*data)*strlen(data));
// مقدار رشته دوم رو هم کپی میکنیم
memcpy(&out.data[strlen(data)],in,sizeof(*in)*strlen(in));
out.data[strlen(in)+strlen(data)]='\0';
return out;
}
MySt
ring operator+(const MyString& in)const
{
return *this + in.data;
}
//کپ
ی کردنt
MyS
ring& operator = (const char* in)
{
delete[] data;
//آماده کردن فضای جدید
data = new char[strlen(in)+1];
//کپی کردن
strcpy(data,in);
data[strlen(in)]='\0';
return *this;
}
MySt
ring& operator = (const MyString& in)
{
*this = in.data;
return *this;
}
//اض
افه کردن به خود رشتهt
MyS
ring& operator +=(const char* in)
{
*this = *this + in;
return *this;
}
MySt
ring& operator +=(const MyString& in)
{
*this+=in.data;
return *this;
}
//ب
ررسی برابر بودنl
boo
operator == (const MyString& other)const
{
return !strcmp(other.data,data);
}
//ب
ررسی برابر نبودنl
boo
operator!= (const MyString& other)const
{
return !(*this==other);
}
bool
operator == (const char* other)const
{
return !strcmp(other,data);
}
bool
operator!= (const char* other)const
{
return !(*this==other);
}
//دس
ترسی به تک تک کاراکتر هاr
cha
& operator [] (uint in)
{
if(in>strlen(data))//ارور بده اگه عدده زیاد بود
throw std::runtime_error("MyString::operator [] : in is greater than data size");
return data[in];
}
cons
t char& operator [] (uint in)const
{
if(in>strlen(data))
throw std::runtime_error("MyString::operator [] : in is greater than data size");
return data[in];r
}
p
ivate:
r
cha
* data;م
};
یه
ثال استفاده ازش:
int main
()رم لذت برده باشین
{
MyString a = "Hello World!";
cout<<a.getdata()<<endl;
return 0;
}
امیدوا
زندگیتون بی ارور♥️
با سلام خدمت دوستان
قبل از شروع مبحث نیاز به تعریف یک سری از اصطلاحات می باشد
✅Target :
هدفی که قراره مورد نفوذ قرار بگیره
✅Trojan :
تروجان یک فایل ویروسی است که هکر با توجه به نیازی که از هک دارد، آماده می کند و به قربانی میدهد
✅Keylogger :
همون طور که از اسمش معلومه ، این ابزار جاسوسی برای گرفتن لاک کلید های فشرده شده و همچنین لاگ فعالیت ها استفاده میشه
✅RAT (Remote Administrator Tools) :
رت ها ترکیبی از ابزارهای ریموت و کیلاگر هستند که با اجرا شدن رو سیستم هدف، اطلاعاتی سیستم هدف رو در اختیار هکر قرار میده مثال : Darkcomet
✅Crypter :
مجموعه راه حل هایی که توسط آن فایل تروجان ، کیلاگر و رت از دید آنتی ویروس ها مخفی می ماند
✅Binder :
مخلوط کردن دو فایل با هم را بایند کردن می گویند (که یکی از فایل ها می تونه فایل تروجان باشه تا قربانی کمتر شک کنه)
برنامه نویسی به زبان ساده 😉
قبل از شروع مبحث نیاز به تعریف یک سری از اصطلاحات می باشد
✅Target :
هدفی که قراره مورد نفوذ قرار بگیره
✅Trojan :
تروجان یک فایل ویروسی است که هکر با توجه به نیازی که از هک دارد، آماده می کند و به قربانی میدهد
✅Keylogger :
همون طور که از اسمش معلومه ، این ابزار جاسوسی برای گرفتن لاک کلید های فشرده شده و همچنین لاگ فعالیت ها استفاده میشه
✅RAT (Remote Administrator Tools) :
رت ها ترکیبی از ابزارهای ریموت و کیلاگر هستند که با اجرا شدن رو سیستم هدف، اطلاعاتی سیستم هدف رو در اختیار هکر قرار میده مثال : Darkcomet
✅Crypter :
مجموعه راه حل هایی که توسط آن فایل تروجان ، کیلاگر و رت از دید آنتی ویروس ها مخفی می ماند
✅Binder :
مخلوط کردن دو فایل با هم را بایند کردن می گویند (که یکی از فایل ها می تونه فایل تروجان باشه تا قربانی کمتر شک کنه)
برنامه نویسی به زبان ساده 😉
If the language detector does not work, you can always add to the beginning of the code the desired language followed by a colon, for example:
bash:yourcode
Supported languages: (you must write them as it is)
1c
abnf
accesslog
actionscript
ada
apache
applescript
arduino
armasm
asciidoc
aspectj
autohotkey
autoit
avrasm
awk
axapta
bash
basic
bnf
brainfuck
cal
capnproto
ceylon
clean
clojure-repl
clojure
cmake
coffeescript
coq
cos
cpp
crmsh
crystal
cs
csp
css
d
dart
delphi
diff
django
dns
dockerfile
dos
dsconfig
dts
dust
ebnf
elixir
elm
erb
erlang-repl
erlang
excel
fix
flix
fortran
fsharp
gams
gauss
gcode
gherkin
glsl
go
golo
gradle
groovy
haml
handlebars
haskell
haxe
hsp
htmlbars
http
inform7
ini
irpf90
java
javascript
json
julia
kotlin
lasso
ldif
less
lisp
livecodeserver
livescript
llvm
lsl
lua
makefile
markdown
mathematica
matlab
maxima
mel
mercury
mipsasm
mizar
mojolicious
monkey
moonscript
nginx
nimrod
nix
nsis
objectivec
ocaml
openscad
oxygene
parser3
perl
pf
php
pony
powershell
processing
profile
prolog
protobuf
puppet
purebasic
python
q
qml
r
rib
roboconf
rsl
ruby
ruleslanguage
rust
scala
scheme
scilab
scss
smali
smalltalk
sml
sqf
sql
stan
stata
step21
stylus
subunit
swift
taggerscript
tap
tcl
tex
thrift
tp
twig
typescript
vala
vbnet
vbscript-html
vbscript
verilog
vhdl
vim
x86asm
xl
xml
xquery
yaml
zephir
در این کانال به بررسی در مورد زبان های برنامه نویسی که دربالا ذکر کردیم میپردازیم
bash:yourcode
Supported languages: (you must write them as it is)
1c
abnf
accesslog
actionscript
ada
apache
applescript
arduino
armasm
asciidoc
aspectj
autohotkey
autoit
avrasm
awk
axapta
bash
basic
bnf
brainfuck
cal
capnproto
ceylon
clean
clojure-repl
clojure
cmake
coffeescript
coq
cos
cpp
crmsh
crystal
cs
csp
css
d
dart
delphi
diff
django
dns
dockerfile
dos
dsconfig
dts
dust
ebnf
elixir
elm
erb
erlang-repl
erlang
excel
fix
flix
fortran
fsharp
gams
gauss
gcode
gherkin
glsl
go
golo
gradle
groovy
haml
handlebars
haskell
haxe
hsp
htmlbars
http
inform7
ini
irpf90
java
javascript
json
julia
kotlin
lasso
ldif
less
lisp
livecodeserver
livescript
llvm
lsl
lua
makefile
markdown
mathematica
matlab
maxima
mel
mercury
mipsasm
mizar
mojolicious
monkey
moonscript
nginx
nimrod
nix
nsis
objectivec
ocaml
openscad
oxygene
parser3
perl
pf
php
pony
powershell
processing
profile
prolog
protobuf
puppet
purebasic
python
q
qml
r
rib
roboconf
rsl
ruby
ruleslanguage
rust
scala
scheme
scilab
scss
smali
smalltalk
sml
sqf
sql
stan
stata
step21
stylus
subunit
swift
taggerscript
tap
tcl
tex
thrift
tp
twig
typescript
vala
vbnet
vbscript-html
vbscript
verilog
vhdl
vim
x86asm
xl
xml
xquery
yaml
zephir
در این کانال به بررسی در مورد زبان های برنامه نویسی که دربالا ذکر کردیم میپردازیم
70 GB of information about of hacking, cracking, courses, etc
https://mega.nz/#F!wxcWhZTR!_O2X8gSyQR3apccMTXG27g
https://mega.nz/#F!tIsiQTBZ!MaIkMqadIFDjkT0PtpxYdg
Los Increibles - CARTON FILM HD
https://mega.nz/#F!y4l0wbxC!1r5KXChbG3dYjNhZYHb3zg
2 MANY COURSES & BOOKS
https://mega.nz/F!IUAGTAAb!bsOdM6-XG6BBcoKh638REQ!scoCGKQL#F!IUAGTAAb!bsOdM6-XG6BBcoKh638REQ
SpyNote V2
- Android RAT
Download:
https://mega.nz/#!sipRwIgI!4mw04RpqMcqNZ1TPSISpy40TMO8F6IjDRY64J-JQQ4o
Password: ex0dus
—----------------------------------------------------------------------------------
Quasar RAT
- OpenSource RAT
Download:
https://mega.nz/#!Yv5TFQBC!fMd3tTVNCyCrrQ5h_l0b0kAbEbMRry8iAlmFkcTl4EM
Password: ex0dus
—---------------------------------------------------------------------------------
SkyWyder RAT
- Features login grabber.
Download:
https://mega.nz/#!UzQVgYib!Tb-kjouXlj-aVrMr7omuw0xyRJV8wjtL1tRwCiQZ30I
Password: ex0dus
—------------------------------------------------------------------------------—
AcormRAT
- Piece of shit
Download:
https://mega.nz/#!wnp1DJ4S!-3atNdaIONUTfjoAJnQr9YgJvf0_9L9c9LL3f9vN684
Password: ex0dus
—------------------------------------------------------------------------------—
Orcus RAT
Download:
https://mega.nz/#!Nuwz2b7A!GxHCsv_3TT5C4gJnymtogtyNl2daCoeWDofF9fh0fkc
Password: ex0dus
—------------------------------------------------------------------------------—
Ozone RAT - C++
Download:
https://mega.nz/#!BvIllLCD!BjroMI2Cxl6PWSl3UBZ72rKXu2N6OgJ7SIjHiw9vlds
Password: ex0dus
—-------------------------------------------------------------------------------
NanoCore
- Aeonhack (original coder) was arrested :-) .
Download:
https://mega.nz/#!V7xS1ahb!QnThBEOFTtLIPKYE1KtJYRiidA9N5epWnrXFUfPt3p8
Password: ex0dus
—-------------------------------------------------------------------------------
njRAT 0.7d
Download:
https://mega.nz/#!cvoEmR4J!d6vfQKAWuNJclLDld5J02UenSzleOzJgYWoUTxB5tTo
Password: ex0dus
—-------------------------------------------------------------------------------
DarkTrack 4.0
- No descr.
Download:
https://mega.nz/#!QvAQ1IpR!6eobpjFf9bfyzostusYY7__dSg2qTJg5v24K0TQbpws
Password: ex0dus
—-------------------------------------------------------------------------------
Babylon RAT
Download:
https://mega.nz/#!cvoEmR4J!d6vfQKAWuNJclLDld5J02UenSzleOzJgYWoUTxB5tTo
Password: ex0dus
https://www.facebook.com/1656611301265857/posts/1876637149263270
—------------------------------------------------------------------------—
Loki PWS
Download:
https://mega.nz/#!1zhQXQqQ!dUoDYS3f1JpjmeQEohICI7N8eVtytDyFTOqFndcjVoI
Password: ex0dus
—------------------------------------------------------------------—
Pony Stealer 1.9
- Builder
- Panel
Download:
https://mega.nz/#!5m5SEaqQ!PZoyvLP5rPAp-F7jiKmuF_lnsPlk68s9oMshjAsbrQE
Password: ex0dus
—------------------------------------------------------------------—
Pony Stealer 2.0
- Full Source
- Builder
- Panel
Download:
https://mega.nz/#!RmpURbCb!7CooaXNRd8_9qhtksDvZQUMUdrWFsM6gbCVe-2DB2HU
Password: ex0dus
https://www.facebook.com/1656611301265857/posts/1876937285899923
—-------------------------------------------------------------------------
https://mega.nz/#F!wxcWhZTR!_O2X8gSyQR3apccMTXG27g
https://mega.nz/#F!tIsiQTBZ!MaIkMqadIFDjkT0PtpxYdg
Los Increibles - CARTON FILM HD
https://mega.nz/#F!y4l0wbxC!1r5KXChbG3dYjNhZYHb3zg
2 MANY COURSES & BOOKS
https://mega.nz/F!IUAGTAAb!bsOdM6-XG6BBcoKh638REQ!scoCGKQL#F!IUAGTAAb!bsOdM6-XG6BBcoKh638REQ
SpyNote V2
- Android RAT
Download:
https://mega.nz/#!sipRwIgI!4mw04RpqMcqNZ1TPSISpy40TMO8F6IjDRY64J-JQQ4o
Password: ex0dus
—----------------------------------------------------------------------------------
Quasar RAT
- OpenSource RAT
Download:
https://mega.nz/#!Yv5TFQBC!fMd3tTVNCyCrrQ5h_l0b0kAbEbMRry8iAlmFkcTl4EM
Password: ex0dus
—---------------------------------------------------------------------------------
SkyWyder RAT
- Features login grabber.
Download:
https://mega.nz/#!UzQVgYib!Tb-kjouXlj-aVrMr7omuw0xyRJV8wjtL1tRwCiQZ30I
Password: ex0dus
—------------------------------------------------------------------------------—
AcormRAT
- Piece of shit
Download:
https://mega.nz/#!wnp1DJ4S!-3atNdaIONUTfjoAJnQr9YgJvf0_9L9c9LL3f9vN684
Password: ex0dus
—------------------------------------------------------------------------------—
Orcus RAT
Download:
https://mega.nz/#!Nuwz2b7A!GxHCsv_3TT5C4gJnymtogtyNl2daCoeWDofF9fh0fkc
Password: ex0dus
—------------------------------------------------------------------------------—
Ozone RAT - C++
Download:
https://mega.nz/#!BvIllLCD!BjroMI2Cxl6PWSl3UBZ72rKXu2N6OgJ7SIjHiw9vlds
Password: ex0dus
—-------------------------------------------------------------------------------
NanoCore
- Aeonhack (original coder) was arrested :-) .
Download:
https://mega.nz/#!V7xS1ahb!QnThBEOFTtLIPKYE1KtJYRiidA9N5epWnrXFUfPt3p8
Password: ex0dus
—-------------------------------------------------------------------------------
njRAT 0.7d
Download:
https://mega.nz/#!cvoEmR4J!d6vfQKAWuNJclLDld5J02UenSzleOzJgYWoUTxB5tTo
Password: ex0dus
—-------------------------------------------------------------------------------
DarkTrack 4.0
- No descr.
Download:
https://mega.nz/#!QvAQ1IpR!6eobpjFf9bfyzostusYY7__dSg2qTJg5v24K0TQbpws
Password: ex0dus
—-------------------------------------------------------------------------------
Babylon RAT
Download:
https://mega.nz/#!cvoEmR4J!d6vfQKAWuNJclLDld5J02UenSzleOzJgYWoUTxB5tTo
Password: ex0dus
https://www.facebook.com/1656611301265857/posts/1876637149263270
—------------------------------------------------------------------------—
Loki PWS
Download:
https://mega.nz/#!1zhQXQqQ!dUoDYS3f1JpjmeQEohICI7N8eVtytDyFTOqFndcjVoI
Password: ex0dus
—------------------------------------------------------------------—
Pony Stealer 1.9
- Builder
- Panel
Download:
https://mega.nz/#!5m5SEaqQ!PZoyvLP5rPAp-F7jiKmuF_lnsPlk68s9oMshjAsbrQE
Password: ex0dus
—------------------------------------------------------------------—
Pony Stealer 2.0
- Full Source
- Builder
- Panel
Download:
https://mega.nz/#!RmpURbCb!7CooaXNRd8_9qhtksDvZQUMUdrWFsM6gbCVe-2DB2HU
Password: ex0dus
https://www.facebook.com/1656611301265857/posts/1876937285899923
—-------------------------------------------------------------------------
mega.nz
MEGA provides free cloud storage with convenient and powerful always-on privacy. Claim your free 20GB now
📶🌍 🌍🇭:
Here is the complete list of Gmail keyboard shortcuts:
Compose and Chat
<Shift> + <Esc> : Focus main window
<Esc> : Focus latest chat or compose
<Ctrl> + . : Advance to next chat or compose
<Ctrl> + , : Advance to previous chat or compose
<Ctrl> + <Enter> : Send
<Ctrl> + <Shift> + c : Add cc recipients
<Ctrl> + <Shift> + b : Add bcc recipients
<Ctrl> + <Shift> + f : Access custom from
<Ctrl> + k : Insert a link
<Ctrl> + ; : Go to previous misspelled word
<Ctrl> + ' : Go to next misspelled word
<Ctrl> + m : Open spelling suggestions
Formatting
<Ctrl> + <Shift> + 5 : Previous font
<Ctrl> + <Shift> + 6 : Next font
<Ctrl> + <Shift> + - : Decrease text size
<Ctrl> + <Shift> + + : Increase text size
<Ctrl> + b : Bold
<Ctrl> + i : Italics
<Ctrl> + u : Underline
<Ctrl> + <Shift> + 7 : Numbered list
<Ctrl> + <Shift> + 8 : Bulleted list
<Ctrl> + <Shift> + 9 : Quote
<Ctrl> + [ : Indent less
<Ctrl> + ] : Indent more
<Ctrl> + <Shift> + l : Align left
<Ctrl> + <Shift> + e : Align center
<Ctrl> + <Shift> + r : Align right
<Ctrl> + <Shift> + , : Set right-to-left
<Ctrl> + <Shift> + . : Set left-to-right
<Ctrl> + \ : Remove formatting
Jumping
g then i : Go to Inbox
g then s : Go to Starred conversations
g then t : Go to Sent messages
g then d : Go to Drafts
g then a : Go to All mail
g then c : Go to Contacts
g then k : Go to Tasks
g then l : Go to Label
Threadlist selection
* then a : Select all conversations
* then n : Deselect all conversations
* then r : Select read conversations
* then u : Select unread conversations
* then s : Select starred conversations
* then t : Select unstarred conversations
Navigation
u : Back to threadlist
k / j : Newer/older conversation
o or <Enter> : Open conversation; collapse/expand conversation
p / n : Read previous/next message
` : Go to next inbox section
~ : Go to previous inbox section
Application
c : Compose
d : Compose in a tab (new compose only)
/ : Search mail
q : Search chat contacts
. : Open "more actions" menu
v : Open "move to" menu
l : Open "label as" menu
? : Open keyboard shortcut help
Actions
, : Move focus to toolbar
x : Select conversation
s : Rotate superstar
y : Remove label
e : Archive
m : Mute conversation
! : Report as spam
# : Delete
r : Reply
<Shift> + r : Reply in a new window
a : Reply all
<Shift> + a : Reply all in a new window
f : Forward
<Shift> + f : Forward in a new window
<Shift> + n : Update conversation
] / [ : Remove conversation from current view and go previous/next
} / { : Archive conversation and go previous/next
z : Undo last action
<Shift> + i : Mark as read
<Shift> + u : Mark as unread
_ : Mark unread from the selected message
+ or = : Mark as important
- : Mark as not important
<Shift> + t : Add conversation to Tasks
Here is the complete list of Gmail keyboard shortcuts:
Compose and Chat
<Shift> + <Esc> : Focus main window
<Esc> : Focus latest chat or compose
<Ctrl> + . : Advance to next chat or compose
<Ctrl> + , : Advance to previous chat or compose
<Ctrl> + <Enter> : Send
<Ctrl> + <Shift> + c : Add cc recipients
<Ctrl> + <Shift> + b : Add bcc recipients
<Ctrl> + <Shift> + f : Access custom from
<Ctrl> + k : Insert a link
<Ctrl> + ; : Go to previous misspelled word
<Ctrl> + ' : Go to next misspelled word
<Ctrl> + m : Open spelling suggestions
Formatting
<Ctrl> + <Shift> + 5 : Previous font
<Ctrl> + <Shift> + 6 : Next font
<Ctrl> + <Shift> + - : Decrease text size
<Ctrl> + <Shift> + + : Increase text size
<Ctrl> + b : Bold
<Ctrl> + i : Italics
<Ctrl> + u : Underline
<Ctrl> + <Shift> + 7 : Numbered list
<Ctrl> + <Shift> + 8 : Bulleted list
<Ctrl> + <Shift> + 9 : Quote
<Ctrl> + [ : Indent less
<Ctrl> + ] : Indent more
<Ctrl> + <Shift> + l : Align left
<Ctrl> + <Shift> + e : Align center
<Ctrl> + <Shift> + r : Align right
<Ctrl> + <Shift> + , : Set right-to-left
<Ctrl> + <Shift> + . : Set left-to-right
<Ctrl> + \ : Remove formatting
Jumping
g then i : Go to Inbox
g then s : Go to Starred conversations
g then t : Go to Sent messages
g then d : Go to Drafts
g then a : Go to All mail
g then c : Go to Contacts
g then k : Go to Tasks
g then l : Go to Label
Threadlist selection
* then a : Select all conversations
* then n : Deselect all conversations
* then r : Select read conversations
* then u : Select unread conversations
* then s : Select starred conversations
* then t : Select unstarred conversations
Navigation
u : Back to threadlist
k / j : Newer/older conversation
o or <Enter> : Open conversation; collapse/expand conversation
p / n : Read previous/next message
` : Go to next inbox section
~ : Go to previous inbox section
Application
c : Compose
d : Compose in a tab (new compose only)
/ : Search mail
q : Search chat contacts
. : Open "more actions" menu
v : Open "move to" menu
l : Open "label as" menu
? : Open keyboard shortcut help
Actions
, : Move focus to toolbar
x : Select conversation
s : Rotate superstar
y : Remove label
e : Archive
m : Mute conversation
! : Report as spam
# : Delete
r : Reply
<Shift> + r : Reply in a new window
a : Reply all
<Shift> + a : Reply all in a new window
f : Forward
<Shift> + f : Forward in a new window
<Shift> + n : Update conversation
] / [ : Remove conversation from current view and go previous/next
} / { : Archive conversation and go previous/next
z : Undo last action
<Shift> + i : Mark as read
<Shift> + u : Mark as unread
_ : Mark unread from the selected message
+ or = : Mark as important
- : Mark as not important
<Shift> + t : Add conversation to Tasks
یادداشت های برنامه نویس آماتور | Amateur programmer notes
📶🌍 🌍🇭: Here is the complete list of Gmail keyboard shortcuts: Compose and Chat <Shift> + <Esc> : Focus main window <Esc> : Focus latest chat or compose <Ctrl> + . : Advance to next chat or compose <Ctrl> + , : Advance to previous chat or compose <Ctrl> +…
یخورده دکمه ترکیبی کیبورد ویندوز 😉
🌑🌑** 4shared cloud storage accounts mega giveaway
All are free accounts so search for something interesting stuffs😝😝**
Format Email: Pass
kerruissacinnamon24@gmail.com:t0042414a
huemulin2@gmail.com:cxlcxl
carlosgalvan24@hotmail.com:mama1458
aleliujai.zegunis@gmail.com:togepa123
ytata_YT@hotmail.com:isma1268
raulfgcosta@gmail.com:101524
leticiastar.rbd@hotmail.com:llmn81996
deguzmanricardo16@gmail.com:deGuzman16
sjoberg.alexander@hotmail.com:Fallebo90
ahm105@hotmail.com:78523652
mjlarsen@hotmail.com:airwolf
dasefx@gmail.com:olympia
fauxcount@aol.com:2bananas
bronsontx92@aol.com:REqu0792
kgagepo@gmail.com:qwertyuiop
tigga69@gmail.com:black187
cman4321@gmail.com:w8lifter
mamazaki_kasookie@hotmail.com:qasdcewsxz
fabregace@gmail.com:159875
jpddias@gmail.com:120699
mahamedh11@yahoo.com:3333333
duffs_leandrinho@hotmail.com:2410951995
ayad_1979@hotmail.com:112131
miobii@mail.ru:4352sola
patrickadivaldo@hotmail.com:kcirtap1
hamad200520@yahoo.com:7777777
bigsista@gmail.com:booboo1
darkmidnightsmoon@gmail.com:riverspirit12
elcuervo_10elpocho@hotmail.com:calm1992
arya84_kdr@yahoo.com:sagitarius
karimfahmy99@hotmail.com:k1122444
pasayat.trinath@gmail.com:9090350140
raushanmishr4@gmail.com:9939963480
gabhargav786@gmail.com:9467156711
nkwatchout@gmail.com:kowsalya
parshantarora2k@gmail.com:pmahak
amarshrivastava89@gmail.com:77886600
johncar1240@gmail.com:dinesh007
shaktis433@gmail.com:7597456818
djayakmr@gmail.com:salomijai
favaskt45@yahoo.com:9847845856
khan.arju@gmail.com:9002503297
aliesa.esa@gmail.com:9700228706
jhonattandemello@yahoo.com:jhonattande180394
Share our channel 😍Ashi
All are free accounts so search for something interesting stuffs😝😝**
Format Email: Pass
kerruissacinnamon24@gmail.com:t0042414a
huemulin2@gmail.com:cxlcxl
carlosgalvan24@hotmail.com:mama1458
aleliujai.zegunis@gmail.com:togepa123
ytata_YT@hotmail.com:isma1268
raulfgcosta@gmail.com:101524
leticiastar.rbd@hotmail.com:llmn81996
deguzmanricardo16@gmail.com:deGuzman16
sjoberg.alexander@hotmail.com:Fallebo90
ahm105@hotmail.com:78523652
mjlarsen@hotmail.com:airwolf
dasefx@gmail.com:olympia
fauxcount@aol.com:2bananas
bronsontx92@aol.com:REqu0792
kgagepo@gmail.com:qwertyuiop
tigga69@gmail.com:black187
cman4321@gmail.com:w8lifter
mamazaki_kasookie@hotmail.com:qasdcewsxz
fabregace@gmail.com:159875
jpddias@gmail.com:120699
mahamedh11@yahoo.com:3333333
duffs_leandrinho@hotmail.com:2410951995
ayad_1979@hotmail.com:112131
miobii@mail.ru:4352sola
patrickadivaldo@hotmail.com:kcirtap1
hamad200520@yahoo.com:7777777
bigsista@gmail.com:booboo1
darkmidnightsmoon@gmail.com:riverspirit12
elcuervo_10elpocho@hotmail.com:calm1992
arya84_kdr@yahoo.com:sagitarius
karimfahmy99@hotmail.com:k1122444
pasayat.trinath@gmail.com:9090350140
raushanmishr4@gmail.com:9939963480
gabhargav786@gmail.com:9467156711
nkwatchout@gmail.com:kowsalya
parshantarora2k@gmail.com:pmahak
amarshrivastava89@gmail.com:77886600
johncar1240@gmail.com:dinesh007
shaktis433@gmail.com:7597456818
djayakmr@gmail.com:salomijai
favaskt45@yahoo.com:9847845856
khan.arju@gmail.com:9002503297
aliesa.esa@gmail.com:9700228706
jhonattandemello@yahoo.com:jhonattande180394
Share our channel 😍Ashi
Again😍😍😍😍Ashi
Netflix Premium Accounts
Username:Password
registoussaint@free.fr:tortue.5
kevin.dargys@gmx.de:Angelika07
misty_witt@hotmail.com:Jakedog17
marcel.schneider.1@gmx.de:apfelsine1
dxtniger101@gmail.com:miniclip1
ahakin@icloud.com:21barnsbury
amyrkruger@yahoo.com:Matthew18
gill-baker@live.co.uk:blackie
djhvet@gmail.com:b1gr3dd0g
julie@filston.co.uk:filston
sa.jurmah@hotmail.com:151131
affan.haider@gmail.com:Hyder001
nazmul.karim65@yahoo.com:N2zmulfin
amjad.sh1972@gmail.com:am9121972
naif909@gmail.com:Nlvn1524
abdullahsayedali@gmail.com:Abdu12345
traceywalk@aol.com:shelby1
david.sommer@gmx.com:Skateshop1
valioboy@abv.bg:maimuna
Ahmad_Fares_1982@hotmail.com:nancy123321
mohanad.alqasem@yahoo.com:elan1234
danish.arsalan@gmail.com:da435739a
eng.alziyadi@gmail.com:aqazaqaz
wisam_aa@yahoo.com:sam12345
aamb_999@hotmail.com:abcd1234
jack_loo@me.com:ipwnyou1
rame.a.g.12@hotmail.com:rami5426
twaimsn@gmail.com:sd927406
valindrix@yahoo.com:Nobody4u
the.wolfx@yahoo.com:Baseball24
lumpycam69@hotmail.com:October8
khalid12m@gmail.com:iupui12Cmu
Hajar.ajlan@hotmail.com:Qq123456
tapia310@yahoo.com:Dannyboy92
Share our channel 😍
Netflix Premium Accounts
Username:Password
registoussaint@free.fr:tortue.5
kevin.dargys@gmx.de:Angelika07
misty_witt@hotmail.com:Jakedog17
marcel.schneider.1@gmx.de:apfelsine1
dxtniger101@gmail.com:miniclip1
ahakin@icloud.com:21barnsbury
amyrkruger@yahoo.com:Matthew18
gill-baker@live.co.uk:blackie
djhvet@gmail.com:b1gr3dd0g
julie@filston.co.uk:filston
sa.jurmah@hotmail.com:151131
affan.haider@gmail.com:Hyder001
nazmul.karim65@yahoo.com:N2zmulfin
amjad.sh1972@gmail.com:am9121972
naif909@gmail.com:Nlvn1524
abdullahsayedali@gmail.com:Abdu12345
traceywalk@aol.com:shelby1
david.sommer@gmx.com:Skateshop1
valioboy@abv.bg:maimuna
Ahmad_Fares_1982@hotmail.com:nancy123321
mohanad.alqasem@yahoo.com:elan1234
danish.arsalan@gmail.com:da435739a
eng.alziyadi@gmail.com:aqazaqaz
wisam_aa@yahoo.com:sam12345
aamb_999@hotmail.com:abcd1234
jack_loo@me.com:ipwnyou1
rame.a.g.12@hotmail.com:rami5426
twaimsn@gmail.com:sd927406
valindrix@yahoo.com:Nobody4u
the.wolfx@yahoo.com:Baseball24
lumpycam69@hotmail.com:October8
khalid12m@gmail.com:iupui12Cmu
Hajar.ajlan@hotmail.com:Qq123456
tapia310@yahoo.com:Dannyboy92
Share our channel 😍
✅ مهارت های مورد نیاز برنامه نویس وب full-stack
🔆🔆🔆 Backend
⭕️ Database:
- RDBMS: MySQL, PostgreSQL, Oracle
- Non-RDBMS(NO-SQL): MongoDb, Redis
⭕️ PHP (/Python/Go/Ruby)
- Frameworks: CodeIgniter, ZF, Laravel, Yii, Phalcon
- Unit testers: PHPUnit, Behat
- Web servers: Nginx, Apache, IIS
- Source documentors: PHPDoc, APIGen
- Linters: PHPlint, PHPCS
- Build automations: PHInG
- Task runners: Jobby, Robo, taskphp
- Dependency managers: Composer, PEAR
- Profilters: xDebug, xprof
- Design patterns: Factories, Builder, Singletone, Adapter, DI/Registry, SL, Facade
- Architectures: MVC, REST, Client-Server
- Developmen RAD, BDD, Waterfall, TDD
- Libraries/Extensions
⭕️ Misc:
Operation system, XML/JSON, SOAP/REST, PSRs,Networking, Unicode, memory, Security, Date/ Git/TFS, Cloud tech
🔆🔆🔆 Frontend
⭕️ HTML 4/5:
- validators
- linters
⭕️ CSS 2/3:
- Frameworks: Bootstrap, Foundation, Cascade
- Preprocessors: SASS, LESS
- Design methods: BEM, SMA-CSS, OO-CSS
- Validators
- Linters
⭕️ JavaScript
- Frameworks: AngularJS, React, EmberJS, VueJS
- Libraries: jQuery, Socket.io
- Linters: EsLint, JSHint, JSLint
- Dependency manager: NPM, Yarn, Bower
- Build automations: GlupJS, Grunt, Karma
- Unit testers: MochaJS, Jasmine, QUnit, UnitJS
- Debuggers/Analyzers: JSDT, Firebug, Dragonfly, Webkit
- Design patterns: Module, prototype, singletone, adapter, facade
- Developmenthods: RAD, BDD, Waterfall, TDD
- Source documentors: JSDoc, EsDoc
⭕️ Misc:
Operation system, Graphic, Media, XML/JSON, SOAP/REST, Browsers, Networking, Unicode, memory, Security, Date/ Git/TFS, Cloud/CDN, SEO
حتی اگر برنامه نویس full-stack هم نباشید، بعنوان برنامه نویس ارشد و پیشرفته باید در حوزه تخصص خودتون(backend یا frontend) به مباحث حوزه تون "مسلط" باشید.
منبع : لینوکس و اوپن سورس
نوشته : mr ashkan
🔆🔆🔆 Backend
⭕️ Database:
- RDBMS: MySQL, PostgreSQL, Oracle
- Non-RDBMS(NO-SQL): MongoDb, Redis
⭕️ PHP (/Python/Go/Ruby)
- Frameworks: CodeIgniter, ZF, Laravel, Yii, Phalcon
- Unit testers: PHPUnit, Behat
- Web servers: Nginx, Apache, IIS
- Source documentors: PHPDoc, APIGen
- Linters: PHPlint, PHPCS
- Build automations: PHInG
- Task runners: Jobby, Robo, taskphp
- Dependency managers: Composer, PEAR
- Profilters: xDebug, xprof
- Design patterns: Factories, Builder, Singletone, Adapter, DI/Registry, SL, Facade
- Architectures: MVC, REST, Client-Server
- Developmen RAD, BDD, Waterfall, TDD
- Libraries/Extensions
⭕️ Misc:
Operation system, XML/JSON, SOAP/REST, PSRs,Networking, Unicode, memory, Security, Date/ Git/TFS, Cloud tech
🔆🔆🔆 Frontend
⭕️ HTML 4/5:
- validators
- linters
⭕️ CSS 2/3:
- Frameworks: Bootstrap, Foundation, Cascade
- Preprocessors: SASS, LESS
- Design methods: BEM, SMA-CSS, OO-CSS
- Validators
- Linters
⭕️ JavaScript
- Frameworks: AngularJS, React, EmberJS, VueJS
- Libraries: jQuery, Socket.io
- Linters: EsLint, JSHint, JSLint
- Dependency manager: NPM, Yarn, Bower
- Build automations: GlupJS, Grunt, Karma
- Unit testers: MochaJS, Jasmine, QUnit, UnitJS
- Debuggers/Analyzers: JSDT, Firebug, Dragonfly, Webkit
- Design patterns: Module, prototype, singletone, adapter, facade
- Developmenthods: RAD, BDD, Waterfall, TDD
- Source documentors: JSDoc, EsDoc
⭕️ Misc:
Operation system, Graphic, Media, XML/JSON, SOAP/REST, Browsers, Networking, Unicode, memory, Security, Date/ Git/TFS, Cloud/CDN, SEO
حتی اگر برنامه نویس full-stack هم نباشید، بعنوان برنامه نویس ارشد و پیشرفته باید در حوزه تخصص خودتون(backend یا frontend) به مباحث حوزه تون "مسلط" باشید.
منبع : لینوکس و اوپن سورس
نوشته : mr ashkan
Channel name was changed to «یادداشت های برنامه نویس آماتور»
#back_end_developer
در تصویر بالا راه تبدیل شدن به یک back_end_developer در سال 2017 را میبینید.
مشاهده و بررسی این تصویر به افرادی که علاقه کار در حوزه #back_end را دارند توصیه میشود.
در تصویر بالا راه تبدیل شدن به یک back_end_developer در سال 2017 را میبینید.
مشاهده و بررسی این تصویر به افرادی که علاقه کار در حوزه #back_end را دارند توصیه میشود.
#front_end_developer
در تصویر بالا راه تبدیل شدن به یک front_end_developer در سال 2017رامیبینید.
این نقشه میتواند در انتخاب راه درست به افرادی که علاقه کار در حوزه #front رودارند کمک کند
در تصویر بالا راه تبدیل شدن به یک front_end_developer در سال 2017رامیبینید.
این نقشه میتواند در انتخاب راه درست به افرادی که علاقه کار در حوزه #front رودارند کمک کند
نرم افزار و زبان برنامه نویسی R چیست؟ اصلاً چرا R؟
چندی پیش مطلبی در ارتباط با زبان برنامه نویسی R براتون نوشتم. امروز میخواهم بیشتر به زبان برنامه نویسی R بپردازم.
بیشتر این مطالب از مقاله Ashlee Vance به آدرس: http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html
گرفته شده است.
برای بعضی ها R فقط 18همین حرف الفبای انگلیسی است. برای برخی دیگر R یک رتبه (درجه دسته بندی) در فیلمهای مهیج است. برای برخی ها نیز یک درجه عایق استفاده شده برای اتاق زیر شیروانی و یا حرفی هست که دزدان دریایی در فیلم ها میگویند.
R همچنین نام یک زبان برنامه نویسی و نرمافزار مهم و کاربرپسند است که برای آنالیز دادهها استفاده میشود. این برنامه در حال تبدیل شدن به یک زبان برنامه نویسی بین المللی است. چرا که امروز داده کاوی یکی از کارهای اجتناب ناپذیر هر علمی شده است. امروزه شرکت های مختلف از جمله Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group و Shell از آن به صورت روزمره استفاده میکنند.
اما شاید این سوال برای شما پیش بیاید چرا این برنامه را R نامیده اند؟ این سوالی است که برای خودم هم پیش آمده اما فقط همین را میتوانم بگویم که R اولین بار در سال 1996 ظهور یافت که دو پروفسور آمار نیوزلندی به نام های Robert Gentleman و Ross Ihaka یک کد برنامه نویسی را به همراه نرم افزار به صورت رایگان منتشر کردند. شاید دلیل نامگذاری R به خاطر حرف اول اسم کوچک این دو پرفسور آمار باشد.
یک محقق در شرکت Google که از نرم افزار R استفاده می کند گفته نرمافزار R آنقدر مهم است که ارزش آن قابل شمردن نیست. این نرم افزار به محققان و دانشجویان این اجازه را می دهد که آنالیزهای پیچیده و برهمکنشی را بدون اینکه از پس زمینه نرم افزار و روش های آماری اطلاعی داشته باشد را انجام دهند.
جالب اینکه این نرم افزار مجانی است. این قابلیت را دارد که کدهای خود را که در زبان برنامه نویسی مانند C++ نوشته ای را در اینجا برای محققان دیگر به اشتراک بگذاری، کدهای نوشته شده را اصلاح کنید و از بسته های نرم افزاری دیگران استفاده کنی. پس هم یک زبان برنامه نویسی است و هم یک بسته نرمافزاری برای کاربران می باشد. خیلی اوقات محققان آماری در زمینه برنامه نویسی به توابع و الگوریتم های نیاز دارند که نوشتن آنها به زمان بسیار زیادی نیاز دارد. اما با استفاده از R کاربر میتواند به راحتی از متدها و توابعی که دیگران نوشته اند استفاده کند. برخی از کاربران R آن را به عنوان یک نسخه پیشرفته excel می داند زیرا به راحتی میتواند ویرایش و آنالیزهای دادها را با آن انجام داد.
در حال حاضر بیش از 3117 بسته نرم افزاری برای R نوشته شده است. واقعیتش من فکر نمی کنم تا حالا هیچ نرم افزاری به این گستردگی نوشته شده باشد. برخی از دانشجویان به من گفته اند که این نرم افزار به زودی جایگزین SAS می شود. اما باید بگم SAS که چه عرض کنم، دیگر نرم افزارهای برآورد پارامتر هم دارند کنار میروند. فقط بگم این نرم افزار واقعاً محشر است، هر چه دلت بخواد توی آن پیدا میکنی. بعضی ها میگن شبیه نرمافزار Matlab است. از این جنبه که قابلیت نوشتن برنامه در ان هست بله. مثل Matlab است. اما شما برید ببینید آیا میتوانید به نرم افزار Matlab فایل شجره و داده را بدی برایتون BV یا پارامتر ژنتیکی محاسبه کنه. برای اینکار در نرم افزار Matlab مجبور بودید صدها خط برنامه مینوشتید اما با R همین کار را با 10 خط میتونید انجام بدید.
اینکه تعداد کاربران نرم افزار R چقدر است را نمی توان دقیق گفت اما در سال 2009 حدود 250000 نفر تخمین زده شد. که من شک ندارم تا امروز این تعداد از 500000 نفر هم گذشته است. همچنین در این مقاله نوشته شده کاربرپسندی و قابلیت های دیگر R میتواند تجارت موسسئسه هایی که SAS را سازماندهی می کننند تهدید کند که قطعاً همینطور هست. مثل خود من، از زمانی که با R آشنا شده ام خیلی کمتر از SAS استفاده میکنم. البته شرکتی که SAS را نوشته و پخش می کند هم بیکار ننشسته و امروز SAS نسخه 9.2 با قابلیت بالاتر و با کتابهای راهنمای بسیار باکیفیتی را وارد بازار کرده است.
بااین وجود R یکسری نقایصی هم دارد که قطعاً به زودی حل خواهند شد. یکی از آنها این است که برای برخی packageها و متدها به حافظه کامپیوتری بالایی نیاز دارد. برخی از packageهای آن روی برخی سیستم عامل ها جواب نمی دهند مثلاً package MCMCGlmm گاهی اوقات روی ویندوز 7 کار نمی کند باید حتماً از XP یا لینوکس استفاده شود. از نظر حافظه محدودیت دارد. سرعت ان نسبتاً کند است. اما همچنان تهیه کنندگان این نرم افزار در تلاشند تا کاستی های آن را جبران کنند. که قطعاً به زودی این کاستی ها را نیز برطرف خواهند کرد
نوشته: mr.ashkan
http://geneticz.blogfa.com/post
چندی پیش مطلبی در ارتباط با زبان برنامه نویسی R براتون نوشتم. امروز میخواهم بیشتر به زبان برنامه نویسی R بپردازم.
بیشتر این مطالب از مقاله Ashlee Vance به آدرس: http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html
گرفته شده است.
برای بعضی ها R فقط 18همین حرف الفبای انگلیسی است. برای برخی دیگر R یک رتبه (درجه دسته بندی) در فیلمهای مهیج است. برای برخی ها نیز یک درجه عایق استفاده شده برای اتاق زیر شیروانی و یا حرفی هست که دزدان دریایی در فیلم ها میگویند.
R همچنین نام یک زبان برنامه نویسی و نرمافزار مهم و کاربرپسند است که برای آنالیز دادهها استفاده میشود. این برنامه در حال تبدیل شدن به یک زبان برنامه نویسی بین المللی است. چرا که امروز داده کاوی یکی از کارهای اجتناب ناپذیر هر علمی شده است. امروزه شرکت های مختلف از جمله Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group و Shell از آن به صورت روزمره استفاده میکنند.
اما شاید این سوال برای شما پیش بیاید چرا این برنامه را R نامیده اند؟ این سوالی است که برای خودم هم پیش آمده اما فقط همین را میتوانم بگویم که R اولین بار در سال 1996 ظهور یافت که دو پروفسور آمار نیوزلندی به نام های Robert Gentleman و Ross Ihaka یک کد برنامه نویسی را به همراه نرم افزار به صورت رایگان منتشر کردند. شاید دلیل نامگذاری R به خاطر حرف اول اسم کوچک این دو پرفسور آمار باشد.
یک محقق در شرکت Google که از نرم افزار R استفاده می کند گفته نرمافزار R آنقدر مهم است که ارزش آن قابل شمردن نیست. این نرم افزار به محققان و دانشجویان این اجازه را می دهد که آنالیزهای پیچیده و برهمکنشی را بدون اینکه از پس زمینه نرم افزار و روش های آماری اطلاعی داشته باشد را انجام دهند.
جالب اینکه این نرم افزار مجانی است. این قابلیت را دارد که کدهای خود را که در زبان برنامه نویسی مانند C++ نوشته ای را در اینجا برای محققان دیگر به اشتراک بگذاری، کدهای نوشته شده را اصلاح کنید و از بسته های نرم افزاری دیگران استفاده کنی. پس هم یک زبان برنامه نویسی است و هم یک بسته نرمافزاری برای کاربران می باشد. خیلی اوقات محققان آماری در زمینه برنامه نویسی به توابع و الگوریتم های نیاز دارند که نوشتن آنها به زمان بسیار زیادی نیاز دارد. اما با استفاده از R کاربر میتواند به راحتی از متدها و توابعی که دیگران نوشته اند استفاده کند. برخی از کاربران R آن را به عنوان یک نسخه پیشرفته excel می داند زیرا به راحتی میتواند ویرایش و آنالیزهای دادها را با آن انجام داد.
در حال حاضر بیش از 3117 بسته نرم افزاری برای R نوشته شده است. واقعیتش من فکر نمی کنم تا حالا هیچ نرم افزاری به این گستردگی نوشته شده باشد. برخی از دانشجویان به من گفته اند که این نرم افزار به زودی جایگزین SAS می شود. اما باید بگم SAS که چه عرض کنم، دیگر نرم افزارهای برآورد پارامتر هم دارند کنار میروند. فقط بگم این نرم افزار واقعاً محشر است، هر چه دلت بخواد توی آن پیدا میکنی. بعضی ها میگن شبیه نرمافزار Matlab است. از این جنبه که قابلیت نوشتن برنامه در ان هست بله. مثل Matlab است. اما شما برید ببینید آیا میتوانید به نرم افزار Matlab فایل شجره و داده را بدی برایتون BV یا پارامتر ژنتیکی محاسبه کنه. برای اینکار در نرم افزار Matlab مجبور بودید صدها خط برنامه مینوشتید اما با R همین کار را با 10 خط میتونید انجام بدید.
اینکه تعداد کاربران نرم افزار R چقدر است را نمی توان دقیق گفت اما در سال 2009 حدود 250000 نفر تخمین زده شد. که من شک ندارم تا امروز این تعداد از 500000 نفر هم گذشته است. همچنین در این مقاله نوشته شده کاربرپسندی و قابلیت های دیگر R میتواند تجارت موسسئسه هایی که SAS را سازماندهی می کننند تهدید کند که قطعاً همینطور هست. مثل خود من، از زمانی که با R آشنا شده ام خیلی کمتر از SAS استفاده میکنم. البته شرکتی که SAS را نوشته و پخش می کند هم بیکار ننشسته و امروز SAS نسخه 9.2 با قابلیت بالاتر و با کتابهای راهنمای بسیار باکیفیتی را وارد بازار کرده است.
بااین وجود R یکسری نقایصی هم دارد که قطعاً به زودی حل خواهند شد. یکی از آنها این است که برای برخی packageها و متدها به حافظه کامپیوتری بالایی نیاز دارد. برخی از packageهای آن روی برخی سیستم عامل ها جواب نمی دهند مثلاً package MCMCGlmm گاهی اوقات روی ویندوز 7 کار نمی کند باید حتماً از XP یا لینوکس استفاده شود. از نظر حافظه محدودیت دارد. سرعت ان نسبتاً کند است. اما همچنان تهیه کنندگان این نرم افزار در تلاشند تا کاستی های آن را جبران کنند. که قطعاً به زودی این کاستی ها را نیز برطرف خواهند کرد
نوشته: mr.ashkan
http://geneticz.blogfa.com/post
NY Times
Data Analysts Captivated by R’s Power (Published 2009)
A programming language’s versatility and its price (free) makes it a favorite of data analysts.
#آموزشی
بسم الله الرحمن الرحیم
با سلام خدمت همه شما، با جلسه هفتم آموزش جاوااسکریپت در خدمتتون هستم.
#javascript #جاوااسکریپت
در این جلسه قرار بر این شد که در مورد متد addEventListener و callback function ها توضیحاتی رو خدمتتون ارائه کنم.
addEventListener: با استفاده از متد addEventListener میتوان به یک المنت یک event handler اضافه کرد، بدون اینکه event handlerهای موجود overwrite شوند. پس شما به این وسیله می توانید به یک المنت تعداد زیادی event handler اضافه نمایید. (به تابعی که برای مدیریت کردن یک رویداد ایجاد می شود event handler می گویند)
برای نوشتن کد به صورت جاوااسکریپت بی آزار (unobtrusive javascript) از event listener ها استفاده می شود. زمانی که ما کدها را به شکل unobtrusive می نویسیم در واقع کدهای js را از HTML جدا میکنیم و دیگر نیازی به تعریف رویدادهایی مثل onclick درون یک تگ html نیست. مزیت دیگر این روش کدنویسی این است که شما مجبور بودید برای تعریف یک تابع برای مدیریت رویداد، آن تابع را به صورت مستقیم در فضای نام سراسری قرار بدهید و این امکان وجود داشت که نام تابع شما با تابع دیگری که در یک کتابخانه که به صفحه اضافه کردید یکی باشد و این مورد برای شما دردسر ساز می شد. اما با استفاده از addEventListener با این مشکل مواجه نیستیم.
فرمت کلی این دستور به شکل زیر است:
document.getElementById("myBtn").addEventListener("click", myEventHandler);
المنت مورد نظر رو انتخاب کرده و با دستور addEventListener تابعی که قرار است event handler ما باشد را به رویداد مورد نظر الصاق می کنیم. myEventHandler اسم تابع من برای مدیریت این رویداد است، می توان به جای استفاده از نام تایع، خود تابع را قرار داد:
document.getElementById("myBtn").addEventListener("click", function() {
// some code
});
این دستور صرفا برای رویدادهای مربوط به عناصر html نمی باشد، بلکه برای تمامی اشیاء DOM از قبیل window نیز مورد استفاده است.
window.addEventListener("resize", function(){
document.getElementById("demo").innerHTML = "sometext";
});
برای حذف یک eventListener به صورت زیر عمل می شود:
element.removeEventListener("myBtn ", myEventHandler);
مرورگرهای IE8 و قبل از آن و همینطور Opera6 و قبل از آن متدهای addEventListener و removeEventListener را پشتیبانی نمی کنند. رویداد جایگزین در این مرورگرها attachEvent و detachEvent می باشد. برای مدیریت این ناهماهنگی بین مرورگرها می توان به روش زیر عمل کرد:
var x = document.getElementById("myBtn");
if (x.addEventListener) { // For all major browsers, except IE 8 and earlier
x.addEventListener("click", myFunction);
} else if (x.attachEvent) { // For IE 8 and earlier versions
x.attachEvent("onclick", myFunction);
}
خب، با توجه به مطالبی که گفته شد، من میتونم کدم مربوط به stopwatch رو به صورت زیر تغییر بدم:
کد HTML:
<body>
<div id="demo">0</div>
<input id="btnStart" type="button" value="start" />
<input id="btnStop" type="button" value="stop" />
</body>
کد JS:
document.addEventListener("DOMContentLoaded", function() {
'use strict';
// variables
var s = 0;
var myInterval;
start();
// eventListeners
document.querySelector("#btnStart").addEventListener("click", start);
document.querySelector("#btnStop").addEventListener("click", stop);
// functions
function start() {
myInterval = setInterval(function () { document.querySelector("#demo").innerText = ++s; }, 1000);
}
function stop() {
clearInterval(myInterval);
}
});
حالا با این روش خیال من از چند لحاظ راحته اول اینکه اسم متغیرهام با یک کتابخانه دیگر، فایل script دیگر و کدهای JS درون صفحه تداخل پیدا نمیکنه.:) همینطور اسم توابعم، و اینکه مجبور نیستم تابع مرتبط با یک رویداد رو در فضای نام سراسری بنویسم، همینطور اینکه برای تغییر اسم یه تابع لازم نیست برم سراغ کد HTML ووووو
همه چیز رو میبرم داخل یک تابع، البته از این توابع زیاد میتونم داشته باشم.
تنها چیزی که باید بگم اینه که، من این کد رو همونطور که میبینید طوری ننوشتم که همه مرورگرها رو پشتیبانی کنه. حتی برای متد load مربوط به document.
Callback Function:
در کد نویسی ممکن است که بخواهیم کدهایی را درون یک تابع قرار دهیم و این فقط یک خروجی نداشته باشد، یک حالتش این است که من می توانم از مجموعه خروجی های این تابع یک شئ ایجاد کنم و آن شئ را به عنوان خرجی تحویل دهم، روش دیگری که من می توانم به آن صورت
بسم الله الرحمن الرحیم
با سلام خدمت همه شما، با جلسه هفتم آموزش جاوااسکریپت در خدمتتون هستم.
#javascript #جاوااسکریپت
در این جلسه قرار بر این شد که در مورد متد addEventListener و callback function ها توضیحاتی رو خدمتتون ارائه کنم.
addEventListener: با استفاده از متد addEventListener میتوان به یک المنت یک event handler اضافه کرد، بدون اینکه event handlerهای موجود overwrite شوند. پس شما به این وسیله می توانید به یک المنت تعداد زیادی event handler اضافه نمایید. (به تابعی که برای مدیریت کردن یک رویداد ایجاد می شود event handler می گویند)
برای نوشتن کد به صورت جاوااسکریپت بی آزار (unobtrusive javascript) از event listener ها استفاده می شود. زمانی که ما کدها را به شکل unobtrusive می نویسیم در واقع کدهای js را از HTML جدا میکنیم و دیگر نیازی به تعریف رویدادهایی مثل onclick درون یک تگ html نیست. مزیت دیگر این روش کدنویسی این است که شما مجبور بودید برای تعریف یک تابع برای مدیریت رویداد، آن تابع را به صورت مستقیم در فضای نام سراسری قرار بدهید و این امکان وجود داشت که نام تابع شما با تابع دیگری که در یک کتابخانه که به صفحه اضافه کردید یکی باشد و این مورد برای شما دردسر ساز می شد. اما با استفاده از addEventListener با این مشکل مواجه نیستیم.
فرمت کلی این دستور به شکل زیر است:
document.getElementById("myBtn").addEventListener("click", myEventHandler);
المنت مورد نظر رو انتخاب کرده و با دستور addEventListener تابعی که قرار است event handler ما باشد را به رویداد مورد نظر الصاق می کنیم. myEventHandler اسم تابع من برای مدیریت این رویداد است، می توان به جای استفاده از نام تایع، خود تابع را قرار داد:
document.getElementById("myBtn").addEventListener("click", function() {
// some code
});
این دستور صرفا برای رویدادهای مربوط به عناصر html نمی باشد، بلکه برای تمامی اشیاء DOM از قبیل window نیز مورد استفاده است.
window.addEventListener("resize", function(){
document.getElementById("demo").innerHTML = "sometext";
});
برای حذف یک eventListener به صورت زیر عمل می شود:
element.removeEventListener("myBtn ", myEventHandler);
مرورگرهای IE8 و قبل از آن و همینطور Opera6 و قبل از آن متدهای addEventListener و removeEventListener را پشتیبانی نمی کنند. رویداد جایگزین در این مرورگرها attachEvent و detachEvent می باشد. برای مدیریت این ناهماهنگی بین مرورگرها می توان به روش زیر عمل کرد:
var x = document.getElementById("myBtn");
if (x.addEventListener) { // For all major browsers, except IE 8 and earlier
x.addEventListener("click", myFunction);
} else if (x.attachEvent) { // For IE 8 and earlier versions
x.attachEvent("onclick", myFunction);
}
خب، با توجه به مطالبی که گفته شد، من میتونم کدم مربوط به stopwatch رو به صورت زیر تغییر بدم:
کد HTML:
<body>
<div id="demo">0</div>
<input id="btnStart" type="button" value="start" />
<input id="btnStop" type="button" value="stop" />
</body>
کد JS:
document.addEventListener("DOMContentLoaded", function() {
'use strict';
// variables
var s = 0;
var myInterval;
start();
// eventListeners
document.querySelector("#btnStart").addEventListener("click", start);
document.querySelector("#btnStop").addEventListener("click", stop);
// functions
function start() {
myInterval = setInterval(function () { document.querySelector("#demo").innerText = ++s; }, 1000);
}
function stop() {
clearInterval(myInterval);
}
});
حالا با این روش خیال من از چند لحاظ راحته اول اینکه اسم متغیرهام با یک کتابخانه دیگر، فایل script دیگر و کدهای JS درون صفحه تداخل پیدا نمیکنه.:) همینطور اسم توابعم، و اینکه مجبور نیستم تابع مرتبط با یک رویداد رو در فضای نام سراسری بنویسم، همینطور اینکه برای تغییر اسم یه تابع لازم نیست برم سراغ کد HTML ووووو
همه چیز رو میبرم داخل یک تابع، البته از این توابع زیاد میتونم داشته باشم.
تنها چیزی که باید بگم اینه که، من این کد رو همونطور که میبینید طوری ننوشتم که همه مرورگرها رو پشتیبانی کنه. حتی برای متد load مربوط به document.
Callback Function:
در کد نویسی ممکن است که بخواهیم کدهایی را درون یک تابع قرار دهیم و این فقط یک خروجی نداشته باشد، یک حالتش این است که من می توانم از مجموعه خروجی های این تابع یک شئ ایجاد کنم و آن شئ را به عنوان خرجی تحویل دهم، روش دیگری که من می توانم به آن صورت
یادداشت های برنامه نویس آماتور | Amateur programmer notes
#آموزشی بسم الله الرحمن الرحیم با سلام خدمت همه شما، با جلسه هفتم آموزش جاوااسکریپت در خدمتتون هستم. #javascript #جاوااسکریپت در این جلسه قرار بر این شد که در مورد متد addEventListener و callback function ها توضیحاتی رو خدمتتون ارائه کنم. addEventListener:…
عمل کنم این است که کدهایی که مربوط به مواردی است که می خواهم از خرجی ها استفاده کنم را در تابع دومی قرار داده و ورودی های این تابع، خروجی های تابع اول باشد و تابع دوم را به عنوان یکی از پارامترهای ورودی تابع اول معرفی کنم. به تابعی که من آن را به عنوان پارامتر ورودی یک تابع دیگر تعریف کردم callback function می گویند. من می توانم چندین callback function را به عنوان ورودی به یک تابع پاس بدهم. شما این حالت را می توانید در متد ajax کتابخانه jquery ببینید.

