رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران

وبلاگ‌ها

 

نماد اعتماد الکترونیکی چگونه تبدیل به کابوس کسب‌وکارهای آنلاین ایرانی شد

زمان، اوایل دهه ۹۰ است و چند سال از شروع به کار دیجیکالا و سپس چند فروشگاه اینترنتی دیگر که حالا نامی از آن‌ها شنیده نمی‌شود سپری شده اما هنوز هم مردم به خرید آنلاین اعتماد چندانی ندارند. اندکی بعد نماد اعتماد الکترونیکی متولد می‌شود؛ نمادی که در ابتدای راه به کمک کسب‌وکارهای اینترنتی برای جلب اعتماد عمومی آمد اما در ادامه مسیر، به‌روز شدن را فراموش کرد و به لطف یک مصوبه از سوی بانک مرکزی، تبدیل شد به یکی از بزرگ‌ترین کابوس‌های هر استارت‌آپ و فروشگاه ایرانی. مصوبه بانک مرکزی به شکل خلاصه می‌گفت که سایت و فروشگاه‌های اینترنتی برای دریافت درگاه پرداخت بانکی باید احراز هویت شوند. این‌چنین بود که کسب‌وکارهای آنلاین برای دریافت درگاه پرداخت، ملزم به دریافت پیش‌نیازی به نام نماد اعتماد الکترونیکی شدند؛ نمادی که از سوی مرکز توسعه تجارت الکترونیکی، وابسته به وزارت صنعت، معدن و تجارت ایران ارائه می‌شود و به همین شکل، برخلاف نمونه‌های جهانی از یک امتیاز اختیاری برای جلب اعتماد مخاطب در کسب‌وکار نوپا، به یک الگوی اجباری بدل شد. نماد اعتماد الکترونیکی که به ای‌نماد نیز مشهور است امروز آن‌قدر برای استارت‌آپ‌ها و فروشگاه‌های اینترنتی چالش‌زا شده که برخی از آن‌ها حتی با قبول ریسک فیلترینگ، آن را تمدید نکرده یا از سایت‌شان حذف می‌کنند. از سوی دیگر برای دریافت درگاه پرداخت، به راه‌های دیگری به‌جز ای‌نماد روی می‌آورند؛ حرکتی که در روزهای گذشته، از سوی پلتفرم تامین مالی جمعی «دونیت» آغاز شده است. «محی‌الدین سنیسل»، مدیرعامل دونیت در علت حذف ای‌نماد، به مشکلات پایه‌ای اشاره کرد و فلسفه وجودی این نماد را زیر سوال برد: «نمادهای اعتماد در دنیا وجود دارند اما هیچ‌جا الزامی نیستند. نماد اعتماد باید یک مزیت برای جذب کاربر باشد. اگر ببینیم نماد اعتماد اختیاری است و رقیب آن را دریافت کرده، کسب‌وکارها آن را برای جذب اعتماد کاربر دریافت می‌کنند. فلسفه اجباری بودن آن از پایه اشتباه است.»
  تولیدکننده بی‌اعتمادی یکی از مشکلات اصلی نماد اعتماد الکترونیکی که از همان ابتدای کار نیز مطرح شده بود و هنوز هم پاسخ دقیقی برای آن وجود ندارد، وجود پنج ستاره در آن است. این در حالی است که شما به‌عنوان یک کسب‌وکار، در حال حاضر تنها می‌توانید دو ستاره دریافت کنید. حتی دیجیکالا، فروشگاهی که امروز به ۱۱ سالگی‌اش قدم گذاشته نیز در نماد اعتماد خود تنها دو ستاره دارد. اما آیا برنامه‌ای برای پر شدن ستاره‌های دیگر وجود دارد و آیا همین مساله به‌جای ایجاد اعتماد، ایجاد بی‌اعتمادی نمی‌کند؟ مدیرعامل دونیت در همین رابطه می‌گوید: «چند سال پیش که نماد اعتماد شروع به کار کرد ما گفتیم که حتماً برنامه‌ای دارند تا در آینده آن سه ستاره‌ی باقی مانده را هم پر کنند. برای همان تک‌ستاره اطلاعات بسیاری از ما دریافت شد و زمانی که SSL دریافت کردیم، شدیم دو ستاره. واقعاً سه ستاره باقی‌مانده را می‌خواهند به چه کسب‌وکاری بدهند؟ کاربر وقتی می‌بیند از پنج ستاره یک یا دو ستاره پر است، به‌جای احساس اعتماد پیش خود می‌گوید احتمالاً مشکلی وجود دارد چون زمانی که پنج ستاره وجود دارد قاعدتاً هرچه تعداد ستاره‌های پر شده بیشتر باشد، باید اعتماد هم به آن بیشتر شود.» او به فرایند تمدید ای‌نماد نیز اشاره می‌کند و می‌گوید حتی برای تمدید یک دامین ارزان‌قیمت، ایمیل و پیامک به صاحب دامین ارسال می‌شود اما ای‌نماد که نقش یک مجوز یک‌ساله را به عهده گرفته به‌هیچ‌عنوان به فرد ثبت‌کننده یادآوری نمی‌کند که باید نماد خود را تمدید کند: «برای تمدید نماد اعتمادی که درگاه بانک ما به آن وابسته است، و به قول خودشان اعتماد کاربران به آن متکی است، حتی یک ایمیل هم نمی‌زنند. کاربری به من گفت نماد شما منقضی شده؛ می‌خواهید جمع کنید بروید؟»
یک «مجازی» به مجوز اضافه کن حوزه کسب‌وکارهای آنلاین متفاوت از کسب‌وکارهای سنتی است اما در کشور ما بسیاری از مجوزها صرفاً با اضافه شدن کلمه آنلاین یا مجازی به آن‌ها، برای استارت‌آپ‌ها بازتولید می‌شوند. به دلیل نو بودن برخی از کسب‌وکارها و وجود نداشتن نمونه‌های فیزیکی، این روند باعث می‌شود بخشی از کسب‌وکارهای آنلاین همواره با مشکل مجوز درگیر باشند. حال یکی از پیش‌نیازهای دریافت نماد اعتماد، داشتن مجوز مرتبط به فعالیت است؛ مجوزی که در بعضی مواقع هنوز وجود خارجی ندارد. یکی از بخش‌هایی که هنوز هم مجوز مشخصی برای آن وجود ندارد، بحث «کرادفاندینگ» یا تامین مالی جمعی است. سنیسل می‌گوید در بحث قانون‌گذاری مرتبط با کرادفاندینگ، دخیل بوده و با همراهی وزیر ارتباطات دستورالعمل و صورت‌جلسه تهیه شده است اما درنهایت به او گفته شده است که برای نماد اعتماد باید از فرابورس مجوز دریافت کند: «در فرابورس چنین مجوزی وجود ندارد. به‌عنوان یکی از افرادی که در روند صدور مجوز کرادفاندینگ حضور دارم، به شکل موثق اطلاع دارم که برای این موضوع هنوز مجوز مشخصی در کشور نداریم. ای‌نماد می‌گوید از فرابورس مجوز بگیرید و زمانی که می‌گوییم فرابورس چنین مجوزی ارائه نمی‌دهد می‌گویند ما نمی‌دانیم.» تمام این مسائل سبب شده تا کسب‌وکارهای آنلاین یا استارت‌آپ‌ها برای دریافت ای‌نماد و درنهایت درگاه بانکی با چالش روبه‌رو شوند؛ چالشی که درنهایت باعث «پیچاندن مصلحتی» ای‌نماد برای دریافت درگاه بانکی شده است. سنیسل در خصوص همین پیچش می‌گوید: «من با مدیران استارت‌آپ‌های زیادی آشنایی دارم و حقیقت، بدون تعارف این است که همه در حال پیچاندن نماد اعتماد هستیم. در واقع هیچ‌کدام به شکل اصولی نتوانسته ای‌نماد دریافت کند. حتی خودمان هم دو سال پیش که در دونیت نماد اعتماد گرفتیم، مجبور شدیم قرارداد صوری با جایی ببندیم و مدرک را ارائه کنیم. گویا اصلاً مهم نیست چه چیزی به مسئولین ای‌نماد تحویل می‌دهید؛ صرفا باید یک برگه کاغذ بدهید تا آن‌ها بگویند انگار کار شما درست است. خیلی از خدماتی که امروز در وب ارائه می‌شود در لیست آن‌ها وجود ندارد. دونیت در دو سال گذشته که نماد اعتماد دریافت کرده، مجوز خود را خدمات نگه‌داری از سالمندان در منزل تعیین کرده است چون ای‌نماد اصلاً کسب‌وکارهای نوین را نمی‌شناسد.» اگرچه ای‌نماد پیش‌نیاز دریافت درگاه بانکی است اما این روندهای غیرشفاف سبب شده تا راه‌هایی برای دور زدن آن نیز وجود داشته باشد. نکته اینجاست که در کنار استارت‌آپ‌هایی که مجبور می‌شوند به هر شکل درگاه را برای ارائه خدمات خود به دست بیاورند، افراد دیگر نیز از همین روش‌ها استفاده کرده و درگاه بانکی را در سایت‌های مختلفی ازجمله سایت‌های شرط‌بندی اضافه می‌کنند.
تغییری که هزینه دارد قوانین مربوط به نماد اعتماد الکترونیکی مربوط به گذشته هستند و در طول سال‌های فعالیتش به‌روز نشده‌اند. این در حالی است که فضای آنلاین به‌سرعت در کشور در حال گسترش و تغییر است. حال برای ایجاد تغییر در شرایط نماد اعتمادی که به کسب‌وکارهای آنلاین تحمیل می‌شود، احتمالاً باید هزینه‌ داد؛ هزینه‌ای که نه‌تنها در حد حذف یک درگاه بانکی، بلکه می‌تواند به بزرگی فیلتر شدن یک کسب‌وکار آنلاین هم باشد. مدیرعامل دونیت می‌گوید می‌شود در صورت حذف درگاه، از راه‌های جایگزین فعلی برای اضافه کردن یک درگاه جدید استفاده کرد اما باید ریسک احتمالی فیلترینگ را نیز پذیرفت؛ ریسکی که البته دودش به چشم مسدودکنندگان می‌رود تا مسدودشدگان. بااین‌حال به عقیده او، باید این هزینه را پرداخت کرد: «به دلیل عدم وجود حساب‌وکتاب مشخص، این احتمال وجود دارد که فیلتر شویم. البته تصور نمی‌کنم صرف برداشتن نماد اعتماد از سایت باعث فیلتر شدن آن شود چون حتی شما اگر چندین سایت بزرگ مربوط به استارت‌آپ‌ها را بررسی کنید می‌بینید که نماد اعتمادی در آن‌ها وجود ندارد و مشغول فعالیت به شکل گسترده هستند. بااین‌حال اگر با فیلتر شدن دونیت، این اتفاق می‌افتد، اجازه دهیم فیلتر شود. اگر فیلتر شویم هم اقدامی برای رفع فیلتر نمی‌کنیم چون دونیت یک پلتفرم خیریه اجتماعی است که تاکنون باعث ساخته شدن ۲۰ مدرسه و ۵۰ کارگاه اشتغال در کشور شده. بیشتر از اینکه ما ضرر کنیم، آن‌ها از فیلتر شدن ما ضرر می‌کنند.»
تو حق متولد شدن نداری نماد اعتماد الکترونیکی اکنون روی یک صندلی قدرت نشسته است که اجازه می‌دهد یا نمی‌دهد که یک کسب‌وکار به وجود بیاید یا نیاید. «جعفر محمدی»، نایب رییس کمیسیون تجارت الکترونیکی سازمان نظام صنفی رایانه‌ای عقیده‌ی صریح‌تری دارد و نماد اعتماد الکترونیکی را نمادی از مورد تجاوز قرار گرفتن حقوق شهروندی کسب‌وکارها می‌داند: «اینکه بانک مرکزی بگوید من فقط به کسانی درگاه پرداخت می‌دهم که ای‌نماد داشته باشند، مشکل‌ساز می‌شود. به این دلیل که متولیان ای‌نماد این حق را به خودشان می‌دهند که به بخشی از کسب‌وکارها اجازه به وجود آمدن و فعالیت بدهند یا ندهند. آیا ای‌نماد در جایگاهی است که تشخیص بدهد چه کسب‌وکاری باید اجازه وجود داشته باشد یا خیر؟ آیا این عدالت و شرایط را دارد؟» محمدی اشاره می‌کند که اگر متولیان ای‌نماد نتوانند تشخیص درستی در این رابطه بدهند، کسی خسارت این موضوع را متحمل نخواهد شد و این نماد، در جایگاه قاضی و حَکَم قرار گرفته است: «ای‌نماد اجازه نداشته است که این حق مسلم را که بر اساس قانون تجارت در اختیار کسب‌وکارهاست، از آن‌ها سلب کند. درنتیجه مشغول پایمال کردن حق قانونی افراد و تجاوز به حقوق آنهاست. زمانی هم که متوجه اشتباهش شود، هیچ اراده‌ای برای جبران خسارتی که در این چند سال به بار آمده وجود ندارد.»
تدوین دورهمی قوانین محمدی در پاسخ به این پرسش که آیا نماد الکترونیک اعتماد قابل اصلاح است یا استارت‌آپ‌ها باید فکر دیگری بکنند، عنوان کرد که راهی جز برچیده شدن ای‌نماد وجود ندارد و به‌جای آن باید ساز‌وکار مناسب‌تری برای این روند در نظر گرفته شود. اما سوال این است که بر اساس شرایط قانونی کشور، آیا امکان برچیده شدن ای‌نماد وجود دارد؟ این کارشناس تجارت الکترونیک عقیده دارد که این شرایط به شکل کامل فراهم است، چراکه نماد اعتماد الکترونیکی، روی ستون‌های قانونی استوار نیست و وجودش به شکل فعلی، مساوی با بی‌قانونی است: «این یک نوع تخلف است و روش منطقی، برداشته شدن چنین اجباری است. ای‌نماد برای اینکه خودش را در جایگاه فعلی تثبیت کند، به چند مورد اشاره می‌کند که یکی از آن‌ها شورای امنیت کشور است. درواقع متولیان نماد الکترونیکی اعتماد بر اساس دستوری که از سوی همین شورا به آن‌ها داده‌ شده، اجبار در دریافت این نماد را برای گرفتن درگاه بانکی لحاظ می‌کنند. این در حالی است که شورای امنیت کشور در جایگاهی نیست که چنین دستوری بدهد. این شورا، صرفاً یک جایگاه مشورتی برای وزیر کشور دارد. درنهایت وزیر کشور می‌تواند نظرات آن‌ها را بپذیرد یا نپذیرد که البته این هم صرفاً در موارد امنیتی است.» همه این‌ها در حالی است که تجارت الکترونیکی، موضوعی امنیتی به‌حساب نمی‌آید و در باب ششم قانون تجارت الکترونیک مصوبه مجلس، آمده است که چنین مواردی باید تصویب هیات وزیران را داشته باشد. محمدی می‌گوید که هیات وزیران، چنین تصویبی نداشته است: «کاشف به‌عمل‌آمده که نه خود شورای امنیت کشور، بلکه یکی از کمیسیون‌های آن‌ها در یک جلسه دورهمی، چنین مواردی را نوشته‌اند. درنتیجه این روند از بیخ‌ و بن اشتباه است.» برخی از اعضای بدنه دولت هم به احتمال اشتباه بودن این روند اذعان دارند. «حسین میرشجاعیان»، معاون وزیر اقتصاد در اردیبهشت‌ماه امسال خبر از شناسایی ۲۱۰۰ مجوز توسط «هیات مقررات زدایی» برای کسب‌وکارها داد و عنوان کرد حدود ۵۰۰ مجوز حذف یا ادغام شده و در حال حاضر هنوز ۱۵۷۰ مجوز فعال هستند: «بعد از مطرح شدن بحث نماد اعتماد الکترونیکی در وزارت صنعت، معدن و تجارت سایر دستگاه‌ها نیز مشتاق شدند که چنین نمادی را طراحی کنند و بحث تی نماد در سازمان میراث فرهنگی و اچ نماد در وزارت بهداشت مطرح شد که با توجه به اینکه پشتوانه قانونی نداشت با آن‌ها مخالفت شد. ای نماد نیز پشتوانه قانونی ندارد و باید اصلاح شود. اگر به این نتیجه برسیم که برای کسب‌وکارها مضر است، می‌توان حذف آن را در دستور کار قرار داد.» واقعیت این است که نماد اعتماد الکترونیکی در ذات خود و در صورت اجرای صحیح که اختیاری است، می‌تواند تبدیل به یک ابزار مناسب برای جلب اعتماد مخاطبین در کسب‌وکارهای نوپا شود؛ اما روند فعلی که اجبار را دیکته می‌کند، باعث شده تا استارت‌آپ‌ها و کسب‌وکارها ملزوم به دور زدن قوانین و بستن قراردادهای صوری صرفاً برای داشتن یک درگاه بانکی باشند. نمادی که دریافت آن برای داشتن درگاه بانکی الزامی است، هنوز سیستم مشخصی برای اعطای ۵ ستاره‌اش ندارد و همان‌گونه که ذکر شد حتی سایتی مانند دیجیکالا که برنامه دارد امسال خارج از ایران و در منطقه نیز فعالیت کند، تنها دو ستاره کسب کرده است. ستاره اول، صرفاً گویای این است که یک احراز هویت صورت گرفته و دو ستاره، به مفهوم این است که صاحب سایت با صرف هزینه‌ای اندک و خرید SSL، از پروتکل HTTPS استفاده می‌کند. عضو کمیسیون تجارت الکترونیک سازمان نظام صنفی رایانه‌ای در همین رابطه می‌گوید: «اینکه کسی SSL تهیه می‌کند، چه معنی دارد که بگوییم اعتماد به این شکل بیشتر می‌شود؟ آیا یک متخلف نمی‌تواند SSL بخرد؟ تنها پیش‌نیاز، هزینه‌ی ۳۰۰ الی ۷۰۰ هزارتومانی است.»
تحریم قانونی امروز استارت‌آپ‌ها برای دریافت نماد اعتماد الکترونیکی مسیرهای پرپیچ‌وخمی را طی می‌کنند و زمانی که در شبکه‌های اجتماعی در همین رابطه جستجو کنید می‌بینید که تعدادی از آن‌ها در همین مسیر، بی‌خیال ادامه دادن می‌شوند و با روش‌های جایگزین، در پی دریافت درگاه بانکی برای ارائه خدمات خود هستند. در زمانه‌ای که شرایط اقتصادی کشور آرام نیست، استارت‌آپ‌ها بارقه‌های امیدی هستند از رونق اقتصادی در اوج ناآرامی. حاکمیت و دستگاه‌های مختلف کم‌کم در حال درک اهمیت استارت‌آپ‌ها برای اقتصاد و حل مشکل اشتغال هستند اما عجیب است که هنوز هم قدم موثری برای برداشتن این موانع که حتی در وهله اول علت وجود آن‌ها شفاف نبوده، برداشته نمی‌شود. جعفر محمدی، تحریم ای‌نماد را حق قانونی استارت‌آپ‌ها بیان‌ می‌کند و می‌گوید: «اصولاً اگر کسی پیگیر شود و شکایت کند، طبق قانون این حق کسب‌وکار است و اگر اجازه فعالیت به همین دلیل از آن‌ها سلب شده است، متولیان ای‌نماد باید خسارت این موضوع را پرداخت کنند. ای‌نماد از لحاظ قانونی جایگاهی ندارد و ممکن است با لابی‌گری، بانک مرکزی یا شاپرک را متقاعد کنند که درگاهی را از سایتی حذف کند. بااین‌حال کسب‌وکار حق شکایت دارد و اگر تعداد استارت‌آپ‌هایی که چنین کاری کنند افزایش پیدا کند، متولیان نماد اعتماد الکترونیکی مجبور به عقب‌نشینی خواهند بود؛ همان کاری که فین‌تک‌ها هم انجام دادند.»

