Мой каханы тэкставы рэдактар Geany. Гэта вельмі мінімалісцкі ТУТ які падтрымлівае велізарны дыяпазон моў – абалонка, PHP, пітон, З … і г.д.. Там у той час як аўтазапаўненне пекла спрытны. Ёй не хапае часам прыемна, як гэта магчыма, але ў дадзены момант для мяне больш чым дастаткова. Я пачаў онлайн курс Праграмаванне на Python на SoftUni – каб асвяжыць свае веды і абнавіць, таму што я не пасля адэкватнай, што адбываецца з пітонам 3. Выкладчыкі курсу рэкамендуецца PyCharm у якасці IDE для праграмавання Pyton, але мне далёка ад маёй душы, натуральна выкарыстоўваць Geany для практыкаванняў.

Падчас лекцый хваравіта адчуваецца 2 дэфіцыт

  1. Python аўтазапаўнення-і выдыханае з дакументацыі да функцый і метадам
  2. няма ніякай праверкі для pep8 стандарту

Добрая навіна заключаецца ў тым, што Geany з'яўляецца дастаткова гнуткай, каб па канфігурацыі і могуць быць лёгка дапоўнены ў адсутнасць такіх. дазваляць дадамо python дакументацыя да нашага IDE:

  • падціснуць наступны сцэнар дзесьці ў нашым PATH в / USR / бен не забудзьцеся зрабіць яго выкананым
  • адрэдагаваць файл ~ / .config / Geany / filedefs / filetypes.python у наладах часткі дадайце наступны радок context_action_cmd = pydocw% s. Калі ёсць толькі дадаць назву binarkata з папярэдняга кроку. Перазапуск Geany пры запуску.
  • У нас ужо ёсць кантэкстнае дзеянне, якое будзе выдаляць інфармацыю аб функцыі. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. Ліч мне такі падыход вельмі шмат, таму што мне падабаецца раздражняе мяне Netbeans падыход.

Пакуль усё добра. Тады я сапраўды хацеў мець код праверкі вы пішаце – напісаць Ці я ў адпаведнасці з агульнапрынятымі стандартамі або пісаць уродства. Увогуле, я зноў знайшоў tutorialče як рэчы здараюцца, але гэта крыху састарэла – Geany мае ўсе убудаваныя ў сабе трэба толькі ўсталяваць яго pep8 пакет. У Debian APT-атрымаць ўстаноўку pep8 працуе ў адзіночку іншы distrota, каб даведацца, як адбываецца чараўніцтва. У кнопцы другога меню Пабудаваць (па меншай меры мне) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

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

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

сертыфікацыя ў ipv6.he.net ёсць штодзённыя тэсты, якія даюць 1 Яшчэ адзін момант пасля таго, як прайшлі ўсе асноўныя выпрабаванні. Павінны быць зроблены 100 такое выпрабаванне для дасягнення максімальных вынікаў 😐 . Самі тэсты зусім трывіяльным

  • трасіроўка
  • ВЫ AAAA
  • DIG PTR
  • пінг
  • Хто

Самае непрыемнае ў тым, што само тэставанне павінна быць унікальным, то значыць, вы не можаце выкарыстоўваць дамен у два разы 🙂 Сярод іншых рэчаў, трохі раздражняе 🙄 – не праблема проста узбітыя 5 CLI-каманды ў ім і капіяваць / ўставіць вынік у сваім сайце.

Як лянівы, і адміністратар, які любіць палягчае жыццё шрайбуеш хуткі адзін просты Баш-тое рабіць брудную працу для мяне

#!/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 і калі зрабіць штодзённыя тэсты для яго. Найбольш халаднаватая частка – функцыя гадзіну якая друкуе лінію па шырыні экрана бярэцца з Баш-хакераў.

A shell script wants your job

Сёння, пакуль я працаваў, я ўбачыў, што адна з машын лагне вельмі жорсткі. Уваход ён выглядае пекла працэсаў зомбі хрон спакаваныя лота (груба каля 50-60). Там не было ніякага спосабу, каб забіць іх усіх killall так што мне трэба зрабіць трохі больш пісьменнага рашэння – Каб ўдарыў бязладзіцай ўдар skriptche, каб знайсці і забіць працэсы. 50-Ціна PID-ня лёгка пісаць ўручную :D. Скрыпт надрапаў на хвіліну, і гэта супер простая, але па-ранейшаму заслугоўвае ўвагі 🙂

На яго базе знаходзіцца канвеер

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

Тут мы атрымліваем ліст з усімі працэсу PID-амі, якія павінны kilnem, як Grep выключыць з гэтага спісу. Цяпер у нас ёсць спіс рэчаў, якія становяцца лёгка круціцца ў адным для. Вось канчатковы вынік

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

можа быць “наладжаны” імя бярэцца ў якасці аргументу пасля імя сцэнарыя і, такім чынам, называецца выкананы файл. Але не вельмі добрая практыка, каб мець шмат такіх частых выпадкаў 😀 але ніколі не prevented're абаронены ад любога shitni

падтрымліваючы Zemanta

Сёння я гуляў, каб аптымізаваць павольны SQL прымяненне роду

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

Дзе цяпер праблема тут – апошняя частка '% слова%’ і ў яшчэ больш канкрэтных персанажаў % перад словам, якія робяць. Wildcard сімвал % ,перад любым значэннем, непасрэдна робіць нас запыт непасрэдна ў павольна, таму што ў гэтым выпадку прыкладанне перастае нам выкарыстоўваць індэксы Field. Рашэнні, як заўсёды, але не заўсёды ясна 😆 цэлым MySQL У іх ёсць рашэнне гэтай праблемы паўнатэкставага пошуку поле індэксавання. Як змяняецца поле мае шмат пісьмовых дакументаў, але паспешнасць будзе апісана, як змяніць верхні запыт, таму што мы дабяромся да маленькай драмы, нарэшце,. Sledka ў якасці прымяняецца паўнатэкставага поля вышэй, Заява павінна быць змена тыпу:

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

Такім чынам, структура відавочная і не мае патрэбу ў непатрэбнай дыскусіі. Прыведзены вышэй запыт ўступіць у сілу, калі слова, для вас зрабіць запыт па меншай меры, 4 сімвалы, Значэнне па змаўчанні, калі вы хочаце змяніць неабходна ўказаць значэнне, які вы хочаце ў мой.cnf ў раздзеле [туздЫ] дэкларацыя 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 пашыраны рэжым Булевы , ВЫРАЗЫ і натуральны мова у якасці апошняй працы па змаўчанні. Для рэжымаў можна праверыць дакументацыю, Я растлумачу 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];

Для атрымання пакета Debian Я ў сістэме кіравання пакетамі для іншых дыстрыбутываў я не праверыў.

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