DN42 je divan projekat koji vam omogućava da razviju svoje sposobnosti bez struganje BGP proizvod okoline, bez potrebe za skup uređaja pomoću kojih ćete napraviti tvoja laboratorija da uradim simulacije sa GNS3. U isto vreme nije čista laboratorija okruzenje tamo gde je nema problema u stvarnom svetu. Učestvuje sa 1 čvor u projektu za oko godinu dana. Jedan od problema u projektu je 1:1 sa stvarnim svetom – Kada neko najavio prefikse koje ne treba da se izjasne. Jer sam lenj i nije mi kucanje na zalihama put filteri, Mislio sam da je problem sa jednostavnim bash skripti koje generiše listu prefiks sa imenom dn42 i sipaj važeći prefiksi.

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

Listu važećih prediksi u https://ca.dn42.US/Reg/filter.txt iz glavnog traka + mali modulima s moje strane da biste generisali listu prefiks. Komande se izvršavaju u vtysh.

Мој омиљени текст едитор Геани. То је врло минималистички ОВДЕ који подржава велики избор језика – шкољка, ПХП, питон, Ц … итд. Ту је аутоматско довршавање док пакао је агилан. То нема повремено угоднији, али у овом тренутку за мене је више него довољно. Почео сам онлајн курс python Программинг на СофтУни – да обнове своје знање и да унапреди јер нисам после адекватан шта се дешава са питхон 3. Предавачи курса препоручује ПиЦхарм као ИДЕ за програмирање питон, али мени далеко од мом укусу, наравно користити Геани за вежбе.

Током предавања болно осетили 2 несташице

  1. питон Аутоцомплете-а унижени од документације до функција и методе
  2. не процене за пеп8 стандардни

Добра вест је да Геани је довољно флексибилности да би од конфигурације и лако се може допунити пропустио што. пустити адд питхон документацију на нашем ИДЕ:

  • Извуци Следећи скрипта негде на нашем путу као / уср / не заборавите да је извршни
  • измените фајл ~ / .цонфиг / Геани / филедефс / филетипес.питхон Подешавања део додајте следећу линију цонтект_ацтион_цмд = пидоцв% с. Уколико постоји додавањем само назив бинарката из претходне фазе. Рестартовати Геани ако рун.
  • Ми већ имамо контекст-акцију која ће уклонити информације о функцији. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. Леацх ми овај приступ веома много јер волим нервира ме НетБеанс приступ.

Засада је добро. Онда сам заиста желео да има код валидације пишеш – да ли пишем у складу са општеприхваћеним стандардима или писати било ружно. У принципу сам поново нашла туториалче како се ствари дешавају, али је мало застарео – Геани је све урађено у себе само треба да га инсталирате пеп8 пакет. У Убунту апт-гет инсталл пеп8 ради само у другом дистрота да открију како магиц хаппенс. У дугмету другом буилд мени (барем мени) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

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

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

Да бисте променили домен у ВордПресс је неки бол. Недавно сам морао да урадим неколико ствари већ дешава брзих спортских 😀 . Ако могу да сумаризирам кораци су 2 – природно, без померање фајлова, поставке ако промени потпуно хостинг.

1. Промена стари УРЛ за нови – Ovde su trivijalne stvari. Отворите вп-цонфиг.пхп и ставите га у овим 2 ред

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

Као заменити хттп://екампле.цом са својим нови.

2. За сада је добро сада локација отвори урл-ог рад, али уплоадед садржај као што су слике, документи и тако не види. Овде већ има старта. Они морају заменити стари УРЛ-ог у новој бази података. Било је страшно мучан процес, посебно за почетнике, који не раде добро ради са СКЛ синтаксе, Ali već postoji prilično dobar scenario сеарцхреплацедб2, што га чини непријатно за вас. Употреба је тривијалан – поставите је у роот директоријуму где је ВордПресс страницу и отвори га у бровсер-твој. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. Posle poslednjeg koraka moraćete da me sačekate da uzmem prosek od 40 sec-50 sec..

Ovo je u osnovi ništa teško ili super komplikovano.

A shell script wants your job

Danas kada sam radio, video sam da je jedna od mašina bila veoma okrutna. Ušao sam u njen sat, Kron je žestoko udario gomilu zombija (Otprilike 50-60). Nisam mogao da ih ubijem sve Killall Tako da sam morao da napravim još malo pismena rešenja za problem – Da se malo zakrpa Басх Skripta za pronalaženje i ubijanje procesa. 50-PID nije lako ispisanu rukom :D. Scenarij ga je ogrebala na minutu i veoma je jednostavan ali još uvek zaslužuje pažnju 🙂

U njenoj bazi sedi na konveu

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

Ovde imamo listu svih PIDA procesa koje moramo da kilemo kao isključivanje grep sa te liste. Već kao što imamo popis stvari se sve više lako rotira u jedan za. Ovo je konačan rezultat

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

To može biti “Podesio” Kako se ime uzima kao argument nakon imena skripte i na taj način je pozvan kao izvršna binarno. Međutim, nije baš dobra praksa imati mnoge tako česte slučajeve 😀 ali nas nikada ne sprečava da budu zaštićeni od svih vrsta slita

Potpomognuto Zemanta

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за Pretraživanje MySQL punog teksta 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне 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 метода 😀

Potpomognuto Zemanta