Skip to main content

Posts

Showing posts from 2010

התקנת Flash על Linux Xubuntu 64Bit

התקנתי לאחרונה את הגרסה האחרונה של Xubuntu . גרסה 10.04. למי שלא שמע, Xubuntu היא גרסה של Ubuntu/Debian Linux עם סביבת עבודה רזה קלילה מהירה ונוחה בשם xfce . אני עוד ארחיב את הנושא, אבל עקרונית אני מאוד מרוצה. התקנה עברה מהר נוח וחלק על ה - Laptop שלי כולל עיברית וכו'. כאשר ניסיתי להתקין Adobe Flash Player הייתי קצת בבעייה, היות והתקנתי את גרסת ה - 64Bit עדיין לא היה Player נוח וזמין להורדה אלא רק גירסת בטא ניסיונית שמגיעה בתור קובץ אחד בלבד ללא התקנה אוטומטית. אז כיצד כן מתקינים. מורידים את גרסת ה - "square" ל - 64Bit Linux מהאתר של Adobe. ואז איך מחברים אותה. פשוט מאוד: מעתיקים את הקובץ לספריית ה - Plugins של Mozilla. sudo cp /home/xxx/Downloads/libflashplayer.so /usr/lib/mozilla/plugins מפעילים מחדש את Chrome או Firefox והכל עובד ... כן, התקנתי את Chrome ל - Linux ואני מאוד מרוצה. אגב Chrome בגרסת ה - 32Bit כבר מגיע עם Flash.

החלפה בין שני משתנים ב - PHP

לעיתים יש לנו שני ערכים בשני משתנים שונים שאנחנו רוצים להחליף ביניהם. $a = 5; $b = 7; כמובן שאפשר להחליף ערכים באמצעות משתנה שלישי: $x = $a; $a = $b; $b = $x; אבל זו לא חוכמה כל כך גדולה ... אפשר גם להחליף ערכים בצורה כזו, קצת יותר מתחוכמת ועושה שימוש בפונקציה list : list($a, $b) = array($b, $a); אבל זה לא יעבוד עם מערכים, ולכן מצאתי שיטה נוספת להחלפת משתנים $x ^= $y ^= $x ^= $y; חמוד לא?

התקנת Apache 2.2 בעיות עם Windows 7

התקנת Apache 2.2 לעיתים נתקלת בבעיות ב - Windows 7. ראשית, יש להריץ את ההתקנה עם הרשאות Administrator. לעיתים, גם אחרי התקנה מוצלחת ישנן בעיות בהרצת Apache. שיטה מצויינת לבדוק תקלות היא לנסות ולהריץ את apache באופן ישיר, כלומר את httpd.exe ישירות. אני קיבלתי את הודעת השגיאה הנ"ל: C:\Program Files\Apache Software Foundation\Apache2.2\bin>net start apache2.2 The Apache2.2 service is starting. The Apache2.2 service could not be started. A system error has occurred. System error 1067 has occurred. The process terminated unexpectedly. ואכן, כאשר הרצתי את: C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe הוא הודיע שחסר קובץ: msvcr71.dll ולאחר שהתקנתי אותו, apache רץ חלק.

עזרה בקינפוג mysql על Linux

סקריפט חמוד שגיליתי לאחרונה עוזר לקנפג את MySQL על לינוקס. תומך עד גרסה 5.1.* מריצים את הסקריפט, הוא משווה את קונפיגורציית ה - MySQL יחסית לעומס ונותן המלצות. כמובן שלא את כולן צריך לקבל ויש להבין את המשמעות של כל אחד מהפרמטרים, אבל עדיין זהו סקריפט שמאוד עוזר. http://www.day32.com/MySQL/ פשוט להוריד ולהריץ. עדכון: 28.7.2011 האתר עצמו ירד, ולכן ניתן לחפש את הקובץ tuning-primer.sh או להוריד אותו מכאן: tuning-primer.sh בנוסף קובץ חדש ומעניין לניתוח והמלצות על הרצת MySQL ניתן להוריד את mysqltuner.pl

Mysql indexes Shortcuts

