یاداشت های کوتاه یک برنامه نویس

طبقه بندی موضوعی
۱۳
دی

  • younes RayanFar
۲۵
بهمن

کانال تلگرام آموزش جاوا (تمرین و درسنامه) 

پس از عضویت پیام ها را از ابتدا دنبال کنید.

  • younes RayanFar
۰۲
بهمن

من عاشق جاوا هستم

چون کار ها رو خیلی راحت کرده مثلا این تصویر رو ببینید:

برای یک کاری لازمش داشتم ، حوصله اش را نداشتم که وقت بگذارم و در ابزاری مثل فتوشاپ یا گیمپ یه همچین چیزی رو با دقت یک پیکسل رسم کنم.

فکرش رو کنید باید از خطوط راهنما استفاده میکردم و یک تصویر 1000 در 50 پیکسلی که در صفحه نمایش من با توجه به رزولوشن ، 370 واحد از خط کش فتوشاپ بود ، به بیست قسمت مساوی تقسیم کنم بعد از 100 تا منهای 100 درجه بندی کنم چقدر وقت میبرد.

میانبر زدم

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

package paint;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

/**
 *
 * @author yn
 */
public class paint{

    static BufferedImage buffImage = null;
    static Graphics2D g2;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        init();
        draw_line();

        write();

    }

    public static void init() {
        buffImage = new BufferedImage(1000, 50, BufferedImage.TYPE_INT_ARGB);
        g2 = buffImage.createGraphics();
    }

    public static void draw_line() {
        g2.setStroke(new BasicStroke(2));
        g2.setColor(Color.green);
        g2.drawLine(0, 25, 1000, 25);

        int c = 100;
        for (int i = 0; i <= 1000; i += 50) {
            g2.drawLine(i, 30, i, 20);

            if (i == 0) {
                g2.drawString(c + "", i + 2, 15);
            } else if (i == 1000) {
                g2.drawString(c + "", i - 25, 15);
            } else {
                g2.drawString(c + "", i - 5, 15);
            }

            c -= 10;
        }
    }


    public static void write() {
        try {
            File outputfile = new File("saved.png");
            ImageIO.write(buffImage, "png", outputfile);

        } catch (Exception e) {
            System.out.println(e);
        }
    }

}

  • younes RayanFar
۲۵
دی

وقتی که از nfity-gui به دلایلی دل سرد شدم به lemur فکر میکردم.

اما خب فونتی که برای نیفتی و جی ام ئی درست کار میکرد در lemur خوب نشون نمیداد و پایین تر می افتاد پس لازم بود در مورد کارایی برنامه ای که نوشتم تجدید نظر کنم و دوباره برم سراغ مستندات bitmapFonts ... 

اصلاحش کردم

هیچ راهی وجود نداشت که با قبلی ادامه بدم و در lemur هم دسترسی به خصوصیات متن مثل فاصله از بالا وجود نداشت و موقعیت متن بر طبق لایه تعیین میشد. لازم بود فونت ساز رو اصلاح کنم که در هر سه ابزار به خوبی نمایش داده شود (lemur - nifty- jme gui node) و این کار رو کردم.

لینک نسخه ی اصلاح شده برای lemur 

  • younes RayanFar
۲۳
دی

nfity gui یک ابزار بدرد نخور است.

خستم کرده لامصب ...

اصلا حرف آدمی زاد حالیش نیست هر گوشه اش یک ایراد داره....

مثلا یک نمونه اش کیفیت بسیار بسیار پایین رندر تصاویر برای image Icon ها در hud است.

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

هیچ راهی برای ادامه وجود ندارد ، به همین دلیل لازم  است در hud از گزینه ی دیگری استفاده کنم.

https://github.com/jMonkeyEngine-Contributions/Lemur

  • younes RayanFar
۱۸
دی

من یک تازه بسیجی هستم

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

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

تغییر کردم ...

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

فعلا فقط آقای برادر  از من حمایت میکنه و قراره دومین فرد خاندان رایان فر باشه.

روز هام به سختی میگذرد

افسردگی بهم فشار میاره و دارو هایی که دکتر تجویز کرده فکر میکنم بی اثره ، چون هیچ تغییری رو احساس نمیکنم.

ولی عاشق کارم هستم ، هنوز روی اون بازی کار میکنم و دیگه چیزی ازش نمونده . 

دوستم برگشت منطقه و این حالم رو بیشتر بد میکنه امیدوارم این بار هم سالم برگرده ، تا نصفه های شب باهم وینستون لایت بکشیم ریه هامون رو به فنا بدیم.

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

در حال حاضر فکر میکنم همه چیز خوبه ، هیچ باگ جدی وجود نداره که حلش طول بکشد، چیزی تا انتشارش نمونده...

در مجموع 47753 خط کد زدم .

با این کد در خط فرمان لینوکس میتونید مجموع خط هایی که در فایل های یک دایرکتوری وجود داره رو حساب کنید.

find . -name "*.java" -print | xargs wc -l

  • younes RayanFar
۰۹
شهریور

در بعضی از مواقع لازم میشه به سرعت یک فرایند رو متوقف کنیم البته از طریق خط فرمان و در مایکروسافت ویندوز.

مثلا زمانی در یک برنامه ی جاوا از امکانات کتابخانه ای بومی استفاه میکردم اما بعد از بستن برنامه هنوز به کار خودش ادامه میداد و فایل هایی که باید روی اون پردازشی انجام میشد رو نمی گذاشت پاک کنم یا تغییر بدم. 

چون میدنستم این فرایند مربوط به برنامه ی java.exe است پس با دستور تسک کیل و به صورت اجباری بستمش.

taskkill /IM java.exe /F

این دستور (taskKill) میتونه یک پروسه رو با دادن image name و یا PID متوقف کنه و اگر لازم باشه به صورت فورس. و دستور تسک لیست ، اطلاعاتی در مورد فرایند ها و وضعیتشون رو لیست میکنه که برای پیدا کردن PID و IM استفاده میشه.

tasklist 

  • younes RayanFar