Mój ulubiony edytor tekstu to geany. Jest on bardzo minimalistyczny ide że obsługuje szeroki zakres języków – muszla, pzp, pyton, c. … itp.. Jest ich sukcesywne i w tym samym czasie cholernie zgrabnie. Brakuje mu jednej i drugiej przyjemną możliwością, ale i na ten moment dla mnie to bardziej niż w zupełności wystarczy. Ja kurs online pyton programowania na SoftUni – aby освежа wiedzę i będzie je aktualizować tak jak ja nie śledził właściwie, co się dzieje z python 3. Prelegentów z kursu polecam pycharm jak IDE do programowania pyton, ale mi nie mój gust, oczywiście, używam Geany do ćwiczeń.

Podczas wykładu poczuł bolesne 2 brak

  1. python autocomplete-a można wybrać się do dokumentacji, funkcji i metod
  2. nigdy nie pep8 standard

Rzecz w tym, że Geany jest na tyle elastyczne, niż do konfiguracji i może być łatwo uzupełniony niż na takich zaginionych. Dalej dodaj python dokumentacji na naszej IDE:

  • дърпаме go następujący skrypt gdzieś na nasz SPOSÓB, na przykład /usr/bin, jak i nie zapominamy uczynić go wykonywalnym
  • edycja pliku ~/.config/geany/filedefs/filetypes.python, jak i w sekcji settings, dodajemy następujące linie działania w ramach _ _ cmd = pydocw% s. Jeśli istnieje tylko dodajemy nazwę бинарката z poprzedniego kroku. Rewire Geany, jeśli pracować.
  • Mamy już context-action, który pozwoli ci wyciągnąć informacje na temat funkcji. al - si - добавих skrót przez to nie jest moje prawo do функционалност kato. Leach mi się to podejście bardzo mi się podoba, bo bardzo mnie irytuje podejście netbeans.

Tutaj dobrze. Potem bardzo mi się chce, żebym nigdy kod, który piszę – jeśli go napisać na ogólnym przyjętym standardom lub pisać jakieś грозотии. W sumie znalazłem ponownie tutorialče jak dzieją się rzeczy, ale to trochę nieaktualne – Geany jest wszystko to wkomponowane w sobie, tylko trzeba go zainstalować pakiet pep8. W Debianie apt-get install pep8 sprawia, że praca w pozostałych дистрота sami musimy dowiedzieć się, jak dzieje się magia. W menu Build drugi przycisk (przynajmniej u mnie) jest coś po кликването znajdzie, jak brzydki kod zrobiłeś

screenshot od 2016-01-11 20-42-21

zasadniczo jest to, jak sprawić, by geany działa lepiej z pytona i jednocześnie nadal być szybko bez prowadzić przetwórca chce kulkę.

Certyfikacja w ipv6.he.net istnieją codzienne testy, które dają na 1 dodatkowy punkt, po tym, jak przeszedł wszystkie testy podstawowe. Trzeba zrobić 100 takie testy na maksymalny wynik 😐 . Testy same w sobie były całkowicie trywialne

  • Traceroute
  • DIG AAAA
  • DIG PTR
  • Ping
  • Whois

Najbardziej przykre w tym, że same testy muszą być unikalne, czyli nie może korzystać z jedną domenę двапъти 🙂 między innymi, i trochę irytujące 🙄 – żadnych wyzwanie, po prostu плющиш 5 polecenia cli-to copy/paste w wyniku ich stronę internetową.

Jak leniwy admin który kocha, aby go ułatwia życie надрасках szybko bałagan bash-że, że, aby robić czarną robotę za mnie

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

Jak widać skrypt szalenie entry. Подаваш nazwa domeny, to co go sprawdzać, jeśli IPv6 wpisów i jeśli istnieje, wykonywać codzienne testy dla niego. Top chic części – funkcje hr który drukuje linie na całej szerokości ekranu, pochodzi z bash-hackers.

A shell script wants your job

Днес докато работех видях че една от машините лагна много жестоко. Влизам в нея гледам един cron наблъскал адски много зомби процеси (грубо около 50-60). Нямаше как да ги убия всички с killall затова се наложи да направя малко по грамотно решение на проблемада драсна едно елементарно grzmotnąć скриптче което да намери и убие процесите. 50-тина PID-а не се пишат лесно на ръка :re. Скрипта го надрасках за минута и е свръх елементарен но все пак заслужава внимание 🙂

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

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

