DN42 BGP ürün çevre kazıma olmadan becerilerinizi geliştirmenize olanak sağlayan harika bir projedir, pahalı cihazları ile hangi GNS3 ile simülasyonlar yapmak laboratuvarın yapmak zorunda kalmadan. Същевременно да не е чисто лабораторна среда при която няма проблеми от реалният свят. Участвам с 1 node в проекта от около година. Един от проблемите в проекта е 1:1 с реалният святкогато някой ти обяви префикси които не трябва да обявява. Понеже съм мързелив и не ми се пише на ръка филтри все път, реших проблема с елементарен bash скрипт които ми генерира prefix-list с име dn42 и в него наливам валидните префикси.

#!/bin/bash</pre>
vtysh -c 'conf t' -c "no ip prefix-list dn42"; #drop old prefix list

while read pl
do
vtysh -c 'conf t' -c "$pl"; #insert prefix list row by row
done < <(curl -s https://ca.dn42.us/reg/filter.txt | grep -e ^[0-9] | awk '{ print "ip prefix-list dn42 seq " $1 " " $2 " " $3 " ge " $4 " le " $5}' | sed "s_/\([0-9]\+\) ge \1_/\1_g;s_/\([0-9]\+\) le \1_/\1_g");
vtysh -c 'wr' #write new prefix list

Списъка с валидните предикси се взема https://ca.dn42.us/reg/filter.txt от където и основният конвейр + малко модификации от моя страна за да може да се генерира префикс листа. Командите се изпълняват през vtysh.

Benim favori metin editörü Geany. Bu çok minimalist BURAYA Bu dillerin büyük bir aralığı destekler – kabuk, PHP, piton, C … vb. cehennem çevik ise otomatik tamamlama var. Mümkün olduğunca ara sıra hoş yoksun ama benim için şu anda fazlasıyla yeterli. Ben ders Online başladı Python Programlama SoftUni – bilgilerini tazeleme ve Python ile ne yeterli peşinde değilim, çünkü yükseltme 3. Tabii hocalar tavsiye pycharm programlama pyton için IDE olarak, ama benim için çok benim sevme gelen, doğal tatbikatlar için Geany kullanın.

acı hissettim ders sırasında 2 sıkıntısı

  1. belgelerine işlevleri ve yöntemleri python otomatik tamamlama-ve solunan
  2. için hiçbir doğrulama pep8 standardı

İyi haber Geany yapılandırma tarafından yeterince esnektir ve kolayca eksik de desteklenebilir olmasıdır. let Python belgelerine eklemek Bizim IDE:

  • sizin yanınızdaki çekin aşağıdaki komut bir yerde bizim PATH / usr / bin çalıştırılabilir hale unutmayın olarak
  • bölüm ayarları aşağıdaki satırı ekleyin dosya ~ / .config / geany / filedefs / filetypes.python düzenlemek context_action_cmd = pydocw% s. Sadece önceki adımdaki binarkata adını orada ekleyerek varsa. çalıştırırsanız Geany yeniden başlatın.
  • Biz zaten fonksiyonu hakkında bilgi kaldıracak bir bağlam-eylem var. Ben bir kısayol benim tercih edilen ekledik herhangi bir işlevi görmüyorum gibi. Ben seviyorum, çünkü çok bana bu yaklaşımı leach bana netbeans yaklaşımı canını sıkıyor.

Buraya kadar çok iyi. Sonra gerçekten yazmak bir doğrulama kodu var istedim – Ben genel kabul görmüş standartlara uygun olarak yazmak veya herhangi bir çirkinlik yazmak ister. Genel olarak tekrar bulundu tutorialče nasıl şeyler ama biraz modası geçmiş – Geany her şey sadece paketi bunu pep8 yüklemeniz gerekir kendi içine inşa etti. Debian apt-get sihirli olur nasıl keşfetmek için tek başına diğer distrota çalışır pep8 yüklemek. İkinci oluştur menü düğmesi (en azından bana) tıklatarak onu ne kadar çirkin kod 😀 oluşturdu bulacaksınız sonra tüysüz olur

Ekran görüntüsü 2016-01-11 20-42-21

Bu temelde nasıl Python ile ve aynı zamanda daha iyi iş, kurşun çekmek istiyorum CPU sürüş hızlı olmaya devam için senin Geany yapmak olduğunu.

WordPress etki alanını değiştirmek için bazı acıdır. Son zamanlarda bu birkaç yapmak zorunda ve her şey hızlı spor 😀 olur . Belgili tanımlık merdiven are sumariziram mümkünse 2 – doğal olarak dosyalarını taşımadan, Ayarları değişirse tamamen hosting.

1. Eski yeni ile değiştirin – Burada önemsiz şeylerdir. URwp-config.php dosyanızı açın ve aşağıdaki yapıştırın 2 satır

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Http değiştirirken://example.com ile yeni.

2. Karşıya yüklenen içeriğin görüntüler gibi ama açık url iş sitesidir şimdi, belgeleri ve benzeri görünür değil. Burada şimdi girişim. Yeni url-veritabanı ile eski değiştirmeniz gerekiyor. Özellikle acemi kullanıcılar için son derece zahmetli bir süreç oldu, Kim de SQL sözdizimi ile iş yapıyorsun, но вече има доста приятен скрипт searchreplacedb2, Bu onu rahatsız sizin için yapar. Kullanımı saçmadır – wordpress sayfanızı nerede kök dizini için adatum.com'un ve senin tarayıcı - aç. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

Това е във общи линии нищо трудно или супер сложно.

A shell script wants your job

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

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за MySQL tam metin araması 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне Select и един sub select в WHERE частта на заявката. В общи линии скелета и е

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

В общи линии елементарна заявка. Написах я за 30 сек пускам я и зацикли машината. След дълго и търпеливо чакане от моя страна или по точно ~43 сек . Ми се изплю резултат lol . Пффф лудница. Влизам в машината гледам процесора е нормално натоварен почти в idle състояние. Шок и ужас. Пускам пак заявката пак същия резултат. Fuck WTF. Пускам explain на заявката и всичко лъсна – Sadece secondTextField ikinci alandır tam metin arama Dizin yok, ve yaklaşık 35 k hattının mütevazı bir tepsi. Ne okumak için – tam metin arama dizini değil. Bu gerçekten hızlı bir sorun zaten açıktır

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

Ve şeyler sorgusunun geçen yerler döndü 0.0005 sn 😀

Endeksleri onları koymak nasıl dikkatli olun uygulama, marjinal oranı üzerinde bağlıdır.

Sadece bu dizin tam metin arama yöntemi 😀 kullanarak değil çünkü eksik olduğu için s. s bir bütün olarak yukarıdaki durum hakkında yanlış değilim

Zemanta tarafından geliştirilmiş