עורך הטקסט החביב שלי Geany. זה מאוד מינימליסטי כאן התומכת במגוון עצום של שפות – צדף, php, פִּיתוֹן, C … וכו. יש השלמה אוטומטית תוך לעזאזל הוא זריז. היא חסרה את נעימה מדי פעם ככל האפשר, אך כרגע בשבילי זה די והותר. התחלתי קורס מקוון תכנות Python на SoftUni – כדי לרענן את הידע שלהם ואת לשדרג כי אני לא אחרי נאות מה קורה עם פיתון 3. המרצים של הקורס מומלץ PyCharm כמו IDE עבור תכנות pyton, אבל לי רחוק לטעמי, באופן טבעי להשתמש Geany לתרגילים.

במהלך ההרצאות בכאב הרגישו 2 מחסור

  1. השלמה אוטומטית-ונשף פיתון מתיעוד לפונקציות ושיטות
  2. אין אימות עבור תקן pep8

החדשות הטובות הן כי Geany היא גמישה מספיק כדי בהתאם לתצורה וניתן להשלים בקלות על ידי ב חסר כאלה. תן להוסיף תיעוד פיתון כדי IDE שלנו:

  • למשוך שלך התסריט הבא איפשהו דרכנו כפי / usr / bin תשכח לעשות את זה הפעלה
  • לערוך את הקובץ ~ / .config / geany / filedefs / filetypes.python במסגרות חלק להוסיף את השורה הבאה context_action_cmd = pydocw% s. אם רק יש הוספת שמו של binarkata מהשלב הקודם. הפעל מחדש Geany אם לרוץ.
  • כבר יש לנו א-פעולה בהקשר כי תסיר מידע על הפונקציה. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. ליץ לי גישה זו מאוד כי אני אוהב מרגיז אותי הגישה NetBeans.

עַד כָּאן נִיחָא. אז אני באמת רוצה שיהיה קוד אימות אתה כותב – אם אני כותב על פי סטנדרטים מקובלים או לכתוב כל כיעור. באופן כללי מצאתי שוב tutorialče איך דברים קורים אבל זה קצת מיושן – Geany בנתה הכל לתוך עצמו צריך רק להתקין אותו pep8 חבילה. בשנת דביאן apt-get install pep8 עובד distrota אחרים לבד לגלות איך הקסם קורה. בשנת כפתור תפריט Build השני (לפחות לי) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

Screenshot from 2016-01-11 20-42-21

Това е общи линии как да накарате вашият Geany да работи по добре с Python и същевременно да продължи да бъде бърз без да кара процесора ви да иска да си тегли куршума.

הסמכה ipv6.he.net יש בדיקות יומיות שנותנות 1 נקודה נוספת לאחר עבר את כל הבדיקות הגדולות. חייבת להתבצע 100 בדיקה כזו להשגת תוצאות 😐 . הבדיקות עצמן הן לגמרי טריוויאלי

  • traceroute
  • אתה AAAA
  • DIG PTR
  • פינג
  • מי זה

הכי לא נעימה היא כי בדיקות עצמו חייב להיות ייחודי, כלומר אתה לא יכול להשתמש בדומיין כפול 🙂 בין היתר הם קצת מעצבן 🙄 – אתגר לא פשוט מוקצף 5 CLI-פקוד בו ולהעתיק / להדביק את התוצאה באתר שלהם.

כפי עצלן מנהל שאוהב מקל על החיים שרבט bash-כך פשוט מהירה אחת לעשות את העבודה המלוכלכת בשבילי

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

כפי שניתן לראות את התסריט הוא בטירוף פשוט. שלח מושלם אז זה מאמת אם ערכי IPv6 ואם נעשה בדיקות יומיות עבורו. רוב החלק הכי מגניב – פונקציה hr אשר מדפיסה קו לרוחב המסך נלקח bash-האקרים.

A shell script wants your job

Днес докато работех видях че една от машините лагна много жестоко. Влизам в нея гледам един cron наблъскал адски много зомби процеси (грубо около 50-60). Нямаше как да ги убия всички с killall затова се наложи да направя малко по грамотно решение на проблемада драсна едно елементарно לַחֲבוֹט скриптче което да намери и убие процесите. 50-тина PID-а не се пишат лесно на ръка :D. Скрипта го надрасках за минута и е свръх елементарен но все пак заслужава внимание 🙂

В основата му седи конвейера

ps ax | grep -v grep | grep process_name | awk '{print $1}')

Тука получаваме лист с всички PID-ове на процеса който трябва да килнем като изключваме grep от този списък. Вече като имаме списъка нещата стават лесни всичко се завърта в един for. Ето го и крайния резултат

#!/bin/bash

PR=$(ps ax | grep -v grep | grep process_name | awk '{print $1}')

for PID in $PR
do
echo "$PID will be killed"
kill -9 $PID
done

Може да сетунинговакато името се взима като аргумент след името на скрипта и по този начин се вика като изпълнимо binary. Обаче не е много добра практика да има много такива чести случаи 😀 Но никога не пречи да сме предпазени от всякакви шитни

