(http://poonlap.blogspot.com/2005/01/firefox.html)
- ท่าของที่สัพพันธ์
- ท่าของพี่แบค
- ใช้ Pango https://bugzilla.mozilla.org/show_bug.cgi?id=336959
- บน OS X https://bugzilla.mozilla.org/show_bug.cgi?id=389520
- บน Windows https://bugzilla.mozilla.org/show_bug.cgi?id=390048
ตอนี้ที่แก้บน OS X กับ Windows มีมิตรสหายช่วยกันเขียน/build/test ร่วมสิบชีวิต
- แบบ Double click แล้วเลือกคำเดียว https://bugzilla.mozilla.org/show_bug.cgi?id=425915
- https://bugzilla.mozilla.org/show_bug.cgi?id=1198311 (แสดงเวลา)
- https://bugzilla.mozilla.org/show_bug.cgi?id=1200090 Keyboard ค้าง
- mozilla-b2g/gaia#32929 (comment)
- https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Phone_guide/Flame/Updating_your_Flame
- git clone gaia
- make reset-gaia
- Report bug ใน Bugzilla
- Pull request ใน Github
- ใช้ Rust
- Parallel
- เร็ว http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=rust&lang2=gpp
- อย่าลืม rustc -O หรือ cargo build --release ถ้าจะให้เร็ว
- เน้นให้ compiler ตรวจข้อผิดพลาดให้ก่อน กัน pointer ไปชี้ผิดที่โดยไม่ได้ตั้งใจ
เพื่อที่จะเลี่ยงการใช้ GC move semantics ถูกนำมาใช้แทน โดยบังคำให้ตัว object มีตัวแปรที่เป็นเจ้าของมันได้แค่ตัวเดียวเสมอ เวลาออกจาก scope แล้ว free ได้เลย ไม่ต้องเอา GC มาตรวจว่ามีตัวแปรอื่นชี้อยู่ที่ object เดียวกันหรือไม่
- ใน C++ 2011 ก็มีคล้าย ๆ กันคือ unique_ptr
#include <iostream>
#include <memory>
#include <string>
int
main()
{
std::unique_ptr<std::string> p_str0(new std::string("Hello!"));
auto p_str1 = std::move(p_str0); // p_str0 ไม่ได้ชี้ที่ string "Hello!" อีกต่อไป (move)
auto p_str2 = std::move(p_str1); // p_str2 ไม่ได้ชี้ที่ string "Hello!" อีกต่อไป (move)
std::cout << *p_str2 << std::endl;
p_str2.reset();
return 0;
}
// g++ -std=c++11 -Wall -g move_sem.cpp
- ใน Rust เขียนแบบนี้
fn main() {
let p0 = "Hello!".to_string();
let p1 = p0; // p0 ไม่ได้ชี้ที่ string "Hello!" อีกต่อไป (move)
let p2 = p1; // p1 ไม่ได้ชี้ที่ string "Hello!" อีกต่อไป (move)
println!("{}", p2);
}
- ส่วนต่างระหว่าง Rust กับ C++11
แต่ว่าต้องใช้เปลี่ยนเป็น println!("{}", p0); จะ compile ไม่ผ่าน แต่ถ้าทำแบบเดียวกันกับ C++ แล้ว compile แต่รันแล้ว segmentation fault
- อื่น ๆ
จริง ๆ ยังเรื่อง borrow referencce และ Reference counting อีก แต่ว่ายังไม่เขียนถึง
- compiler ตรวจได้ว่าตรงไหนต้องใช้ Arc+Mutex
- มี Channel เหมือน Go ด้วย
สุดท้ายฝาก Mozilla Thai Group ด้วยครับ https://www.facebook.com/groups/mozth/?fref=ts