کامبیز اسدزاده

کامبیز اسدزاده

 

ششمین ماراتون برنامه‌نویسی تلفن همراه کشور

ششمین ماراتون برنامه‌نویسی تلفن همراه کشور در تاریخ ۱۵ تا ۱۷ شهریورماه سال جاری در محل دانشگاه صنعتی شریف برگزار می‌شود. این رویداد باهدف « شناسایی تیم‌های برنامه‌نویسی برجسته کشور، شناسایی ایده‌های بکر و خلاقانه و ورود این تیم‌ها به بازار کار» برگزار می‌شود . مهلت ثبت‌نام در این رویداد تا  ۳۱ مردادماه ۱۳۹۷ است. این رویداد از معتبرترین مسابقات برنامه‌نویسی تلفن همراه کشور است و از سال ۱۳۹۲ تاکنون ۵ دوره این مسابقات در سطح کشور برگزارشده و تیم‌های برنامه‌نویسی متعددی را وارد بازار کار کرده است. در این مسابقات، تیم‌های برنامه‌نویسی ۴۸ ساعت فرصت دارند تا نسخه اولیه یک برنامه تلفن همراه در حوزه‌های مشخص‌شده توسط کمیته ارتباط با صنعت مسابقه را به تیم داوری تحویل دهند. در کل این مدت، تیم‌ها در محل برگزاری رویداد قرنطینه هستند و تیم‌های داوری و مشاور به‌صورت کامل بر نحوه عملکرد تیم‌ها نظارت می‌کنند. در انتها، تیم‌های برتر با نظر داورها به مرحله نهایی راه پیدا می‌کنند و فرصت دارند تا مجددا برنامه خود را برای داوران ارایه دهند. ثبت‌نام در این رویداد رایگان و ظرفیت آن محدود است، اما اولویت با تیم‌هایی است که زودتر ثبت‌نام کرده باشند. ثبت‌نام به‌صورت اینترنتی و از طریق سایت اختصاصی مسابقات انجام خواهد پذیرفت. تیم داوری از اساتید برتر دانشگاه صنعتی شریف و با مدیریت جناب آقای دکتر ربیعی (مدیر آزمایشگاه و مدیر گروه فناوری اطلاعات دانشگاه صنعتی شریف) هستند. سه تیم اول جوایز نقدی دریافت خواهند کرد. گروه‌ها در قالب تیم‌های ۲ الی ۴ نفره خواهند بود. همچنین مدت‌زمان ماراتون ۴۸ ساعت است و گروه‌ها با حضور در محل مسابقه، امکان خروج از محل تا پایان مدت‌زمان ماراتون را نخواهند داشت. البته تامین محل استراحت، وعده‌های غذایی، میان وعده‌ها و اینترنت پرسرعت بر عهده برگزارکننده ماراتون است. جهت ثبت‌نام و کسب اطلاعات بیشتر می‌توانید به سایت ششمین ماراتون برنامه‌نویسی تلفن همراه کشور مراجعه کنید.  

کامبیز اسدزاده

کامبیز اسدزاده

 

معرفی ترِند‌های برخی از زبان‌های برنامه‌نویسی این ماه در Github

همانطور که می‌دانید منابع بسیاری در شبکه‌ی گیت‌هاب وجود دارد که بعضاً به عنوان کتابخانه‌های Third-Party بسیار مفید هستند. در این پُست به ترِند‌های برخی از زبان‌هایِ برنامه‌نویسی این ماه در GitHub اشاره شده است.   ۲۰ نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ ++C: Tensorflow Electron  OpenCV  Protobuf  Bitcoin Pytorch  EventCleaner  Mcilroy-regex  Grpc Aseprite  Waterius Godot Msgui  Swift v8  XGboost Google Test AnyQ  Aspia Tars ۲۰ نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ #C: Shadowsocks-Windows Wox  eShopOnContainers  Docs  .Net ML Blazor  DNSpy  Corefx  PowerShell Ml-Agents  Graphy ShareX Musoq  Roslyn SimplCommerce  MaterialDesignInXamlToolkit SafetyKatz Azure-functions-host  UnityCsReference React-NW   15 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ Php: Laravel SecLists  Composer  Larastan  Faker PhpSpreadsheet  Phpstan  Phpunit  Twine Guzzle  Symfony Nextcloud Server Voyager  Swiftmailer Parsedown  18 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ JavaScript: Javascript-algorithms Ndb  Browsh  Vue  Terminalizer React  Graphql Engine  Carbon-now-cli  v8n Mdx-deck  Guppy Evergreen Axios  Rogue.js Parcel  Node Gatsby Storybook  16 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ QML: Latte-Dock Monero-gui  QtQuickControls2  Turtle-wallet-go  Qml Material Fluid  Material  Unity8  Cutegram Deepin-movie  Terrarium-app Qml Bootstrap Quick Android  Yunit QDriverStation  Got-qt 18 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ Python: System Dp Cheat.sh  Termtosvg  Photon  Models Youtube-dl  Python Robotics  100-Days-Of-ML-Code  Public-apis Glow  Awesome Python Cartoonify Termgraph  Faust Byob  Flask Django cPython 19 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ Swift: Opensource macOS app Wormholy  GPUImage3  Bartinter  CocoaDebug Sica  Awesome iOS  iina  Top AudioKitSynthOne  Alamofire RxSwift RxCoordinator  Hero Charts  SkeletonView Twig WeScan Lona   20 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ Objective-C: EasyReact lottie-ios  YNPageViewController  React-native-maps  DBDebugToolkit Texture  iOS-InterviewQuestion-collection  TZImagePickerController  SDWebImage AFNetworking  Sequelpro iTerm2 IGListKit  Expo FLEX  MonkeyDev AAChartKit FSCalendar ZFPlayer Realm-cocoa 19 نوع منبعِ ترِند شده‌ی امروز و این ماه تحت زبان‌ برنامه‌نویسیِ Java: Java-Interview Jib  Data Transfer Project  J Design Pattern  Spring-boot Proxyee-down  Elasticsearch  Weixin-java-tools  Vjtools Incubator-dubbo  Spring-framework Apollo Nacos  Guava S-MVP  RxJava Pandora Sentinel Netty

کامبیز اسدزاده

کامبیز اسدزاده

 

اینفوگرافیک: آماده‌سازی سند نوشتاری

مهارت نوشتن یکی از انواع مهارت‌های ارتباطی است. گاهی لازم است با سرمایه‌گذاران، رقبا، شرکا و افراد دیگر، ارتباط نوشتاری یا نامه‌نگاری داشته باشید. اینفوگرافیک زیر مراحل آماده‌سازی یک سند نوشتاری را نشان می‌دهد.
 

اینفوگرافیک: موانع موفقیت استارت‌آپ‌ها در ایران

