DN42 to wspaniały projekt, który pozwala rozwijać swoje umiejętności bez BGP-niszczącej środowisko produktów, bez konieczności mieć drogiego sprzętu, z którym do zrobienia laboratorium robić symulacje z GNS3. Chociaż nie jest czystym środowisku laboratorium, w którym nie ma żadnych problemów świata rzeczywistego. uczestniczyć w 1 Węzeł w projekcie przez około rok. Jednym z problemów w projekcie 1:1 z realnego świata – gdy ktoś ogłosił prefiksy nie powinno ogłoszone. Bo jestem leniwy i nie mam jeszcze czas odręczne filtrów, Rozwiązuj problemy z prostego skryptu bash, że generują name prefix-list dn42 i wlać poprawne przedrostki.

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

Lista ważnych prediksi wziąć https://ca.dn42.us/reg/filter.txt gdzie główny przenośnik + małe modyfikacje w mojej strony, aby móc wygenerować listę prefiksu. Polecenia są wykonywane w vtysh.

Mój ulubiony edytor tekstu to geany. Jest on bardzo minimalistyczny ide że obsługuje szeroki zakres języków – muszla, pzp, pyton, c. … itp.. Jest ich sukcesywne i w tym samym czasie cholernie zgrabnie. Brakuje mu jednej i drugiej przyjemną możliwością, ale i na ten moment dla mnie to bardziej niż w zupełności wystarczy. Ja kurs online pyton programowania na SoftUni – aby освежа wiedzę i będzie je aktualizować tak jak ja nie śledził właściwie, co się dzieje z python 3. Prelegentów z kursu polecam pycharm jak IDE do programowania pyton, ale mi nie mój gust, oczywiście, używam Geany do ćwiczeń.

Podczas wykładu poczuł bolesne 2 brak

  1. python autocomplete-a można wybrać się do dokumentacji, funkcji i metod
  2. nigdy nie pep8 standard

Rzecz w tym, że Geany jest na tyle elastyczne, niż do konfiguracji i może być łatwo uzupełniony niż na takich zaginionych. Dalej dodaj python dokumentacji na naszej IDE:

  • дърпаме go następujący skrypt gdzieś na nasz SPOSÓB, na przykład /usr/bin, jak i nie zapominamy uczynić go wykonywalnym
  • edycja pliku ~/.config/geany/filedefs/filetypes.python, jak i w sekcji settings, dodajemy następujące linie działania w ramach _ _ cmd = pydocw% s. Jeśli istnieje tylko dodajemy nazwę бинарката z poprzedniego kroku. Rewire Geany, jeśli pracować.
  • Mamy już context-action, który pozwoli ci wyciągnąć informacje na temat funkcji. al - si - добавих skrót przez to nie jest moje prawo do функционалност kato. Leach mi się to podejście bardzo mi się podoba, bo bardzo mnie irytuje podejście netbeans.

Tutaj dobrze. Potem bardzo mi się chce, żebym nigdy kod, który piszę – jeśli go napisać na ogólnym przyjętym standardom lub pisać jakieś грозотии. W sumie znalazłem ponownie tutorialče jak dzieją się rzeczy, ale to trochę nieaktualne – Geany jest wszystko to wkomponowane w sobie, tylko trzeba go zainstalować pakiet pep8. W Debianie apt-get install pep8 sprawia, że praca w pozostałych дистрота sami musimy dowiedzieć się, jak dzieje się magia. W menu Build drugi przycisk (przynajmniej u mnie) jest coś po кликването znajdzie, jak brzydki kod zrobiłeś

screenshot od 2016-01-11 20-42-21

zasadniczo jest to, jak sprawić, by geany działa lepiej z pytona i jednocześnie nadal być szybko bez prowadzić przetwórca chce kulkę.

Zmiany domeny w WordPress jest pewnym bólu. Ostatnio mi się, być może, trzeba będzie zrobić kilka takich i już rzeczy dzieją się szybko sportowe 😀 . Jeśli mogę сумаризирам kroki 2 – naturalnie, nie przenosić pliki, ustawienia jeśli całkowicie zmienić hosting.

1. Zmiana starego adresu URL z nowego – tutaj wszystko jest trywialnie. Otwarcia wp-config.php plik i wklej następujące 2 kolejność

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

Jak замествате http://example.com z nowego.

2. Tu już dobrze, twoja strona otwiera adres url-om działają, ale каченото treści, takich jak zdjęcia, dokumenty i dlatego nie widać. Teraz trzeba w brutalnej interwencji. Trzeba wymienić stare adresy url-felgi z nowymi w bazie danych. To był strasznie trudny proces, szczególnie dla początkujących użytkowników, które nie bardzo dobrze z SQL składnia, НО ВЕЧЕ ИМА ДОСТА ПРИЯТЕН СКРИПТ searchreplacedb2, który sprawia, że wszystkie niewygodne dla ciebie. Jego użycie jest banalne – wgraj go do katalogu głównego, w którym znajduje się wordpress strony i go otworzyć za pomocą przeglądarki-a ty. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

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

A shell script wants your job

Днес докато работех видях че една от машините лагна много жестоко. Влизам в нея гледам един cron наблъскал адски много зомби процеси (грубо около 50-60). Нямаше как да ги убия всички с killall затова се наложи да направя малко по грамотно решение на проблемада драсна едно елементарно grzmotnąć скриптче което да намери и убие процесите. 50-тина PID-а не се пишат лесно на ръка :re. Скрипта го надрасках за минута и е свръх елементарен но все пак заслужава внимание 🙂

В основата му седи конвейера

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

Wzmocnione przez Zemanta

Image representing MySQL as depicted in CrunchBase

Jakiś czas temu pisałem o MySQL pełny tekst wyszukiwania 🙂 Dzisiaj miałem bardzo ciekawe doświadczenia z kwerendy. Ogólnie rzecz biorąc wyniki, których brakuje w innej tabeli szuka kwerendy. A wybierz sub osnovne i wybierz w części gdzie aplikacji. Ogólnie rzecz biorąc, szkielet i jest

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

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

Ogólnie rzecz biorąc wniosek prosty. Napisałem ją dla 30 SEC zwolnienia jej i zatrzymany maszynę. Po długo i cierpliwie czekam na mojej strony lub po prostu ~ 43 sec . Pluć moja Ocena na lol . Pfff dom wariatów. Wprowadź w maszynie, na której szuka CPU jest normalnym obciążeniu prawie w stan spoczynku. Szok i przerażenie. Uruchom kwerendę ponownie nadal ten sam wynik. Kurwa WTF. Uruchom kwerendę i wyjaśnić wszystko I – drugie pole jest tylko secondTextField przeszukiwanie pełnego tekstu Nie indeksu, i jest skromny taca około 35 k linii. Co do czytania – indeks wyszukiwania pełnotekstowego nie jest. Jest już jasne, bardzo szybko jeden problem

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

I rzeczy zwrócił miejsc, wziąłem kwerendy 0.0005 s 😀

Uważaj, jak umieścić indeksy z nich zależy od Twojego kredytu marginalnego aplikacji.

p. s jako całość mylę o powyższej sytuacji nie tylko dlatego, że brakuje indeksu, ponieważ nie używa 😀 Metoda wyszukiwania pełnotekstowego

Wzmocnione przez Zemanta