Wzmocnione przez Zemanta

Dzisiaj grałem w celu optymalizacji powoli SQL wniosek od rodzaju

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

Gdzie trudnej chwili tutaj – najnowsza część &#8216;%word%’ i w jeszcze bardziej konkretny znak % przed słowem, dla co robimy. Wildcard symbol % ,do każdej wartości, jesteśmy zapytanie bezpośrednio przekształca się bezpośrednio w powoli, bo w ten sposób żądanie nie przeszkadza nam używać indeksów na polu. Decyzja, jak zawsze, ale nie zawsze jest jasne, 😆 w Ogóle MySQL masz rozwiązanie tego problemu fulltext search indeksowanie pól. Jak odbywa się zmiana skrzyni wiele jest napisane w dokumentacji, ale krótko opiszę, jak zmienia się ten wniosek, bo mamy mały teatr, w końcu. Zrobili jak stosuje się fulltext polu powyżej, wniosek powinien być zmiany w typie:

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

W ten sposób struktura jest oczywiste i nie wymaga zbędnych dyskusji. Ten wniosek będzie wchodzić w życie, jeśli słowo, dla której można zrobić wniosek, co najmniej 4 znaków, domyślna wartość, jeśli chcesz go zmienić, należy podać wartość, която желаете в my.cnf в частта [тузды] z wnioskiem ft_min_word_len=3 lub 2, 1 не е добър избор очевидно 😉 . Po tym jak zmienić wartość i ponownie uruchomić mysql server-a trzeba zrobić repair tabel go, do tego, aby nowy indeks weszły w życie. Tutaj wszystko jest jasne: robię zmiany, restart, ребилдвам indeksy i robię żądania i zwraca mi 0 kolejność 😀 Skonsultować się z

SHOW VARIABLES

Widzę, że wartości, zapytałem, weszła w życie, ребилдвам nie mniej, indeksy – ten sam wynik. 🙄 Niewygodne, bardzo niewygodne. Tu i dalej zaczęło się jedno wielkie ругаене i zadrapania klucza w stodole 😀 Który okazał się bardzo, dość ciekawy. W ogóle, jak zacząłem czytać dokumentację, nie wiem, w jaki sposób i doszedłem do ciekawych przejście

Such a technique works best with large collections (in fact, it was carefully tuned this way). For very small tables, word distribution does not adequately reflect their semantic value, and this model may sometimes produce results bizarre. For example, although the word "MySQL" is present in every row of the table articles shown earlier, a search for the word produces no results

ГРЕДА 😳 Дам табличката ми беше малка – to był test. Naszych żądań w jedną wielką tabelę z ponad 2 000 000 kolejność i tam rzeczy zdarzenie. No to jawna problem. Aby zrozumieć decyzję, pragnę zauważyć krótko, full text search obsługuje 3 tryb zaawansowany BOOLEAN , EXPRESSIONS i NATURAL LANGUAGE jako ostatni działa domyślnie. Dla różnych trybów można znaleźć w dokumentacji, wytłumaczę 2-3 kluczowe dla BOOLEAN, bo w nim chodzi. Obsługuje operatorów logicznych typu AND, OR , NOT i tak dalej, i można robić różne czary z popularnych zwrotów, jest, nie inny i tak dalej. Obsługuje i znaków *, co jest równoznaczne z symboli wieloznacznych % 😉 Jest to przydatne, gdy szukasz słowo pod wymiar ft_min_word_len lub małe zasobniki ;). Przynajmniej u mnie w tabeli około 100 linie są idealne. Pozostał tylko zobaczyć wypełniony wniosek:

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

Teraz przychodzi moment, czy będziemy pracować z szablonu indeksowania znaków – odpowiedź: nie wiem. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

Wzmocnione przez Zemanta

Dla jednego projektu, wejść w gitweb w zestawie mnie дразнеше, że nie kolorowanki kod na drzewie. Łatwy sposób kolor w drzewie składni jako część pakiet instalacyjny gitweb atrakcja i dodać następujący wiersz w your/etc/gitweb.conf lub gdzie znajduje się plik konfiguracyjny gitweb

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

Dla pakietu Debiana go tam, a systemu dla innych dystrybucji nie проверявал.

PS jest również alternatywną wersję, jak zmiany są wykonane w plikach gitweb, ale wydawało się bezcelowe, ponieważ istnieje prosta wersja 🙂