امروزه استارت‌آپ‌ها، از موضوعات مهم مورد بحث در کشورهای مختلف هستند. یکی از دلایل میزان اهمیت استارت‌آپ‌ها نقش آن‌ها در اقتصاد کشورها و ایجاد مشاغل جدید است. در استرالیا  این حوزه موردتوجه جدی سیاست‌گذاران دولت قرار گرفته است، چراکه پیش‌بینی کرده‌اند در دو دهه آینده، استارت‌آپ‌های حوزه فناوری در حدود ۵۴۰،۰۰۰ شغل جدید در استرالیا ایجاد خواهند نمود. معاون علمی و فناوری ریاست جمهوری کشور نیز نقش استارت‌آپ‌ها را در فضای اقتصادی و توسعه کسب‌وکارها بسیار حائز اهمیت می‌داند. بااین‌حال اکثریت استارت‌آپ‌ها در همان مراحل اولیه با شکست روبرو می‌شوند. لذا بررسی موانع داخلی موفقیت آن‌ها ضروری به نظر می‌رسد چون بسیاری از اوقات، تنها درباره استارت‌آپ‌هایی می‌شنویم که موفق شده‌اند و داستان‌های موفقیت بر سر زبان‌هاست. درحالی‌که تعداد بی‌شماری از استارت‌آپ‌ها درنهایت شکست‌خورده و فراموش می‌شوند. یک ‌ضرب‌المثل رایج در سیلیکون ولی این است که ۹۰ درصد از استارت‌آپ‌ها درنهایت شکست می‌خورند. ازآنجایی‌که به‌کارگیری ایده‌های استارت‌آپی در ایران نیز به‌سرعت در حال رواج است و پیشرفت روزافزون آن‌ها می‌تواند درروند رو به رشد بازار سرمایه و حل چالش‌های آن نیز مؤثر واقع شود، لذا در این گزارش بر شناسایی و بررسی موانع داخلی موفقیت استارت‌آپ‌ها تلاش شده است. به‌منظور تحلیل موانع داخلی موفقیت استارت‌آپ‌های کشور با همکاری مرکز توانمندسازی و تسهیل‌گری کسب‌وکارهای نوپای فاوا و هسته پژوهشی نوآوری کسب‌وکارهای دیجیتال دانشگاه تهران در نیمسال دوم سال ۹۵ اقدام به انجام پژوهش جامعی مبتنی بر روش پیمایش جهت شناخت موانع داخلی موفقیت استارت‌آپ‌ها در کشور صورت گرفت. پرسشنامه این پیمایش را ۳۲ نفر از فعالان استارت‌آپی منتخب کشور در نمایشگاه الکامپ پرکرده‌اند.
 

اینفوگرافیک: مقایسه اکوسیستم‌های کارآفرینی

مقایسه اکوسیستم‌های کارآفرینی جهان و نمایه‌ای از استارت‌آپ‌های ایران اکوسیستم کارآفرینی به افراد، سازمان‌ها و نهادهایی اشاره دارد که محرک یا مانع تصمیم فرد برای کارآفرین شدن بوده و یا بر احتمال موفقیت او در صورت راه‌اندازی کسب‌وکار کارآفرینانه مؤثرند. تصویر زیر اکوسیستم کارآفرینی ایران را در مقایسه با اکوسیستم کارآفرینی ۴ کشور دیگر نشان می‌دهد. همچنین تصویر زیر وضعیت کارآفرینی ایران را بر اساس «شاخص جهانی کارآفرینی» نشان می‌دهد. شاخص جهانی کارآفرینی (GEI) برای به تصویر کشیدن اکوسیستم‌های کارآفرینانه طراحی‌شده است که همه‌ساله توسط موسسه کارآفرینی و توسعه جهانی به‌صورت گزارشی یکپارچه از وضعیت کارآفرینی کشورهای مختلف منتشر می‌شود. این شاخص نه یک شمارش ساده خروجی‌ها نظیر تعداد بنگاه‌های ثبت‌شده جدید است و نه یک محک‌زنی سیاستی است. این شاخص ویژگی‌هایی از کارآفرینی را مدنظر قرار می‌دهد که بهره‌وری را بهبود می‌بخشند، ویژگی‌هایی از قبیل نوآوری، گسترش بازار، رشد محور بودن، و بینش بین‌المللی داشتن. 
بخش دیگری از این اینفوگرافیک وضعیت فعلی استارت‌آپ‌های ایران را به تصویر کشیده است. این اطلاعات بر اساس یک گزارش میدانی با همکاری مرکز توانمندسازی و تسهیل‌گری کسب‌وکارهای نوپای فاوا و هسته پژوهشی نوآوری کسب‌وکارهای دیجیتال دانشگاه تهران در نیمسال دوم سال ۹۵ و پژوهشی میدانی در الکام‌استارز ۹۶ صورت گرفته است. در این گزارش، وضعیت بلوغ اکوسیستم و استارت‌آپ‌های ایران، محدوده بازار، مدت‌زمان راه‌اندازی و حوزه فعالیت استارت‌آپ‌های ایران بررسی و مورد ارزیابی قرارگرفته است.  
 

اهمیت یادگیری ماشین

یادگیری ماشین یک استراتژی برای تحقیق و بررسی به صورت خودکار جهت ساختن مُدل‌های توصیفی (نمایشی) می‌باشد. یادگیری ماشین چیست؟ چرا یادگیری ماشین مهم است؟ یادگیری ماشین یک استراتژی برای تحقیق و بررسی اطلاعات است که ساخت مُدل به صورت توصیفی را خودکار می‌کند. یک شاخه که از استدلال‌هایِ انسانی از نگاه ساختار‌ها است می‌تواند از اطلاعات به دست آید، نمونه‌ها را تشخیص دهد و با اختیار بی‌نظیر انسانی بین انتخاب‌ها اقدام به انتخاب کند. چرا یادگیری ماشین ضروری است؟ اشتیاق برای یادگیری ماشین به دلیل حجم توسعه و مجموعه‌ای از اطلاعاتی که قابل دسترس هستند طرفدار بسیاری دارد. همه‌ی کسانی که به دنبال پردازش محاسباتی ارزان هستند و معمولاً برای ذخیره سازی اطلاعات شتاب‌زده عمل می‌کنند، یادگیری ماشین را مهم می‌دانند. بنابراین این امکان وجود دارد که سریعاً و به طور طبیعی مُدل‌هایی در این زمینه ایجاد شود که بتواند اطلاعات بسیار بزرگ و پیچیده‌ی (سرگیجه‌آور) و دقیق‌تری را در اختیار شما قرار دهند که منجرع به ارائه‌ نتایج سریع و دقیق خواهشد شد، حتی در مقیاس بسیار بزرگ که شاید انتظارش را نداشته باشید. علاوه بر این، با ساخت مدل‌های دقیق، ویژگی برتری شکل می‌گیرند که امکان شناخت احتمالات مفید و یا نگه‌داری فاصله‌ی استراتژیکی از خطرات مبهم را فراهم می‌سازد. چه کسانی این فناوری را مورد استفاده قرار می‌دهند؟ اکثر شرکت‌هایی که با اطلاعات زیادی سرو کار دارند، نوآوری یادگیری ماشین را تخمین زده و آن را درک می‌کنند. آن‌ها با جمع‌آوری بیت‌های دانش از این اطلاعات استفاده کرده و اغلب به تدرج می‌توانند به صورت کارآمد‌تر (مفید‌تر) کار کرده و یا موقعیت‌های مطلوب را نسبت به رقبای خود انتخاب کنند. ادارات و بودجه بانک‌ها و سازمان‌های مختلف در صنایع مربوط به پول از نوآوریِ یادگیری ماشین برای دو هدف کلیدی استفاده می‌کنند: برای تشخیص تجربیاتِ بحرانی در اطلاعات و جلوگیری از اخاذی. بیت‌هایِ دانش می‌تواند فرصت‌های سرمایه‌گذاری را شناسایی کرده و یا به متخصصانِ مالی زمانی که می‌خواهند معامله کنند کمک کند. دولت اداره‌های دولتی، برای مثال، تامین امنیت به صورت امنیت باز و کاربردپذیری آن‌ها نیاز به یادگیری ماشین دارند، چرا که آن‌ها منابع فراوانی از اطلاعات را دارا هستند که می‌تواند به عنوان سر نقطه‌ای از دانش‌ باشد. به عنوان نمونه، روشی را برای افزایش مهارت و صرفه‌جویی در پولِ نقد را متمایز می‌کند. همچنین یادگیری ماشین می‌تواند در محدود سازی و ارائه‌ی اطلاعات نادرست کمک کند. خدمات انسانی یادگیری ماشین یک طرحِ (الگویِ) توسعه سریع در صنعت خدمات انسانی است که به عنوان یک ویژگی در قالب گجت‌های پوشدنی و سنسور‌هایی که می‌توانند اطلاعات قابل استفاده برای ارزیابی یک بیماری تصاعدی (در حال پیشرفت) را ارائه دهد مورد استفاده قرار می‌گیرد. همچنین این نوآوری می‌تواند در تجزیه کردن اطلاعات پیش‌رونده در قادر ساختن متخصصین برای تشخیص الگو‌های مناسب برای مقابله با خطراتی که ممکن است سریعاً نتیجه داده و درمان آن به آن‌ها کمک کند استفاده می‌شود. نمایشگاه‌ها و معاملات سایت‌ها چیز‌هایی را که ممکن است با توجه به خرید‌هایی که شما در گذشته داشته‌اید پیشنهاد دهند. آن‌ها می‌دانند که چگونه تاریخچه‌ی خرید شما را تجزیه و تحلیل کنند. این ظرفیت برای گرفتن اطلاعات، تجزیه آن‌ها و استفاده از آن‌ها برای سفارشی کردن یک پس زمینه‌ی خرید (و یا تحقق بخشیدن به ارائه‌ی تبلیغات) می‌باشد. نفت و گاز یافتن منابع جدید حیاتی؛ تجزیه‌ی مواد معدنی در زمین؛ پیش‌بینی‌های ناامیدانه‌ی سنسور یک پالایشگاه؛ بهینه سازی تولید و انتشار نفت برای تولید و آگاهی بیشتر، کمیتِ استفاده از یادگیری ماشین برای این صنایع بسیار بزرگ است و هنوز هم در حال گسترش می‌باشد. حمل و نقل تجزیه اطلاعات برای تمایز نمونه‌ها و الگو‌ها برای کسب‌و‌کار‌های حمل‌و‌نقل حیاتی است، که بستگی به دوره‌های تولیدی و پیش‌بینی مسائل بالقوه برای افزایش بهره‌وری دارد. بازرس اطلاعات و نمایش بخش‌هایی از یادگیری ماشین ابزار‌های ضروری برای حمل‌و‌نقل سازمان‌ها، حمل‌و‌نقل آزاد و دیگر انجمن‌های حمل‌و‌نقل می‌باشد.
 

تایید حکم زندان متهم به نقض کپی‌ رایت در ایران

در اتفاقی کم سابقه و پس از پیگیری فراوان شاکی، فردی در ایران به اتهام نقض قانون کپی‌رایت محکوم شده است. در حالی که در بیشتر کشورها کم و بیش مجازات‌هایی مشخص برای مقابله با نقض قانون کپی‌رایت وجود دارد؛ اما در ایران این قانون چندان رعایت نمی‌شود و تاکنون مشاهده نشده است که مجازاتی برای کاربران متخلف در نظر گرفته شود. بر این اساس همیشه شاهد تضییع حقوق ناشران، هنرمندان و مؤلفان هستیم. با این حال در قوانین مربوط به حق مالکیت مفادی وجود دارد که براساس آن چنانچه فردی، قسمتی یا تمام اثر متعلق به دیگری را به نام خود یا به نام خود پدیدآورنده بدون اجازه‌ی او یا به نام شخص دیگری غیر از پدیدآورنده‌، نشر، پخش یا عرضه کند به حبس تأدیبی از ۶ ماه تا ۳ سال محکوم خواهد شد. ماده‌ی ۲۴ در خصوص ترجمه بیان می‌کند که هرکس بدون اجازه، ترجمه‌ی دیگری را به نام خود یا دیگری چاپ، پخش و نشر کند به حبس تأدیبی از سه ماه تا یک سال محکوم می‌شود. به‌نظر می‌رسد که این قانون در حال به‌رسمیت شناخته شدن در کشورمان است؛ سایت آی‌تی‌ایران خبری منتشر کرده مبنی بر اینکه حکم زندان متهم به نقض کپی‌رایت تایید شد. یک برنامه نویس اندروید که توانسته این حکم را علیه فردی که اپلیکیشن‌اش را به صورت رایگان در کانال تلگرامی عرضه می‌کرد بگیرد، گفت: به گفته‌ی وی، بر خلاف تصور، اين عمل در کشور ايران جرم بوده و برای مجرم، قانونگذار بطور شفاف تعيين مجازات کرده است که ماده ۱ و ۱۳ از قانون حمايت از حقوق پديدآورندگان نرم افزارهای رايانه‌ای مصوب دی ۱۳۷۹ مجلس شورای اسلامی به آن پرداخته است. وی همچنین اعلام کرد: در همین راستا، مدیر کافه‌بازار، حسام آرمندهی نیز به این موضوع واکنش نشان داد. او در صفحه‌ی شخصی توییتر خود نوشته است: وی همچنین اعلام کرده است: نکته: برای ثبت نرم‌افزار، کتاب و دیگر آثار‌های علمی و فناوری خود می‌توانید به پایگاه‌های رسمی و قانونی آن در ایران مراجعه کنید. مرکز فناوری‌اطلاعات و رسانه‌های دیجیتال سامانه‌ی وزارت ارشاد جمهوری اسلامی ایران (رسانه های دیجیتال)
 

