Meu editor de text favorit geany. Este foarte minimalist AICI care suportă o gamă largă de limbi – coajă, PHP, piton, Cetc. În timp ce există iad este de autocompletare agil. Îi lipsește ocazional mai plăcut posibil, dar în acest moment pentru mine este mai mult decât suficient. Am început curs online Programare Python на SoftUni – pentru a actualiza cunoștințele lor și pentru a face upgrade pentru că nu sunt după adecvate ce se întâmplă cu piton 3. Lectorii cursului recomandat PyCharm ca IDE pentru programarea Pyton, dar pentru mine departe de gustul meu, folosesc în mod natural Geany pentru exerciții.

In timpul cursurilor dar dureros 2 penuria

  1. Python și completarea automată expirată de documentare la funcții și metode
  2. nici o validare pentru standard de pep8

Vestea bună e că Geany este suficient de flexibil pentru a în funcție de configurație și pot fi ușor suplimentate de la astfel de lipsă. lăsa adăugați documentație piton IDE nostru:

  • trage dvs. de Următorul script undeva în calea noastră ca / ​​usr / bin nu uitați să-l facă executabil
  • edita fișierul ~ / .config / geany / filedefs / filetypes.python în setările parțiale adăugați următoarea linie context_action_cmd = pydocw% s. Dacă nu adaugă doar numele binarkata din etapa anterioară. Repornească Geany dacă se execută.
  • Avem deja un context de acțiune, care va elimina informații despre funcția. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. Leach-mi această abordare foarte mult pentru că îmi place mă enervează abordarea NetBeans.

Până aici e bine. Apoi am dorit foarte mult să aibă un cod de validare scrieți – dacă am scrie în conformitate cu standardele general acceptate sau scrie orice urâțenie. În general, am găsit din nou tutorialče modul în care lucrurile se întâmplă, dar este un pic depășit – Geany a tot ceea ce a construit în el însuși trebuie doar să-l instalați pep8 pachet. În Debian apt-get install pep8 funcționează în singur alt distrota pentru a descoperi modul în care magia se întâmplă. În al doilea buton de meniu Build (cel puțin pentru mine) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

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

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

certificare ipv6.he.net au teste de zi cu zi, care dau 1 punct suplimentar, după ce au trecut toate testele majore. Trebuie să fie 100 o astfel de încercare pentru rezultate maxime 😐 . ele însele testele sunt complet banale

  • traceroute
  • TU AAAA
  • DIG PTR
  • Ping
  • Care este

Cel mai neplacut este ca testul în sine trebuie să fie unic, adică nu se poate utiliza un domeniu de două ori 🙂 Printre altele sunt un pic enervant 🙄 – nici o provocare doar biciuit 5 cli-comenzi în ea și copy / paste rezultatul în site-ul lor.

Leneș și administrator care îi place să face viața mai ușoară mâzgălit o rapidă una bash-simplu pentru a face treaba murdară pentru mine

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

După cum se poate observa script-ul este incredibil de simplu. Publica domeniu, apoi validează dacă intrările IPv6 și dacă se face teste de zi cu zi pentru ea. Cele mai tare parte – funcție HR care imprimă o linie peste lățimea ecranului este preluată din bash-hackeri.

A shell script wants your job

Днес докато работех видях че една от машините лагна много жестоко. Влизам в нея гледам един cron наблъскал адски много зомби процеси (грубо около 50-60). Нямаше как да ги убия всички с killall затова се наложи да направя малко по грамотно решение на проблемада драсна едно елементарно bash скриптче което да намери и убие процесите. 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. Обаче не е много добра практика да има много такива чести случаи 😀 Но никога не пречи да сме предпазени от всякакви шитни

Consolidată prin Zemanta

Astăzi am jucat pentru a optimiza un proces lent SQL Aplicarea genul

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

