Ако бяхме 60те....
Как биха изглеждали рекламите на най-големите IT компании ако бяха страртирали своите проекти през 60те години на 20 век? Една бразилска агенция на име Moma си е задала този въпрос и ето го резултата.
Как биха изглеждали рекламите на най-големите IT компании ако бяха страртирали своите проекти през 60те години на 20 век? Една бразилска агенция на име Moma си е задала този въпрос и ето го резултата.
В ерата на Windows 7 все още се налага тук таме да се инсталират операционни системи от преди мноооого години :) Днес ми се наложи да форматирам едно лаптопче Dell имах на дискове
Преди наколко дни си сглобих едно скриптче на Python което да ми архивира и праща базата данни към email-а през определен период от време (cron). Скриптчето е тествано и работи на сървърите на Superhosting.bg
import commands import sys import time import os import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MIMEText from email.Utils import COMMASPACE, formatdate from email import Encoders db_host = '127.0.0.1' db_user = "username_for_database" db_pass = "*******************" email_user = "" email_smtp_server = "*.superhosting.bg" email_from_user = "Yuks <admin@yuksbg.net>" email_smtp_login_user = "admin@yuksbg.net" email_smtp_login_pass = "*******" email_smtp_server_port = "25" email_smtp_sent_to = ["backUp@yuksbg.net"] temp_folder = "/home/*****/scripts/backup_db/" def backup_db(currentDatabase): backupFile = temp_folder + currentDatabase + ".sql" backupFilePath = temp_folder + currentDatabase + ".sql" zipFile = temp_folder + currentDatabase + ".tgz" commands.getoutput("mysqldump --host=%s --opt --user=%s --password=%s %s > %s" % (db_host, db_user, db_pass, currentDatabase, backupFilePath)) os.chdir(temp_folder) commands.getoutput("/bin/tar cfz %s %s" % (zipFile, backupFile)) os.remove(backupFilePath) def sendMail(to, subject, text, files=[]): assert type(to)==list assert type(files)==list msg = MIMEMultipart() msg['From'] = email_from_user msg['To'] = COMMASPACE.join(to) msg['Date'] = formatdate(localtime=True) msg['Subject'] = subject msg.attach( MIMEText(text) ) for file in files: part = MIMEBase('application', "octet-stream") part.set_payload( open(file,"rb").read() ) Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file)) msg.attach(part) smtp = smtplib.SMTP(email_smtp_server,email_smtp_server_port) smtp.login(email_smtp_login_user, email_smtp_login_pass) smtp.sendmail(email_from_user, to, msg.as_string() ) smtp.close() def backup_and_send(bdatabase): backup_db(bdatabase) sendMail(email_smtp_sent_to,"Database archive of " + bdatabase,"Database " + bdatabase,[temp_folder + bdatabase + ".tgz"]) os.chdir(temp_folder) os.remove(bdatabase + ".tgz") #print "ok!" backup_and_send(sys.argv[1])За да работи коректно е нужно да се променят някои от параметрите и по конкретно
db_host = '127.0.0.1' // сървъра на mysql db_user = "username_for_database" // потребителското име за достъп до Mysql db_pass = "*******************"// паролата за достъп до Mysql email_user = "" email_smtp_server = "*.superhosting.bg"// smtp сървъра за изпращане на mail email_from_user = "Yuks <[email protected]>"// полето от на изпращания емаил email_smtp_login_user = "[email protected]"// потребителя за smtp сървъра email_smtp_login_pass = "*****"//паролата за smtp сървъра email_smtp_server_port = "25" // порта за smtp сървъра email_smtp_sent_to = ["[email protected]"] // email адреса до който ще се праща temp_folder = "/home/*****/backup_db/"// временна директория с права за писанеРаботата със скрипта е по следния начин:
python /full/path/to/script/script.py database_to_archive
Може да се свали и от тук
За повечето от потребителите Windows Sysinternals Tools навярно няма да говори нищо, но нека да се опитам да го обясня, това са няколко инструмента на фирмата Sysinternals, които Microsoft са купили пред далечната ехеей 2006г. Лично моята първа среща с тези инструменти е била горе долу по това време, когато бях ученик и смело правех опити за конфигуриране на работещ (правилно) AD сървър...... (тук е мястото да благодаря на Петър Георгиев за помощта, напътсвията и огромното търпение).
Та от известно време всичките тези инструменти за диагностика,управление и т.н са достъпни директно и като Mapped Drive. Адреса е live.sysinternals.com/tools
. Ако се отвори през уеб ще се види списък с опцийка за теглене, но ако се въведе в Start->Run
прозореца \\live.sysinternals.com\tools\
net use * \\live.sysinternals.com\tools
командата в команден ред ще имаме достъп до въпросните инструменти като мрежово ус-во.
Едно от хубавите неща е JQuery e възможността за използване на chaining. Това се постига благодаренение на това че почти всички методи и функции в jquery фреймуорка връщат jquery обект. Така нека да направим следното: имаме елемент с ID "menu" на който искаме да му добавим css class и после малко margin. Без chaining кода би изглеждал така:
$(document).ready(function(){ $('#menu').addClass('.active'); $('#menu').css('margin-left','20px'); });а с използването на т.н chaining би изглеждали така
$(document).ready(function(){ $('#menu').addClass('.other_class') .css('margin-left','20px'); });Изглежда малко по-добре нали? Това е точно философията на Jquery - "Write less, do more". Като цяло това е много малък пример, но така се постига бързодействие на самия код, защото js frаmework а не претърса целия документ отново и отново а вече "знае къде" е обекта и му прилага зададените функции/методи.