فرایند استخدام و داستان‌های آن

استخدام، فرایندی که اکثر شرکت‌ها به دنبال ساخت فرمولی برای مهار کردن آن هستند. در این سری آموزشی سعی دارم با داستان‌های استخدامی، چالش‌های مختلفی که ممکن است با آن برخورد نمایید را مرور کنیم تا بتوانیم به راهکارهای هوشمند و سریع و در عین حال مفید دست پیدا کنیم.

نه کسی بهم پول می‌ده این متن‌ها رو بنویسم، نه حتی کسی تشویقم می‌کنه! بلکه شاید بدتر چوب لای چرخم هم بکنن. تا الان که ۳۵ سال از خدا عمر گرفتم، شاید بالای ۳۰۰ جا برای مصاحبه کاری مراجعه کردم و آخرش هم گرفتار همین فرایند استخدام شدم. شغلم شد، کمک به شرکت‌های دیگه برای استخدام.

پیش خودم گفتم اگر کسی تازه کار باشه یا با سیستم‌های مدرن آشنا نباشه، شاید بتونم کمکی کنم و در این زمینه راهنمایی باشم. برای همین در وبلاگ شخصیم شروع به نوشتن کردم (قبلا در پست آزمون استخدامی بخش خصوصی از معضلات اینگونه آزمون‌ها صحبت کردم):

شروع داستان

شنبه: امروز ۱۰۰۰ تا رزومه برام فرستادن و ازم خواستن تا پایان هفته رسیدگی کنم و ۲۰ نفر از بین اونها برای مصاحبه انتخاب کنم!

نمی‌خوام حق کسی رو ضایع کنم، از طرفی بررسی این ۱۰۰۰ رزومه در یک هفته کار بسیار دشوار و نشدنی هست!

چی کار می‌شه کرد؟

به یک سیستم نیاز دارم که این رزومه‌ها رو برام تحلیل کنه تا بتونم سریعتر تصمیم بگیرم. بهتره یه سرچی بزنم.

بذارید صادق باشم، برای ادامه این داستان پر چالش مجبور شدم واقعا جستجوهایی انجام بدم و به سایت‌های زیر رسیدم که البته به دلیل اینکه نمی‌خوام عامل ارتقاء هیچ کدوم باشم به صورت لینک نمی‌ذارمشون:
iran.hr
workable.com
irantalent.com
hire.camp
jobinja.ir
jobvision.com
payvast.com
tamasco.ir

و عباراتی که جستجو کردم:
تامین منابع انسانی هوشمند، تامین منابع انسانی فوری، جذب نیروی فوری در فرایند استخدام، تسریع فرایند استخدام، آسان سازی فرایند استخدام، هوشمندسازی فرایند استخدام، اتوماسیون فرایند استخدام

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

خب برای امروز کافیه….

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

ساخت swap با فایل در لینوکس

شاید شما هم به این مشکل خورده باشید که برای بعضی کاربردها یا نرم‌افزارها به فضای swap در لینوکس نیاز داشه باشید.

برای خودم و شما دستورات زیر رو گذاشتم تا به عنوان منبعی داشته باشیم:

sudo fallocate -l 1G /swapfile
یا

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

و در /etc/fstab خط زیر رو اضافه کنید، اگر می‌خواهید همیشه هنگام بالا آمدن سیستم با این swap کار کنید:

/swapfile swap swap defaults 0 0

منبع: https://linuxize.com/post/create-a-linux-swap-file

نوشتن پکیج لاراول – قسمت دوم

نوشتن پکیج لاراول – قسمت اول

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

پیشنهاد می‌کنم مطالعه‌ش کنید و شاید این پکیج هم به درد بخوره

و حتما در تمام دوره‌های آموزشی لاراول این لینک مفید خواهد بود

خب برای کسایی که حوصله خوندن لینک‌های فوق رو ندارن یا زبان‌شون ضعیفه یه راه میان‌بری هست که در ادامه توضیح می‌دم: ادامه خواندن “نوشتن پکیج لاراول – قسمت دوم”

آیین انجام کار

