Իմ սիրած տեքստային խմբագիր է, դա Geany. Նա շատ минималистская IDE որ աջակցում է հսկայական շարք լեզուների – shell-ը, php, python, C … etc. Նրանց автозаполнения եւ, միեւնույն ժամանակ բավականին ճարպկորեն. Չի հերիքում նրան և մեկ այլ հաճելի հնարավորությամբ, բայց այս պահին ինձ համար դա ավելի քան բավարար է. Ես online դասընթաց Python Programming Թեմայով "SoftUni – որպեսզի освежа գիտելիքներ և դրանք պետք է թարմացնել, քանի որ ես չեմ հետեւում են համարժեք, թե ինչ է կատարվում python 3. Զեկուցողներ են փոխարժեքի խորհուրդ PyCharm ինչպես IDE համար ծրագրավորման pyton, բայց ինձ հեռու իմ ճաշակի, բնականաբար, ես օգտագործում Geany համար վարժություններ.

Դասախոսության ժամանակ զգացի հիվանդագին 2 պակասորդ

  1. python autocomplete-իսկ դուք выделяете է փաստաթղթերը, գործառույթները և մեթոդները
  2. դուք երբեք չեք համար pep8 ստանդարտ

Բանն այն է, որ Geany բավականին ճկուն է, քան կազմաձեւման եւ կարող է հեշտությամբ հագեցած է, քան բացակայում է նման. Եկեք ավելացնել python փաստաթղթերի մեր IDE:

  • дърпаме նրա հաջորդ սցենարը ինչ-որ տեղ մեր ՃԱՆԱՊԱՐՀԸ, օրինակ, /usr/bin, ինչպես եւ չի մոռանում այն исполняемым
  • редактируем ֆայլի ~/.config/geany/filedefs/filetypes.python, ինչպես բաժնում settings, ավելացնել հետեւյալ տողերը context_action_cmd=pydocw %s. Եթե գոյություն ունի միայն ավելացնել անվանումը бинарката է նախորդ քայլ. Перемонтировать Geany, եթե աշխատել.
  • Մենք արդեն ունենք context-ը-ակցիան, որը թույլ է տալիս ձեզ քաշեք տեղեկություններ գործառույթները. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. Լիչը, ինձ համար այս մոտեցումը ինձ շատ է դուր գալիս, քանի որ շատ նյարդայնացնում է ինձ netbeans մոտեցում.

Այստեղ լավ է. Հետո ինձ շատ է ցանկանում, որպեսզի ես ձեզ երբեք կոդ, որը ես գրում եմ, – եթե այն գրել է ընդհանուր ընդունված չափանիշներին, կամ գրել ինչ-որ грозотии. Ընդհանուր առմամբ ես գտա նորից туториалче ինչպես տեղի են ունենում բաներ, բայց դա մի քիչ հնացած – Geany կա այդ ամենը հարմարեցված է իրեն, միայն պետք է այն տեղադրել pep8 փաթեթը. "Debian apt-get install pep8 ստիպում է աշխատանքը մյուս дистрота իրենք պետք է իմանալ, թե ինչպես է տեղի ունենում կախարդանքը. Ցանկի Build երկրորդ կոճակը (գոնե ինձ) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

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

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

Հավաստագրում (սերտիֆիկացում) ՝ ipv6.he.net կան ամենօրյա թեստեր, որոնք տալիս 1 լրացուցիչ միավոր է այն բանից հետո, երբ անցել է բոլոր հիմնական թեստերը. Դուք պետք է անել 100 նման փորձարկումներ առավելագույն արդյունք 😐 . Թեստեր ինքնին լիովին չնչին

  • Traceroute
  • ՔԱՆԴԵԼ AAAA
  • ՔԱՆԴԵԼ PTR
  • Ping
  • Whois

Շատ տհաճ է այն, որ իրենք թեստերը պետք է լինի եզակի, այսինքն չի կարող օգտագործել մեկ տիրույթը двапъти 🙂 Բացի ամենայնից, եւ մի քիչ նյարդայնացնում է 🙄 – որեւիցե մարտահրավեր, պարզապես плющиш 5 թիմի cli, դա copy/paste-ի կայքը.

Ինչպես ծույլ admin ով սիրում է, որ հեշտացնում է կյանքը надрасках արագ խառնաշփոթ ուժեղ հարվածել է, որ, որ, որ, անել սեւ աշխատանքը փոխարեն ինձ

#!/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

Ինչպես երեւում է javascript-insanely սկզբնական. Подаваш տիրույթի անունը, որ նրա ստուգել, եթե կա IPv6 գրառումները և եթե կա, իրականացնել ամենօրյա թեստեր համար. Top chic մասի – գործառույթները hr որը կմեկնի գծի ողջ լայնությամբ էկրան, վերցված bash-hackers.

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. Обаче не е много добра практика да има много такива чести случаи 😀 Но никога не пречи да сме предпазени от всякакви шитни

Ընդլայնված by Zemanta

Այսօր ես խաղում օպտիմալացման կամաց-կամաց SQL հայտը տեսակի

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

Որտեղ проблемном պահին այստեղ – վերջին մասը &#8216;%word%’ եւ ավելի կոնկրետ ՝ ի նշան % բառով, համար, ինչ մենք անում ենք,. Խմբային նիշ խորհրդանիշ % ,ցանկացած նշանակության, մենք հարցումը անմիջականորեն փոխարկվում է ուղղակիորեն կամաց-կամաց, քանի որ, այսպիսով, հարցումը չի ՞ նչն է մեզ խանգարում օգտագործել ինդեքսները դաշտում. Որոշումը, ինչպես միշտ էլ կան, բայց միշտ չէ, որ պարզ է, 😆 Ընդհանուր առմամբ MySQL դուք ունեք այս խնդրի լուծումը полнотекстовый որոնում индексирование դաշտերը. Ինչպես փոփոխություն է տեղի ունենում տուփի բազմաթիվ գրված փաստաթղթերը, բայց համառոտ նկարագրել, թե ինչպես է փոխվում այս հարցում, քանի որ մենք կստանանք մի փոքր թատրոնը, ի վերջո,. Արել, թե ինչպես է կիրառվում fulltext դաշտ բարձր է, հարցումը պետք է փոփոխություններ տեսակի:

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