بیست و چهارمین نمایشگاه بین المللی ایران الکامپ

بیست و چهارمین نمایشگاه بین المللی الکترونیک، کامپیوتر و تجارت الکترونیک ششم الی نهم مرداد 1397 
محل دائمی نمایشگاه های بین المللی تهران   نمایشگاه الکامپ بزرگترین رویداد تجاری در عرصه تولید و عرضه محصولات و خدمات صنایع الکترونیک و کامپیوتر کشور است که همه ساله با حضور گسترده و چشمگیر دست اندرکاران این حوزه و مخاطبان آنها در محل دائمی نمایشگاه های بین المللی تهران برگزار می گردد. در این نمایشگاه آخرین دستاوردهای این صنعت اعم از سخت افزار و نرم افزار به علاقمندان عرضه می گردد و فرصتی بی بدیل برای تبادل نظر و مذاکره در اختیار شرکت کنندگان قرار می گیرد. دستاوردهای این تعاملات نقطه آغاز بسیاری از همکاری های تجاری و تکنولوژیکی فیمابین دست اندرکاران حوزه الکترونیک و کامپیوتر است که نقش معنی داری در تحرک بخشیدن به این حوزه ی صنعت و تولیدکنندگان و بازرگانان شاغل در آن ایفاء می نماید. گشایش های اخیر در حوزه ی بین الملل و اراده ملموس دولت تدبیر و امید، که خود نیز با پیگیری استقرار دولت الکترونیک در زمره ی بزرگترین مشتریان بالقوه این حوزه می باشد، در افزایش حضور صنایع کشور در عرصه های بین المللی، زمینه ی شکوفایی این حوزه از صنعت و فن آوری را بیش از پیش فراهم نموده و انتظار می رود در دوره آتی نمایشگاه الکامپ که در فاصله ۶ تا ۹ مرداد ماه ۹۷ برگزار خواهد گردید، فرصتی تکرار نشدنی را در اختیار فعالان این حوزه در داخل و خارج کشور قرار دهد تا با یافتن مخاطبان بالقوه خود، سطح تعامل بین المللی خویش را بطور چشمگیری ارتقاء بخشند. به گزارش روابط عمومی سازمان نظام صنفی رایانه‌ای کشور، الکام ترندز با استقرار در سالن 27 نمایشگاه بین‌المللی الکامپ بر 6 محور اصلی هوش مصنوعی و یادگیری ماشین، بلاک چین و رمز ارزها، رایانش ابری، پردازش موازی و ابر پردازشگرها، اینترنت اشیا و کلان داده‌ها (Big Data) تمرکز دارد. آن دسته از علاقه‌مندانی که تاکنون در بخش‌ها و سالن‌های دیگر نمایشگاه ثبت‌نام کردند و حوزه فعالیت‌هایشان با 6 محور اصلی الکام ترندز مرتبط است نیز می‌توانند به این سالن منتقل شوند و در کنار دیگر فعالانی که به آینده فناوری اطلاعات و ارتباطات در کشور می‌پردازند بپیوندند. همین‌طور شرکت‌های فعال در زمینه گرایش‌های نو و فناوری‌های نوین که تاکنون در الکامپ ثبت‌نام نکردند نیز قادر هستند تا پنج‌شنبه چهاردهم تیرماه ضمن هماهنگی با دفتر ستاد اجرایی نمایشگاه الکامپ امسال با شماره‌های 88734035 تماس حاصل کنند و از طریق ایران الکامپ تقاضای ثبت‌نام کنند.
 

نحوه‌ی تبدیل کسب‌وکار سنتی به استارت‌آپ

امروزه داستان‌های زیادی درباره نوجوانانی شنیده می‌شود که بعد از ساخت یک اپلیکیشن، ثروتمند شده‌اند. بر این اساس، استارت‌آپ‌ها امروزه به بخشی از جریان اصلی رسانه‌ها تبدیل‌شده‌اند. ولی اکثر مردم تفاوت میان این کسب‌وکارها و SME های معمولی (یا همان کسب‌وکارهای کوچک و متوسط) را نمی‌دانند. بنابراین، قبل از اینکه نکاتی را درباره تبدیل کسب‌وکارهای سنتی به استارت‌آپ مطرح کنیم، باید بدانیم استارت‌آپ چیست. کلمه استارت‌آپ به‌خودی‌خود یعنی «آغاز»، یعنی دست زدن به کاری نو و کسب‌وکاری نو. اگرچه بحث‌های زیادی بر سر تعریف «استارت‌آپ» در جریان است، اما استارت‌آپ معمولا با مدل‌های کسب‌وکار نوآورانه و بر هم زننده، چه از طرق فناورانه و چه از طرق لجستیک و آماری، سروکار دارد. چگونه تشخیص دهید زمان آن رسیده که کسب‌وکارتان را به استارت‌آپ تبدیل کنید: تبدیل کسب‌وکار به استارت‌آپ می‌تواند صرفا به معنی انتقال کسب‌وکار به سطحی پیشرفته‌تر باشد. برای مثال، ممکن است به این نتیجه برسید که کسب‌وکار شما پتانسیل بین‌المللی شدن دارد. شاید هم راهی پیدا کنید تا فناوری را وارد فرایند کسب‌وکار نمایید که دیگران بتوانند از آن تقلید کنند. درهرصورت، اگر احساس می‌کنید کسب‌وکار شما تا سر حد مرزهایش پیش رفته است و دانشی در اختیار دارید که پتانسیل تاثیرگذاری روی بازار را دارد، زمان آن رسیده که مسیر استارت‌آپ شدن را آغاز نمایید. برای توسعه استارت‌آپتان به چه چیزهایی نیاز دارید: اگر تصمیم گرفته‌اید که کسب‌وکار سنتی خود را به استارت‌آپ تبدیل کنید، به دو عنصر اساسی نیاز دارید: نوآوری و فناوری‌های جدید. موارد زیر را در نظر بگیرید: ایده‌های خود را سازمان‌دهی کرده و از خود سوال بپرسید: کسب‌وکار من چه مشکلی را قرار است حل کند و برای این کار از چه روشی قرار است استفاده نماید. بعد از به دست آوردن این اطلاعات ، تعیین کنید که نیازهای شما از دیدگاه فنی و طراحی کدامند. به دنبال مشاور باشید: یادگیری از کارشناسان و متخصصان حوزه موردنظرتان همواره به نفع شماست. همچنین، دانستن اینکه برای کمک به رشد کسب‌وکارتان به کدام تغییرات مالی نیاز دارید، برایتان مفید خواهد بود. منابع زیادی وجود دارند که می‌توانند شما را در مورد نحوه راه‌اندازی یک استارت‌آپ راهنمایی کنند. به دنبال برنامه‌هایی باشید که این فرایند را تسریع می‌کنند؛ مانند Parallel18 محدوده آرامش خود را کنار گذاشته و سعی کنید فراتر از محدوده کسب‌وکار سنتی خود گام بردارید. به دنبال فرصت باشید و جرئت آن را داشته باشید که استارت‌آپی با تاثیر بسیار زیاد و پتانسیل جهانی ایجاد کنید.
 

راه‌اندازی پلتفرم ارتباط استارت‌آپ‌های فین‌تک با پلیس فتا

«میلاد جهاندار»، دبیر انجمن فین‌تک ایران خبر از راه‌اندازی یک پلتفرم پیگیری و ارتباط میان استارت‌آپ‌های فین‌تک و پلیس فتا ناجا برای تعامل نزدیک‌تر می‌دهد. او پلتفرمی که یک پل ارتباطی میان استارت‌آپ‌های فین‌تک و پلیس فتا است را راهکاری برای رسیدگی سریع‌تر به پرونده‌‌ها می‌داند و از آن به عنوان یک راه ارتباطی امن و سریع یاد می‌کند. جهاندار اشاره می‌کند که پلیس فتا پس از چند جلسه با انجمن فین‌تک و طرح دغدغه‌های دو طرف، دست به طراحی این پلتفرم زده تا ارتباط خود را با استارت‌آپ‌های مالی تقویت کند: چند جلسه با پلیس فتا ناجا داشتیم و دغدغه‌هایی که سمت استارت‌آپ‌های فین‌تک بود را مطرح کردیم. برخورد بسیار مثبتی داشتند و آنها هم دغدغه‌ها و مشکلات‌شان را مطرح کردند. نتیجه این جلسات، تلاش برای رفع دغدغه‌های دو سویه بود و حالا خود پلیس فتا پلتفرمی و سیستمی را طراحی کرده است که ارتباط بین استارت‌آپ‌های فین‌تک و پلیس فتای ناجا را آسان می‌کند. این راهکاری بود که ما با مشارکت‌ هم به آن دست پیدا کردیم. دبیر انجمن فین‌تک ایران می‌گوید که این پلتفرم کمک می‌کند تا پلیس بتواند به پرونده‌ها با سرعت بیشتری رسیدگی کند و حالا سیستمی توسعه پیدا کرده که هم به سود استارت‌آپ فین‌تک است، هم به سود پلیس و هم به نفع کاربری که یک مشکل مالی پیدا کرده و شکایتی را ثبت کرده است: هدف این است که به وسیله این پلتفرم، یک سری از مشکلات را حل کنیم. برای مثال دنبال آن هستیم تا استعلاماتی که از سمت مراکز پلیس فتا برای استارت‌آپ‌های فین‌تک ارسال می‌شود به شکل یکپارچه و پنجره واحد باشد تا هم ارتباط در یک فضای امن صورت بگیرد و هم سرعت آن افزایشی چشم‌گیر داشته باشد. این مساله باعث می‌شود تا پلیس فتا بتواند سریع‌تر به موارد رسیدگی کند، که در نهایت باعث می‌شود تا به پرونده افراد شاکی با سرعت بیشتری رسیدگی شود. هدف این است تا بتوانیم در این همکاری، کمک کنیم تا فضا امن‌تر شود. برای مثال اگر موردی نیاز به گزارش‌دهی دارد، حالا یک راه ارتباطی امن و سریع بین پلیس و استارت‌آپ‌های فین‌تک به وجود آمده است. این اولین باری است که یک نهاد نظارتی به این شکل با استارت‌آپ‌های فین‌تک وارد تعامل می‌شود، دغدغه‌هایش را مطرح می‌کند و سپس با هم به چنین راهکاری دست پیدا‌ می‌کنند. جهاندار نیز عنوان می‌کند که اگر نهادهای نظارتی دیگر مانند دادستانی دغدغه‌هایشان را مطرح کنند، کمتر شاهد اتفاقاتی مانند فیلترینگ در استارت‌آپ‌های این حوزه خواهیم بود. قوه قضاییه و به شکل مشخص، کمیته تعیین مصادیق محتوای مجرمانه متولی فیلترینگ در ایران است و جهاندار هم خبر می‌دهد که دغدغه‌های نهادهای حاکمیتی قابل درک است اما با فیلترینگ یک کسب‌وکار، عملاً هیچ مشکلی حل نمی‌شود: این‌کار صرفا ضربه‌ای است که اعتبار یک کسب‌وکار داخلی را زیر سوال می‌برد؛ اعتباری که شرکت‌ها برای جذب آن جنگیده‌اند و سال‌ها تلاش کرده‌اند. در این شرایط به تعامل بیشتر نیاز داریم و این اتفاق فعلا از سمت پلیس فتا ناجا رخ داده و می‌تواند یک حرکت الهام بخش‌ برای سایر نهادهای نظارتی باشد. دبیر انجمن فین‌تک ایران از فیلترینگ به عنوان یکی از دغدغه‌های جدی استارت‌آپ‌های فین‌تک یاد می‌کند و می‌گوید این نمونه از همکاری با پلیس فتا، استعداد گسترش با سایر نهادهای نظارتی از جمله قوه قضاییه را دارد: امیدواریم این همکاری، روندی موفقیت‌آمیز را طی کند تا بتوانیم با دادستانی و نهادهای حاکمیتی دیگری که به کسب‌وکارهای فین‌تک و در مجموع استارت‌آپ‌ها نگاهی جدی ندارند، نگاهی همسو پیدا کنند و متوجه شوند با تعامل و همکاری می‌توان کارهای بزرگی در کشور کرد؛ کارهایی که خود نهادهای نظارتی آرزوی آن را دارند.  
 

نحوه‌ی فشرده سازی داده‌ها به میزان ۹۰٪ درصد