بری پتیس (Bre Petis) این بیانیه را در وبلاگش نوشت:

  1. سه حالت بودن وجود دارد: نداشتن، اقدام و اتمام کار.
  2. بپذیرید هر چیزی مثل یک پیش‌نویس است. کمک می‌کند آن را به انجام برسانید.
  3. هیچ مرحله ویرایشی وجود ندارد.
  4. تظاهر به اینکه می‌دانید چه کاری انجام می‌دهید تقریبا شبیه این است که واقعا می‌دانید چه کاری انجام می‌دهید، پس بپذیرید که می‌دانید چه کاری انجام می‌دهید، حتی اگر نمی‌دانید و کارتان را انجام بدهید.
  5. احمال کار نباشید. اگر بیشتر از یک هفته برای اجرای یک ایده صبر می‌کنید، رهایش کنید.
  6. منظور از انجام شدن، تمام کردن نیست. بلکه انجام دادن کارهای دیگر است.
  7. به محض اینکه انجامش دادید، می‌توانید کنارش بگذارید.
  8. به کمال‌گرایی بخندید. خسته‌کننده است و مانع انجام کارتان می‌شود.
  9. افرادی که دست‌هایشان کثیف نیست در اشتباه‌اند. انجام کار درست‌تان می‌کند.
  10. شکست نیز انجام کار به حساب می‌آید پس اشتباه کنید.
  11. خراب کردن نوع متفاوتی از انجام دادن کار است.
  12. اگر ایده‌ای دارید و در اینترنت منتشرش می‌کنید، شبیه یک کار انجام شده به حساب می‌آید.
  13. انجام دادن یک کار، محرک‌ کارهای بیشتر است.

برگرفته از کتاب مهره‌ی حیاتی اثر ست گادین ترجمه علیرضا خاکساران

نوشتن پکیج لاراول – قسمت اول

داشتم صحبت‌های ایمان غفوری رو تو یوتیوب می‌دیدم که اینجا خونم به جوش اومد! نوشتن پکیج لاراول !

واقعا برام زور داشت رضا امیری ۸۲ ای بتونه پکیج بنویس و من هنوز درگیر تصمیم برای نوشتن یا ننوشتن یک پکیج باشم!

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

برای همین دست به کار شدم و لیستی از مشهوترین و بهترین پکیج‌هایی که می‌شناختم رو روی پروژه جدید لاراول ۸ نصب کردم و در اینجا در اختیار شما نیز قرار دادم.

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

laravel/ui  بستری مناسب برای احراز هویت با فرانت‌های مختلف در لاراول

laravel/livewire  بستری برای دوری از پیچیدگی‌های فرانت و بستری آجاکس یا ای جکس برای بکندی ها

ادامه خواندن “نوشتن پکیج لاراول – قسمت اول”

یک روز مفید با هرس کردن درختان انگور

هرس درخت انگور

امروز می‌خوام در حد کفایت، هرس کردن درختان انگور رو که خودم هم تازه یاد گرفتم، آموزش بدم.

تصویر درخت هرس نشده انگور
تصویر درخت هرس نشده انگور

تصویری که در بالا می‌بینید، یک درخت هرس نشده انگور هست. این درخت به صورت لم داده شده به خاک کاشته شده و البته روش‌های دیگر کاشت درختان انگور هم وجود داره ولی من اسم این روش رو، خاکی می‌ذارم. ادامه خواندن “یک روز مفید با هرس کردن درختان انگور”

نمونه دیگر ELT معرفی (PipelineWise)

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

در این پست قصد دارم نمونه دیگری از این نوع نرم‌افزار را خدمت‌تان معرفی نمایم.

در واقع PipelineWise و Meltano جهت آسان‌نمودن کار با singer می‌باشند و می‌توان از آنها در replicate نمودن داده‌ها از هر منبعی و به هر شکلی استفاده نمود.

جهت  نصب pipelinewise می‌توانید به راحتی  با clone کردن آن از:

https://github.com/transferwise/pipelinewise

طبق دستورالعمل نصب جلو بروید.

اما حین نصب چندین بار از شما درخواست می‌شود که توافق‌نامه‌هایی را قبول کنید. چون تمام tapهای singer نصب می‌شود و شما می‌توانید با گرفتن sample ها یادگیری را شروع کنید.

pipelinewise init –name pipelinewise_samples

 

 

Event Streaming و کاربرد آن در یکپارچگی داده‌ها (معرفی apache kafka)

فیلمی که در ابتدای معرفی apache kafka بهترین معرفی است که از سوی Tim Burglund  توضیح داده شده است. کافکا به عنوان یک event streamer گزینه خوبی برای تعریف این اصطلاح است.

فرض کنید که یک برنامه بزرگ monolith دارید که بانک اطلاعاتی بسیار بزرگی دارد. چطور می توانید آن را گسترش دهید؟ شاید به هیچ طریق!

برای این منظور از برنامه‌های کوچک تر که هر کدام به بانک اطلاعاتی جدا متصل هستند استفاده می‌کنیم یا با کمک کافکا روند ورود و خروج داده‌ها را بر اساس رویدادها مدیریت می‌کنیم.

 

 

DataOps با Meltano

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

یکپارچگی داده‌ها (Data Integration)