משופר על ידי Zemanta

היום שיחקתי לייעל איטי SQL יישום של הסוג

SELECT * FROM 'table' WHERE `field` LIKE '%word%'

איפה הבעיה עכשיו כאן – החלק האחרון '% מילת%’ וב אפילו יותר ספציפי תווים % לפני המילה, אשר עושה. תו כללי % ,לפני כל ערך, ישירות גורם לנו שאילתה ישירות לתוך איטי, כי בדרך זו את היישום עוצר אותנו להשתמש מדדי שדה. החלטות כמו תמיד, אבל לא תמיד ברור 😆 בסך הכל MySQL יש להם פתרון לבעיה זו חיפוש טקסט מלא שדה לאינדקס. איך לשנות את השדה יש ​​הרבה תיעוד בכתב, אבל חיפזון יתאר כיצד לשנות את הבקשה העליונה, כי נגיע דרמה קטנה ולבסוף. Sledka כשדה טקסט מלא רלוונטי למעלה, הבקשה חייבת להיות שינויים בסוג:

SELECT * FROM `table` WHERE MATCH (field) AGAINST ('word')

אז המבנה הוא מובן מאליו, ומצריך דיון מיותר. השאילתה הנ"ל תיכנס לתוקף, אם המילה, בשבילך להגיש בקשה לפחות 4 סימנים, ערך ברירת המחדל הוא, אם אתה רוצה לשנות חייב לציין את הערך, която желаете в my.cnf в частта [mysqld] הכרזה ft_min_word_len= 3 או 2, 1 не е добър избор очевидно 😉 . לאחר שתשנה את שרת ערך והפעלה מחדש mysql צורך לעשות תיקון על השולחנות שלך, על מנת האינדקס החדש ייכנסו לתוקף. עד כה הכל ברור: לבצע שינויים, לאפס, rebildvam אינדקסים לעשות בקשה וחוזר שלי 0 בדיקה עם הסדר 😀

SHOW VARIABLES

אני רואה שהערכים, ביקשתי בתוקף, rebildvam שוב אינדקסים – אותה תוצאה. 🙄 נעימה, מאוד לא נוח. מכאן ואילך זה התחיל לקלל גדול מגרד את המפתח מתחת לסככת 😀 שהייתה די, די מעניין. על כל, התחלתי לקרוא את התיעוד לא יודע באיזו דרך והגעתי בקטע מעניין

Such a technique works best with large collections (למעשה, זה היה מכוון ככה בזהירות). עבור טבלאות קטנה מאוד, חלוקת מילה אינה משקפת את השווי הסמנטי שלהם כראוי, ו מודל זה עשוי לפעמים להניב תוצאות מוזרות. לדוגמה, אם כי המילה "MySQL" נוכחת בכל שורה של טבלת מאמרים שראתה קודם, חיפוש אחר המילה לא מייצר תוצאות

ГРЕДА 😳 Дам табличката ми беше малка – עם זאת, היה מבחן. היישום שלנו ב שולחן גדול מעל 2 000 000 סדר הדברים שם ישנו. ובכן עכשיו בעיה ברורה. כדי לקבל החלטה ברורה, אזכיר בקצרה, תומך חיפוש טקסט מלא 3 מצב מתקדם BOOLEAN , ביטויים ו שפה טבעית כעבודה האחרונה כברירת מחדל. עבור מצבים יכול לבדוק תיעוד, אני אסביר 2-3 מילות BOOLEAN כי זה הוא המפתח. הוא תומך באופרטורים לוגיים כגון AND, אוֹ , לא וכן הלאה והוא יכול לעשות קסמים עם ביטויים פופולריים, יש אחד, אין וכו אחרים. לשמור וסמלים *, שהוא שווה ערך ל תו כללי % זה שימושי 😉, כאשר מונח החיפוש הוא פחות מאורך ft_min_word_len או מגשים קטנים ;). לפחות לי שולחן עם כ 100 כדי עושה עבודה מושלמת. השארתי רק לראות ושל בקשה:

SELECT * FROM `table` WHERE MATCH (field)
AGAINST ('*word*' IN BOOLEAN MODE)

הנה מגיע הרגע אם לאינדקס שלנו עובד עם תווים כלליים – התשובה היא שאני לא יודע. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

משופר על ידי Zemanta

עבור פרויקט אחד אשר להוביל gitweb זה עיצבן אותי, אין קוד צבע העץ. Лесен начин как да оцветите синтаксиса в tree частта на gitweb е като инсталирате пакета highlight и добавите следния ред в /etc/gitweb.conf или където ви се намира конфигурационния файл на gitweb

$תכונה{'שִׂיא'}{'בְּרִירַת מֶחדָל'} = [1];

עבור חבילת דביאן שאני במערכת ניהול חבילות עבור הפצות אחרות לא בדקתי.

ps Има и алтернативен вариант като се правят промени по файловете на gitweb ама ми се стори безсмислено като има простичък вариант 🙂