آیا فایل‌های شما نیاز قابل توجهی به صرفه‌جویی در حافظه‌ی سرور دارند؟ در این مقاله ما به شما خواهیم گفت که چگونه توسط چه الگوریتم‌هایی می‌توانید اطلاعات خود را تا ۹۰٪ فشرده سازی کنید. الگوریتم‌های فشرده سازی داده‌ها (دو نوع اصلی فشرده‌سازی داده وجود دارد) فشرده‌سازی بی‌اتلاف اطلاعات (کاملاً برگشت پذیر) فشرده‌سازی با اتلاف (بخش کوچکی از داده‌ها از دست می‌روند و بازسازی کامل آنها امکان پذیر نیست) اولین نوع فشرده سازی زمانی مورد استفاده قرار می‌گیرد که اطمینان حاصل شود داده‌های فشرده شده بازیابی شده و بدون تحریف باشند. این نوع فشرده سازی هیچ کدام از داده‌های اصلی را حذف نمی‌کند و با کاسته شدن حجم آن مصرف فضای کمی برای فشرده‌سازی به دست می‌آورد. اجازه دهید بعضی از رایج‌ترین الگوریتم‌های فشرده‌سازی از نوع فشرده‌سازی بی‌اتلاف یا همان (lossless)  را در نظر بگیریم: تکنیک کُدگذاری هافمَن (Huffman) — این امر مستلزم جایگزینی کد یکسانی برای نمادهایی با کدهای نامحدود است، بسته به تکرار وقوع یک نماد در متن هستند می‌باشد. در کد گذاری استاندارد هافمن، فرض شده‌است که هر نماد در مجموعه‌ای که کدها از آن استخراج می‌شوند، ارزشی یکسان با بقیه دارد: کد کلمه‌ای که طول آن N است ارزشی برابر N خواهد داشت، مهم نیست که چند رقم آن ۱ و چند رقم آن ۰ است. وقتی با این فرض کار می کنیم، کم کردن هزینهٔ کلی پیام، با کم کردن تعداد رقم‌های کل ۲ چیز یکسانند. کد هافمن با ارزش حرفی متفاوت به نحوی عمومیت یافته که این فرض دیگر صحیح نیست: حروف الفبای کدگذاری ممکن است طول‌های غیر همسانی داشته باشند، به خاطر خصوصیت‌های واسطهٔ انتقال. مثالی بر این ادعا، الفبای کد گذاری کد مورس است، که در آن فرستادن یک 'خط تیره' بیشتر از فرستادن یک 'نقطه' طول می‌کشد، پس ارزش خط تیره در زمان انتقال بالاتر است. درست است که هدف هنوز کم کردن میانگین طول وزنی کد است اما دیگر کم کردن تعداد نمادهای بکار برده شده در پیام، به تنهایی کافی نیست. هیچ الگوریتمی شناخته نشده است که این را به همان روش و همان کارآیی کد قراردادی هافمن انجام دهد. تکنیک رمزگذاری شانون-فانو (Shannon–Fano) — این یک پیشوند است، که به عنوان یک الگوریتم کُد گذاری یکتواخت است. این تکنیک فشرده‌سازی را بر اساس احتمالات نشان می‌دهد. مانند الگوریتم هافمَن، این تکنیک بر روی افزونگی پیام است. در رمزگذاری شانون-فانو، نمادها به ترتیب احتمال از زیاد به کم مرتب شده‌اند و پس از آن به دو مجموعه که احتمال کلشان تا حد ممکن به هم نزدیک است تقسیم می‌شوند. سپس اولین رقم رمز همهٔ نمادها به آن‌ها اختصاص داده می‌شود؛ نمادها در مجموعهٔ اول "۰" و در مجموعهٔ دوم "۱" می‌گیرند. تا زمانی که مجموعه‌ای با بیش از یک عضو باقی بماند، همین فرایند برای تعیین ارقام متوالی رمزهایشان، روی آن‌ها تکرار می‌شود. وقتی یک مجموعه به یک نماد کاهش پیدا کند بدان معناست که رمز آن نماد کامل است و پیشوند هیچ رمزِ نماد دیگری را تشکیل نمی‌دهد. این الگوریتم کدگذاری‌های با طول متغیر نسبتاً کارامدی تولید می‌کند. تکنیک طول اجرا (Run-length) — این تکنیک به جای مجموعه‌ای از نماد‌های مکرر با کد نماد و تعداد تکرار اشاره داد. یک شکل ساده از فشرده‌سازی داده‌ها است که در آن داده‌های یکسان پشت سر هم به صورت مقادیر تکی و تعداد تکرارشان ذخیره می‌شوند. اگرچه آسان است و می‌توان به راحتی آن را درک کرد اما هنوز کارآیی چندانی ندارد. تکنیک ال زد دابلیو (Lempel–Ziv–Welch) — الگوریتم‌های فشرده‌سازی این گروه (LZ78، LZ77، و LZW) در ایده‌ی جستجو برای متن مشترک هستند. الگوریتم کاراکترها را متراکم کرده و در واژه نامه به جای کاراکتر، رشته‌های متراکم شده را قرار می‌دهد تا اینکه به رشته‌ای برسد که در واژه نامه قرار دارد. الگوریتم ساخت کدهای نابرابر که توسط هافمَن پیشنهاد شده است یکی از مهم‌ترین دستاوردهای تئوری اطلاعات از دیدگاه‌های نظری و کاربردی است. بهتر است کدهای باینری C = {c1, ..., cm} با با طول های {l1,.. ,IM} برای پیام‌های مورد نظر بهینه باشد. در صورتی که شرط به این گونه باشد pi < pj, then li > lj طول مقدار در قالب lM = maxm1m از نظر کُد‌نویسی بهینه شده است دو کُد lM = maxmlm که طول آن است در سمبُل آخر متفاوت خواهد بود. اگر کد C دارای شرایط مطلوبی باشد، آنگاه C به عنوان کُد X مطلوب خواهد بود. ورودی: اندازه‌ی الفبای M خروجی: درخت دودوییِ کد هافمَن مقداردهی اولیه: تعداد گِره‌ (نود‌های) پردازش شده  M0=M می‌باشد. با اجرای شرط While M0>1 do مراحل بعدی به صورت زیر باید انجام شوند: یافتن دو گِره (نود) با کمترین احتمال در صف از نودهای پردازش شده حذف نودها را از صف پردازش تولید یک نود جدید با دو گرده انتخاب شده به عنوان فرزند. به این ترتیب که، وزن نودها برابر است با مجموع نودهای فرزند. افزودن گِره (نود) جدید به صف. لینک کردن نودهای جدید با لبه‌های نودهای حذف شده М0 <– М <– 1. اگر بیشتر از یک نود در صف وجود داشته باشد، مراحل ۲  تا ۵ را تکرار کنید.
 

مهندسی ویژگی‌ها

مهندسی ویژگی‌ها (FE) بخش بزرگی از یادگیری ماشین (ML) و یادگیری عمیق است. مقاله فوق را برای آشنایی بیشتر با اینکه ویژگی مهندسی چگونه به توسعه‌دهنگان در کار با داده کمک می‌کند مطالعه کنید. داده‌ها بدون توجه به اندازه و مقایس کسب‌و‌کار‌های مُدرن، شرکت‌ها و سازمان‌ها به عنوان دارایی از نوع طبقه‌-اولِ آن‌ها تبدیل شده است. هر سیستم هوشمند، صرف نظر از پیچیدگی آن، باید بر اساس داده باشد.  در قلب هر سیستم هوشمند، ما یک یا چند الگوریتم بینش داده‌ای را بر اساس  مجموعه‌ای از داده‌های یادگیری، مانند یادگیری ماشین، یادگیری عمیق و یا روش‌های آماری استفاده می‌کنیم که این اطلاعات را برای جمع آوری دانش و ارائه بینش هوشمند بیش از یک دوره زمانی نیاز داریم. الگوریتم‌ها خودشان کاملاً مجزا کار می‌کنند و نمی‌توانند خارج از جعبه داده‌های خام که برای آن‌ها مشخص شده است کار کنند. هر سیستم بینش اطلاعاتی هوشمند، اساساً شامل یک خط یا نقطه‌ی سر-به-سر با استفاده از داده‌های خام برای استفاده از تکنیک‌های پردازش داده‌ها جهت گردآوری، پردازش و خواص ویژگی‌های مهندسی از این داده‌ها است. ما معمولاً تکنیک‌هایی مانند مُدل‌های آماری یا مدل‌های یادگیری ماشین را برای مدل سازی بر روی این ویژگی‌ها استفاده می‌کنیم و در صورت لزوم برای استفاده آن‌ها در آینده بر اساس مشکلاتی که می‌توان به آن‌ها اشاره کرد به صورت دستی حل می‌شوند. به طور معمول یک سامانه‌ی یادگیری ماشین مبتنی بر «فرایندهای استاندارد صنعت متقابل برای داده‌کاوی» در زیر نشان داده شده است. به دست آوردن داده‌های خام و ساختن مُدل بر روی این داده‌ها به طور مستقیم می‌تواند به عنوان عملی بی‌مورد تلقی شود، زیر ما نتایج و کارایی مورد نظر را نمی‌گیریم و همچنین الگوریتم‌ها خود به طور خودکار ویژگی معنی دار از داده‌های خامِ ساده را به صورت خودکار نمایش نمی‌دهند. جنبه‌ی تهیه داد‌ها در شکل بالا ذکر شده است، جایی که ما متودولوژی‌های مختلفی را برای استخراج ویژگی‌ها یا ویژگی‌های معنی دار از داده‌های خامِ پس از تجزیه و تحلیل مورد نیاز از پیش رونده و پیش پردازش برخورد می‌کنیم. مهندسی ویژگی یک هنر و همچنین یک عِلم است و به همین دلیل دانشمندانِ داده‌ها اغلب ۷۰٪ از زمان خود را در مرحله‌ آماده سازی داده‌ها قبل از فازِ مُدل سازی صرف می‌کنند. این به ما درکِ (بینشِ) این را می‌دهد که چرا ویژگی مهندسی یک فرایند تبدیل اطلاعات (داده‌ها) به یک ویژگی به عنوان ورودی برای مُدلهای یادگیری ماشین عمل می‌کند. یعنی آن ویژگی با کیفیتِ خوب در بهبود عملکرد کلی و دقت مُدل کمک می‌کند.  ویژگی ها نیز به سوالات اصلی و اساسی بسیار وابسته هستند. بنابراین، حتی ممکن است کار یادگیری ماشین در سناریوهای متفاوت مانند طبقه‌بندی رویدادهای IoT به رفتار‌های عادی و غیر طبیعی یا طبقه‌بندی احساسات مشتری، ویژگی‌های استخراج شده در هر سناریو بسیار متفاوت از یکدیگر عمل کند. ویژگی‌ها چه چیز‌هایی هستند؟ یک ویژگی، به طور معمول، یک نمایش خاص در رأس داده‌های خام است که خصوصیات قابل اندازه‌گیری آن به صورت منحصربفرد (خصوصی) است. که معمولاً در یک ستون از یک مجموعه داده نقش بسته اند. با توجه به یک مجموعه‌ای از داده‌های دو بعدی، هر مشاهده توسط یک ردیف و هر ویژگی توسط یک ستون نشان داده می‌شود که یک مقدار خاص برای مشاهده دارد. بنابراین، مانند مثال در شکل بالا، هر سطر به طور خاص یک ویژگی از بُردار را نشان می‌دهد و همه آن‌ها مجموعه‌ای از ویژگی‌ها در همه مشاهدات به شمار می‌آیند، همچنین یک ماتریس ویژگی دو بُعدی است، که به عنوان یک مجموعه‌ای از ویژگی‌ها شناخته می‌شود. این شبیه به قاب داده‌ها یا صفحات گسترده‌ای است که داده های دو بعدی را نشان می‌دهند.  به طور معمول، الگوریتم‌های یادگیری ماشین با این ماتریس‌های عددی یا تانسورها کار می‌کنند. از این رو بیشترین تکنیک‌های ویژگی‌های مهندسی تبدیل داده‌های خام به  عنوان نماینده‌ای از داده‌هایی که می‌توانند توسط این الگوریتم ها قابل فهم و درک باشند را انجام می‌دهد. ویژگی‌ها می‌توانند از دو نوع اصلی بر اساس مجموعه داده‌ها باشند. ویژگی‌های خام (خالص) ذاتی مستقیماً از مجموعه داده‌ها و بدون دستکاری اطلاعات و یا مهندسی اضافی به دست می‌آیند. ویژگی‌های مشتق شده معمولاً از ویژگی‌های مهندسی به دست می‌آیند، جایی که ویژگی‌های داده‌های موجود را از آن استخراج می‌کنیم. مهندسی ویژگی‌ها داده‌های عددی معمولاً داده‌ها را به شکل ارزش‌های اسکالِر نشان می‌دهند که مشاهدات، ضبط داده‌ها یا اندازه گیری آن‌ها را نشان می‌دهد. منظور ما در اینجا داده‌های عددی به عنوان داده‌های مستمر است نه گُسَسته که به طور معمول به عنوان اطلاعات طبقه بندی شده ارائه می‌شوند. داده‌های عددی می‌توانند به عنوان یک بُردار از مقادیر نشان داده شود که هر مقدار یا موجودیت بُردار می‌تواند خود یک ویژگی خاص را نشان دهد. عدد صحیح (Integer) و شناور (Float) رایج ترین و به طور گسترده‌ای از انواع داده‌های عددی برای داده‌های عددی مُداوم استفاده می‌شوند. حتی داده های عددی می‌توانند به طور مستقیم به مُدل های یاد گیری ماشین انتقال یابند. شما برای هر یک از سِناریوهای مربوطه نیاز به ویژگی‌هایِ مهندسی دارید که مربوط به مشکلات و حوزه‌ی مرتبط با آن‌ها برای ساخت یک مُدل‌ است. از این رو، نیاز به مهندسی ویژگی‌ها هنوز هم در جای خود باقی است.
 

کیوت برای وب‌ اسمبلی

