DN42 एक अद्भुत परियोजना है कि आप BGP उत्पाद पर्यावरण स्क्रैप के बिना अपने कौशल को विकसित करने के लिए सक्षम बनाता है, आप GNS3 के साथ सिमुलेशन करने के लिए अपनी प्रयोगशाला बनाने के लिए जिसके साथ महंगी उपकरणों के लिए होने के बिना. एक ही समय में एक शुद्ध प्रयोगशाला वातावरण नहीं है जहां कोई वास्तविक दुनिया की समस्याओं है. साथ भाग 1 लगभग एक वर्ष के लिए प्रोजेक्ट में नोड. परियोजना में समस्याओं में से एक है 1:1 असली दुनिया के साथ – जब किसी को घोषित करने की जरूरत नहीं है कि उपसर्गों की घोषणा की. क्योंकि मैं आलसी हूं और हाथ समय फिल्टर पर टाइपिंग की तरह नहीं लग रहा है, मैं एक साधारण मार स्क्रिप्ट है कि नाम 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 में मांय prediksi की सूची://मुख्य कन्वेयर से ca.dn42.us/reg/filter.txt + मेरे हिस्से पर थोड़ा mods के लिए एक उपसर्ग सूची उत्पंन करने में सक्षम हो. आदेश vtysh में निष्पादित कर रहे हैं.

अपने पसंदीदा पाठ संपादक है Geany. वह बहुत कम है IDE कि भाषाओं की एक बड़ी रेंज का समर्थन करता है – शैल, पीएचपी, अजगर, सी … आदि. अपने स्वत: पूर्ण है, और एक ही समय में तो nimbly है. उसे एक सुखद अवसर याद आ रही है, लेकिन समय में, मुझे, करने के लिए पर्याप्त से अधिक है. मैं ऑनलाइन कोर्स शुरू अजगर प्रोग्रामिंग के SoftUni – मेरे ज्ञान को ताज़ा करें और मैं पर्याप्त रूप से नहीं किया है क्या पायथन के साथ होता है, क्योंकि उन्हें nadgradâ बनाने के लिए 3. बेशक वक्ताओं की सिफारिश PyCharm प्रोग्रामिंग pyton के लिए के रूप में IDE, लेकिन मैं मेरे स्वाद से दूर हूँ, स्वाभाविक रूप से व्यायाम के लिए Geany का उपयोग करें.

व्याख्यान के दौरान मैं एक दर्दनाक महसूस किया 2 lipsi

  1. अजगर-स्वत: पूर्ण और साँस छोड़ते कार्यों और तरीकों का दस्तावेज़ीकरण करने के लिए
  2. वहाँ के लिए कोई मान्यता है मानक pep8

अच्छी बात यह है कि यह करने के लिए कॉन्फ़िगरेशन की Geany काफी लचीला है और आसानी से जोड़ा जा सकता है करने के लिए अनुपलब्ध हैं. मुझे करने दो अजगर प्रलेखन जोड़ें हमारे IDE करने के लिए:

  • पुल अपने निम्नलिखित स्क्रिप्ट कहीं न कहीं हमारे रास्ते में, उदाहरण के लिए, के रूप में/usr/बिन नहीं भूल जाओ यह निष्पादन योग्य बनाने के लिए
  • हम निम्नलिखित पंक्ति जोड़ें सेटिंग के रूप में फ़ाइल ~/.config/geany/filedefs/filetypes.python को संपादित करें context_action_cmd = pydocw %s. अगर वहाँ केवल binarkata के नाम से पिछले चरण जोड़ना है. Geany चलाते हैं, तो रिबूट.
  • हम पहले से ही प्रसंग-क्रिया होगा कि आप फ़ंक्शन के बारे में जानकारी खींच लिया है. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. मुझे बहुत पसंद है क्योंकि ज्यादा मुझे annoys netbeans दृष्टिकोण इस दृष्टिकोण नमकीन पानी.

अब तक सब अच्छा है. उसके बाद मैं एक सत्यापन कोड है कि आप लिखने के लिए चाहते हैं – आप यह आम तौर पर स्वीकार किए जाते हैं मानक के अनुसार लिखने या लिखने के किसी भी Weirdos. सामान्य तौर पर मैं फिर से पाया tutorialče कैसे चीजें होती हैं, लेकिन यह थोड़ा पुराना है – सब कुछ आप में बनाया केवल पैकेज pep8 स्थापित करने के लिए है Geany है. Pep8 कैसे जादू होता है की खोज करने के लिए अन्य distrota में काम करता है डेबियन apt-मिल में स्थापित. पर बनाएँ मेनू में दूसरा बटन (कम से कम मेरे लिए) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

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

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

वर्डप्रेस में डोमेन को परिवर्तित करने के लिए कुछ दर्द है. हाल ही में मैं इनमें से कुछ नहीं था और सब कुछ तेजी से खेल 😀 होता है . अगर मैं sumariziram कर सकते हैं कदम हैं 2 – स्वाभाविक रूप से फ़ाइलें ले जाए बिना, सेटिंग्स बदल रहे हैं, तो पूरी तरह से होस्टिंग.

1. एक नए के साथ पुराने URL परिवर्तित करें – यहाँ बातें तुच्छ हैं. अपनी URwp-config.php फाइल खोलने और इसे निम्न में चिपकाएँ 2 रेखा

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

Http की जगह के रूप में://अपने नए के साथ example.com.

2. साइट अब जैसे छवियाँ अपलोड की गई सामग्री पर खुला यूआरएल काम है, दस्तावेज़ और इतने पर दृश्यमान नहीं है. यहाँ अब हस्तक्षेप. आप पुराने डेटाबेस में नए यूआरएल के साथ प्रतिस्थापित करने की आवश्यकता. यह शुरुआत उपयोगकर्ताओं के लिए विशेष रूप से एक बहुत कष्टप्रद प्रक्रिया थी, जो SQL सिंटैक्स के साथ अच्छी तरह से नहीं करते हैं, но вече има доста приятен скрипт searchreplacedb2, जो यह आप के लिए असहज. इसके उपयोग तुच्छ है – यह जहां आपके पृष्ठ wordpress है रूट निर्देशिका में अपलोड करें और यह अपने ब्राउज़र - में खोलें. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

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

A shell script wants your job

Днес докато работех видях че една от машините лагна много жестоко. Влизам в нея гледам един cron наблъскал адски много зомби процеси (грубо около 50-60). Нямаше как да ги убия всички с killall затова се наложи да направя малко по грамотно решение на проблемада драсна едно елементарно दे घुमा के скриптче което да намери и убие процесите. 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 द्वारा बढ़ाया

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за MySQL पूर्ण पाठ खोज 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне 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 на заявката и всичко лъснавторото поле secondTextField е само full text search без index, а там табличката е скромна от около 35к реда. Кой да четеfull text search не е индекс. Вече е ясен проблема набързо едно

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

И нещата си дойдоха на местата Query took 0.0005 sec 😀

Внимавайте как си слагате индексите от тях ви зависи маргинално скоростта на заявката.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва full text search метода 😀

Zemanta द्वारा बढ़ाया