În cazul în care este problema acum aici – ultima parte "% cuvânt%’ și în chiar mai multe caractere specifice % înainte de cuvântul, care fac. simbolul wildcard % ,înainte de orice valoare, face în mod direct ne interoga direct în lent, deoarece în acest fel aplicația ne împiedică să utilizeze indici de câmp. Deciziile ca întotdeauna, dar nu întotdeauna clar 😆 global MySQL Ei au o soluție la această problemă căutare fulltext câmp de indexare. Cum se schimbă terenul are o mulțime de documente scrise, dar graba va descrie modul de a schimba cererea de top, pentru că vom ajunge la o mică dramă în cele din urmă. Sledka ca domeniu fulltext de mai sus se aplică, cerere trebuie să fie modificări ale tipului de:

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

Prin urmare, structura este evidentă și are nevoie de nici o discuție inutilă. Interogarea de mai sus va intra în vigoare, în cazul în care cuvântul, pentru a face o solicitare de cel puțin 4 simboluri, Valoarea implicită este, dacă doriți să modificați trebuie să specificați valoarea, която желаете в my.cnf в частта [mysqld] declarație ft_min_word_len= 3 sau 2, 1 не е добър избор очевидно 😉 . După ce schimbați valoarea și mysql repornire server o necesitate de a face reparații în tabelele, pentru ca noua indexare intră în vigoare. Până în prezent, totul clar: a face modificări, restabili, rebildvam indici și de a face cerere și se întoarce meu 0 Verificare cu ordinul 😀

SHOW VARIABLES

Eu văd că valorile, M-am întrebat în vigoare, rebildvam din nou indexurile – același rezultat. 🙄 neplăcut, foarte inconfortabil. De aici încolo a început un blestemelor mare și zgâriere cheia vărsat 😀, care a fost destul de, destul de interesant. în ansamblu, Am început să citesc documentație nu știu ce drum și a ajuns la un pasaj interesant

Such a technique works best with large collections (de fapt, a fost reglat cu atenție acest mod). Pentru tabelele foarte mici, distribuție cuvânt nu reflectă în mod adecvat valoarea lor semantică, iar acest model poate produce uneori rezultate bizare. De exemplu, deși cuvântul "MySQL" este prezent în fiecare rând din tabelul de articole prezentat mai devreme, o căutare pentru cuvântul produce nici un rezultat

ГРЕДА 😳 Дам табличката ми беше малка – Cu toate acestea, a fost un test de. Aplicația noastră într-un tabel mare peste 2 000 000 ordine și acolo lucrurile au dormit. Ei bine, problema acum clar. Pentru a lua o decizie clară, Voi menționa pe scurt, care acceptă căutarea full text 3 modul avansat BOOLEAN , EXPRESII și LIMBA NATURAL ca ultima lucrare implicit. Pentru moduri pot verifica documentație, Voi explica 2-3 Cuvintele BOOLEAN, deoarece este cheia. Ea susține operatorii logici astfel ȘI, SAU , NU și așa mai departe și se pot face unele magie cu expresii populare, au una, nici o alta, etc.. Se menține și simboluri *, care este echivalent cu un simbol joker % Este util 😉, în cazul în care termenul de căutare este mai mică decât lungimea ft_min_word_len sau tăvi mici ;). Cel puțin pentru mine o masă cu privire la 100 comanda face treaba perfecta. Lăsând numai a se vedea și completat cerere:

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

Aici vine momentul dacă indexarea funcționează cu caractere wildcard – răspunsul este că nu știu. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

Consolidată prin Zemanta

Pentru un singur proiect care a condus la gitweb Ma deranjat, nu există nici un cod de culoare în copac. Лесен начин как да оцветите синтаксиса в tree частта на gitweb е като инсталирате пакета highlight и добавите следния ред в /etc/gitweb.conf или където ви се намира конфигурационния файл на gitweb

$caracteristică{'a evidentia'}{'Mod implicit'} = [1];

Pentru pachetul Debian I în sistemul de management al pachetelor pentru alte distribuții Nu am verificat.

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