وب‌اسمبلی (WebAssembly) یا wasm یک زبان برنامه‌نویسی سطح پایین برای استفاده در مرورگر است که در حال حاضر در حال توسعه است. هدف اولیهٔ آن پشتیبانی حمایت از کامپایل از سی و سی++ است هرچند که قرار است از سایر زبان‌ها نیز حمایت شود. حال کتابخانه‌ی Qt این امکان را تحت ماژول Qt WebAssembly فراهم می‌کند تا برنامه‌‌ی نوشته شده توسط سی++ و کیوت در محیط مرورگر قابل اجرا باشند. این ویژگی در حال حاضر به عنوان پیش‌نمایش برای نسخه‌ی Qt 5.11 برنامه‌ریزی شده است. کیوت برای ساخت وب اسمبلی دستور‌العمل‌هایی را در اینجا آورده است. قبل از هرچیز شما نیاز دارید تا ابزار کامپایلر emsdk را آماده و نصب نمایید. بنابراین دستورات زیر را به ترتیب اجرا کنید. # Get the emsdk repo git clone https://github.com/juj/emsdk.git # Enter that directory cd emsdk # Fetch the latest registry of available tools. ./emsdk update # Download and install the latest SDK tools. ./emsdk install latest # Make the "latest" SDK "active" for the current user. (writes ~/.emscripten file) ./emsdk activate latest # Activate PATH and other environment variables in the current terminal source ./emsdk_env.sh در صورتی که در پیکربندی نیاز به راهنمایی دارید از راهنمای اصلی آن استفاده کنید و یا در همین مرجع در تالار‌های گفتمان از ما بپرسید. ما به این ابزار به عنوان ابزار کامپایل-چند‌منظوره استفاده خواهیم کرد. برخی از اسکرین شات‌ها از نتایج خروجی این ماژول به صورت زیر آمده‌اند: یک بازی ساده به نام Colliding mice ویژگی پنجره‌های گفتگو به نظر می‌رسد پنجره‌های ساخته شده توسط QOpenGLWindow با فریم ریت ۶۰ به خوبی عمل می‌کنند. البته به نظر می‌رسد QOpenGLWidget فعلاً شامل برخی از مشکلات است که حل خواهند شد. کامپایلر Emscripten که به عنوان یک کامپایلر منبع‌باز که بک اند آن بر روی LLVM اجرا می‌شود کُد‌های OpenGL را به WebGL ترجمه می‌کند. بنابراین محدودیت‌هایی در نسخه‌های دسکتاپ و اِمبد‌ها وجود خواهد داشت.   نمونه مثال پنجره تحت OpenGL در کنار این‌ها QtBases و QtDeclarative که از شاخه‌ی Wip/Web Assembly استقاده می‌کنند، ماژول‌های شناخته شده‌ی کیوت به صورت زیر به کار گرفته می‌شوند: QtCharts QtGraphicalEffects QtQuickControls QtQuickControls2 QtWebSockets QtMqtt (با استفاده از وب سوکت) برای استفاده از QtMqtt، شما باید کلاس WebSocketIODevice از نمونه مثالی با نام (websocketsubscription) وارد برنامه‌ی خود کنید. نمونه مثال‌های ساعت در QML نکته: از آن‌جا که جاوا‌اسکریپت و وب‌اسمبلی تنها یک نخ (Thread) دارند، QtDeclarative تنها برای یک نَخ (ترد) کار خواهد کرد. در نظر داشته باشید که ماژول‌های QtCharts QtGraphicalEffects، QtQuickcontrols، QtQuickControls2 بدون هیچ تغییراتی کار می‌کنند. ماژول QtChart از نمونه مثال oscilloscope این پروژه به عنوان یک رویکرد جدید و ویژگی‌ای که در آینده می‌تواند مفید باشد در حال توسعه است. بخش ویکی رسمی آن در این لینک آورده شده است.
 

اسکریپتینگ در ++C

کامپایلر Cling یک مترجم تعاملی برای سی‌پلاس‌پلاس است، این مترجم تحت بالاترین کتابخانه‌های Clang و LLVM ساخته شده است. در واقع از آن‌جایی که کامپایلر Clang از آخرین ویژگی‌ها و استاندارد‌های زبان سی‌پلاس‌پلاس پشتیبانی می‌کند، Cling اجازه می‌دهد تا توسعه‌دهندگان اسکریپت‌های خود را با استفاده از C و C++ بنویسند. اگر شما به طور مستقیم مترجم را اجرا کنید، یک محیط زنده برای آغاز برنامه نویسی با سی‌پلاس‌پلاس را خواهید داشت که به عنوان بخشی از استاندارد نحو سی و سی‌پلاس‌پلاس به شمار می‌آید. همچنین می‌توانید دیگر دستورات را با نقطه‌ی "." آغاز در اختیار داشته باشید. وقتی از مترجم تعاملی استفاده می‌کنید، می‌توانید کد زیر را بنویسید: #include <stdio.h> printf("hello world\n"); همانطور که می‌بینید نیازی نیست تا در مورد حوزه‌ی دامنه‌ها نگران باشید؛ کافی است شما تابع مورد نظر خود را صدا بزنید. اگر قصد شما این است که از Cling به عنوان یک مترجم برای ساخت اسکریپت‌ها استفاده کنید، باید همه چیز را در داخل یک تابع قرار دهید.چرا که نقطه‌ی ورود به اسکریپت به طور پیش‌فرض همانند نام فایل می‌باشد. می‌توان آن را برای صدا زدن دیگر توابع سفارشی سازی کرد. بنابراین مثال قبل می‌توانید به شکل زیر تغییر کند: #include <stdio.h> void _01_hello_world() { printf("foo\n"); } یک نسخه‌ی دیگر در قالب سی‌پلاس‌پلاس #include <iostream> void _02_hello_world() { std::cout << "Hello world" << std::endl; } مثال‌ها کاملاً ساده هستند، اما آن‌ها به شما نشان می‌دهند که چگونه باید شروع کنید. در مورد کیوت چطور؟ #include <QtWidgets/qapplication.h> #include <QtWidgets/qpushbutton.h> void _03_basic_qt() { int argc = 0; QApplication app(argc, nullptr); QPushButton button("Hello world"); QObject::connect(&button, &QPushButton::pressed, &app, &QApplication::quit); button.show(); app.exec(); } اما توجه داشته باشید که کد قبلی کار نخواهد کرد، شما باید برخی از پارامتر‌های سفارشی را در Cling مشخص کنید. cling -I/usr/include/x86_64-linux-gnu/qt5 -fPIC -lQt5Widgets 03_basic_qt.cpp شما می‌توانید Cling را برای خودتان بر اساس آن چیزی که برای اسکریپت خود نیاز دارید سفارشی سازی کنید. همچنین شما می‌توانید Cling را به عنوان یک کتابخانه در اپلیکیشن‌های خود آورده و از سی‌پلاس‌پلاس به عنوان زبان برنامه‌نویسی استفاده کنید. این پُست در آینده ادامه خواهد داشت. 🙂
 

مرورگر گوگل کروم بازطراحی شد

امروز نسخه‌ی Canary مرورگر گوگل کروم که ویژگی‌های جدید را به‌صورت زودهنگام در دسترس توسعه‌دهندگان قرار می‌دهد، با دریافت به‌روزرسانی جدید بازطراحی شد. در طول ماه‌های گذشته، گوگل با انتشار به‌روزرسانی‌های منظم برای مرورگر کروم، بستر را برای بزرگترین بازطراحی تاریخِ این مرورگر آماده می‌کرد. تا پیش از این، مرورگر کروم با دریافت هر به‌روزرسانی، تغییرات اندکی را در رابط‌کاربری به خود می‌دید؛ اما امروز، گوگل به‌روزرسانیِ جدیدی را برای کروم منتشر کرده است که رابط‌ کاربری این مرورگر را به طرز قابل‌توجهی نوسازی می‌کند.  این نسخه از مرورگر تحت موتور v8 و همچنین به‌روز‌رسانی‌های اخیر تحت C++17 توسعه داده شده است که از بالاترین ویژگی‌های مدرن زبان برنامه نویسی بهره برده و تحت نسخه‌های Clang نیز کامپایل شده است تا به سریعترین کارآیی ممکن در بین مرورگر‌ها برسد. فعلاً به‌روزرسانی جدید کروم برای نسخه‌ی Canary منتشر شده است، این نسخه از مرورگر کروم، تنها برای توسعه‌دهندگان در نظر گرفته شده تا پیش از عرضه‌ی عمومی با ویژگی‌های جدید و آخرین دستاوردهای تکنولوژی در حوزه‌ی وب، آشنا شوند؛ اما اگر قصد تجربه‌ی تغییرات جدید را دارید، می‌توانید از طریق این لینک اقدام به دانلود این نسخه کنید. طبق گفته‌ی منبعی معتبر، از ویژگی‌های جدیدِ نسخه‌ی جدید کروم می‌توان به تغییر در شکل زبانه‌ها، حالت تک‌زبانه (Single Tab Mode)، اضافه‌شدنِ آیکون به جعبه‌ی پیشنهاد وب‌سایت‌ها در نوار آدرس، رنگ‌بندی‌ زبانه، زبانه‌های پین‌شده و شاخص‌های هشدار اشاره کرد. به‌روزرسانی جدید کروم اکنون به‌صورت پیش‌فرض در دسترس کاربران ویندوز، لینوکس و کروم‌او‌اس قرار دارد؛ اما اگر از رایانه‌ی مک استفاده می‌کنید، برای مشاهده این تغییرات، باید دو دستور زیر را به‌ترتیب در نوار آدرس وارد کنید و سپس کلید اینتر را فشار دهید. chrome://flags/#top-chrome-md chrome://flags/#views-browser-windows  
 

هوش مصنوعی واتسون با پیش‌بینی عملکرد آینده

