نصب سورس گاردین در centos 7 و دایرکت ادمین

mkdir /usr/src/loader
cd /usr/src/loader

wget https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz

tar xzf loaders.linux-x86_64.tar.gz

جهت نصب باید نسخه مورد نظر را به مسیر extention کپی کنید

cp ixed.7.3.lin /usr/local/php73/lib/php/extensions/no-debug-non-zts-20181012

پیدا کردن مسیر extention

/usr/local/php73/lib/php/extensions/

با زدن ls میتوان پوشه هایی با نام هایی شبیه به no-debug-non-zts-20181012 ببینید

لازم است ixed.7.3.lin را به مسیر زیر کپی کنید

cp ixed.7.3.lin /usr/local/lib/php/extensions/no-debug-non-zts-20181012

سپس دز php.ini مقدار extension=ixed.7.3.lin اضافه شود

لازم است که در php.ini مطابق هر نسخه extention نصب شده اضافه گردد

جهت پیدا کردن فایل php.ini

php -i | grep php.ini

در آخر باید http را ریست کنید

sudo systemctl restart httpd.service

جهت انیمیشن شدن در حالت hover css

a{
     -o-transition:color .2s ease-out, background 2s ease-in;
     -ms-transition:color .2s ease-out, background 2s ease-in;
     -moz-transition:color .2s ease-out, background 2s ease-in;
     -webkit-transition:color .2s ease-out, background 2s ease-in;
     transition:color .2s ease-out, background 2s ease-in;
}

کد فوق باید در a باشد

تغییر اندازه ستون های bootsrap 4 با flex

گاهی اوقات لازم است که اندازه استاندارد col-lg-3 را کمی کاهش دهیم اما ستون کناری که col-lg-9 است مقداری فضای خالی در سمت راست اضافه میشود

bootstrap 4 از سیستم flex-box استفاده میکند و ما بدون نیاز به دست کاری متغییر ها و استاندارهای آن از ۲ کلاس کمی استفاده کنیم مثلا

<style media="screen">

.col-side-right{
  flex: 0 0 20% !important;
  max-width: 20%;
}

.col-side-left{
  flex: 0 0 80%;
  max-width: 80%;
}

</style>

<div class="row">
  <div class="col-lg-3 col-side-right">
    
  </div>
  <div class="col-lg-9 col-side-left">
    
  </div>
</div>


دو کلاس col-side-left و col-side-right با تغییر درصد های پیش فرض col-lg-3 از ۲۵٪ به ۲۰٪ باعث کوچکتر شدن عرض col-lg-3 میشود

سریع روش دریافت بزرگترین تاریخ یک کاربر در mysql


SELECT  * FROM users
WHERE user_id = 2 AND created_at = (SELECT max(created_at) FROM users where user_id = 2)

روش دوم با استفاده از join


select t2.* from mlm_reagent_history as t1
INNER JOIN (SELECT max(created_at) lastDate FROM  mlm_reagent_history where user_id = 2) as t2 on (t1.created_at = t2.lastDate and t1.user_id = 2 )

روش سوم

SELECT * FROM user_log where user_id = 1 order by date_at DESC limit 1

افزودن کلید index به یک ستون در mysql

برای اینکه سرعت query ها بالاتر برود لازم است که هر آنچه که قرار است در

where – order by – group by – join استفاده شود را کلید قرار دهید . اما یک نکته در مورد کلید ها وجود دارد اگر کلید از نوع primary باشد امکان تکرار آن در یک جدول نیست اما میتوان کلید را از نوع index قرار داد با دستور

ALTER TABLE invoice ADD INDEX (user_id)

دستور فوق در جدول invoice ستون user_id را به کلید index تبدیل میکند

آموزش vue native

توسعه فرانت با vue بسیار لذت بشه و خیلی جالب میشه که بتونیم با استفاده از react native و vue اپ موبایل هم بسازیم.

سایت رسمی

روش نصب با توجه به دسترسی درست در هنگام نصب expo

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

****install npm & node.js
npm install npm@latest -g
npm install node@latest -g

**** install vue native
npm install react-native-cli -g
npm install expo-cli -g
npm install -g vue-native-cli

****create a vue native project
vue-native init sampleapp
**install java
https://askubuntu.com/a/790674/968481
sudo apt install openjdk-8-jre-headless
** install android studio
https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-android-studio-on-ubuntu-18-04-lts-bionic-beaver.html

join جدول با یک فیلد با مقدار جداشده با کاما

به طور مثال یک جدول مانند زیر می باشد

Positions Table

╔══════════╦═════════════════╗
║ id       ║    name         ║
╠══════════╬═════════════════╣
║ ۱        ║ Executive       ║
║ ۲        ║ Corp Admin      ║
║ ۳        ║ Sales           ║
║ ۴        ║ Art             ║
║ ۵        ║ Marketing       ║
╚══════════╩═════════════════╝

و در جدول دوم به صورت زیر اطلاعات ذخیره شده است

Notes Table

╔══════════╦═════════════════╗
║ nid      ║    forDepts     ║
╠══════════╬═════════════════╣
║ ۱        ║ ۱,۲,۴           ║
║ ۲        ║ ۴,۵             ║
╚══════════╩═════════════════╝

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

    ╠══════════╬════════════════════════════╣
    ║ ۱        ║ Executive, Corp Admin, Art ║
    ║ ۲        ║ Art, Marketing             ║
    ╚══════════╩════════════════════════════╝

جهت انجام این کار مطابق قطع کد زیر میتوان join بین دو جدول بدست آورد

 
SELECT  a.nid,
        GROUP_CONCAT(DISTINCT b.name ORDER BY b.id) DepartmentName
FROM    Notes a
        INNER JOIN Positions b
            ON FIND_IN_SET(b.id, a.forDepts) > 0
GROUP   BY a.nid
 

منبع https://stackoverflow.com/a/19101646/4406856

دنگ و فنگ نصب magento 2

امروز داشتم مجنتو نصب میکردم (اولین بار) اینکه یک فایل zip با سایر ۱۰۰ مگابایت خیلی عجیبه و اینکه وفتی میخوایم extract هم کنیم نیم ساعت طول میکشه در کل من کارهای اولیه را انجام دادم اما بعد از اینکه به مراحل پایانی رسید خطا در console داد و طی جستجو ها به این رسیدم

https://magento.stackexchange.com/a/180432

در استک فوق روش ریست نصب را آموزش داده مراحل را انجام دادم و در مسیر var/maintenance.flag را هم حذف کردم

البته دیتابیس را هم حذف و مجدد ایجاد کردم

و در نهایت نصب شد

Cross Join در mysql

دو کد زیر خروجی یکسانی دارند


SELECT * FROM accounting_accounts a
cross join accounting_accounts


SELECT * FROM  accounting_accounts a, accounting_accounts b;