DN42 est un projet merveilleux qui permet de développer vos compétences sans racler l’environnement du produit BGP, sans que vous ayez d’avoir des appareils coûteux permettant de rendre votre laboratoire à faire des simulations avec GNS3. En même temps n’est pas un environnement de laboratoire pure où il n’y a aucun problèmes du monde réel. Participer avec 1 nœud dans le projet pour environ un an. Un des problèmes du projet est 1:1 avec le monde réel – Quand quelqu'un a annoncé les préfixes qui n’ont pas besoin de déclarer. Parce que je suis paresseux et n’ont pas envie de taper sur place les filtres de temps, J’ai pensé que le problème avec un script bash simple qui génère une liste de préfixes avec le nom dn42 et versez les préfixes valides.

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

La liste des prediksi valide en https://ca.dn42.US/reg/Filter.txt du convoyeur principal + peu de mods de ma part pour être en mesure de générer une liste de préfixes. Les commandes sont exécutées en vtysh.

Mon éditeur de texte favori est Geany. Il est très minimaliste IDE qui prend en charge une vaste gamme de langues – coquille, php, python, C … etc.. A leur saisie semi-automatique et en même temps sacrément adroitement. Pas assez de lui un et l'autre l'agréable occasion, mais en ce moment, pour moi, c'est plus que suffisant. Je cours en ligne Programmation python sur SoftUni – pour освежа les connaissances et les mettre à jour car je n'ai pas suivi de manière adéquate, ce qui se passe avec python 3. Intervenants cours recommandent PyCharm comme IDE pour la programmation pyton, mais j'ai de loin pas mon goût, naturellement, je l'utilise Geany pour les exercices.

Lors d'une conférence ressenti douloureux 2 la pénurie de

  1. python autocomplete-et vous expirez de la documentation, des fonctions et des méthodes
  2. vous n'aurez jamais à pep8 norme

Le fait que Geany est assez souple, qu'à la configuration et peut être facilement complétée par de l'absence de ces. Nous allons ajouter la documentation de python sur notre IDE:

  • дърпаме son le script suivant quelque part sur notre CHEMIN, par exemple, /usr/bin, comment et n'oubliez pas de le rendre exécutable
  • éditez le fichier ~/.config/geany/filedefs/filetypes.python, comme dans la section settings, ajouter les lignes suivantes context_action_cmd = pydocw %s. Si il y a uniquement ajouter le nom de бинарката de l'étape précédente. Remonter Geany, si travailler.
  • Nous avons déjà un context-action, qui vous permettra de tirer des informations sur la fonction. J’ai ajouté un raccourci à mon préféré que je ne vois pas toutes les fonctionnalités. Liche, ce qui est une approche très j'aime, parce qu'il est très gênant pour moi netbeans approche.

Ici, bien. J'ai très envie que je ne code que j'ai écris – si vous écrivez générale des normes ou écrire des грозотии. En général, je l'ai trouvé encore tutorialče comment se passent les choses, mais c'est un peu obsolète – Geany est tout ce qu'il est intégré dans un seul, vous devez installer le paquet pep8. Dans Debian apt-get install pep8 fait le travail dans d'autres дистрота eux-mêmes doivent savoir que la magie opère. Dans le menu générer le deuxième bouton (au moins chez moi) est la charpie après en cliquant, vous lui trouverez laid code vous créé 😀

Capture d’écran de 2016-01-11 20-42-21

Il s’agit essentiellement comment faire votre Geany fonctionnent mieux avec Python et en même temps, continuer à être un jeûne le CPU que vous voulez tirer la balle de conduite.

Pour modifier le domaine dans WordPress est une douleur. Récemment, j’ai dû faire quelques uns d'entre eux et tout passe sports rapides 😀 . Si je peux sumariziram que les étapes sont 2 – naturellement, sans déplacer les fichiers, Si les paramètres changent entièrement l’hébergement.

1. Changer l’ancienne URL avec un nouveau – ici les choses sont triviaux. Ouvrez le fichier URwp-config.php et collez-le dans ce qui suit 2 ligne

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

Comme remplacer http://exemple.com avec votre nouveau.

2. Le site est maintenant travail d’ouvrir une url mais le contenu téléchargé tels que des images, des documents n’est pas visible. Voici maintenant l’interférence. Vous devez remplacer l’ancienne avec la nouvelle url-dans la base de données. C’était un processus terriblement gênant surtout pour les utilisateurs débutants, qui ne font pas bien avec la syntaxe SQL, но вече има доста приятен скрипт searchreplacedb2, qui le rend mal à l’aise pour vous. Son utilisation est trivial – Téléchargez-le dans le répertoire racine où wordpress est votre page et l’ouvrir dans votre navigateur-. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

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

A shell script wants your job

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

Amélioré par Zemanta

Image representing MySQL as depicted in CrunchBase

Il y a quelque temps j'ai écrit MySQL Texte intégral Recherche Aujourd'hui, je 🙂 eu une expérience très intéressante avec une application. En général, les recherches d'application pour des résultats qui ne possède pas une autre table. Sélectionnez un principal et un sélectionner dans la partie WHERE de l'application. En général et squelette

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

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

demande fondamentalement simple. Je l'ai écrit pour 30 sec l'exécuter, et bloqué la machine. Après une longue et attendant patiemment de ma part ou juste ~ 43 sec . Il a craché résultat lol . pfff madhouse. Processeur Connexion look de la machine est normalement occupée état presque inactif. Choc et crainte. Replay demande à nouveau le même résultat. putain WTF. Exécuter expliquer la demande et tout rayonnait – secondTextField deuxième champ uniquement recherche en texte intégral indice без, et il y a un plateau modeste d'environ 35K lignes. qui a lu – recherche en texte intégral не е индекс. problème déjà clair rapidement un

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

Et les choses se mettaient en place la requête a 0.0005 sec 😀

Soyez prudent lorsque vous mettez les indices d'entre eux dépendent de votre demande de taux marginal.

p.s Je suis accroché ensemble sur la situation supérieure non seulement parce qu'il n'y a pas d'index, mais parce que ne pas utiliser la méthode de recherche en texte intégral 😀

Amélioré par Zemanta