یکی از دغدغه‌های کارفرمایان در حوزه منابع انسانی، علاوه بر استخدام نیروی متخصص، تصمیم‌گیری برای ادامه‌ی همکاری با کارمندان فعلی و مشخص نمودن اضافه حقوق و مزایای شغلی است. کارفرمایان تمایل دارند بدانند واقعا کدام یک از کارمندان شرکت، مستحق دریافت اضافه حقوق است و کدام یک فردی ارزشمند برای شرکت محسوب می‌شود که ارزش سرمایه‌گذاری دارد و حضورش برای شرکت مثمر فایده است. کارفرمایان علاقه‌ دارند تا بدانند کدام یک از کارمندان شرکت، عملکرد بهتری در آینده از خود نشان می‌دهند. پیش‌بینی وضعیت عملکرد آینده‌ی کارمندان و مشخص نمودن دورنمای کاری آنها بسیار حائز اهمیت است. همیشه با بررسی وضعیت و عملکرد گذشته‌ی فرد، نمی‌توان در مورد آینده‌ی او و موفقیت‌هایی که قرار است به دست بیاورد، پیش‌بینی کرد. در شرکت IBM، نه تنها عملکرد و دستاوردها یا خطاهای گذشته پرسنل مورد بررسی قرار می‌گیرند، بلکه در مورد آینده‌ی آنها نیز پیش‌بینی‌‌هایی انجام می‌شود و مشخص می‌شود فردی که اکنون در شرکت مشغول فعالیت است در آینده چه عملکردی خواهد داشت. واقعا شرکت IBM چگونه می‌تواند آینده‌ی کارمندان خود را قضاوت کند؟ در اصل IBM چگونه می‌تواند آینده را پیش‌بینی کند؟ همه‌ی آنچه آی‌بی‌ام به انجام می‌رساند در یک کلمه خلاصه شده است: واتسون. تجزیه و تحلیل واتسون (Watson Analytics) با استفاده از هوش مصنوعی، به تجربیات گذشته‌ی افراد و پروژه‌هایی که پیش از این انجام داده‌اند، توجه نشان داده ودر عین حال مهارت‌های بالقوه و کارهایی که در آینده می‌تواند به انجام برساند را مد نظر می‌گیرد. واتسون مشخص می‌کند هر یک از پرسنل، چه مهارت‌ها و ویژگی‌های بالقوه‌ای برای ارائه به شرکت IBM دارد که در آینده می‌تواند از آن‌ها در جهت منافع شرکت بهره‌برداری کند. همچنین واتسون، سیستم آموزش داخلی IBM را نیز بررسی می‌کند تا ببیند آیا کارمند مربوطه مهارت‌های جدیدی را کسب کرده است یا خیر. مدیران IBM‌ پس از ارزیابی امتیازهایی که واتسون به هر فردی می‌دهد، میزان پاداش یا وضعیت اضافه حقوق وی را مشخص می‌کنند. میزان افزایش حقوق فرد با توجه به امتیازهایی که واتسون برایش در نظر می‌گیرد، تعیین می‌شود. نیکل لاموراکس، معاون مدیرعامل شرکت IBM‌ در مورد بررسی وضعیت کارمندان از نظر اینکه حضور آنها به نفع شرکت است و منافعی را به دنبال دارد یا به ضرر شرکت تمام می‌شود، این چنین اظهار نظر کرده است: شرکت آی‌بی‌ام ادعا می‌کند که واتسون در مقایسه با بررسی‌ها و تجزیه‌ و تحلیل‌های کارشناسان منابع انسانی، از دقت ۹۶ درصدی برخوردار است و با چنین دقتی می‌تواند امتیاز عملکردی کارمندان را مشخص کند. در مدل‌های مدیریت سنتی، عموما کارفرمایان با توجه به محصولات و دستاوردهای گذشته‌ی پرسنل، برای آنها پاداش و اضافه حقوق مشخص می‌کنند و سابقه‌ی افراد تنها معیار ارزیابی برای دریافت حقوق و پاداش است. در این سیستم جدید مبتنی بر هوش مصنوعی، گذشته‌ی افراد تنها مقدمه‌ای برای تعیین بقیه موارد است و در اصل همه‌ی داستان نیست بلکه پیش بینی وضعیت آینده‌ی فرد نیز در تعیین حقوق و مزایای شغلی فعلی وی موثر هستند. رویکردهای مدیریت سنتی، برای زمان‌هایی که وظایف و مسئولیت‌های شغلی نسبتا ثابت هستند و هیچ‌گونه تغییری در کار و وظایف محول شده به فرد رخ نمی‌دهد، شاید کاربرد داشته باشد ولی به اعتقاد لاموراکس، با چنین رویکردی نیمه عمر مهارت‌ها، کوتاه و کوتاه‌تر می‌شود. توانمندی‌ها و کارهایی که کارمندان باید بتوانند در آینده به انجام برسانند، بیشتر از مهارت‌های گذشته‌ی آنها، اهمیت دارد. در سیستم مدیریتی جدید، کارمندان تشویق می‌شوند مهارت‌های جدیدی را بیاموزند و از آنجایی که می‌دانند سیستم امتیازدهی به یادگیری مهارت‌های جدید آنها امتیاز می‌دهد، برای یادگیری انگیزه دارند. بر اساس نظرسنجی انجام شده توسط شرکت مشاور Willis Towers Watson از بیش از ۲۰۰۰ سازمان و شرکت مختلف، مشخص شد که بیش از ۴۰ درصد پاسخ‌دهندگان در حال برنامه‌ریزی سیستمی هستند که مهارت‌های بالقوه و مهارت‌های آینده‌ی پرسنل شرکت را در ارزیابی کارمندان مورد توجه قرار دهد. تغییر سبک مدیریتی، از مدل سنتی به مدل مدیریتی بررسی عملکرد نیروی انسانی مبتنی بر مهارت‌ها، کمک می‌کند تا کارفرمایان بتوانند شکاف موجود در سیستم خود را از لحاظ مهارت آموزی پرسنل حل و فصل کنند. فدراسیون ملی کسب و کار مستقل، از ماه ژوئن بررسی‌هایی را به انجام رساند و متوجه شد که در بیش از یک سوم کسب و کارهای کوچک، دارای پست‌های شغلی هستند که کسی در آن‌ها مشغول به کار نیست و یکی از مشکلات اصلی شرکت‌ها کمبود کارگر و نیروی انسانی ثابت و ماهر است. کارفرمایان ادعا می‌کنند که نمی‌توانند افراد مناسبی را در پست‌های شغلی ثابت استخدام کنند و از آنجایی که بیشتر کارگرانی که در چنین پست‌هایی مشغول کار می‌شوند تلاش لازم را از خود نشان نمی‌دهند، کارفرمایان نمی‌توانند دستمزدشان را اضافه کنند یا پاداشی برای آنها در نظر بگیرند. در نهایت می‌بینیم که برای چنین مشاغلی نه تنها کارفرمایان با مساله استخدام نیروی کاری ثابت مواجه هستند، بلکه برای انجام کار، نیروی ماهر و متخصص هم در اختیار ندارند. IBM، معتقد است که برای پر کردن پست‌های شغلی شرکت، متقاضیان زیادی که دارای مهارت‌های لازم باشند و بتوانند نقش‌های مهمی را در بخش فناوری بر عهده بگیرند، ندارد. به همین دلیل، آی‌بی‌ام به کارمندان فعلی خود دورنمایی از پست‌های شغلی مورد نیازش در آینده را نشان می‌دهد و برای آنها مشخص می‌کند که اگر بخواهند در آینده در آن پست‌های شغلی مشغول فعالیت شوند، باید چه مهارت‌هایی بیاموزند. با چنین رویکردی هم کارمندان به‌خوبی می‌دانند که برای ارتقا شغلی و دستیابی به موقعیت بهتر و حقوق و مزایای بالاتر و بیشتر، باید چه مهارت‌هایی را بیاموزند و هم می‌دانند چه دورنمای شغلی در انتظار آنها است. آی‌بی‌ام ادعا می‌کند که هر یک از کارمندان شرکت، هر سال به طور متوسط، حدود ۶۰ ساعت آموزش می‌بینند.  همه شرکت‌ها از روش تجزیه و تحلیل برای پیش بینی وضعیت آینده‌ کارمندان خود استفاده نمی‌کنند. شرکت Intern Group که یکی از شرکت‌های ‍رورش کارآموز برای معرفی نیروی متخصص به شرکت‌های مختلف است، حدود ۸۰ نفر کارآموز دارد و معتقد است که کارآموزان باید حتما ۱۵ مهارت اصلی را برای موفقیت در کسب و کار ۱۰۰ سال آینده‌ فرا گیرند. مهارت‌هایی همچون انعطاف‌پذیری و مهارت‌های ارتباطی جزو مهارت‌های اصلی برای موفقیت در بازار کار ۱۰۰ سال آینده است.  دیوید لویید، مدیرعامل این شرکت با استفاده از سیستم امتیازدهی، ۱۰ درصد از بهترین نیروهای شرکت را که به اعتقاد وی، نیروهایی با استعداد هستند، شناسایی می‌کند و معتقد است که شرکت باید تمام تلاش خود را برای حفظ این ۱۰ درصد نیروی ماهر و ارتقا آنها به کار ببندد. این کارمندان از طریق سیستم خدمات داخلی شرکت، آموزش می‌بینند و فرصت‌های جدیدی برای دریافت پاداش و اضافه حقوق پیدا می‌کنند. در اصل سیستم امتیازدهی می‌تواند وضعیت آینده‌ی کارمندان را پیش‌بینی کند و با توجه به آن فرصت‌های جدیدی در اختیار آنها قرار بدهد. البته دیوید لویید، فرصت مهارت آموزی را در اختیار تمام کارمندان شرکت قرار می‌دهد. وی معتقد است:  
 

مروی بر مهندسی نرم افزار ( قسمت پنجم )

نمودار جریان داده خط جریان داده خط فیزیکی جریان داده پردازنده‌ها موجودیت‌های خارجی انباره ( محلی برای جمع‌آوری اطلاعات ) مراحل ایجاد جریان داده رسم دیاگرام متن سیستم مشخص کردن واحد‌های عملیاتی سیستم ( چارت سازمانی ) تعیین چگونگی گردش داده بین موجودیت‌های خارجی و واحد عملیاتی داخلی چنان‌چه اطلاعات در داخل پوشه‌ها یا زونکن‌ها قرار بگیرد از انباره استفاده می‌کنیم. مثال : انبار یک کارخانه دار در نظر بگیرید مشتریان با ارائه حواله انبار کالای مورد نظر خد را از انبار دریافت می‌کنند انبار موظف است در صورت نیاز به مدیر کارخانه گزارشی به وی ارائه دهد چنان‌چه کالاهای موجود در انبار کاهش یابد انبار با تنظیم سفارش خرید به تدارکات جهت تامین کالا اقدام می‌کند و سپس گزارشی مبنی بر خرید از تدارکات دریافت می‌کند. به منظور خرید  نیاز است که اعتبار مالی از امور مالی دریافت شود این اعتبار به دنبال لیست سفارشات از سوی انبار مشخص می‌گردد پس از خرید کالاهای مورد نظر بازرسی کارخانه کالاها را دریافت و به انبار ارسال می‌کند و به ازاری آن رسید از انبار دریافت می‌کند. در صورتی که مشتری کالای دریافتی را به دلیل نقص یا قیمت بالا ارجاع دهد انبار می‌تواند در خصوص پذیرش یا رد آن تصمیم‌گیری نمیاد . مطلوب است : نمودار متن چارت سازمانی نمودار جریان داده الف ) نمودار متن ب ) چارت سازمانی ج ) نمودار جریان داده  

بهنام صباغی

بهنام صباغی

 

مروی بر مهندسی نرم افزار ( قسمت چهارم )

طرح‌های راهبردی مهندسی نرم‌افزار : نمونه اولیه ( Proposal ) نقشه مدیریت پروژه ( Project Management Plan ) طرح تضمین کیفیت ( Quality Assurance Plan) یافتن واقعیت‌ها در سیستم نرم‌افزاری مصاحبه کاربران بیشتر به نتایج توجه دارند نه منشا کارها کاربران ناآگاهند نسبت به سیستم‌های کامپیوتری تناقض‌گویی کاربراان ارائه راهکار از طرف کاربر پرسش‌نامه : وقتی افراد زیاد و زمان کم است از پرسش‌نامه استفاده می‌کنیم. مطالعه مشاهده مدل خطی مهندسی نرم‌افزار سوال : چه زمانی از مدل خطی استفاده می‌شود ؟ جواب : نیازمندی‌های سیستم از ابتدا به طور کامل مشخص باشد. نکته : اگر نیازمندی‌ها از اول مشخص نباشد این مدل کارایی ندارد و همچنین این مدل زمان زیادی می‌گیرد. نمونه اولیه ( prototype ) : شنیدن صحبت‌های مشتری طرح اولیه نشان دادن ماکت به مشتری چالش‌های نمونه اولیه ( prototype ) : سادگی بیش از حد نمونه اولیه باعث منصرف شدن کاربر می‌شود. خواسته‌های غیر منطقی و خارج از چارچوب برنامه ایجاد شود. RAD ( Rapid Application Development ) توسعه سریع برنامه : تقسیم برنامه به ماژول‌های مختلف تخصصیص هر ماژول به یک تیم هر یک از مدل خطی استفاده می‌کنند. نکته 1 : نرم‌افزار باید قابلیت تقسیم به ماژول های مختلف را داشته باشد. نکته 2 : هزینه ترکیب کردن ماژول‌ها زیاد است.   مدل افزایشی مهندسی نرم‌افزار ( Incremental Model ) هر بخش از نرم افزار توسط یک تیم نوشته می‌شود. ( بخش‌ها از یکدیگر مستقل‌اند) مدل پیچشی مهندسی نرم‌افزار هر بار نرم‌افزار بزرگتر می‌شود تا به نرم‌افزار اصلی برسیم. مشکل : اگر کاربر مشکلی پیدا کند باید به اول برگردیم. مدل برد برد ( Win Win Model ) همان مدل پیچشی و ساختار آن به گونه‌ای است که هر موقع کاربر درخواستی داشته‌باشد به چرخه برگشته و درخواست را عملی می‌کنیم.(یک پیچ به عقب بر می‌گردیم)   متدلوژی SSADM ( Structured System Analysis & Design Method ) چرخه حیات متدلوژی SSADM هر بخش به صورت مجزا دیده می‌شود و هیچ ارتباطی باهم ندارند. امکان‌سنجی : این می‌باشد که آیا قابلیت انجام این پروژه توسط شرکت وجود دارد یا خیر ؟ فنی : سخت‌افزار یا نرم‌افزار خاصی نیاز داریم که باید بررسی شود که در اختیار داریم یا خیر ؟ مالی : به صرفه بودن پروژه و نرم‌افزار و بررسی کردن آن زمان : آیا زمان لازم برای انجام پروژه وجود دارد یا خیر ؟ هزینه : زمانی می‌تواند به عنوان هزینه در نظر گرفته شود زمان وجود دارد اما زمانی که برای پروژه در نظر گرفته می‌شود میتوان با توجه به پروژه ‌ای دیگر و زمان کمتر سود بهتری بدست آورد. مراحل امکان‌سنجی : شناخت محدوده پروژه : قسمت‌های مختلف یک پروژه را شناسایی می‌کنیم به عنوان مثال در سیستم انبارداری سیستم خرید ، سیستم فروش ، سیستم نگهداری بررسی و شناخت وضعیت موجود : بررسی وضعیت موجود در شرکتی که قرار است برای آن‌ها برنامه نوشته شود و بررسی میکنیم که آن‌ها چه وضعیتی دارند و یا از چه برنامه‌هایی قبلا کمک می‌گرفتند خروجی این بررسی گزارش تفضیلی شناخت پروژه می‌باشد. بررسی و تحلیل اهداف سیستم جدید : ویژگی‌هایی که قرار است اضافه شود تعیین موجودیت‌های خارج از سیستم تعیین محدودیت‌ها و مخاطرات سیستم : ریسک‌های سیستم و مشکلات آن را پیدا کنیم و ... به تایید کارفرما رساندن محدوده پروژه ارائه راه‌حل‌های سخت افزاری و نرم‌افزاری : پروژه به چه سخت‌افزار و نرم‌افزارهایی نیاز دارد. بررسی اقتصادی پروژه : هزینه تهیه کامپیوتر و سخت‌افزارهای مورد نیاز و بررسی به صرفه بودن هزینه تهیه سیستم‌های کامپیوتری ( سخت افزار ) هزینه منابع انسانی و آموزش افراد و استخدام برنامه‌نویس هزینه پشتیبانی از برنامه گزارش امکان‌سنجی مستنداتی قابل ارائه از امکان‌سنحی متدلوژی و راه و روشی برای شناخت سیستم راه‌حل‌های ارائه شده به کارفرما که پذیرفته شده‌است. بررسی اقتصادی هزینه‌های پروژه و مزایای پروژه برنامه‌ریزی برای پروژه ( زمان‌بندی و افرادو ... ) نتیجه‌گیری و پیشنهادات ضمایم تکمیلی ( مواردی که به پروژه ضمیمه می‌شوند ) 5 گام اساسی متدلوژی SSADM مدل آبشاری متدلوژی SSADM

بهنام صباغی

بهنام صباغی

 

مروی بر مهندسی نرم افزار ( قسمت سوم )