Այսպիսով, կառուցվածքը ' ակնհայտ է և քննարկման կարիք ունի ավելորդ. Այս պահանջը կարող է ուժի մեջ մտնել, եթե բառը, որի համար դուք հարցում եք կատարում, գոնե 4 նիշ, լռելյայն արժեքը, եթե դուք ցանկանում եք փոխել այն, դուք պետք է նշեք նշանակությունը, "която ցանկանում իմ.кнф է частта [тузды] հայտարարությամբ ft_min_word_len=3 կամ 2, 1 չի e добър избор 😉ակնհայտ է . Այն բանից հետո, երբ դուք փոխում եք ձեր նշանակություն եւ վերսկսել mysql server-a դուք պետք է անել repair սեղանների նրա, որպեսզի նոր ինդեքսը ուժի մեջ է մտնում. Այստեղ ամեն ինչ պարզ է: ես փոփոխություններ, վերսկսել է, ребилдвам ինդեքսները, եւ իմ հարցումը և ինձ վերադարձնում է 0 կարգը 😀 Խորհրդակցեք

SHOW VARIABLES

Ես տեսնում եմ, որ արժեքները, ես հարցրեցի, ուժի մեջ է մտել, ребилдвам ոչ պակաս, ինդեքսները – նույն արդյունքը. 🙄 Անհարմար է, շատ անհարմար է. Այստեղից սկսվել է մի մեծ ругаене եւ քերծվածքներից բանալի պարզվում են 😀 Որը հայտնվել է շատ, բավականին հետաքրքիր է. Ընդհանուր առմամբ, ինչպես սկսեցի կարդալ փաստաթղթերը, ես չգիտեմ, թե ինչ ճանապարհ է եւ եկել հետաքրքիր է անցնում

Այս մեթոդը ավելի լավ է աշխատում մեծ հավաքածու (իրականում, նա ուշադիր է տրամադրված: այդպիսով). Համար շատ փոքր սեղաններ, բաշխումը բառերի ոչ համարժեք արտացոլում են նրանց իմաստալից նշանակությունը, and this model may sometimes produce results bizarre. Օրինակ, although the word "MySQL is ներկա in every row of the table articles shown earlier, a search for the word produces no-results

ГРЕДА 😳 Կտամ табличката մի беше մալկան – այնուամենայնիվ, դա փորձություն է. Մեր հարցումները մեկ մեծ սեղան ավելի քան 2 000 000 կարգը եւ այնտեղ բաներ պատահար. Դե դա ակնհայտ խնդիրը. Որպեսզի հասկանանք որոշումը, նշեմ հակիրճ, որ full text search աջակցում է 3 ընդլայնված ռեժիմում Տրամաբանական , ԱՐՏԱՀԱՅՏՈՒԹՅՈՒՆՆԵՐԻ ու ԲՆԱԿԱՆ ԼԵԶՈՒՆ թե ինչպես է վերջինս աշխատում է լռելյայն. Տարբեր եղանակները կարելի է գտնել փաստաթղթերի, ես բացատրել, 2-3 խոսքի համար BOOLEAN, քանի որ այնտեղ ամեն ինչ գործն է. Այն աջակցում է տրամաբանական օպերատորներ տեսակի AND, Կամ , NOT եւ այլն, եւ կարելի է անել տարբեր spells սիրված արտահայտություններ, կան, ոչ թե մեկ այլ, եւ այլն. Աջակցում եւ խորհրդանիշների *, ինչը համարժեք է подстановочных նիշ % 😉 Այն օգտակար է, երբ դուք փնտրում խոսքը տակ չափը ft_min_word_len կամ փոքր trays ;). Գոնե ինձ մոտ սեղանի շուրջ 100 գիծ են կատարյալ. Մնացել է միայն տեսնել դիմում-հայտը:

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

Ահա հիմա գալիս է մի պահ, արդյոք մենք աշխատել կաղապար ինդեքսավորման նիշ – պատասխան-ես չգիտեմ. Ընդհանրապես, ես կարծում եմ,, որ, քանի որ ասված է այլ կերպ փաստաթղթերը, սակայն փաստաթղթերի հստակ չեն ասում կամ ցույց են տալիս շատ բաներ 😀

Ընդլայնված by Zemanta

Մեկ նախագծի, անդամակցել gitweb մատակարարվում է ինձ дразнеше, որ կոլորիտը կոդ է ծառի. Հեշտ ճանապարհ է, թե ինչպես է փոխարինել գունավոր backlight երեք մասի gitweb մատակարարվում է, թե ինչպես կարելի է տեղադրել փաթեթ highlight եւ ավելացնել հետեւյալ տողը /etc/gitweb ներառված չէ.conf կամ այնտեղ, որտեղ դուք gitweb կազմաձեւման ֆայլը

$feature{&#8216;highlight&#8217;}{&#8216;default&#8217;} = [1];

Համար Debian փաթեթի այնտեղ, իսկ համակարգի այլ բաշխման ես չեմ проверявал.

ps Կան եւ այլընտրանքային տարբերակ, թե ինչպես է փոփոխություններ կատարել ֆայլերի gitweb ներառված չէ, բայց թվում է անիմաստ, քանի որ կա մի պարզ տարբերակ 🙂