-- https://learn.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-database
DBCC SHRINKDATABASE (db, 10);
GO
-- https://stackoverflow.com/questions/32505775
use db
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
DECLARE @TableName varchar(255);
DECLARE @IndexName varchar(255);
DECLARE @SchemaName varchar(255);
DECLARE @Fragmentation FLOAT;
DECLARE @IndexScript varchar(255);
SELECT
dbtables.[name],
dbindexes.[name],
indexstats.avg_fragmentation_in_percent,
indexstats.page_count [pages]
FROM
sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables
on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas
on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes
ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE
indexstats.database_id = DB_ID()
AND indexstats.avg_fragmentation_in_percent >= 5.0
AND indexstats.page_count > 10
ORDER BY
indexstats.page_count ASC,
indexstats.avg_fragmentation_in_percent ASC
DECLARE TableCursor CURSOR FOR
SELECT
dbtables.[name],
dbindexes.[name],
dbschemas.[name],
indexstats.avg_fragmentation_in_percent
FROM
sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables
on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas
on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes
ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE
indexstats.database_id = DB_ID()
AND indexstats.avg_fragmentation_in_percent >= 5.0
AND indexstats.page_count > 10
ORDER BY
dbschemas.[name],
dbtables.[name];
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO
@TableName,
@IndexName,
@SchemaName,
@Fragmentation
WHILE @@FETCH_STATUS = 0
BEGIN
IF (@Fragmentation >= 30.0)
SET @IndexScript = 'ALTER INDEX ' + @IndexName + ' ON ' + @SchemaName + '.' + @TableName + ' REBUILD';
ELSE IF (@Fragmentation >= 5.0)
SET @IndexScript = 'ALTER INDEX ' + @IndexName + ' ON ' + @SchemaName + '.' + @TableName + ' REORGANIZE';
ELSE
SET @IndexScript = NULL;
IF (@IndexScript IS NOT NULL)
BEGIN
RAISERROR (@IndexScript, 10, 0) WITH NOWAIT
WAITFOR DELAY '00:00:01';
EXEC(@IndexScript);
END
FETCH NEXT FROM TableCursor INTO
@TableName,
@IndexName,
@SchemaName,
@Fragmentation;
END
CLOSE TableCursor;
DEALLOCATE TableCursor;
قرارداد همکاری کوتاه مدت در قالب تعریف پروژه و فعالیت پیمانی
فاز اول پروژهی ….
تعاریف
پیمانکار
شخص حقیقی یا حقوقی ذیصلاحی است که براساس اسناد و مدارک پیمان به عنوان مجری اصلی موضوع پیمان شناخته می شود.
پیمانکار فرعی
شخص حقیقی یا حقوقی ذیصلاحی است که پیمانکار اصلی با وی برای انجام بخشی از امور، قرارداد منعقد نموده و پیمانکار مربوطه ملزم به اجرای تعهدات براساس اسناد و مدارک موضوع پیمان می باشد.
محرمانگی
اطلاعاتی است که افشای آنها امنیت سیستم را به خطر میاندازد و یا ممکن است به هر نحو من جمله استفاده از سوی رقبا به مجموعه ضرر وارد سازد. اطلاعات محرمانه میتواند شامل اطلاعات داراییها، برنامهها، فرایندهای انجام کارها، اهداف سازمان، و یا اطلاعات در مورد نقاط ضعف سازمان باشد. اطلاعات محرمانه به صورت نوشتاری، دیجیتال و شفاهی اعلام میشوند.
فناوری
فناوری به معنی کاربرد منظم معلومات علمی و دیگر آگاهیهای نظامیافته برای انجام وظایف علمی است. فناوری را میتوان کلیهٔ دانشها، فرآیندها، ابزارها، روشها و سیستمهای به کار رفته در ساخت محصولات و ارائهٔ خدمات تعریف کرد. فناوری کاربرد عملی دانش و ابزاری برای کمک به تلاش انسان است.
عدم افشای اطلاعات
عدم استفاده غیر مجاز از اطلاعات و یا در اختیار قراردادن اطلاعات به افراد غیر مجاز است؛ همچنین باید محافظت لازم از اطلاعات صورت گیرد تا از دسترسی افراد غیر مجاز محفوظ باشد.
استفادهی غیر مجاز از اطلاعات
استفاده از اطلاعات در مواردی غیر از پروژههای تعریف شده شرکت و حدود آنهاست.
افراد غیر مجاز
هر فردی که این سند را امضا نکرده یا نمایندهی تامالاختیار امضا کنندگان نیست و یا به صورت رسمی مجاز شناخته نشده است، غیر مجاز است.
ساختار شکست کار
ساختار شکست کار را میتوان بدین ترتیب تعریف کرد: یک ساختار شبکهای یا درختی به صورت گرافیکی است برای نشان دادن روش تولید محصول یا خدمت شامل، بخشهای سختافزار، نرمافزار، خدمات و سایر وظایفی که یک سازمان یا شرکت انجام میدهد مانند کارهایی که باید انجام شود تا یک محصول یا خدمت مشخص تولید یا ارائه شود. در این تعریف منظور از «کارهایی که باید انجام شود» انجام و اتمام یک پروژه با بودجه و زمان مشخص است. تدوین ساختار شکست کار به عنوان یک نظام کاری، برای اطمینان از مشارکتکنندگان در اجرای پروژه، اعم از کارفرما، پیمانکاران/فروشندگان است که همگی بدانند چه عملیاتی برای تکمیل پروژه مورد نیاز است. استفاده از ساختار شکست کار به عنوان یک شالوده اطلاعاتی، برقراری ارتباط صحیح دربارهٔ پروژه را برای گروههای کاری و سازمانهای حکومتی ناظر بر پروژه و سایر فرایندهای قانونی، از طریق کاربرد یک مبنای مشترک، تسهیل میکند.
تحت شبکه / تحت وب
نرمافزار از پروتوکل HTTP و کلیات استانداردهای W3C پیروی کند. انتظار میرود چنین نرمافزارهایی در بستر مناسب شبکه، به وسیلهی نرمافزارهای مرورگر اینترنت قابل دسترسی باشند. نرمافزارهای تحت شبکه میتوانند با رعایت پیکربندیهای خاصی، در شبکهی داخلی سازمانها یا شبکهی اینترنت در دسترس باشند.
باگ / خطای نرمافزار
به اشکالاتی که کاربران طی کار با نرمافزار با آن برخورد میکنند و منشاء آن در کد نرمافزار است، باگ یا خطای نرمافزار گفته میشود.
فیچر / قابلیت
مجموعهی عملیاتی هدفمند که در دسترس کاربران نرمافزار قرار میگیرد فیچر یا قابلیت گفته میشود.
پروژه
پروژه متشکل از مجموعه فعالیتهایی است که توسط فرد یا افرادی به منظور رسیدن به یک نقطه هدف، تنها برای یک بار، در یک زمان مشخص و در یک مکان انجام میپذیرد. یک پروژه دارای مراحل مختلفی است که هر مرحله دارای خصوصیت خاص خود و نیازمند تصمیمگیریهای متناسب با آن است.
یک اصل در طراحی است که یک منظومه را به قطعات کوچکتر به نام پودمان تقسیم میکند. پودمانها میتوانند به طور مستقل ایجاد شوند، اصلاح شوند، جایگزین شوند یا با پودمانهای دیگر یا بین سامانههای مختلف جابهجا شوند.
این توافقنامه در راستای قوانین موضعه جمهوری اسلامی ایران و با تبعیت از قواعد عام حقوقی تعیین شده و در هر حال قوانین و قواعد حقوقی بر آن حکومت دارد.
موضوع
طرفین
طرف اول شرکت … به شمارهی …… آدرس …… کد پستی …… به مدیریت آقا / خانم …. فرزند ….. صادره از … به شناسه (کد) ملی … .
طرف دوم شرکت … به شمارهی …… آدرس …… کد پستی …… به مدیریت آقا / خانم …. فرزند ….. صادره از … به شناسه (کد) ملی … .
در این قرارداد طرف اول به عنوان کارفرما و طرف دوم به عنوان پیمانکار شناخته میشود.
پیمانکاران فرعی
پیمانکاران فرعی حق دسترسی به اطلاعات را دارند.
عدم افشای اطلاعات و مالکیت معنوی
اطلاعاتی که سرمایهی معنوی و دستاوردهای گروه به شمار میآیند، شامل تعهد «عدم افشای اطلاعات» میگردند که به موجب آن، طرفین موظفاند از اطلاعاتی که محرمانه و یا پرارزش تلقی میشوند در قبال افراد غیر مجاز حراست نمایند.
در صورتی که پیمانکار(اطلاعات شامل؟) و کارفرما به هر نحوی اطلاعات محرمانهی طرف مقابل را افشا نماید، طرفی که اطلاعات مربوط به آن افشا شده است، حق برخورد قانونی بر مبنای مواد ۶۴ و ۷۵ قانون تجارت الکترونیکی، ماده ۱ قانون مسئولیت مدنی و سایر مقررات مربوطه را خواهد داشت.
تبصره: در صورت اثبات دزدی اطلاعات محرمانه که شامل دسترسی غیر مجاز به سیستمهای اطلاعاتی (هک)، سرقت مستندات فیزیکی و سختافزاری باشد، افشا به حساب نمیآید.
مدت: تعهد طرفین به عدم افشای اطلاعات تا شش ماه پس از اتمام و یا فسخ این قرارداد الزامی است.
منع رقابت
طرفین تعهد مینمايند در طول مدت اين قرارداد و تا سه ماه پس از انقضا، تعليق يا فسخ آن، از ارائه هرگونه خدمات/مشاوره و انجام هرگونه فعالیت برای رقيب و شخص/اشخاصی (اعم از حقیقی يا حقوقی) که به هر نحو در رقابت با فعالیتهای طرف دیگر است اجتناب نمايند، در غير اينصورت مکلف به جبران خسارت نقض تعهد خواهند بود. به موجب قوانین فوق الذکر، تصرف غير معمول تجاری، صنعتی، و قانونی نسبت به نام، شهرت و اعتبار طرف دیگر كه باعث اشتباه شدن محصول ایشان با ديگر محصولات شده و آنها را از منشا و مبدا توليد محصول گمراه نمايد ممنوع است. (این تعهد برای پیمانکار معنی دارد.)
8. استفادهی آموزشی و تبلیغاتی
مشتری با امضای این قرارداد به پیمانکار اجازه میدهد تا از جزئیات پروژههای درحال ساخت برای اهداف تبلیغاتی و یا آموزشی استفاده کند. این شامل تولید محتوا و انتشار آنها در اینترنت و سایر رسانهها و همچنین برای آموزش کارکنان است.
مشتری نیز میپذیرد که اطلاعاتی مانند نام و نشان ممکن است در این محتوا آشکار شود. مشتری تایید میکند که با این موضوع موافقت کرده و هیچ ادعایی در این زمینه علیه پیمانکار نخواهد داشت.
یادداشتها و مکاتبات
کلیهی یادداشتها و مکاتباتی که در ارتباط با انجام موضوع قرارداد از یکی از طرفین برای طرف دیگر ارسال میگردد باید یا مستقیماً به نشانی طرف دیگر ارسال گردیده و رسید دریافت شده و یا از طریق تایید پیامکی تلفن همراه و یا از طریق دورنگار (فکس) و یا به وسیلهی پست سفارشی به نشانی که در قرارداد مشخص گردیده است ارسال گردد. برای یادداشتهایی که به وسیلهی دورنگار ارائه میگردند، با اعلام خودکار دستگاه گیرنده، موارد تحویل شده تلقی میشوند. (قرار شد چت با اتکا به ایمیل ایجاد شود.)
شرح و جزئیات پیادهسازی
به پیوست …
محل اجرای قرارداد
اختیارات
حقوق معنوی
حقوق معنوی تولیدات کارمند در این قرارداد، شامل حقوق اختراعات، ابتکارات، متعلق به کارمند خواهد بود که میتواند به صورت جداگانه مورد توافق و واگذاری قرار گیرد.(شرح و مفهوم؟)
حقوق مادی فعالیتهای موضوع
کارفرما موظف به پرداخت هزینهی انجام پروژه و هزینهی تهیهی ابزار موضوع قرارداد به پیمانکار طبق برنامهی زمانبندی که در ادامه آمده است از طریق واریز مبلغ به حساب زیر و دریافت رسید تایید است:
پیش پرداخت … درصد کل
تکمیل پروژه …. درصد
تحویل پروژه …… درصد
شمارهی کارت ………. به نام ………. بانک ……..
مبلغ کل پروژه:
به عدد
999,999,999 تومان
به حروف
….. ریال
بودجهبندی و زمانبندی منابع
تغییر در قرارداد
هرگونه تغییر در این قرارداد رسمیت نخواهد داشت مگر به صورت مکتوب و صریح به امضای طرفین برسد. (چت مبتنی بر ایمیل)
تغییر در نشانی و یا راههای ارتباطی
هرگاه یکی از طرفین قرارداد نشانی و یا تلفن تماس قانونی خود را در مدت قرارداد تغییر بدهد باید کتبا این تغییر را به طرف دیگر ابلاغ کند و تا وقتی که نشانی و یا شمارهی تلفن جدید به طرف دیگر اعلام نشده است، کلیهی نامهها، اوراق و مکاتبات، به نشانی و شمارهی قانونی ارسال و تمام آنها ابلاغ شده تلقی خواهند شد.
انواع خسارت و فورس ماژور
هرگاه به علت حوادث قهری و غیرمترقبه هر یک از طرفین نتوانند تعهدات خود را انجام دهند باید، عدم انجام تعهدات نقض قرارداد تلقی نخواهد شد. جنگ، اعم از اعلام شده یا نشده، انقلابها و اعتصابهای عمومی، شیوع بیماریهای واگیردار، زلزله، سیل و طغیانهای غیر عادی، خشکسالیهای بی سابقه، همچنین آتشسوزیهای دامنهدار که ناشی از کار پیمانکار نباشد، جزو حوادث قهری محسوب شده و در مورد خسارات ناشی از آنها به ترتیب زیر عمل خواهد شد:
پیمانکار در صورت بروز شرایط فورس ماژور بایستی به صورت بلادرنگ موضوع را به اطلاع کارفرما برساند. کارفرما به تشخیص خود و همفکری با پیمانکار تدابیر لازم را اتخاذ خواهد نمود. در طول مدت تعذر پیمانکار موظف است حداکثر تلاش خود را جهت حفظ اقدامها انجام شده و مدارک تولید شده به بهترین نحو مطلوب و با کمترین تاخیر به عمل آورد.
حل اختلاف
در صورت بروز اختلافات، موضوع بدوا در جلسهی مشترک بررسی میگردد و در صورت عدم توافق از طریق مراجع قضایی صالح پیگیری و رأی صادره از این مراجع مورد تایید طرفین و لازمالاجرا خواهد بود.
انتقال تعهدات به غیر
پیمانکار مگر در صورت توافق طرفین حق انتقال تعهدات به غیر را نخواهد داشت.
تعلیق قرارداد
چنانچه کارفرما به دلایلی به غیر از اشتباه پیمانکار و یا حوادث غیر مترقبه، کار را موقتاً و با اعلام کتبی معلق نماید، موظف است حقوق و دستمزد پیمانکار را طبق شرایط عادی پرداخت نماید. پیمانکار موظف است در طی این مدت همانند شرایط عادی آماده به انجام وظایف بماند.
پیمانکار در صورت دریافت نامهی کتبی برای تعلیق قرارداد، فوراً ارائهی خدمات را به حالت تعلیق درآورده و هزینهها را به حداقل مورد توافق طرفین کاهش خواهد داد.
کارفرما با یک اعلام قبلی ۵ روزه میتواند از پیمانکار بخواهد که انجام وظایف محول شده در مدت اجرای قرارداد را از سر بگیرد.
اگر تعلیق قرارداد بیش از ۳۰ روز به طول بیانجامد پیمانکار حق فسخ قرارداد را خواهد داشت.
خروج از قرارداد
هر یک از حالات زیر موجب فسخ این قرارداد است:
در صورتی که پیمانکار به وظایف خود عمل نکند و یا از الزامات اعلام شده در این سند برخوردار نباشد؛ و با مهلت دو هفته پس از دریافت اخطار کتبی قادر به رفع نقایص نباشد.
بر اساس اختیار یکی از طرفین در صورتی که طرف دیگر منحل گردیده باشد.
بر اساس توافق طرفین.
بر اساس توافق طرفین در صورتی که حالت فورس ماژور از سه ماه طولانیتر گردیده باشد.
بر اساس اختیار پیمانکار در صورتی که انجام تعهدات کارفرما از سه ماه بیشتر به طول انجامیده باشد.
اگر طرفین بر روی جزئیات وظایف به توافق نرسند قرارداد فسخ میگردد.
تبصره: خروج از قرارداد بدون توافق طرفین و یا احراز نشدن عدم التزام تعهدات یکی از طرفین، مستلزم پرداخت خسارت خواهد بود.
نسخههای قرارداد
این قرارداد در دو نسخه تهیه شده، و به امضای طرفین رسیده و به ایشان تحویل گردیده است.
(This article was crafted with assistance from Bing AI.)
In this tutorial, we’ll walk through the process of setting up a mail server using Docker Compose and Dovecot. We’ll cover the configuration of both the Mail Transfer Agent (MTA) and the Mail Delivery Agent (MDA).
Before we begin, make sure you have the following prerequisites:
Docker installed on your system.
Basic knowledge of Docker Compose.
Concepts of mailing and containerization
Certainly! Let’s dive into each of these terms:
MDA (Mail Delivery Agent): An MDA is responsible for delivering email messages to the recipient’s mailbox. It receives messages from the Mail Transfer Agent (MTA) and places them in the appropriate mailbox (e.g., using protocols like IMAP or POP3).
MTA (Mail Transfer Agent): The MTA handles the routing and delivery of email messages between mail servers. It uses protocols like SMTP (Simple Mail Transfer Protocol) to transfer emails from the sender’s server to the recipient’s server.
Dovecot: Dovecot is an MDA and IMAP/POP3 server. It retrieves emails from the mailbox and serves them to clients (such as email clients or webmail interfaces).
Docker: Docker is a containerization platform that allows you to package applications and their dependencies into lightweight containers. It simplifies deployment and ensures consistent environments.
Bridge Network: In Docker, a bridge network connects containers on the same host, allowing them to communicate securely. It provides isolation and manages IP addresses for containers.
SASL Authentication (Simple Authentication and Security Layer): SASL is a framework for adding authentication support to protocols. It’s commonly used for authenticating email clients with SMTP servers.
Public and Private Key: Public-key cryptography uses a pair of keys: the public key (shared openly) and the private key (kept secret). These keys are used for encryption, decryption, and digital signatures.
Signature and Certificate: A digital signature is created using a private key to verify the authenticity and integrity of data. Certificates (such as SSL/TLS certificates) contain public keys and additional information about the owner, issued by a Certificate Authority (CA).
Docker-Compose.yml: A YAML file used to define multi-container Docker applications. It specifies services, networks, volumes, and other configurations for a Docker Compose project.
Dockerfile: A text file that defines how to build a Docker image. It includes instructions for installing software, setting up configurations, and creating the image layers.
Most important commands we used during this setup
telnet localhost 25: This command initiates a Telnet session to the local machine on port 25, which is typically used for SMTP (Simple Mail Transfer Protocol) communication. It allows you to interact with an email server.
nano docker-compose.yml: The nano command opens the docker-compose.yml file in a text editor called Nano. This file is commonly used to define services and their configurations for Docker containers.
nano dovecot.conf: Similar to the previous command, this opens the dovecot.conf file in Nano. Dovecot is an email server software, and its configuration file specifies settings related to IMAP and POP3 protocols.
nano Dockerfile: Opens the Dockerfile in Nano. Dockerfiles are used to create custom Docker images by specifying instructions for building a container.
docker-compose up --build: This command starts the services defined in the docker-compose.yml file and rebuilds the images if necessary.
docker container exec -i: Executes a command inside a running Docker container. The -i flag allows interactive input.
chmod 777 data/ -R: Changes permissions recursively for the data/ directory, giving read, write, and execute permissions to everyone.
cat data/spool/mail/*: Displays the contents of all files in the data/spool/mail/ directory. These files likely contain email messages.
nano main.cf: Opens the main.cf configuration file for Postfix, a popular mail transfer agent (MTA).
ufw status: Checks the status of the Uncomplicated Firewall (UFW) rules.
Docker Compose
Let’s start by creating a docker-compose.yml file that defines our services:
In this configuration, we define two services: mta (Mail Transfer Agent) and mda (Mail Delivery Agent). The mta service handles SMTP traffic, while the mda service handles POP3 and IMAP traffic.
Dockerfile.mta
This Dockerfile sets up a Postfix mail server with specific configurations for sending emails through Gmail’s SMTP server. This includes additional features related to SMTP, DKIM (DomainKeys Identified Mail), and logging. Let’s break down the steps:
Base Image: It starts with the official Ubuntu base image.
Update and Install Packages:
It updates the package list and installs several packages related to Postfix, including postfix, rsyslog, mailutils, and various SASL-related libraries.
The apt clean command removes unnecessary files after installation.
Configure master.cf:
Adds a configuration line to master.cf to enable the submission service for SMTP.
Client Authentication:
Configures Postfix to use Dovecot for authentication (smtpd_sasl_type = dovecot).
Specifies the path for Dovecot (smtpd_sasl_path).
Disables TLS (smtpd_use_tls = no) and allows only authenticated users (smtpd_tls_auth_only = yes).
External Relay Configuration:
Copies a sasl_passwd file and creates a hash map from it.
Sets up TLS policy for Gmail (tls_policy).
Manages permissions for the TLS policy file.
Certificates:
Creates a directory for SSL certificates.
Copies the SSL certificate and private key.
Sets appropriate permissions.
SASL Mechanisms:
Configures SASL mechanisms for SMTP authentication.
Relay Configuration:
Sets Gmail as the relay host (relayhost = [smtp.gmail.com]:587).
فهرست مطالبپردازش کوانتومیارتباطات 5Gاستخراج و ذخیرهسازی انرژیهای تجدیدپذیرابرچالشهاانرژیسرطانبحران تنهاییغذا و آب تمیزگرمایش زمینپردازش کوانتومی ارتباطات 5G استخراج و ذخیرهسازی انرژیهای تجدیدپذیر ابرچالشها انرژی سرطان بحران تنهایی غذا و آب تمیز گرمایش زمین
برای دانلود نسخهی کم حجم و سبک ویندوز یازده اینجا کلیک کنید این نسخه از سیستمعامل ویندوز که توسط یکی از کاربرها ایجاد شده، بین حرفهایها از اهمیت خاصی برخورداره. به این دلیل که بسیاری از نرمافزارهای «اضافی» ویندوز رو نداره. حتما تجربهاش رو داشتید که برای چند کامپیوتر ویندوز نصب میکنید و بعد باید هر روز انتظار عبور ترافیک ناخواسته از شبکه باشید چون ویندوز درگیر استفاده از هوش مصنوعی برای یه جستجوی ساده است. یا اینکه یهو یک نرمافزار رو از اینترنت میگیره و روی سیستم نصب میکنه. همچنین احساس «سنگین» بودن ویندوز هم احساس دلنشینی نیست. با استفاده از این نسخهی غیر رسمی دستکاری شدهی ویندوز، میشه ویندوز یازده رو روی دستگاههای قدیمیتر هم نصب کرد و استفاده کرد. حداقل امکانات مورد نیاز: منبع: https://www.tomshardware.com/how-to/make-lightweight-windows-11-image-tiny11-builder
فهرست مطالبنخستین پناهگاه: تحلیل کسب و کارگام اول: تشخیص محیطهاگام دوم: محیط کلانگام سوم: محیط صنعتگام سوم: محیط سازمانگام چهارم: الگوی زمینهگام پنجم: جریانهای عملکردیگام ششم: جریان عملکردی متقابلگام هفتم: پردازشدومین پناهگاه: مهندسی نرمافزارگام هشتم: نمودار Use Caseگام نهم: نمودار پردازش و تعاملگام دهم: وایرفریمگام دهم: نمودار کلاسگام یازدهم: معماری زیرساختقله: مدیریت پروژهگام یازدهم: نمودار گانتگام دوازدهم: نمودار قله (خط زمانی)تصمیمگیری برای مدیران در فناوری اطلاعمنابعخیلی از مواقع، خلاهایی که در علوم انسانی در سازمانها وجود داره، روح مهندسی رو از بین میبره و خسارتهای مختلف زیادی رو به بار میاره. یه نمونهی سادهاش اینه که هزاران مهندس با مهارت در طراحی خودرو داریم اما حتی از همین افراد هم استفاده نمیشه. و میدانیم که دلایلش نه در مهندسی که در علوم انسانیه. توی حوزهی مهندسی نرمافزار هم همینه. ما قبلا در مورد این حرف زدیم که چرا برنامهنویسها بدقول میشن: زمانی رو برای انجام پروژهای اعلام میکنن اما سر اون زمان تحویل نمیدن، یا در نهایت چیزی که مشتری از اونها خواسته تحویل نمیشه. دلیلش رو میشه در این جستجو کرد که چهارچوب، مقدمهها، آداب، اصول، یا دیسیپلین مهندسی نرمافزار انجام نمیشه. ارتباط بین کارفرما، مشتری و توسعهدهندههای نرمافزار نباید ارتباط گسستهای باشه. منظورم اینه که باید به صورت یک طیف باشه. دقیقتر بخوام بگم، یعنی باید در گفتگویی که این وسط شکل میگیره برای انتقال خواستهها، باید اینقدر این فرایند نرم انجام بشه، که هیچ فضای ابهامی در هیچ بخشی از پروژه باقی نمانه. اما این طیف به چه صورت عمل میکنه؟ از سمت کارفرما شروع میکنیم و به سمت توسعهدهنده حرکت میکنیم. فرض ما بر اینه که کارفرما دید سطح کاروکسب (Business Level) داره و پیمانکار هم کاملا مهندسی به قضیه نگاه میکنه. بدیهیه که افرادی که از اونها به عنوان تکنیکالرایتر و مدیر پروژه و تحلیلگر نرمافزار و تحلیلگر کاروکسب یاد میکنیم، این ارتباط رو شکل میدن. قبل از اینکه طیف رو تشریح کنیم لازمه یاداوری کنم که اگر هنوز فکر میکنید که این کارها بیهوده است، باید با حقیقتی رو به رو بشید. و اون هم اینکه هزینههای نداشتن نقشهی راه هزینههایی به نسبت بسیار بزرگتر از پروژه رو به جا میذاره. در واقع ما اینجا میخوایم به این برسیم که هیچ کاری و هیچ فکری بیسرانجام باقی نمانه و دقیقا تکلیف هر خواستهای و هر اشکال و هزینهای مشخص بشه. بیاید یه قسم بخوریم. دست راست رو روی قلبمان بذاریم و قسم بخوریم. به قلم! قول بدیم که قبل از اینکه همه چی رو روی کاغذ نیاوردیم وارد کار مهندسی نشیم. در ادامه از یک رویکرد کل به جز استفاده میکنیم. یعنی اول دامنهی مسئله رو تشخیص میدیم و بعد اینقدر خوردش میکنیم که بشه توی ذهن اون رو جا داد و در موردش تصمیمگیری کرد. اگر ترجمههای عناوین نمودارها مضحک هستن، یه دلیل تاریخی داره. و اون اینه که شاید این چیزا خیلی کاربرد کمی در زندگی روزمره فارسیزبانها دارند. نخستین پناهگاه: تحلیل کسب و کار گام اول: تشخیص محیطها گام دوم: محیط کلان تجزیه و تحلیل PESTEL چارچوبی است که برای ارزیابی عوامل خارجی مؤثر بر یک سازمان استفاده می شود. مخفف سیاسی، اقتصادی، اجتماعی فرهنگی، فناوری، حقوقی و زیست محیطی است. با استفاده از این چارچوب، میتوانید فرصتها و تهدیدهایی را که از محیط کلان به وجود میآیند شناسایی کرده و چگونگی تأثیر آنها بر عملکرد و استراتژی سازمان خود را ارزیابی کنید. تجزیه و تحلیل PESTEL می تواند به شما در درک پویایی بازار، روندها، چالش ها و خطرات در صنعت یا بخش خود کمک کند. گام سوم: محیط صنعت پنج نیروی پورتر مدلی است که پنج نیروی رقابتی را که هر صنعت را شکل میدهند شناسایی و تحلیل میکند و به تعیین نقاط ضعف و قوت یک صنعت کمک میکند. این پنج نیرو عبارتند از: با استفاده از این مدل می توانید جذابیت و سودآوری یک صنعت را ارزیابی کرده و منابع مزیت و ضرر رقابتی را برای سازمان خود شناسایی کنید. تجزیه و تحلیل پنج نیروی پورتر می تواند به شما در تدوین استراتژی های موثر، موقعیت خود در بازار و پیش بینی تغییرات آتی در صنعت کمک کند. گام سوم: محیط سازمان تحلیل SWOT چارچوبی است که برای ارزیابی موقعیت رقابتی شرکت و توسعه برنامه ریزی استراتژیک استفاده می شود. مخفف قوت ها، ضعف ها، فرصت ها و تهدیدها است. با استفاده از این چارچوب، می توانید عوامل داخلی و خارجی موثر بر عملکرد و پتانسیل سازمان خود را شناسایی کنید. نقاط قوت و ضعف عوامل داخلی هستند که می توانید آنها را کنترل کنید، مانند منابع، قابلیت ها، مهارت ها و غیره. فرصت ها و تهدیدها عوامل خارجی هستند که نمی توانید آنها را کنترل کنید، مانند روند بازار، ترجیحات مشتری، رقبا، مقررات، و غیره. تجزیه و تحلیل SWOT می تواند به شما در کشف بینش های جدید، کشف مسائل پنهان، اولویت بندی اهداف و ایجاد ایده های جدید برای عمل کمک کند. همچنین میتواند به شما کمک کند تا سازمان خود را با مأموریت، چشمانداز و ارزشهایش هماهنگ کنید. تجزیه و تحلیل SWOT می تواند برای یک پروژه خاص یا طرح تجاری کلی شما استفاده شود. گام چهارم: الگوی زمینه مدلسازی فرآیند کسبوکار (BPM) فعالیتی است که فرآیندهای یک شرکت را به نمایش میگذارد، به طوری که فرآیندهای فعلی کسبوکار را میتوان تجزیه و تحلیل، بهبود و خودکار کرد. معمولاً با استفاده از تکنیکهای گرافیکی یا متنی برای ایجاد نمودارها یا فلوچارتهایی انجام میشود که مراحل، ورودیها، خروجیها، نقشها و منابع درگیر در یک فرآیند را نشان میدهد. مدل سازی فرآیند کسب و کار مزایای بسیاری برای سازمان ها دارد، از جمله: مدل زمینه مدلسازی فرآیند کسبوکار یک ابزار ارتباطی ساده است که برای به تصویر کشیدن زمینه یک کسبوکار، یک سیستم یا یک فرآیند استفاده میشود. زمینه محیطی است که هدف مورد علاقه ما در آن وجود دارد. یک مدل زمینه نحوه تعامل شی مرکزی با محیط خود را نشان میدهد، خواه در حال تبادل داده، اشیاء فیزیکی یا وجوه باشد. مدل زمینه مدلسازی فرآیند کسبوکار مزایای زیادی برای سازمانها دارد، مانند: گام پنجم: جریانهای عملکردی جریان عملکردی مدلسازی فرآیند کسبوکار، نمایشی گرافیکی از رویدادها و فعالیتهایی است که در یک گردش کار رخ میدهند، همراه با مالکان، دستگاهها، جدولهای زمانی و نتایج هر مرحله. این یکی از تکنیکهای کلاسیک مدلسازی فرآیند کسبوکار است، همراه با نمودارهای جریان، نمودارهای جریان داده، نمودارهای جریان کنترل، نمودارهای گانت، نمودارهای PERT و IDEF. مدلسازی جریان عملکردی فرآیند کسبوکار مزایای زیادی برای سازمانها دارد، مانند: گام ششم: جریان عملکردی متقابل نمودار جریان متقابل عملکردی مدلسازی فرآیند کسبوکار نوعی نمودار جریانی است که رابطه بین یک فرآیند تجاری و واحدهای عملکردی (مانند بخشها یا موقعیتهای) مسئول آن فرآیند را نشان میدهد. همچنین به عنوان نمودار جریان شنا شناخته می شود، زیرا فرآیند را به خطوط افقی یا عمودی تقسیم می کند که نقش ها یا نام های مختلف را نشان می دهد¹². نمودار جریان متقابل مدلسازی فرآیند کسبوکار مزایای زیادی برای سازمانها دارد، مانند: گام هفتم: پردازش فلوچارت فرآیند مدلسازی فرآیند کسبوکار یک نمایش گرافیکی از مراحل و فعالیتهایی است که یک فرآیند تجاری را تشکیل میدهند، از ابتدا تا انتها²4. یکی از رایجترین و سادهترین تکنیکها برای مدلسازی فرآیند کسبوکار است که از نمادها و اشکال استاندارد برای نشان دادن توالی، جهت و جریان اطلاعات در یک فرآیند استفاده میکند. فلوچارت فرآیند مدلسازی فرآیند کسب و کار مزایای بسیاری برای سازمانها دارد، مانند: دومین پناهگاه: مهندسی نرمافزار UML مخفف Unified Modeling Language است که یک زبان مدل سازی بصری همه منظوره استاندارد شده در زمینه مهندسی نرم افزار²5 است. UML برای مشخص کردن، تجسم، ساختن و مستندسازی مصنوعات اولیه سیستم نرمافزاری مانند کلاسها، اشیاء، مؤلفهها، رابطها، موارد استفاده و غیره16 استفاده میشود. UML مزایای زیادی برای مهندسین نرم افزار دارد، مانند: گام هشتم: نمودار Use Case گام نهم: نمودار پردازش و تعامل گام دهم: وایرفریم گام دهم: نمودار کلاس گام یازدهم: معماری زیرساخت قله: مدیریت پروژه گام یازدهم: نمودار گانت گام دوازدهم: نمودار قله (خط زمانی) تصمیمگیری برای مدیران در فناوری اطلاع منابع
فهرست مطالببرای کسی لقب تعیین نکن ولی برای خودت یه عنوان انتخاب کن و بهش پایبند باشیکی از بهترین راههای تمرکز، حذف کردن حواسپرتیهاستدل قوی دارکارهای کوچک رو خودت پیگیری نکنگرهها رو محکم بزنکارها رو سریع انجام بدهاگر در برنامهریزی شکست بخورید، برنامه ریختید که شکست بخورید.مشورت کنکار «انجام شده» از «بینقص» بهترهتقلید، کنار دست قدیمیترهاکمترین منابع، بیشترین خلاقیتآزادی یعنی خود انضباطیبازار، کاری به شرایط و باورها و انتظارهای ما ندارهمهارت یک معمار در معماری خانهاش بروز میکنهروی کاغذ بنویس که داری به چی فکر میکنیقبل از انجام معامله، همهی جزییات رو روی کاغذ بیارمعامله با افرادِ ناتوان از انجامِ تعهد، باطلهاسراف باعث فقر میشهبه اختیارهای مشتری در معامله احترام بذارهمهی کارها مجاز هستن مگر اینکه ممنوع باشننباید سعی کنی که از همهی موقعیتهای همهی بازارها همزمان سود بگیریشو، ها، ریکینتسوگینسبت به «اقتصاد توجه» آگاه باشیدهر چیزی که میخواید رو داریددر کارهایی که زمانی رو باید منتظر باشید، حتما راهکار جایگزین داشته باشیدتلاشه که باید تحسین بشه، نه هوش و استعداددوبار گوش کن، یکبار حرف بزندوبار فکر کن، یکبار انجام بدهبیش از نیاز دادهای منتشر نکنمنصف باشبزرگ فکر کنشکرگزار باشبخواه و مذاکره کندر عصبانیت تصمیم نگیر و حرف نزنهرگز ناامید نشواول کار نیمهتمام رو تمام کناز دست دادن درک زمان؛ پول، کسب، و زندگی درویشی.از انجام همزمان چند کار دوری کنهمه چیز رو دوباره بررسی کندست باید خالی باشه تا پر بشهقدرت بدنیات رو بالا ببربه میزان کافی در روز آب بنوشپیش از سیر شدن از خوردن دست بکشاز کلمات مثبت استفاده کنید. لبخند بزنید. و زبان بدن مهربان داشته باشید.پاسخگویی به مردم رو نعمت در نظر بگیرنامهربانیها رو دعای خیر در نظر بگیرخوبیهای دیگران رو یاد کندروغ نگو. مخصوصا به خودت.اول خانوادهاز حبس شدن در اتاق برای یادگیری نترسمتواضع باش، اما خودت رو هم دست کم نگیرآخر هر روز حساب و کتاب کنهر روز از خودت بپرس: اگر امروز آخرین روز زندگیام بود به این کار مشغول بودم؟حق با مشتری استهمیشه برای شیطان وکیل مدافع داشته باشهمهی کارها رو در راستای ماموریت و چشمانداز سازماندهی کنحذف کردن محرکها، بهترین راه برای شکستن عادتهاستغذای کبوتران را از یاد مبرتو چراغ خود برافروز۱/۳ اموال سرمایهگذاری در دارایی ثابت۱/۳ اموال دارایی جاری کار و کسب۱/۳ اموال دم دستجای اتاق خواب و اتاق کار رو عوض نکنحداقل دو روز در هفته استراحت کناتاقت رو مرتب کن، خاکروبهها رو پاک کنبا دست پر جلو بریدبرای پول حرص نزن؛ «عجله كردن پيش از فراهم شدن امكانات، و از دست دادن امكانات و سستى نمودن پس از فرصت، از حماقت و نادانى است»«وقتی خوشبختی را پیدا کردی، سوال پیچش نکن»حتی در خط مقدم جنگ هم کار و کسب رو از یاد نبر«عبادت ده بخش و نه بخش آن طلب روزىِ حلال است»هرگز به رقیب بیاحترامی نکنهرگز کسی رو تمسخر یا تحقیر نکنهرگز غیبت نکن، صریح باشقطع ارتباط نکنمهماننواز باشکمرنگترین جوهرها از قویترین حافظهها ماندگارترنداگر یاد گرفتن مطلبی دشواره، تاریخش رو مطالعه کنچیزی که کار میکنه رو تا حد امکان حفظ کنسوال بپرس و انتقادی فکر کنارزش پیشبینیها به تاریخ و مقدارهای قابل اندازهگیری اونهاسترسانهها همیشه جامعیت و بیطرفی ندارنادراک تو لزوما حقیقت نیستخواستهی تو لزوما آیندهی بازار نیستبرای شناختن هر مردمی، به ادبیات اونها رجوع کنعلاج واقعه پیش از وقوع باید نمودخلاقیت، نوآوری در کنار هم چیدن داشتههاسترهبری کردن با مثاله نه با اجباراگر قصهای برای گفتن داری یعنی زندگیت عالی بودهاول به همسایه و هموطن خیر برسانتجاوز و تجسس ممنوععهدشکنی ممنوعبه موانع زندگی، دید حل مسئله داشته باشقبل از خرید، با حوصله و صبر تحقیق کنقبل از نهایی کردن خرید اینترنتی، نیم ساعت صبر کناز سطح انتظاری که داری، یک مدل بهتر رو بخرقبل از انجام هر کاری ۵ ثانیه فکر کناز هر معامله رسید داشته باش و حفظش کنبرای خودت کار نتراشکلکسیون جمع نکنوسائل اضافه رو دور کناگر باطلی ماندگار شده، با حق آمیخته استهرگز بدون شنیدن همهی طرفها، قضاوت نکنمایندفول باشصبر کن،به صبر تشویق کن،ارتباط بساز،و کار نادرست انجام ندهیادگیری یعنی اشتباه و اصلاحخجالت ممنوع! هر کسب و کاری باید حاشیهی سود داشته باشه؛ و این چیز بدی نیست.اگر وارد اتاق جدیدی شدید، اول همه جا رو خوب بگردید. شاید بالشی برای راحتتر خوابیدن پیدا کردید.۱/۳ روز خواب۱/۳ روز فراغت۱/۳ روز کارتربیتِ رفتار، اضطراب، حواسپرتی و شغلیک سر و هزار سودا: در جستجوی سارقِ ارزشمندترین دارایینویسنده این جملات، هرگز دوست نداشتم کسی رو به کاری تشویق کنم که خودم انجام نمیدم. اتفاقا هدف هم این نیست. هدفم جمعآوری مطالبی بوده که با مرورکردنش به خاطر بیارم که مسیر درستتر کدام مسیره. باری. بعضی از پندها به قدری زیبا و تاثیرگذار و عملی هستند که جای اونها در این مجموعه الکترونیکی خالی بود. مواردی که میشه روزانه یا هفتگی مرور کرد و در زندگی به کار بست. خیلی از این موارد رو میشه به گفتگو و آزمایش گذاشت. هر کدام از سرزمینی و دورانی به دست ما رسیدن. این مطالب اینجا جمع شدن چون الهام بخش هستند. جملاتی که میشه روی اونها فکر کرد و امیدوارم به همون اندازه که به من کمک کرده برای بعضی از تصمیمها، به مخاطب عزیز هم کمک کنه. این یک مطلب علمی نیست؛ به این معنی که از تعریف «روش علمی» پیروی نکرده. اما به چشم یک مونولوگ یا گپ دوستانه، میشه با فنجانی چای اون رو مرور کرد. نباید فراموش کرد که توسعهی فردی و توسعهی کسب و کار این روزها بسیار تخصصی شدن. مخصوصا روانشناسی که در برخی موارد مرزهای مشخصی نسبت به سایر علوم نداره و یکی از مسیرهای علمه که تقریبا همه خواسته یا ناخواسته در موردش نظراتی رو دادن. واضحترین مثالهای دخالت افراد در علوم روان رو میشه در مربیگری، اشعار، سخنرانیهای انگیزشی و غیره دید. ضمن اینکه لازمه روانشناسی زرد و ابعادش رو درست بشناسیم، همیشه نیاز به راهنمایی مشاور متخصص هست و نباید ساده از کنار بعضی احوال گذشت. همچنین میدانیم که این گذارهها نسبی هستن. درباره مواردی که در این مجموعه گفته میشن هم لزوم هشیاری مخاطب صادقه. الزاما مواردی که گفته میشه برای همه کار نمیکنه. بعضی از این مطالب رو به تجربه یادگرفتم و از افراد مختلف شنیدم. بعضیها رو توی متون تاریخی یا مذهبی خواندم و بعضیها رو هم از داخل کتابی ایده گرفتم. تا جایی که به خاطر داشتم، منابع رو ذکر کردم. در مورد ریا: گفته میشه اگر کاری در حضور یا عدم حضور دیگران یکسان انجام بشه، ریا نیست. و از طرفی جملهی جالبی از نویسندهی ناشناسی خواندم که نوشته بود «ریا کنید اما اجازه بدید چرخهی نیکی ادامه پیدا کنه». امروز بزرگترین آرزویی که برای خودم دارم اینه که به جایی برسم که همواره در حال تحسین کردن پدیدههای اطرافم باشم. و این لذت بیانتها رو زمانی به دست خواهم آورد که شگفتیهای پشت صحنه رو بفهمم. برای کسی لقب تعیین نکن ولی برای خودت یه عنوان انتخاب کن و بهش پایبند باش انتخاب کردن لقب برای دیگران کار خوبی نیست. حتی اگر لقب مثبتی باشه. چون وقتی که صفتی رو برای کسی انتخاب میکنیم او رو محدود به اون صفت کردیم (حتی مثبت؛ البته همیشه استثنا داریم) و البته تاثیر تغییرات رو در افراد کمرنگ دیدیم. پس بهتره این کار رو برای دیگران نکنیم. اما اینکه عنوانی رو برای خودمان انتخاب کنیم کمی متفاوته. اینجا ما عمدا به دنبال محدود کردن دامنهی فعالیتهامان هستیم و میخوایم جلوی پرسه زدنهای اضافی رو بگیریم. برای مثال اگر من با خودم کنار بیام که یه راننده هستم، یا یه پزشک، یا یه فضانورد، یا یه پلیس، یا یه معلم؛ احتمال اینکه تمرکزم روی کارم بیشتر باشه و راحتتر به موقعیتهای دیگه «نه» بگم بیشتره. آدمهایی هستن که با پذیرفتن اینکه برای مدتی بیخیال بقیهی استعدادهایی که دارن بشن، و به یکی از عناوین حرفهای قناعت کنن، باعث میشه که با ترس کمتری از جاماندن (FOMO) زندگی کنن. بنابراین میتوانه فایدههایی رو برای اونها داشته باشه. در نتیجه به افراد در محیط کار هم عناوین حرفهای – البته به صورت امانت – اختصاص بدید و همچنین به آنچه برای خودتان انتخاب کردید پایبند باشید. یکی از بهترین راههای تمرکز، حذف کردن حواسپرتیهاست یکی از بزرگترین چالشهای دوران معاصر اینه که تمرکز کردن کار بسیار سختی شده. چه در یک زمان و چه در طولانی مدت بر روی یک کاروکسب تا جایی که به صورت عادت و یا اختلال درمیاد. مشخصه که اگر این حواسپرتیها دارن روند زندگی و تصمیمهای ما رو دچار آسیب میکنن باید چاره بشن. باید سعی کنیم که دیسیپلین خودمان رو خیلی به معرض آزمایش نذاریم. مسلمه که مقاومت کردن در برابر یک پارچ آب سرد، بعد از یک پیاده روی طولانی زیر آفتاب، کار سادهای نیست. پس قاعدتا اگر میخوایم صبحها رو به چک کردن پیامها و ایمیلها سپری نکنیم، باید گوشی موبایل رو بیرون از اتاق خواب قرار بدیم تا صبح مجبور نباشیم در مقابل این خواسته مقاومت کنیم. و یا زمانی که لازم داریم کاری رو با تمرکز بالا انجام بدیم، روی درب اتاق، علامت «لطفا بعدا مراجعه کنید» رو نصب کنیم. وسایل اضافه رو از زندگی حذف کنیم. اونها رو بفروشیم و یا اهدا کنیم. کتابهایی که برای این بخش از اونها ایده گرفتم: دل قوی دار از کنار اضطراب (به منابع روانشناسی رجوع کنید) نمیشه به سادگی گذشت. اما موضوع در اینجا، اضطراب نیست. بلکه شکه. یکی از زمانهایی که شک در ما به وجود میاد، زمانیه که بیش از اندازه روی نتیجه تمرکز میکنیم. اونقدر درگیر نتیجه میشیم که فرایند کار از دست میره. این موضوع فقط فردی نیست. مخصوصا توی سازمانهای کوچ میشه دید که افراد هر کاری که میخوان بکنن منتظر برگزاری جلسه میشن و هیچکس از کاری که میکنه مطمئن نیست. حتی ممکنه هزینهی برگزاری جلسه از هزینهی آزمون و خطای افراد در اون مورد خاص بیشتر باشه! افرادی که در کارهاشان بیش از اینکه روی نتیجه تمرکز کنن، سعی میکنن کار رو خوب انجام بدن، رضایت شغلی بالاتری رو تجربه میکنن. کارهای کوچک رو خودت پیگیری نکن یکی از کسب و کارهایی که با اونها همکاری میکردم، زمانی گره از کارشان باز شد، که یک دیالوگ رد و بدل شد:+ تعمیر این دستگاه کار کوچیکیه بیا خودمان انجامش بدیم– اتفاقا چون کار کوچیکیه باید برونسپاریش کنیم با برونسپاری، کارها تخصصی انجام میشن. کاری که برای ما کوچک به حساب میاد و مقرون به صرفه نیست، ممکنه برای کس دیگهای کار مهم و سوداوری باشه. گرهها رو محکم بزن اگر باید برای کسی سبد درست کنید، که قراره وسایلش رو داخلش بذاره، باید گرهها رو محکم بزنید که زیر فشار، از هم جدا نشه. اگر دارید نرمافزاری میسازید، تستهای دقیقی براش طراحی کنید که توی اجرا خراب نشه. اگر دارید خودرو میسازید، نباید توی یه برخورد معمولی، مثل دستمالکاغذی مچاله بشه. کار رو باید محکم انجام داد. کارها رو سریع انجام بده معمولا وقتی که مشتری سراغ ما میاد، زمانی شده که احساس نیاز به خدمات ما کرده. این یعنی همینطوریش هم دیر شده برای اینکه به چیزی که میخواد برسه. سریع انجام دادن کارها باعث میشه مشتریها همچنان انگیزه داشته باشن که کارشان رو توسعه بدن و مشخصا باعث ادامهی همکاری با ما هم میشه. همیشه میشه کارها رو سریعتر انجام داد. با ایجاد روندهای چابکتر، استفاده از روشهای مناسبتر، ساختن ابزار و ایجاد همکاریهای جدید. این بهترین انگیزه است که دائما پیشرفت کنیم و سودآور باشیم. سریع انجام دادن کارها باعث میشه که کمی از کمالگرایی هم در امان باشیم. زمانی که کارها رو سریع انجام میدیم فرصت برای نشخوار ذهنی کم میشه و در نتیجه بهرهوری هم در طول زمان بالاتر میره. اگر در برنامهریزی شکست بخورید، برنامه ریختید که شکست بخورید. برنامه ریزی آدابی داره. اینکه صرفا روی گوشهی کاغذی بنویسیم که چه کارهایی برای یک روز داریم، معمولا جواب نمیده. چد روز پیش گفتگویی از یک بازیکن فوتبال آمریکایی گوش میدادم که در مورد هدفگذاری صحبت میکرد. جملهی بسیار جالبی داره که میگه «رسیدن به یک هدف، جریمهی قرار دادن اون هدفه!» و منظور از این جمله اینه که هدفها میتوانند آدمها رو نسبت به موقعیتهای بهتری که میتوانند به دست بیارن محدود کنن. اما کاملا هدفگذاری رو منع نمیکنه. در ادامه میگه هدفگذاری برای اهداف خیلی کوچک لازمه. مثلا کارهایی که باید در طی یک روز انجام بشن و با عبارت «هدفهای خُرد برای چشمانداز کلان» استفاده میکنه. در ادامهی اون گفتگو، به بررسی تفاوت «تاثیرگذاری» و «موفقیت» پرداخته میشه. صحبت از این بود که موفقیت قائم به شخصه اما تاثیرگذار بودن، یعنی تاثیر گذاشتن روی کار، جهان، شخص و غیره. در نتیجه کسی که به دنبال دومیه، هر دو رو داره. همچنین «امانوئل آچو» به این نکته اشاره میکنه که دلیل جاماندن برخی از گروههای اقلیت از پیشرفت، به دلیل اینه که به دنبال جوابی نیستن که احتیاج دارند، بلکه در جایی که انتظار دارن به اون جواب برسن جستجو میکنن. حرفی رو از مربی خودش نقل میکنه که بهش گفته بود «مثل آب نباش که آسانترین راه رو انتخاب کنی». وقتی که به درون خودمان نگاه میکنیم میبینیم که روش ما، گشتن به دنبال راههای آسانتره. و برای تمرین دادن ذهن برای آگاه شدن به این موضوع، مثالی رو از فروشگاهها میاره که مسیرهای آسانی رو برای حرکت آدمها طراحی میکنن و او این مسیرها رو تغییر میده تا ذهنش رو تربیت کنه که با راحتی مقابله کنه. و این کجا به کار میاد؟ اونجایی که میگه هدفگذاری کار آسانیه که نباید در سطح کلان انجام بشه مثل هدفی که میگه تا ۲۸ سالگی میخوام ۱۰۰ هزار دلار داشته باشم و دیگه به این فکر نمیکنیم که چه کارهایی دیگه میشه انجام داد. در حالی که زندگی با شرایط اینکه هر روز چالشی برای عالی شدن باشه خیلی دشوارتره. مشورت کن همه خیلی زیاد شنیدیم که باید در کارها مشورت کرد. در کنار همهی جنبههای مثبتی که مشورت کردن داره، مثل اینکه اطلاعات گستردهتری رو توی تصمیمگیری دخالت میدیم و جنبههای پنهان تصمیمگیریها رو بهتر میبینیم، اینه که از سوگیری «تعهد اولیه» رها میشیم. حتی زمانی که در مورد خاصی بیشترین دانش یا تجربه رو داریم، مشورت کردن باعث میشه در مقابل این تعهد ذهنی منطقیتر تصمیم بگیریم. سوگیری «تعهد اولیه» یکی از سوگیریهای شناختی ما انسانهاست. زمانی که تصمیمی رو میگیریم، معمولا اطلاعاتی که باورهای اولیهی ما رو نقض کنن رو نادیده میگیریم و یا سعی میکنیم تاثیر اونها رو کمتر از چیزی که هست در نظر بگیریم. یکی از بهترین راهها برای اینکه تصمیمی منطقیتر بگیریم اینه که با دیگری مشورت کنیم. او تعهدهای اولیهی ما رو نسبت به مسئله نداره و در نتیجه میتوانیم به این وسیله، به این سوگیری آگاه بشیم. کار «انجام شده» از «بینقص» بهتره بعضی از شغلها به واسطهی دیرینهای که دارن، تعرفههایی برای خدمات اونها وجود داره و حتی فرهنگ تثبیت شدهای هم دارن. معیارها و شاید سازمانهایی هم برای اندازهگیری و قیمتگذاری کیفیت کار اونها هست. برای مثال آلیاژها با ترکیبهای مختلفی از فلزهای گرانبها مثل طلا، قیمتها و شیوههای تحویل متفاوتی دارن. اما در خیلی از شغلهای جدیدتر که همه کار فکری بیشتری لازم دارن، اندازهگیری کیفیت به مراتب دشوارتره. در مشاغل سنتی، منبعها و مصرفهای این منابع کاملا مشخص هستند و برای مثال افراد میدانند که برای کار درجه دو باید چه مقدار وقت گذاشت و از چه مواد اولیهای استفاده کرد. همونطور که اشاره کردیم، رعایت این سقف در مشاغل دیگه دشواریهای خودش رو داره. همچنین در مورد اخلاق چنین شغلهایی هم گفتگوهایی شکل میگیره و خیلی از پرسشها هنوز بی پاسخ هستن. نباید فراموش کنیم که اگرچه این بیانتها بودن قدرت تفکر و بهینهسازی کارها واقعا شگفتانگیزه، اما در نهایت ما در جهانی با کاستیها و کمبود برخی منابع زندگی میکنیم که یکی از مهمترین اون منابع زمانه. در بسیاری از موارد، زمان از کیفیت بیشتر اهمیت داره. چون کیفیت رو میشه به مرور زمان افزایش داد اما بعضی از فرصتها دیگه هرگز بر نمیگردن. تقلید، کنار دست قدیمیترها انسان به صورت تاریخی یاد گرفته که اگر دیگری موفق به انجام یک «شکار» بشه، شانس او برای شکار کردن کمتر میشه. پس در مقابل این «دستاورد» دیگران حق داشته که احساس ناامنی بکنه. اما مدتهاست که اقتصاد اینطوری کار نمیکنه و نعمتها بسیار فراوان شدند و حداقل در سطح خُرد، این احساس ناامنی اساس محکمی نداره چون همیشه جایگزینهایی وجود داره. در نتیجه باید مراقب این ذهنیت بود که «کنار» افرادی باشیم که ارزیابی میکنیم «موفق» هستند و نه اینکه «مقابل» اونها بایستیم. تقلید یکی از راههای بیرون رفتن از وضعیت بلاتکلیفی هستش. اگرچه راهکارهای اختصاصی که درست طراحی شده باشند برای ما بهترن، اما تقلید درست، از درجا زدن و ناامیدی بهتره. زمانهایی که ناامید یا کماطلاع هستیم، تقلید میتوانه ما رو از افتادن در دام کمالگرایی نجات بده و از نقطهای که هستیم جابجا کنه. و لازم به تاکید دوباره نیست که اندازهی هرچیزی رو باید نگه داشت. کمترین منابع، بیشترین خلاقیت کمی قبل، در مورد کمبود منابع در جهانی که در اون زندگی میکنیم صحبت کردیم. چیزی که پایه و اساس علم اقتصاد رو تشکیل میده. به طوری که بسیاری از افراد غلم اقتصاد رو با تعریف «علم تخصیص بهینهی منابع محدود به نیازهای نامحدود» میشناسند. نباید این تعریف ما رو گمراه کنه و فرضی رو به ما القا کنه که اگر منابع محدود هستند پس غیر قابل تغییر هستند و یا حتما یک سری از منابع باید به یک سری از نیازها مرتبط باشن. بسیاری از موارد خام که قبلا برای نیازهای دیگری مصرف میشدند، امروز فراوری شدن و در صنعتهای دیگه استفاده میشن. یکی از راههای جبران کردن کمبود منابع، استفاده کردن از خلاقیته. تعریفی که من از خلاقیت دارم «نوآوری در چیدمان لوازم موجود» است. این تعریف کمک میکنه که خلاقیت پدیدهای کمتر ناشناخته باشه و بشه در موردش گفتگو کرد و یا به یک خواسته و حتی عادت تبدیلش کرد. آزادی یعنی خود انضباطی جملهی معروفی از ارسطو هست که میگه «آزادی با دیسیپلین به دست میاد» و یا جملهی مشابهی از آیزنهاور که خالق ماتریس اولویتبندی هم هست که میگه «آزادی یعنی خود انضباطی». و یکی از لازمههای حفظ کردن دیسیپلین، انتخاب سبک زندگی متناسب با چهارچوب رفتاریه که برای خودمان تعیین میکنیم. پیروی کردن از برخی از اصول کمینهگرایی (مینیمالیسم) برای ساختن دیسیپلین خیلی کمک میکنه. آقای ریموند کورتزوایل که یک مخترع معاصره، میگه «شاکلهی کار هوشمندانه، حذف هوشمندانهی اطلاعاته» که با سبک زندگی این روزها خیلی جور در میاد. آدمها میتوانند تجملات رو به زندگیشان اضافه کنن اما این به قیمت از دسترفتن آرزوها و امیدهای اونها خواهد بود. بازار، کاری به شرایط و باورها و انتظارهای ما نداره مسیر بازارها رو بازیگرهایی تعیین میکنن که قدرت تغییر دادن روندهاش رو دارن. بسیاری از بازارها اونقدر بزرگ هستند که حتی مجموع بازیگران خرد نمیتوانن با حرکت بازیگرهای بزرگ رقابت کنن. در اینجا، خطاهای...
فهرست مطالبنشان و ناموارهی 0PT«موفقیت» راز نداره؛ اما چهارچوبهای مختلفی براش هست. از چیزی که در زندگی شخصی به اسم «دیسیپلین» بیشتر میشناسیم، تا چیزی که معتقدیم «فرهنگ» ملتهای پیشتاز رو تشکیل داده. کسب و کارها، نیازها، ویژگیها، و عوامل موفقیت زیادی دارن که خیلی بهم شبیه هستن. به همین دلیل، بسیاری از اندیشمندها چهارچوبهایی رو برای پاسخ به پرسشهای مشترک ارائه کردن. این چهارچوبها رو میشه توی دانشکدههای مدیریت، زندگینامهها، و غیره پیدا کرد. در طی ده سال گذشته که از سطوح پایینتر چارت سازمانی تا طبقههای بالای اون رو تجربه کردم، در مورد کسب و کاهای مختلف، متوجه پرسشهایی شدم که جوابهای اونها رو میشه در تجربهی دیگران گرفت. پرسشهایی در رابطه با انضباط مالی، رضایت مشتریها، رشد، و رقابت. همچنین متوجه این موضوع شدم که بر خلاف عموم باورهایی که در مورد کسب و کارهای موفق شکل گرفته، اونها هم به علم اعتماد دارن، از روشهای علمی استفاده میکنن، و برای نتایج علم، اهمیت قائل هستند. اونها آگاه هستند که هر نکته مکانی دارد، و هنر استفادهی ظریف از دانستهها رو به دست آوردن. در همین راستا، تحصیلات خودم رو برای بازهی زمانی کوتاهی از مهندسی دور کردم و وارد حوزهی آکادمیک مدیریت کسب و کار شدم تا بتوانم بهتر چهارچوبهای فکری مختلف رو برای حل مسائل مدیریت بشناسم، برای بزینسهایی که در اطرافم هستن و در نهایت مردم، مفید باشم. برخی از صحبتهایی که با رهبران و مدیران کسب و کارها دارم، گاها تکرار میشن. و اگه این اتفاق بیافته به این معنیه که باید یک اپیزود از پادکست، یا یک یادداشت رو به خودش اختصاص بده. و اینطوری میشه که وبسایتی که پیشروی نگاه تیزبین و مهربان شماست، شکل گرفته. نشان و ناموارهی 0PT اسم 0pt از واژهی Optimization گرفته شده و کمی کوتاه و بهینه شده به این ترتیب، ذات بهینگی رو در خودش داره. نشان هم ترکیبی از سه حرف OPT به نحویه که پرندهای در حال پرواز و نمودارهای خطی رو تداعی کنه. رنگهای مشهور صنعت مشاوره کسب و کار و فاینانس (مالیه) برای طرح استفاده شدن اشکال هندسی در قالب نسبتهای فیبوناچی در کنار هم قرار گرفتن. برای تایپوگرافی هم بهینگی در این دیده شده که با کمترین توضیح، مخاطب از ماهیت پروژه مطلع بشه. مخاطب امروزه کاملا با ساختار آدرس وبسایتها آشناست و توضیح اضافهای رو نمیطلبه.
فهرست مطالبسوددرصد حاشیهی خالصTurnover RatioCurrent RatioAcid-Test Ratio (Quick Ratio)حباببهره مرکببهرهی مرکب با افزایش سرمایهی دورهایپیشبینی سری عددیمعادلهی اساسی حسابداریبدهکار و بستانکار در حسابداریآربیتراژ مثلثیمنابع: سود درصد حاشیهی خالص Turnover Ratio Current Ratio Acid-Test Ratio (Quick Ratio) The Acid Test Ratio, or “quick ratio”, is used to determine if the value of a company’s short-term assets is enough to cover its short-term liabilities. Compared to the current ratio, the acid test ratio is a stricter liquidity measure due to excluding inventory from the calculation of current assets. حباب وقتی که یکی از طرفین عرضه یا تقاضا تغییرات خیلی سریعی انجام میده، نقطهی تعادل بازار بهم میریزه در نتیجه قیمت هم به صورت ناگهانی تغییر میکنه. اصطلاحا به قیمتی که توی اون بازار به تعادل میرسه میگن «ارزش ذاتی» اون کالا. به فاصلهی قیمت فعلی یک کالا تا ارزش ذاتیش حباب میگن. CONSTANT حق ضرب سکهی طلا (۵ هزار تومان) WEIGHT جرم سکه (تمام بهار آزادی: 8.133 معادل ۸ گرم و ۱۳۳ سوت) USDIRT دلار به تومان OZT قیمت اونس جهانی طلا Pcoin عیار سکه (21.6 عیار که به اصلاح ۲۲ عیار نامیده میشوند) 31.1034768 اونس تروا به گرم قیمت بازار (تومان): جرم سکه (گرم): نرخ دلار (تومان): اونس جهانی طلا (دلار): عیار: محاسبه بهره مرکب بهرهی مرکب زمانی اتفاق میافته که سود و سرمایهی اولیه باهم جمع میشن و مجموع اونها دوباره به کار گرفته میشه تا سود بعدی بدست بیاد. در نتیجه با فرض مثبت بودن سود، مقدار سودی که در هر دوره بدست میاد، بیشتر از دورهی قبلیشه. P سرمایهی اولیه i نرخ بهره در هر دوره (سال) n دفعات محاسبهی سود (ماه شمار = ۱۲؛ روز شمار = ۳۶۵.۴) t زمان دوره سود مرکب (تعداد سال) Principal Amount (P): Annual Interest Rate (i): Number of Times Interest Applied per Time Period (n): Time the Money is Invested or Borrowed for (t): Calculate بهرهی مرکب با افزایش سرمایهی دورهای Principal Amount: Annual Interest Rate (%): Number of Years: Monthly Contribution: Calculate پیشبینی سری عددی Enter numbers (comma, semicolon, or break-separated): معادلهی اساسی حسابداری دارایی = بدهی + سرمایه بستانکار بدهکار بدهی جاری:- حسابهای پرداختنیبدهی بلندمدت:- اسناد پرداختنی- پیشدریافتها- جاری شرکا- وام و تسهیلاتدرامدسرمایه دارایی جاری:- صندوق- بانک- تنخواه گردان- اسناد دریافتنی- پیشپرداختها- موجودی کالادارایی ثابت:- زمین- ساختمان- اموال و اثاثه- وسائل نقلیه- ماشینآلاتدارایی نامشهود:- سرقفلی- حقالامتیاز- نرمافزار- برند- حقالاکتشاف- حقالاختراعهزینه تفکیک حسابهای اصلی به بدهکار و بستانکار بدهکار و بستانکار در حسابداری آربیتراژ مثلثی آربیتراژ مثلثی، یعنی استفاده از نوسان نرخ ارز یا اختلاف قیمت محصول برای سودآوری. در بازار کمودیتیها، این میشه به معنای خرید و فروش محصول در بازارهای مختلفی باشه که با ارزهای مختلف کار میکنن (کشورهای متفاوت مثلا). به عنوان مثال، یک معامله گر ممکن است یک کالا را با یوان چین بخره و اون رو به دلار توی آمریکا بفروشه. بعد دلارهایی که بدست آورد رو دوباره تبدیل کنه به یوان، و اینطوری سود کنه. برای اینکه بشه آربیتراژ کرد، باید اختلاف قیمت وجود داشته باشه . این تفاوت می تواند ناشی از نوسانهای نرخ ارز، یا تفاوت در تقاضا و عرضه کالا در بازارهای مختلف باشه. معاملهگر باید هم دقت زیادی داشته باشه، هم جستجوی عمیقی داشته باشه و هم سرعت عمل بالایی داشته باشه. ضمنا باید در نظر داشته باشه که بازارهای مختلف ریسکهای مختلفی دارن، قوانین مختلفی دارن، و همچنین کمیسیونهای مختلفی توسط نهادهای متولی اون بازارها درنظر گرفته شده. منابع:
هدف گذاری و برنامه ریزی برای سال جدید: سال جدید فرصتی برای شروع تغییراتی است که می خواستید از هفتهی آینده، ماه آینده یا فصل جدید در زندگی خود ایجاد کنید. برای تعیین اهداف سال جدید، میتوانید از روشهای مختلفی استفاده کنید. در ادامه، چند روش برای تعیین اهداف سال جدید آورده شده است:
تعیین اهداف هوشمند: اهداف هوشمند، اهدافی هستند که با استفاده از روش SMART تعیین میشوند. این روش به شما کمک میکند تا اهدافی را تعیین کنید که قابل اندازهگیری، قابل دستیابی، مرتبط، مشخص و زمانبندی شده باشند. به عنوان مثال، اگر هدف شما افزایش وزن بدن است، میتوانید هدف خود را به صورت «افزایش وزن بدن ۵ کیلوگرم تا پایان سال جاری با افزایش مصرف کالری و ورزش منظم» تعیین کنید.
تعیین اهداف مالی: اهداف مالی، اهدافی هستند که به دنبال رسیدن به وضعیت مالی بهتر هستید. برای تعیین اهداف مالی، میتوانید از روشهای مختلفی استفاده کنید. به عنوان مثال، میتوانید هدف خود را به صورت «پس انداز ۱۰ درصد از درآمد خود در سال جاری برای خرید خانه» تعیین کنید.
تعیین اهداف شغلی: اهداف شغلی، اهدافی هستند که به دنبال رسیدن به وضعیت شغلی بهتر هستید. برای تعیین اهداف شغلی، میتوانید از روشهای مختلفی استفاده کنید. به عنوان مثال، میتوانید هدف خود را به صورت «افزایش درآمد خود در سال جاری با افزایش تعداد مشتریان» تعیین کنید.
تعیین اهداف شخصی: اهداف شخصی، اهدافی هستند که به دنبال رسیدن به وضعیت شخصی بهتر هستید. برای تعیین اهداف شخصی، میتوانید از روشهای مختلفی استفاده کنید. به عنوان مثال، میتوانید هدف خود را به صورت «افزایش سطح فعالیتهای ورزشی خود در سال جاری» تعیین کنید.
برای هدف ها چطور برنامه ریزی کنیم؟
برای برنامهریزی به منظور دستیابی به اهداف، میتوانید از روشهای زیر استفاده کنید:
تعیین اهداف: اهداف باید به صورت دقیق و واضح تعیین شوند. اهدافی که دقیقا مشخص کنند چه کاری باید انجام شود، منجر به موفقیت بزرگتری میشوند.
شناخت موانع: شناخت موانع احتمالی یکی از مهمترین عوامل در افزایش شانس موفقیت است.
تعیین برنامهها و دورههای عملیاتی: برای دستیابی به اهداف، باید برنامهها و دورههای عملیاتی تعیین شوند.
زمانبندی اقدامات: برای اجرای برنامهها، زمانبندی مناسبی باید انجام شود.
تعیین وظایف: برای اجرای برنامهها، وظایف مربوطه باید تعیین شوند.
پیگیری و ارزیابی: برای اطمینان از پیشرفت به سمت اهداف، باید به طور مداوم برنامهها را پیگیری و ارزیابی کنید.
با توجه به این نکات، میتوانید برنامهریزی موثری برای دستیابی به اهداف خود داشته باشید.
با توجه به این نکات، میتوانید برنامهریزی موثری برای دستیابی به اهداف خود داشته باشید.
ژورنال چیست و چگونه از آن استفاده کنیم
ژورنال، که معمولاً به مجلات خارجی گفته میشود، میتواند به صورت سالنامه، فصلنامه، ماهنامه یا هفتهنامه منتشر شود. این مجلات معمولاً شامل مقالات علمی و پژوهشی هستند.برای استفاده از ژورنال، میتوانید از مقالات منتشر شده در آن برای افزایش دانش خود در یک حوزه خاص استفاده کنید.
همچنین، اگر شما نویسنده یا پژوهشگر هستید، میتوانید مقالات خود را برای چاپ در ژورنالهای معتبر ارسال کنید.برای انتخاب ژورنال مناسب برای ارسال مقاله، باید به چندین عامل توجه کنید، از جمله ایندکس بودن ژورنال، تاریخچه و قدمت ژورنال، ترکیب تحریریه ژورنال، ضریب تأثیر ژورنال و زمان انتشار.
همچنین، برخی از برنامهها مانند برنامه ژورنال اپل، به شما امکان میدهند که افکار و فعالیتهای روزمره خود را ضبط کنید و با دادههایی مانند تصاویر، موسیقیهایی که گوش کردهاید، تمرینات و غیره به برنامه اضافه کنید.
چطوری از تقویم و تعطیلات برای برنامه ریزی سالانه استفاده:
برای استفاده از تقویم و تعطیلات در برنامهریزی سالانه، میتوانید از روشهای زیر استفاده کنید:
تعیین اهداف سالانه: ابتدا اهداف خود را برای سال آینده تعیین کنید. این اهداف میتوانند شامل اهداف کاری، تحصیلی، شخصی یا سلامتی باشند.
بررسی تقویم: تقویم سال آینده را بررسی کنید و تعطیلات رسمی، تعطیلات مدرسه یا دانشگاه، و روزهای مهم دیگر را نشان دهید.
برنامهریزی بر اساس تعطیلات: برنامههای خود را بر اساس تعطیلات برنامهریزی کنید. به عنوان مثال، اگر میخواهید در تعطیلات به سفر بروید، این روزها را در تقویم خود علامت بزنید.
تقسیم کردن اهداف به وظایف کوچکتر: اهداف خود را به وظایف کوچکتر تقسیم کنید و آنها را در تقویم خود برنامهریزی کنید. این کار به شما کمک میکند تا پیشرفت خود را روی اهداف خود رصد کنید.
بازبینی و تنظیم مجدد: در طول سال، تقویم خود را بازبینی کنید و در صورت نیاز، برنامه خود را تنظیم مجدد کنید. این کار به شما اجازه میدهد تا با تغییرات ناگهانی سر و کار داشته باشید و همچنین از روی برنامه خود پیروی کنید.
به یاد داشته باشید که برنامهریزی سالانه یک فرآیند پویا است و ممکن است نیاز به تنظیمات در طول سال داشته باشد. امیدوارم این راهنمایی به شما کمک کند!
تعداد تعطیلی های سال جدید به جز جمعه ها (1403):
فروردین:یکم تا سیزدهم ماه – بیست و دوم و بیست و سوم
اردیبهشت :پانزدهم
خرداد: چهارده و پانزدهم و بیست و هشتم
تیر: پنجم – بیست و ششم و بیست و هفتم
شهریور: چهارم – دوازدهم – چهاردهم – بیست و دوم – سی و یکم
Diagnosing Disk Health with Smartctl and Managing Storage
As a system administrator or a curious Linux enthusiast, understanding the health of your storage devices is crucial. In this blog post, we’ll explore a few essential commands to diagnose disk health and manage storage resources effectively.
1. Smartctl: Assessing Disk Health
What is Smartctl?
Smartctl (Smartmontools) is a command-line utility that interacts with the Self-Monitoring, Analysis, and Reporting Technology (SMART) system in hard drives and solid-state drives. It provides valuable information about the drive’s health, performance, and potential issues.
Using Smartctl
To check the health of a specific disk (e.g., /dev/sdc), run the following command:
sudo smartctl -a /dev/sdc
Pay attention to the following key attributes:
Raw_Read_Error_Rate (id 1): Indicates read errors.
Reallocated_Sector_Ct (id 5): Reflects the number of reallocated sectors.
Spin_Retry_Count (id 10): Monitors spindle motor retries.
Reported_Uncorrect (id 187): Tracks uncorrectable errors.
Offline_Uncorrectable (id 198): Identifies uncorrectable errors that occurred while the drive was offline.
Remember that even if Smartctl reports a “PASSED” status, abnormal values in these attributes could indicate impending disk failure. If you encounter such issues, consider replacing the drive promptly.
2. Managing Storage with lsblk
Listing Block Devices
The lsblk command provides a concise overview of block devices (disks and partitions). To display relevant information (name, size, filesystem type, type, and mount point), use:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
This output helps you identify available storage devices, their sizes, and their current mount points.
Listing UUIDs
UUIDs (Universally Unique Identifiers) are essential for identifying partitions consistently across reboots. To list UUIDs for all block devices, execute:
lsblk -o NAME,UUID
3. Checking RAID Status with /proc/mdstat
Understanding /proc/mdstat
The /proc/mdstat file provides information about software RAID (Redundant Array of Independent Disks) arrays. It shows the status of RAID devices, including any failures or resync progress.
To view the RAID status, simply run:
cat /proc/mdstat
If you encounter issues like a degraded array or failed disks, investigate further and take corrective actions.
Managing Storage and RAID
1. Zeroing Out a Disk with dd
What Does dd if=/dev/zero of=/dev/sdc bs=1M count=100 Do?
The command sudo dd if=/dev/zero of=/dev/sdc bs=1M count=100 serves a specific purpose: it writes 100 megabytes of zeros to the /dev/sdc block device. Let’s break it down:
if=/dev/zero: Specifies the input source as a stream of zeros.
of=/dev/sdc: Indicates the output destination, which is our target disk (/dev/sdc).
bs=1M: Sets the block size to 1 megabyte.
count=100: Limits the operation to writing 100 blocks (100 megabytes).
Why would we do this? Zeroing out a disk is often done before repurposing it or creating a new filesystem. It ensures that any existing data or metadata is wiped clean, preparing the disk for a fresh start.
2. Examining a Disk with mdadm
What Does sudo mdadm --examine /dev/sdc Reveal?
The mdadm utility manages software RAID arrays. When we examine /dev/sdc, we’re checking its metadata for any existing RAID information. This step is crucial before creating or adding disks to an array. It helps prevent conflicts and ensures proper configuration.
3. Creating a RAID 1 Array
Creating a RAID 1 Array with mdadm
RAID 1 (mirroring) duplicates data across multiple disks for redundancy. Let’s look at the provided commands:
sudo mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sdc missing: This command creates a RAID 1 array named /dev/md4 with two devices (/dev/sdc and a missing device). The missing device will be replaced later.
sudo mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sdc /dev/sdd: Here, we add /dev/sdd to the RAID 1 array. Now, both /dev/sdc and /dev/sdd mirror each other, providing redundancy.
Remember to adjust the commands according to your specific setup and requirements. Properly managed RAID arrays enhance data reliability and availability.
Managing RAID Arrays and Disk Mounting
1. Stopping a RAID Array
Stopping an Active RAID Array
The mdadm utility allows you to manage software RAID arrays. To stop an active array (e.g., /dev/md4), follow these steps:
Unmount the Array: First, unmount the array if it’s currently mounted. Navigate out of the mounted directory using cd ~, and then unmount the device:sudo umount /mnt/md0
Stop the Array: You can stop all active arrays by running:sudo mdadm --stop --scan If you want to stop a specific array (e.g., /dev/md4), pass it to the mdadm --stop command:sudo mdadm --stop /dev/md4
2. Assembling RAID Arrays
Scanning for RAID Devices
To assemble RAID arrays during system startup, use the --assemble --scan option. This command scans for existing arrays and automatically assembles them:
sudo mdadm --assemble --scan
Assembling with Specific Devices
Sometimes you need to manually assemble an array, especially when dealing with failed or missing devices. For example:
To assemble /dev/md0 with read-only access and /dev/sdb2 as a component device:sudo mdadm --assemble --readonly /dev/md0 /dev/sdb2
To forcefully assemble /dev/md4 with /dev/sdc and /dev/sdd:sudo mdadm --assemble --verbose /dev/md4 /dev/sdc /dev/sdd --force
3. Mounting the RAID Array
Mounting the Array
Once the RAID array is assembled, you can mount it to a directory (e.g., /mnt/8tb):
sudo mount /dev/md4 /mnt/8tb
Remember to adjust the commands based on your specific setup and requirements. Properly managed RAID arrays ensure data redundancy and reliability.
Managing RAID Configuration and System Files
1. Updating mdadm Configuration
Storing RAID Information
When working with RAID arrays, it’s essential to ensure that the array configuration persists across reboots. We achieve this by updating the /etc/mdadm/mdadm.conf file. Let’s break down the steps:
The /etc/fstab file contains information about filesystems and their mount points. Use a text editor (e.g., nano) to modify this file:
sudo nano /etc/fstab
In this file, you define which partitions or devices should be mounted at boot. Ensure that your RAID array is correctly listed here to mount it automatically.
Adjusting mdadm.conf
If you need to make manual changes to the mdadm.conf file, use:
sudo nano /etc/mdadm/mdadm.conf
Here, you can fine-tune RAID settings, specify component devices, and manage arrays.
Conclusion
By mastering these commands, you’ll be better equipped to manage RAID arrays and maintain system stability. Remember to adapt the steps to your specific setup and requirements. Happy RAID administration!
Docker is a powerful tool for containerization, but over time, unused resources can accumulate and consume valuable disk space. Properly managing these resources is essential for maintaining a healthy Docker environment. In this post, we’ll discuss how to clean up your Docker setup using a few essential commands.
1. docker builder prune -a
The docker builder prune command removes unused build cache. When you build Docker images, intermediate layers are cached to speed up subsequent builds. However, these cached layers can accumulate and take up space. By running docker builder prune -a, you can reclaim storage by removing all unused build cache. Be cautious, though, as this action is irreversible.
2. docker system prune -a
The docker system prune command is a more comprehensive cleanup operation. It removes several types of unused resources:
Containers: All stopped containers are deleted.
Networks: Networks not used by any containers are removed.
Images: Both dangling (untagged) and unused images are deleted.
Volumes: By default, volumes are not removed to prevent accidental data loss. Use the --volumes flag to prune anonymous volumes as well.
For example:
$ docker system prune -a --volumes
3. docker volume prune
Volumes in Docker persist data even after containers are removed. The docker volume prune command removes unused volumes. If there are no containers associated with a volume, it becomes eligible for pruning. Use this command to free up space taken by orphaned volumes.
4. docker network create main
Creating a Docker network named “main” allows containers to communicate with each other. Networks are essential for connecting services within a Docker environment. This command ensures that the “main” network exists.
5. sh -c "truncate -s 0 /var/lib/docker/containers/**/*-json.log"
This command truncates log files for all Docker containers. Logs can grow significantly over time, consuming disk space. By setting the log file size to zero, you effectively clear the logs. Note that this action does not affect running containers; it only empties the log files.
Conclusion
Regularly cleaning up your Docker resources is crucial for maintaining efficiency and preventing unnecessary storage usage. Use these commands wisely, and always double-check before executing any pruning operation. Happy containerizing!
تربیتِ رفتار، اضطراب،یکی از دلیلهای مهم اضطرابی که نسل من تجربه میکنه بر میگرده به تربیتی که در طی چندین سال تجربهاش میکنن. تربیتی که غلطه.
توی نظام آموزشی بسیار قدیمیما، یاد مییگیریم که هر کاری مستقیما با پاداش و مجازاتی همراهه. و کسی هست که بر کارهای ما نظارت لحظهای بکنه. و منبع این پاداشها هم دقیقا مشخصه.
بگذریم از اینکه توی محیط دانشگاه دانشجو همواره با انواع قلدریها رو به رو است؛ به دلیل فرهنگ سازمانی غلط دانشگاهها و همچنین قوانینی که قلدری رو تقویت میکنن.
وقتی که از مدرسه و دانشگاه خارج میشیم وارد محیطی میشیم که کاملا برعکسه. توی این محیط دیگه خبری از ناظم نیست، مگر اینکه کار به جای خیلی باریکی کشیده شده باشه! خبری از نمره نیست. مسیری هم برای رقابت مشخص نیست. حتی دستاوردها هم به اون شکل امتیاز بندی نمیشن. ادارهی آموزشی نیست که تصمیم بگیره طبق کدام چهارچوب (چارت) باید برنامهریزی کنیم و پیش بریم. اولویتبندی به عهدهی ماست.
وقتی که روی این مهارتهای نرم اسم میذاریم، خیلی راحتتر میشه فهمید داستان چیه. ولی نکته اینه که واقعا در عمل چند سال طول میکشه که یک فارغالتحصیل دانشگاهی، یه روتین برای زندگی خودش بسازه! اینه که خیلیها با وجود اینکه تهدیدی برای سربازی و غیره ندارن ترجیح میدن که برای خروج از وضعیت بلاتکلیفی، دوباره ادامهی تحصیل بدن یا دنبال کارمندیهای بلند مدت باشن تا مطمئن باشن برای سیسال آینده کسی برای اونها برنامهریزی کرده.
مهارتهایی که برای اولویتبندی کارها در زندگی هست، در دانشگاه و مدرسه تدریس نمیشد. نمیدانم الان چنین اتفاقی میافته یا نه. که البته با توجه به چیزایی که داریم توی جامعه میبینیم احتمالا بجز مدارس خصوصی خیلی مدرن، چنین اتفاقی نمیافته. و اون مدارس هم به صورت عادلانه در دسترس همهی دانشآموزها نیستن.
چیزی که وقتی بیست و یکی دو ساله بودم به براش اسم «بحران ۲۲ سالگی» رو انتخاب کرده بودن؛ یعنی انتخاب بین سربازی، مهاجرت، کار، و ازدواج؛ که هر کدام از اینها هزاران زیر شاخه داره و تصمیمگیریهای فازی چند معیاره نیاز داره.
اتفاقا مهارتهایی که در دانشگاه یادگرفتیم اینجا ممکنه کار ما رو سختتر کنه. مهارتهایی مثل کمالگرایی و تعمیم دادن. وقتی که تعداد عاملهایی که روی تصمیم ما تاثیر میذاره اینقدر زیاد میشه که حتی نمیشه شمردش، اون مهارتها کار مفیدی انجام نمیدن و فقط میشن موتور تولید اضطراب. اینطوری میشه که میبینیم افرادی با دستاوردهای علمی کمتر، موفقیتهای اقتصادی بیشتری رو در سطح خانواده رقم میزنن که مثال نقضی بر بسیاری از آموزههای پیشین ما میشه.
افرادی رو میشناسم که اونقدر غصهی روندهای کلان زیستمحیطی، اقتصادی و سیاسی رو میخورن که از آب و غذا افتادن. این افراد دقیقا برای چنین کاری آموزش دیدهان. اما هیچ مهارتی رو برای کنشگری واقعی روی سطح کرهی خاکی زمین یاد نگرفتن. چرا که منابع آموزشی اونها از جای دیگری آمده و مواردی که باید روی اون کار کنن مال جای دیگریه. و اینها ساز و کار متفاوتی نسبت به همدیگه دارن.
به نظرم چیزی که برای یک دانشجوی تازه فارغالتحصیل شده لازمه، اینه که کمی سفر کنه، کارگاههایی مشابه پیشاهنگی رو دنبال کنه، کمی به خودش فضا بده، و تعریفش رو از یادگیری و «کار درست و اشتباه» تغییر بده. خطا رو به عنوان بخشی از روند یادگیری بپذیره. یادگیری رو از آموزش جدا کنه. و روی مهارتهای بین فردی کار کنه.
یک سر و هزار سودا: در جستجوی سارقِ ارزشمندترین دارایی
ارزشمندترین دارایی ما زمان ماست. اگر به این باور نرسیدیم، پس پاراگرافهای بعدی در این عنوان به کار ما نمیاد.
به هر دلیلی مثل وضعیتهای روانی مختلف شامل اختلالهای توجه و تمرکز، شغل آدما ممکنه دچار چالشهایی بشه. چالشهایی مثل باز بودن پروندههای نیمهکارهی زیاد و پروژههایی که به ثمر نمیشینن. در نتیجه امکان نقد کردن خیلی از فعالیتهای انجام شده وجود نداره و با کاهش نقدینگی هم رو به رو خواهیم شد. به صورت خلاصه بخوام بگم، این مشخصات افرادیه که چندین هنر دارند اما از نظر مالی وضعیت مناسبی ندارند.
نباید ساده از کنار این موضوع گذشت که متخصصین در این مورد راهکارهایی دارن.
اما در جایگاه مربیگری کسب و کار باید بگیم که خیلی از این افراد در هدفگذاری و برنامهریزی و اجرای اونها رو به درستی انجام نمیدن. نداشتن یک هدفِ «درست» باعث میشه که افراد به سادگی از مسیر منحرف بشن. یا انگیزهای برای رو به رویی با چالشهایی که توی مسیر پیش میاد نداشته باشن.
اهنگ سازی با هوش مصنوعی یک روش جدید و خلاقانه برای تولید موسیقی است که از الگوریتمها و یادگیری ماشینی استفاده میکند. هوش مصنوعی میتواند به آهنگسازان کمک کند تا ملودیها، تنظیمها، ترانهها و حتی صداهای مختلف را ایجاد یا تغییر دهند. هوش مصنوعی همچنین میتواند از سبکها و الهامهای موسیقیایی موجود یاد بگیرد و آنها را با هم ترکیب کند تا آثار جدید و منحصر به فرد بسازد.
برای اهنگ سازی با هوش مصنوعی، شما نیاز به داشتن دانش فنی یا تجهیزات پیشرفته ندارید. شما میتوانید از وبسایتها و نرمافزارهایی که این خدمت را به صورت رایگان یا با هزینه کم ارائه میدهند، استفاده کنید. برخی از این وبسایتها و نرمافزارها عبارتند از:
Soundraw: یک وبسایت که به شما اجازه میدهد تا با انتخاب ژانر، ابزار، سرعت و مدت زمان، موسیقی بیکلام را با هوش مصنوعی بسازید.
Soundful: یک وبسایت که به شما اجازه میدهد تا با انتخاب یک آهنگ موجود، آن را با هوش مصنوعی تغییر دهید یا صدای خود یا شخصیتهای معروف را به آن اضافه کنید.
Beatoven: یک وبسایت که به شما اجازه میدهد تا با انتخاب ژانر، ابزار، سرعت و مدت زمان، آهنگهای هیپهاپ، لوفی و متال را با هوش مصنوعی بسازید.
Soundtrap: یک نرمافزار که به شما اجازه میدهد تا با استفاده از ابزارها و لوپهای مختلف، آهنگهای خود را با هوش مصنوعی ضبط، ویرایش و میکس کنید.
Bandlab: یک نرمافزار که به شما اجازه میدهد تا با استفاده از ابزارها و لوپهای مختلف، آهنگهای خود را با هوش مصنوعی ضبط، ویرایش و میکس کنید.
1. اهنگ سازی با هوش مصنوعی:
تولید ملودی و آهنگ: هوش مصنوعی قادر به تحلیل الگوهای موسیقی از اعماق تاریخ موسیقی است و با بهرهگیری از الگوریتمهای پیشرفته، ملودیها و آهنگهای جدیدی را ایجاد میکند. این امکان به آهنگسازان کمک میکند تا به سرعت ایدههای خلاقانه بیافزایند.
تولید موسیقی با همکاری انسان و هوش مصنوعی: پروژههایی وجود دارند که هنرمندان با هوش مصنوعی همکاری میکنند تا آثار موسیقی منحصر به فردی ایجاد کنند. این تعامل به انسانها این امکان را میدهد که از قدرت تحلیل و خلاقیت هوش مصنوعی بهرهمند شوند.
2. کاربردهای دیگر هوش مصنوعی:
پردازش صدا: الگوریتمهای هوش مصنوعی در پردازش صدا مانند حذف نویز، بهبود کیفیت صدا، و تشخیص الگوهای صدایی به کار میروند. این موارد به آهنگسازان کمک میکنند تا آثارشان را با کیفیت بهتری ارائه دهند.
پیشبینی سلیقه موسیقی: هوش مصنوعی با تحلیل دادههای موسیقی و تاریخچهی گوش دادن افراد، قادر است سلیقه موسیقی آنها را پیشبینی کند و پیشنهاداتی بر اساس سلیقه فرد ارائه دهد.
هماهنگی موسیقی با هوش مصنوعی: در برخی اجراها، هنرمندان از هوش مصنوعی برای ایجاد هماهنگی بین عناصر مختلف موسیقی و تولید آثار پیچیده و زیبا استفاده میکنند.
هوش مصنوعی به عنوان یک شاخه از علوم کامپیوتر باعث ایجاد امکانات جدید در حوزههای هنری شده و این امکان را فراهم کرده است که موسیقیهای خلاقانهتر و متنوعتری ایجاد شود.