ابزاری وجود دارد به نام singer  که برای تمام منابع اطلاعاتی اعم از بانک‌های اطلاعاتی، گیتلب، گیت هاب و هر سایت یا منبعی که به نوعی داده‌ی خروجی‌ای دارد، مورد استفاده قرار می‌گیرد.

این ابزار اطلاعات را از این منابع گرفته و به هر صورت دلخواهی در می‌آورد.

در واقع meltano ابزار singer که tap و targets و تنظیمات آنها را مدیریت می‌نماید تا به درستی کار نمایند.

ممکن است singer این ابزار با apache kafka تشابهاتی داشته باشد. ولی تخصصی‌تر و جامع‌تر از آن به مسئله data integration پرداخته و منابع متعددی را شامل می‌شود. در صورتی که کافکا بیشتر در داخل برنامه‌ها و با منابع محدودی از داده‌ها می‌تواند به کار آید مگر اینکه رابط کاربری‌ش وجود داشته باشد یا نوشته شود.

در کل ابزار data integration به نوعی جهت data replication نیز به کار می‌روند و از این حیث نمی‌توان کافکا را جزو این ابزار حساب کرد و همان تخصصی که در event streaming دارد بهترین معرفی برایش می‌باشد.

منبع

شروع کار با meltano

وقتی singer را تنظیم کردید و از کامل بودن خط لوله (pipline) خود در انتقال داده‌ها مطمئن شدید meltano وسط آمده و به شما کمک می‌کند singer را مدیریت نمایید.

جهت هم‌نوا یا orchestrate نمودن ملتانو می‌توانید از airflow بهره بگیرید تا در تناوب‌های زمانی متعدد آن را اجرا نمایید.

نصب با docker

طبق منبع این نوشته می‌توانید روال نصب ملتانو رو پیگیری نمایید و برای نصب فقط به ذکر چند دستور برای اجرای آن توسط داکر اکتفا نموده و سراغ تنظیمات آن می‌روم:

docker pull meltano/meltano:latest
docker run -v $(pwd):/project -w /project meltano/meltano <args>

تنظیمات meltano

به زودی…

منبع

 

 

 

شروع کار با express

شاید شما هم تا به حال به جاوااسکریپت به چشم فرانت و ظاهر سایت نگاه می‌کردید.

ولی با ورود nodejs دنیای بکند نیز به روی جاوااسکریپت باز شد.

یکی از چارچوب (framework)های مشهور node، اکسپرس (expressjs) می‌باشد.

حالا چرا js و چرا node و چرا express؟

برای این سوال من تنها یک جواب دارم و آن کسب تجربه و بالابردن رزومه است. شاید کسی که تا به حال php کار می‌کرده یا laravel هیچ نیازی به چند شاخه پریدن یا برداشتن تمرکز خود نداشته باشد. ولی در موقعیت‌هایی مخصوصا در ایران، که توضیحات نمی‌خواهد و همه به آن واقف هستند، باید در چند تکنولوژي دستی در کار داشته باشیم.

با خودم عهد بسته‌ام هر چیزی که یاد می‌گیرم در وبسایت شخصی خود با دیگران به اشتراک بگذارم. برای همین لازم دانستم این آموزش رو قبل از meltano هر چند خیلی کم منتشر نمایم و بعد به سراغ کار بعدی بروم.

شروع کار با express

برای شروع باید موارد زیر را نصب داشته باشید:

آخرین نسخه node

می‌توانید از git هم برای نگهداری کدها و نسخه‌بندی آن کمک بگیرید.

در یک پوشه جدید، خط فرمانی اجرا کنید و این دستور را تایپ نمایید:

npm init

npm install express

همین. پوشه node_modules حاوی نیازمندی‌ها و خود express ظاهر خواهد شد.

اما چگونه کد بزنیم.

یک برنامه کوچک با express

در شاخه اصلی index.js را با مشخصات زیر پر کنید:

import Express from "express"
const app = Express();
const port = 3000;
app.get("/", (req, res) => {
res.send('Hello world');
})
app.listen(port, () => console.log("listening on port" + port))

خط اول فریمورک express را به فایل وارد می‌کند.

خط دوم یک شیء جدید از express می‌سازد. حال می‌توانید با مستندات express از قابلیت‌های آن استفاده نمایید.

به طور مثال در ادامه کد یک مسیر ایجاد کرده‌ام که در آن یک پیغام سلام دنیا را در صفحه نشان می‌دهد.

برای نمایش می‌توانیم در خط فرمان دستور زیر را بزنید:

node index.js

بر روی پورت ۳۰۰۰ صفحه وبی فعال می‌باشد که سلام دنیا را نمایش می‌دهد.

 

 

 

 

 

 

 

T