タグ付きの投稿 プログラミング

Geanyより良いのpythonのIDE

0

私の好きなテキストエディタ Geany. それは非常にミニマルです HERE それは言語の巨大な範囲をサポートしています – シェル, PHP, パイソン, C言語 … 等. 地獄がアジャイルである一方でオートコンプリートがあります. これは、可能な限り時折心地よいを欠いているが、私にとっては、現時点では十分以上のものです. 私はもちろん、オンラインで開始しました Pythonのプログラミング наSoftUni – 彼らの知識をリフレッシュして、私のpythonと何が起こるか、十分な後じゃないので、アップグレードします 3. 推奨コースの講師 PyCharm プログラミングpyton用のIDEとして, しかし、私にはこれまでの私の好みから, 自然の演習のためのGeanyを使用.

痛いほど感じた講義中に 2 不足

  1. Pythonのオートコンプリート-とドキュメントから関数やメソッドに吐き出さ
  2. 検証しません pep8標準

良いニュースは、Geanyは設定によって十分な柔軟性があり、容易にそのような行方不明にすることによって補うことができるということです. させます Pythonドキュメントを追加 私たちのIDEへ:

  • あなたを引っ張ります 次のスクリプト どこかに私たちのPATHは/ usr / binがそれを実行可能にすることを忘れないように
  • ファイルを編集して、〜/ .configを/ geany / filedefs / filetypes.python一部の設定は、次の行を追加します。 context_action_cmd = pydocw%sの. だけ前のステップからbinarkataの名前が追加されている場合. 実行する場合Geanyを再起動します。.
  • 我々はすでに機能に関する情報が削除され、コンテキスト・アクションを持っています. 私は、任意の機能を理解していないとして、私は私にショートカットを追加すると、より快適です. 私は私のNetBeansアプローチを悩ます好きなので非常に私は、このアプローチを浸出.

これまでのところは良いです. その後、私は本当にあなたが書いた検証コードを持っていると思いました – 私は一般的に受け入れられている基準に従って書いたり、任意の醜さを書き込むかどうか. 一般に、私は再び発見しました tutorialče どのように物事が起こるが、それは少し古くなっています – Geanyは、すべてがパッケージだけを、それをpep8インストールする必要があり、自分自身の中に組み込まれています. Debianのでは魔法が起こる方法を発見するために、単独で、他のdistrotaでpep8作品をインストールapt-getを. 第二のビルド]メニューボタンで (少なくとも私には) リントはあなたがどのように作成したか醜いコードを発見しますクリックした後であります😀

からのスクリーンショット 2016-01-11 20-42-21

これはあなたのGeanyは、Pythonでうまく動作するようにする方法は基本的であり、同時に高速なプロセッサなしであり続けることは、あなたが弾丸を引っ張るたくなります.

ipv6.he.netデイリーは、スクリプトをテスト

0

で認定 ipv6.he.net 与える毎日のテストを持っています 1 すべての主要なテストを通過した後に追加のポイント. 行わなければなりません 100 最大の結果を得るためにこのようなテスト😐 . テスト自体は完全に自明です

  • トレースルート
  • YOU AAAA
  • DIG PTR
  • ピン
  • 誰が

最も不快なあなたは他のものがある中でも二回🙂少し迷惑なドメインを使用することはできません。すなわち、テスト自体は、一意でなければならないということです🙄 – 何の挑戦はちょうどホイップません 5 CLI-コマンドその中に、コピー/自分のサイトで結果を貼り付けます.

好きな人のように怠惰な管理者の生活に簡単に私のために汚い仕事をするために迅速な1つの単純な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エントリかどうかを検証している場合は、それのために毎日のテストを行います. 最もクールな部分 – 関数 時間 これは、画面の幅を横切って行を出力することから取られます bashの-ハッカー.

bash find and kill processes

0

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

Zemantaの強化されたことにより、

MySQL Full Text Search

2

Днес си играх да оптимизирам една бавна SQL заявка от вида


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

Къде е проблемният момент тукапоследната част ‘%word%и в още по-голяма конкретност знака % преди думата, за която правим. Wildcard символът % ,преди която и да е стойност, директно ни превръща заявката директно в бавна, защото по този начин заявката ни спира да ползва индекси на полето. Решения както винаги има, но не винаги са ясни 😆 Общо взето MySQL си имат решение на тоя проблем с fulltext search индексиране на полето. Как става смяната на полето има много написано в документацията, но набързо ще опиша как се променя горната заявка, защото ще стигнем и до една малка драма накрая. Следка като приложим fulltext на полето горе, заявката трябва да се промени във вида:


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

Така структурата е очевидна и няма нужда от излишна дискусия. Горната заявка ще влезе в сила, ако думата, за която правите заявка е поне 4 символа, по подразбиране е това стойността, ако искате да я модифицирате трябва да укажете стойността, която желаете в my.cnf в частта [mysqld] с декларацията ft_min_word_len=3 или 2, 1 не е добър избор очевидно 😉 . След като смените стойността и рестартирате mysql server-a трябва да направите repair на таблиците си, за да може новото индексиране да влезе в сила. До тук всичко ясно: правя промените, рестартирам, ребилдвам индексите и правя заявката и ми връща 0 реда 😀 Проверявам с


SHOW VARIABLES

Виждам че стойностите, който съм задал са влезли в сила, ребилдвам пак индекситесъщия резултат. 🙄 Неприятно, много неприятно. От тук нататък започна едно голямо ругаене и ровене за ключа за бараката 😀 Който се оказа доста, доста интересен. Като цяло, като започнах да чета документацията за не знам кой път и стигнах до един интересен пасаж

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 bizarre results. For example, although the word “MySQL” is present in every row of the articles table shown earlier, a search for the word produces no results

ГРЕДА 😳 Дам табличката ми беше малкавсе пак беше тестова. Наших заявката в една голяма таблица с над 2 000 000 реда и там нещата заспаха. Добре вече е ясен проблемът. За да стане ясно решението, ще спомена накратко, че full text search поддържа 3 разширени режима BOOLEAN , EXPRESSIONSNATURAL LANGUAGE като последния работи по подразбиране. За различните режими може да проверите документацията, аз ще обясня с 2-3 думи за BOOLEAN понеже в него е разковничето. Той поддържа логически оператори от типа AND, OR , NOT и прочие и може да се правят разни магии с търсените фрази, да има една, да няма друга и прочие. Поддържа и символа *, който е еквивалент на wildcard символа % 😉 Той е полезен, когато търсената дума е под дължината на ft_min_word_len или за малки таблички ;). Поне при мен на таблица с около 100 реда върши идеална работа. Остана само да видим и завършената заявка:


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

Тука вече идва момент дали ни работи индексирането с wildcard символаотговорът е не знам. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

Zemantaの強化されたことにより、

Gitweb syntax highlight

0

За единия проект които водя в gitweb ме дразнеше, че няма оцветяване на кода в дървото. Лесен начин как да оцветите синтаксиса в tree частта на gitweb е като инсталирате пакета highlight и добавите следния ред в /etc/gitweb.conf или където ви се намира конфигурационния файл на gitweb

$feature{‘highlight’}{‘default’} = [1];

За Debian пакета го има в пакетната система за другите дистрибуции не съм проверявал.

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

ページのトップへ