طرح مسئله در مهندسی نرم‌افزار : از طرف مشتری اعلام شود. از طرف مهندسان نرم‌افزار پیشنهاد می‌شود. proposal : شرکت مهندسی نرم‌افزار آن را ارائه می‌دهد ک در آن نشان می‌دهد که چگونه پروژه طرح مسئله شده را انجام می‌دهد . مواردی که در proposal موجود است : دامنه ، تعریف مسئله و حدود و ثغور (حوزه‌های مسئله ) تهیه شرح کاملی از مسئله تهیه اهداف (اطلاعاتی که سیستم فراهم می‌کند) تعیین بودجه تعیین منابع برای اجرای پروژه زمان بندی انجام پروژه (gantt chart) جلسه Kickoff meeting جلسه ارائه طرح «این جلسه بعد از اتمام قرارداد می‌باشد.» دو طرف روبروی هم می‌نشینند (حالت معارفه دارد). موفقیت و شکست نرم‌افزار : بین 60٪ تا 70٪ پروژه های نرم‌افزاری به دلایلی همچون تغییر مدیر پروژه ، استفاده نکردن از آن نرم‌افزار ، ناتوانی در کدنویسی برنامه و ... شکست می‌خورند . یکی از دلایل استفاده نکردن از نرم‌افزار مقاومت در مقابل تغییرات است . راهکارهایی که مقاومت در بربر تغییرات را کاهش می‌دهند عبارتند از : آموزش درگیر کردن افراد نظام تنبیه و پاداش نکته : هر سه مورد نیاز به حمایت مدیر ارشد دارند . چرخه حیاط نرم‌افزار : دیاگرام متن (Context Diagram) : یک دیاگرام که در متدولوژی SSADM از آن استفاده می‌شود . هدف : تمام موجودیت‌ها ، تمام عناصر و سیستم‌ها را مشخص می‌کند. عناصر : پرسنل / مدیریت سازمان موجودیت‌های خارجی : شعب بانک سیستم‌ها : سیستم حسابداری/سیستم مالی نمادها : سیستم را با مستطیل نشان می‌دهند موجودیت ها را با دایره نشان می‌دهند جریان اطلاعات را با فلش نشان می‌دهند مستند سازی دیاگرام : دیاگرام جدول شرح موجودیت‌های خارجی جدول شرح ارتباطات مثال : داروخانه بیمارستان را در نظر بگیرید . نسخه های بیماران توسط مشتری از طرف بخش بیمارستان به داروخانه ارسال می‌شوند و فاکتور تحویل دارو پس از تسویه حساب با مشتری به بخش ارسال می‌شود . جهت تامین دارو ، داروخانه از شرکت‌های دولتی و خصوصی استفاده می‌کند . روال ارتباط با این دو شرکت متفاوت است . در ارتباط با شرکت‌های دولتی داروخانه لیست داروهای مورد نظر را ارسال کرده و پس از دریافت لیست داروهای موجود و فاکتور فروش مبلغ را پرداخت می‌کند. در ارتباط با شرکت های خصوصی لیست داروهای موجود ارسال نمی‌شود در ضمن داروهای دریافتی به انبار داروخانه تحویل داده شده و رسید آن به داروخانه ارسال می‌گردد. هم چنین ارتباط داروخانه با حسابداری به شرح زیر است : نسخه ها و فاکتورها روزانه برای حسابداری ارسال می‌شود و جهت تامین دارو لیست نیازمندی‌ها و قیمت‌ها ارسال شده و چکی در وجه داروخانه دریافت می‌شود . دیاگرام : جدول شرح موجودیت‌ها : جدول ارتباطات : نکته : جدول ارتباطات این مثال تکمیل نیست و فقط یک مورد به عنوان مثال آورده شده سعی کنید با توجه به صورت مسئله بقیه ارتباطات را بنویسید .  

بهنام صباغی

بهنام صباغی

 

مروی بر مهندسی نرم افزار ( قسمت دوم )

تحلیلگرهای مهندسی نرم‌افزار : تحلیل‌گر سطح 1 تحلیل سیستم 30٪ کدنویسی 70٪ تحلیل‌گر سطح 2 تحلیل سیستم 50٪ کدنویسی 50٪ تحلیل‌گر سطح 3 تحلیل سیستم 70٪ کدنویسی 30٪ تحلیل‌گر ارشد تحلیل سیستم 60٪ کدنویسی 10٪ مدیریت پروژه 30٪ تعریف سیستم :  به مجموعه‌ای از عناصر گفته می‌شود که کنار هم قرار گرفنه‌اند ، دارای ورودی‌های مشخص ، پردازش‌های معین و خروجی از پیش تعیین‌شده برای یک هدف خاص هستند . سیستم : سیستم باز : تبادل داده ، ماده و انرژی با محیط اطراف . سیستم بسته : با خارج از خود ارتباط ندارد . هم‌افزایی (synergy ) : ماهیت یک سیستم بالاتر از جمع جبری تک تک عناصر آن سیستم است . طراحی سلسله مراتبی ساختار سیستم :
سطح‌های مدیریتی :
نکته : ساخت نرم‌افزار یک فرآیند تکراری است . Process ( فرآیند) : انجام دادن یک سری گام ، کار و یا وظیفه در یک زمان مشخص برای رسیدن به یک هدف مشخص وظیفه زمان هدف Functions (وظیفه ) : ثبت نام در دانشگاه : امور مالی امور آموزشی امور اداری تاریخچه علم طراحی و تحلیل سیستم : روش‌های نسل اول : روش‌های این نسل مبتنی بر انواع تکنیک‌های ساخت یافته برای تولید نرم‌افزار هستند . برنامه نویسی ساخت یافته : برنامه نویسی‌ای که کمترین استفاده از دستور goto در ان باشد و تمرکز بر نوشتن کر برنامه در پیمانه‌های کمتر و حدالامکان یک پیمانه است .(Madule) تحلیل ساخت یافته : برنامه به گونه ای نوشته شود که ارتباط بین پیمانه‌ها حداقل باشد ، تعداد پارامترهای رد و بدل شده کمینه باشد و اطلاعات درون پیمانه‌ها منحصر به خود پیمانه بوده و امکان دسترسی از خارج پیمانه میسر نباشد. تحلیل ساخت یافته : شناخت چگونگی گردش داده‌ها درون سیستم بر اساس فرآیندها را تحلیل ساخت‌یافته گوئیم . (Process Oriented متدولوژی SSADM) روش‌های نسل دوم :  روش این نسل با تاکید بر شناخت داده‌ها و اطلاعات درون سیستم‌هاست . (Data Oriented معروف ترین متدولوژی CDM) روش‌های نسل سوم :روش های این نسل مبتنی بر روش شی‌گرا در طراحی و تحلیلی داده‌ها و پردازش‌ها با یکدیگر و هم زمان است .(Object Oriented متدولوژی RUP) مهندسی نرم‌افزار به صورت لایه‌ای :   مدل فرآیندی نرم‌افزار : آزمایش یک برنامه : آزمایش : آزمایش black box : به داخل برنامه دسترسی نداریم و فقط ورودی و خروجی داریم . آزمایش white box : به داخل کد دسترسی داریم و ساختار کد را بررسی می‌کنیم . خروجی‌ها : خروجی که نرم‌افزار می‌دهد . (actual) خروجی که اتنظار داریم نرم‌افزار بدهد . (expected) آزمایش به روش black box خروجی actual و expected را مقایسه می‌کند .   قسمت بعدی :    

بهنام صباغی

بهنام صباغی

 

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

مهندسی : عبارت است از تحلیل ، طراحی ، ساخت ، بررسی و مدیریت نهادهای فنی واجتماعی . سوالاتی که یک مهندس باید پاسخ بدهد: چه چیزی باید حل شود ؟ چه ویژگی هایی باید مورد بررسی قرار بگیرد ؟ نهاد چگونه بنا شده است ؟ از چه روشی برای کشف خطا استفاده شود ؟ پشتیبانی به چه صورتی انجام شود ؟ نرم افزار : عبارت است از محصولی شامل برنامه ، مستندات و داده‌ها نیاز های مشتری به سه دسته تقسیم می‌شوند: نیازهایی که اگر پاسخ داده نشوند رضایت‌مندی مشتری به صفر می‌رسد. نیاز هایی که کاربر مطرح می‌کند و سپس انجام می‌شود و باعث بالا رفتن رضایت‌مندی مشتری می‌شود . نیازهایی که اگر پاسخ داده نشوند مشکلی ایجاد نمی‌شود ولی اگر پاسخ داده شود رضایت‌مندی مشتری را به شدت افزایش می‌دهد . یک نرم افزار فرسوده نمی‌شود به این معنی است که در بازه‌های زمانی مشخص نرم‌افزار آپدیت دریافت کرده و مشکلات قبلی را حل و قابلیت‌های جدید اضافه می‌کند .   انواع نرم افزارها: سیستمی زمان حقیقی تجاری TPS : Transaction Process System OAS : Office Automation System MIS : Management Information System EIS : Executive Information SystemKWS : Knowledge Work System مهندسی و علمی نرم‌افزار‌های تعبیه شده نرم‌افزارهای کامپیوتر شخصی مبتنی بر وب هوش مصنوعی نرم‌افزارهای ساخت نرم‌افزار اسطوره‌های نرم افزاری : اسطوره‌های مدیریتی با داشتن کتابی آکنده از استعدادها و روال‌های لازم میتوان نرم‌افزار موفقی تولید کرد ( دانش ضمنی ) با داشتن ابزار نرم‌افزار‌ سازی حرفه‌ای و کامپیوتر‌های مدرن میتوان تولید نرم‌افزار را تضمین کرد. ( نیروی متخصص نادیده گرفته شده است) با عقب افتادن از برنامه می‌توان تعداد برنامه‌نویسان را افزایش داده و کار را جلو برد . ( هماهنگ کردن افراد جدید با پروژه سخت است و هزینه و زمان بیشتری می‌برد) استوره های مشتریان : با تغییر نیاز مشتری می‌توان تغییرات لازم را در نرم‌افزار اعمال کرد چون نرم‌افزار انعطاف‌پذیر است (‌هزینه افزایش می‌یابد)


  اسطوره‌های سازندگان نرم‌افزار هنگاهی که نرم‌افزار نوشته شده دیگر کار تمام است ( مراحل تست و پشتیبانی نادیده گرفته شده است ) تا زمانی که برنامه اجرا نشده است راهی برای ارزیابی کیفیت آن وجود ندارد ( خود برنامه نویس هنگام کد نویسی می‌تواند ارزیابی کند ) تنها چیز قابل تحویل برای یک پروژه نرم افزاری برنامه است ( مستندات و داده‌ها نادیده گرفته شده است )   مهندسی نرم‌افزار از سه گام اصلی تشکیل شده است: تعریف (? what) : چرا ساخت سیستم مهم است؟ سیستم چه تسهیلاتی دارد؟ چه اطلاعاتی مورد نیاز است ؟ چه اطلاعاتی باید پردازش شود ؟ توسعه ( ? How) : ساختار داده‌ها ، ساختار روال‌ها ، ساختار برنامه ، ساختار واسطه‌های کاربری و سیستم چگونه باید باشد ؟ پشتیبانی (! Change) : تصحیح نرم افزار ، بروز رسانی نیاز های جدید ، ساخت گزارشات بیشتر تعریف متدلوژی :در عام یک روش علامت گذاری شده و تعریف شده است. چرا متدلوژی در تحلیل و طراحی سیستم اهمیت دارد ؟ زیرا با داشتن روشی مدون می‌توان مستندسازی نرم‌افزار را با قابلیت بالاتری انجام داد و روند تولید نرم‌افزار از نظر کیفیت تضمین می‌گردد . روندی که یک درخواست در تحلیل و طراحی سیستم طی می‌کند: قسمت بعدی :    

بهنام صباغی

بهنام صباغی

 

شرکت Ceemple کامپایلر Zapcc خود را تحت مجوز منبع باز منتشر کرد

درباره‌ی کامپایلر Zapcc کامپایلر Zapcc یک کامپایلر بر پایه Clang است که با هدف کامپایل‌های سریعتر طراحی شده است. این کامپایلر با استفاده از حافظه نهان (Cache) و استفاده از معماری سرویس‌گیرنده-سرویس‌دهنده پیاده سازی شده است که یک کامپایلر مدرن و جدیدی به شما می‌آید که برای اهداف زیر ساخته شده است: ساخت سریع: تسریع در جمع آوری‌های قابل توجه برای هدرهایی که دارای قالب‌های سنگین در سی پلاس پلاس می‌باشند مانند LLVM، WebKit، ScyllaDB بر پایه Clang/LLVM: این کامپایلر بر پایخ Clang و اغلب بر ساس آخرین SVN به روز رسانی شده است. پشتیبانی کامل از لینوکس: در حال حاضر این کامپایلر از لینوکس x64 و ویندوز x64 با MinGW-w64 به صورت آزمایشی پشتیبانی می‌کند. جایگزینی: جایگزینی برای Clang و GCC و پشتیبانی از تمامی سیستم‌های ساخت (Build Systems) . مجوز‌ها این پروژه منبع باز تحت مجوز LLVM از (University of Illinois/NCSA) می‌باشد. ساخت (Building) پیش نیازها و فرآیند ساخت همانند LLVM می‌باشد. git clone https://github.com/yrnkrn/zapcc.git llvm mkdir build cd build cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_WARNINGS=OFF ../llvm ninja اجرا و آزمایش ninja check-all استفاده نحو دستورات Zapcc همانند دستورات Clang می‌باشد. از بین بردن سرور Zapcc pkill zapcc این دستور جهت از بین بردن سرور Zapcc برای آزاد سازی حافظه یا جایگزینی با سیستم تازه ساخته شده Zappc استفاده شود. جهت اطلاعات بیشتر به این بخش مراجعه کنید. لینک منبع بر روی گیت‌هاب
×