Duplicate item in Open With on Mac OS

Mấy hôm nay cài thêm nhiều chương trình cho máy Mac thì thấy gặp một vấn đề khó chịu, một số chương trình xuất hiện trong Open With, khi mình mở context menu, bị lặp lại nhiều lần.

Issue on MAC

Sau một lúc google thì cũng tìm ra cách để sửa issue này, mình lười nên cũng không hiểu rõ vì sao lại như vậy nữa.

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\
LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local\
-domain system -domain user

Đoạn lệnh này chỉ việc copy&paste vào terminal để chạy thôi. Rất ok :)

Blog's topic:

Blog's tag:

Sublime text - The best editor

Tôi đã từng trải qua nhiều trình soạn thảo khác nhau trên nhiều hệ điều hành. Từ những trình soạn thảo đơn giản như notepad++, Scintilla and SciTE, gedit, textmate hay đến với những trình soạn thảo trong các IDE đồ sộ như Visual Studio, Eclipse, Flash Builder. Nhưng đối với tôi Sublime Text là một trình soạn thảo tuyệt vời nhất.

Sublime text là trình soạn thảo hỗ trợ trên cả 3 nền tảng hệ điều hành: Linux, MacOS, Windows. Đây là một trình soạn thảo nhỏ gọn, mở chương trình nhanh, giao diện cũng rất pro. Cải tiến gần đây nhất của Sublime Text là cho phép gõ các ký tự Unicode đặc biệt là gõ và hiển thị tiếng Việt hoàn chỉnh.

Mọi người có thể xem thêm thông tin về Sublime text tại trang web http://www.sublimetext.com để thấy được các tính năng tuyệt với của nó.

Blog's topic:

Blog's tag:

Lỗi khi chạy manage.py createsuperuser

Hôm nay quay lại làm một ứng dụng nhỏ trên Django với môi trường MacOS (Mountain Lion). Mọi thứ có vẻ rất ổn cho đến khi gặp lỗi với dòng lệnh để tạo một superuser

python manager.py createsuperuser 

Lỗi được hiển thị ra như sau:

Traceback (most recent call last):

  File "manage.py", line 10, in <module>

    execute_from_command_line(sys.argv)

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line

    utility.execute()

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv

    self.execute(*args, **options.__dict__)

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute

    output = self.handle(*args, **options)

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle

    default_username = get_default_username()

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 105, in get_default_username

    default_username = get_system_username()

  File "/HuyVu/study/workenv/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 85, in get_system_username

    return getpass.getuser().decode(locale.getdefaultlocale()[1])

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 496, in getdefaultlocale

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 428, in _parse_localename

ValueError: unknown locale: UTF-8

Hoá ra django không lấy được Locale mặc định của hệ thống. Để khắc phục lỗi này, chúng ta khai báo thêm biến LANG và LC_ALL vào môi trường bằng cách cho thêm 2 dòng sau vào ~/.bash_profile

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Sau đó nhớ kích hoạt sự thay đổi này

source ~/.bash_profile

Và bây giờ có thể thực hiện tạo superuser một cách bình thường.

Blog's topic:

Blog's tag:

Jdeveloper trên Mountain Lion

Sau khi nâng cấp từ Lion lên Mountain Lion, chương trình Jdeveloper không chạy được nữa. Sau khi mình tìm hiểu thì thấy rằng đường dẫn JAVA HOME trên Mountain Lion đã được thay đổi so với phiên bản trước.

Mountain Lion vs Jdeveloper

Để khắc phục vấn đề này, chúng ta chỉ cần thay đổi lại thông tin đường dẫn trong file jdev.conf.

Mở file jdev.conf trong thư mục 

~/Oracle/Middleware/jdeveloper/jdev/bin

Tìm đến dòng 

SetJavaHome /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Thay đổi nội dung chỉ đến đúng thư mục Java trên hệ thống sau đó chạy lại Jdeveloper, ok.

Blog's topic:

Blog's tag:

Làm quen JDeveloper

Dạo này mình phải làm việc nhiều với JDeveloper nên mình cố gắng viết vài bài biết đâu có người mới bắt đầu làm quen có thể tìm được những điều hữu ích. Cảm xúc đầu tiên về JDeveloper của mìh cũng như với những công cụ thuộc về Java đó là sự cồng kềnh và nặng nề, may mà công ty đầu tư cho máy thuộc loại khủng nên đỡ được phần nào. Nhưng vì máy làm việc không được phép kết nối với Internet nên mình cũng đành phải cài JDeveloper lên con Mac của mình. Chạy trên nền Mac OS cũng ổn, mỗi tội khi compile thì phải chờ hơi lâu một chút, nhưng như vậy cũng đủ để viết vài tutorial nho nhỏ.

Khi mình làm việc với JDeveloper mình mới chỉ làm quen với Java ở mức độ cơ bản, tức là về ngôn ngữ lập trình và có kiến thức về hướng đối tượng. Còn lại mình chưa làm việc nhiều với các IDE Java khác. Do vậy sẽ có một vài khái niệm mới để làm quen như Bean (mình hiểu nôm na như một file code behind của .NET vậy, nhưng trong Bean sẽ có pham vị (scope) hoạt động), task flow, Bean scope,... Khi làm việc với JDeveloper thì mình ấn tượng nhất với task flow, khái niệm này giống với khái niệm workflow trong .NET (đang được hoàn thiện dần, lâu rồi mình không update .NET nên không rõ nữa). Task flow chính là định nghĩa những hành động của người dùng bằng công cụ trực quan kéo thả. Ví dụ như trên một Form, chúng ta có thể định nghĩa, button A sẽ mở đến Form X1, button B mở Form X2 mà không cần đụng tí nào vào code, hoặc cao cấp hơn là button C được định nghĩa là một task flow khác.

JDeveloper 11 được tích hợp với ADF (Application Development Framework) của Oracle cùng với JSF 2.0, cung cấp cho người phát triển nhiều component tiện ích để làm ra một ứng dụng doanh nghiệp nhanh và ổn định. Nếu bạn có điều kiện hãy thử trải nghiệm với JDeveloper.

Blog's topic:

Pages