Mysql indexes Inside a table: INDEX(indexed_column) Multiple Column Index INDEX(indexed_column, indexed_column2) Add Index to a table ALTER TABLE table_name ADD INDEX(indexed_column) Show Indexes: SHOW INDEXES FROM table_name; Remove Index ALTER TABLE table_name DROP INDEX index_name;

שליטה ב - VirtualBox בשורת הפקודה ב - Linux

לתכנת VirtualBox המאפשרת וירטואליזציה של מערכות הפעלה ישנה אפשרות לשלוט במערכות הרצות מתוך ה - Command Line. דבר זה מאפשר להפעיל את מערכות ההפעלה ללא ממשק משתמש אמיתי, כלומר ללא GUI. כמו כן זה מאפשר הפעלה אוטומטית של מערכות וירטואליות. VBoxManage listvm מאפשר לקבל רשימה של מערכות וירטואליות VBoxManage startvm “Windows XP” יפעיל לנו את מערכת ההפעלה בשם Windows-XP VBoxManage startvm “Windows XP” --type=headless יפעיל את מערכת ההפעלה הוירטואלית ללא חלון GUI. VBoxManage controlvm “Windows XP” poweroff יכבה את מערכת ההפעלה הוירטואלית. לקריאה נוספת על VBoxManager VirtualBox Command Line

העתקת רשומות מטבלה לטבלה ב - mysql

בכדי ליצור טבלה חדשה מטבלה קיימת, כלומר להעתיק טבלה ה - Syntax של MySQL הוא מאוד נח: CREATE TABLE newtable FROM SELECT * FROM oldtable אבל מה אם אנחנו רוצים להעתיק רשומות מטבלה לתוך טבלה אחרת, חלקן של הרשומות קיימות כבר בטבלה שאליה אנו רוצים להעתיק וחלקן רשומות חדשות. ברגע שננסה לבצע INSERT אנחנו עלולים ליצור כמה בעיות. במידה ואין לנו restriction אנחנו עלולים ליצור רשומות כפולות, ואילו במידה ויש unique או primary key הכנסת רשומה קיימת תיכשל ותעצור את העתקת הנתונים. ישנן כמה דרכים לבצע העתקה כזו, אבל לפי דעתי הנוחה ביותר הוא להשתמש בפקודת IGNORE לפקודת INSERT. כך רשומות קיימות לא יועתקו ואך ורק החדשות כן. INSERT IGNORE INTO dsttable SELECT * FROM srctable לקריאה נוספת: mysql , stackoverflow

Visual Studion Installer Projects - create uninstall link

ל - Visual Studio ישנה אופציה לייצר Install Projects שייצור לנו קובץ msi להתקנה. לצערי זה אחד הפרוייקטים עם הביצוע היותר עלוב של מיקרוסופט בסביבת פיתוח. תנסו רק ליצור פרוייקט עם יותר ממאה קבצים (ויש הרבה כאלו) ואח"כ תנסו למחוק תיקיות ... בכל מקרה, בכדי לייצר אופציה מהתפריט שתאפשר לנו לבצע Uninstall אנחנו נאלצים להשתמש בתכנה חיצוני. אני כותב את הסקריפט שלי ב - vbs אשר מפעיל את תכנית ההסרה. ייצרו קובץ בשם uninstall.vbs בתוכו כיתבו: Set shell = CreateObject("WScript.Shell") shell.Run "msiexec /x {[ProductCode]}", 1, False עכשיו יצרו shortcut להפעלת הקובץ הנ"ל מכל מקום שתרצו.

כפתור Power על המיקלדת?

אני באמת שלא מבין, מי היה הגאון שהמציא את כפתור ה - Power על המיקלדת. אתה רוצה צילום מסך, הי רגע, מה קורה פה, למה הכל נסגר. במסגרת אנשים שצריכים להרוג , בהחלט אפשר להוסיף: #488 - זה ששם את את כפתור ה - power במקלדת איך מבטלים את כפתור הכיבוי המקלדת: Control Panel Power Options Advanced Tab Shutdown -> do Nothing!

Firefox Open Local Links

פיירפוקס לא פותח קישורים ישירים לקבצים על הדיסק בגלל סידורי אבטחה קפדניים, אבל מה לעשות שלעיתים צריך לפתוח קישור באופן ישיר לדיסק, במערכות אנטראנט לדוגמא. אגב בקישור ישיר להדיסק הכוונה בפתיחת קובץ שלא עובר דרך השרת Web Server. localfile ישנן כמה דרכים לאפשר זאת, אופציה ראשונה היא התקנת תוסף קטן הנקרא locallinks האופציה השניה היא: 1. לפתוח ולערוך את קובץ ה - user.js אשר נמצא בספריית: C:\Documents and Settings\ \Application Data\Mozilla\Firefox\Profiles\ 2. user_pref("capability.policy. policynames", "localfilelinks"); user_pref("capability.policy. localfilelinks.sites", " http://www.example.com "); user_pref("capability.policy. localfilelinks.checkloaduri. enabled", "allAccess");

וובינר - סרטי לימוד - הטרנד שפוגע ברשת

כל הטרנד האחרון, שלצערי נפוץ לאחרונה גם בגוגל. Webinar. תראו איזה מקסימים אנחנו, לא רק נלמד אתכם איך להשתמש בתכנה שלנו, אלא נעשה סרט שמראה לכם איך להשתמש בה ... אני לא כל כך מבין למה צריך את זה. אני לא רוצה לראות סרטון באורך 4.37 דקות בשביל ללמוד איך לכבות את Google Translate . אני רוצה את האפשרות ללחוץ Ctrl+f ולמצוא מילים רלוונטיות. זה ייקח לי במקסימום 30 שניות אם היה עמוד נורמאלי עם טקסט כתוב. לא רוצה לראות סרט של חצי שעה ב - YouTube על איך לכתוב Secure Code ב - PHP , אני רוצה מצגת HTML עם חיפוש וקישורים וטקסט. ווידאו זה נחמד בשביל LOL Cats . אם אני רוצה ללמוד איך להשתמש בתכנה, תנו לי HTML/PDF .

התנהגות משעשעת של JavaScript

JavaScript כשפת Scripts (דה) מספקת לפעמים דברים משעשעים. במהלך הזמן אני אכתוב על עוד התנהגויות מוזרות של JavaScript אבל אחת חמודה שנתקלתי בה: In javascript: '5' + 3 gives '53' Whereas '5' - 3 gives 2 וזה כמובן נובע מהעובדה שה - Operator + יכול לעבוד על מחרוזות (Strings) ולכן בביטוי הראשון הוא ממיר את 3 לטקסט. ואילו Operator - Minus עובד על מספרים בלבד ולכן ממיר את 5 למספר.

הוספת רשומה ל - MySQL או לעדכן אם קיימת

בעבר אם היינו צריכים להכניס רשומה לטבלא היינו צריכים לבדוק האם היא כבר קיימת ובמידה וכן אז לעדכן. בגרסאות חדשות של MySQL ואם בונים נכון את הטבלא והגדרת ה - Keys וה - Unique ניתן להשתמש: INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1 ' להכניס לטבלא ובאם ה- Key קיים אז לעדכן. לקריאה נוספת

JavaScript Object Oriented - תכנות מונחה עצמים

אני יודע שכבר מאות פוסטים נכתבו על הדבר הזה, אבל תמיד נוח שיש משהו מרוכז במקום אחד, ולכן כמה דוגמאות פשוטות ליצירת אובייקטים ב - JavaScript והשימוש בהם. // declartion class a with private function function x() { this.id = 0; function getid() { // undefined - because this meanse the private alert('x' + this.id);function } getid(); } var nx = new x(); // error - undefined cuz it is private function //x.getid(); x(); // declartion class a with public function function a() { this.id = 0; this.getid = function() { alert('a' + this.id); } this.getid(); } // using class a var b = new a(); b.getid(); // object creation on the fly var o = { id: 0, getid: function() { alert('o' + this.id); } } o.getid();

למה BreakPo?

כל מתכנת יודע על: int 3 ולכן על אותו משקל BreakPo, כמעשה הדברים, שים לי breakpo תוך כדי השענות קדימה והצבעה על שורה במסך.