Wypowiedzi
-
Poza wymaganiami i info czym zajmuje się firma, podejrzewam że będą to:
1. Widełki płacowe
2. Info ile z tego bierze agencja rekrutacyjna
3. Rozmowa wstępna na skype
4. Pokrycie kosztów na ewentualną podróż na rozmowę właściwą
5. Pomoc w zakwaterowaniu -
Silesian PHP User Group
w dniu 27 lutego 2013 roku o godzinie 18:00
w Sali Konferencyjnej Centrum Kultury Studenckiej "Mrowisko"
w Gliwicach przy ulicy Pszczyńskiej 85.
http://spug.pl/2013/02/20/trzecie-spotkanie.html -
wrzuć ogłoszenie na menopauza.pl , wtedy będziesz miał szansę na odzew :P
-
szukam firmy z woj. mazowieckiego która wystawi odpowiedni papier na czas szkolenia :P
-
test instalacji FreeTDS:
tsql -H 192.168.0.100 -D nazwa_bazy -p 1433 -U user -P haslo
exec SP_TABLES
go
pdo:
$dsn="dblib:dbname=nazwa_bazy;host=192.168.0.100:1433;charset=UTF-8;appname=abcd";
$db = new PDO($dsn, "user", "haslo");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$err = $db->errorinfo();
if ($db->errorcode()<>"00000") { echo($err[2]); }
albo odbc:
odbc.ini:
[MSSQLServer]
Driver = TDS
Description = My uber pro db
Trace = No
Server = 192.168.0.100
Database = nazwa_bazy
php:
$conn_mssql = odbc_connect("MSSQLServer","user","haslo");
$result=odbc_exec($conn_mssql, "SP_TABLES");
while(odbc_fetch_row($result)) echo odbc_result($result,1);
możesz się jeszcze upewnić czy host docelowy aby na pewno pozwala ci się połączyć na port:
telnet 192.168.0.100 1433 -
a bardziej elegancko:
$text = sprinft("Witaj %s w naszym serwisie", $user);
-
class MyLib_Controller_Action extends Zend_Controller_Action
{
public function init()
{
$this->view->categories = MyLib_Model_Category::findAll();
}
}
class IndexController extends MyLib_Controller_Action
{
public function indexAction()
{
print_r($this->view->categories);
}
}
w Zendzie nie dziedziczysz po wbudowanych klasach tylko robisz klasy pośrednie i po nich dziedziczysz
przy rozwiązaniu powyżej wszystkie kontrolery dziedziczące po MyLib_Controller_Action automagicznie odpalają init() -
jeśli masz na to czas to imo nalepsza opcja 3
do małych firm raczej nie startują PROsi i wolą wiedzieć co źle robią
nawet PROsi mają złe nawyki lub nieodpowiadające aktualnym potrzebom firmy, zgodnie z zasadą, że przy pracy zespołowej łatwiej dostosować jednego do reszty niż odwrotnie
z drugiej strony PRO-rektruterzy często są przekonani o swojej nieomylności
zawsze istnieje niebezpieczeństwo, że ktoś pomyśli sobie, że ocieka zajebistością w takim stopniu, że nikt nie powinien mu wytykać błędówKrzysztof Korzeniewski edytował(a) ten post dnia 24.11.11 o godzinie 23:26 -
można zrobić jakąś analogię do Stowarzyszenia Elektryków Polskich:
- nie możesz zrobić CRM'a bo masz uprawnienia tylko do CMS'ów
- w jaki sposób ukarać webdesignera jeśli klient dozna przez jego pracę uszczerbku na zdrowiu
można wymyślić więcej :) -
humm
70k € p.a. = 5633,33 € p.m
4,3499 PLN/€
5633,33 * 4,3499 = 24504,42 PLN/m
where to sign ? :P -
sposób prosty: http://www.mysqludf.org/lib_mysqludf_preg/
sposób trudny:
UPDATE `tabela` SET `opis` =
REPLACE(`opis`,
SUBSTR(`opis`,
LOCATE('[', `opis`),
LENGTH(`opis`) - LOCATE(']', `opis`)
), ''
)
ps. nie testowano na zwierzętach -
szkoda że nikt nigdzie nie wyjaśnia prawniczych quirków związanych z licencjami
jeśli jakiś serwis udostępnia publicznie coś na GPL jak np code.google
ja sobie wrzucam <script type="text/javascript" src="http://code.google.com/js.js"></script>
to czy moja aplikacja umieszczona na moim serwerze korzysta z tego js'a czy też przeglądarka klienta korzysta z js'a ?
pewnie znalazłyby się setki tego typu nonsensów -
CREATE TABLE `nested_set` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`lft` int(10) unsigned NOT NULL,
`rgt` int(10) unsigned NOT NULL,
`depth` int(10) unsigned NOT NULL,
`visible` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `nested_set` (`id`, `name`, `lft`, `rgt`, `depth`, `visible`) VALUES
(1, 'ROOT', 1, 10, 0, 1),
(2, 'cat1', 2, 5, 1, 1),
(3, 'cat1_1', 3, 4, 2, 1),
(4, 'cat2', 6, 9, 1, 1),
(5, 'cat2_2', 7, 8, 2, 1);
zniknięcie aktualnego elementu ('cat1') wraz z podelementami:
UPDATE nested_set
SET visible=0
WHERE lft>=2 AND rgt<=5
wyświetlenie widzialnych elementów dla 'ROOT'a
SELECT c.*
FROM nested_set p
JOIN nested_set c ON c.lft > p.lft AND c.rgt < p.rgt AND c.visible=1
WHERE p.id=1
-
brudny hack ale działa
plik:linia
jeśli nie ma to dodaj jeśli jest to popraw:
/application/modules/site/controllers/NewsletterController.php:3
s/Site_IndexController/Site_NewsletterController
/application/Bootstrap.php:24
$view->addBasePath(APPLICATION_PATH.'/modules/site/views');
/application/modules/site/views/layouts/layout.phtml:13
<?php echo $this->action('index', 'newsletter', 'site'); ?>
jeśli jedziesz na phpcon to tam mogę odebrać moją wódeczkę :P -
nie wiem, może źle zainicjowana "modułowość":
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.prefixDefaultModule = true
resources.frontController.defaultModule = "site"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
-
sprawdziłem z ciekawości - działa bez zarzutu pomiędzy modułami
może masz źle ustawione wyświetlanie errorów/wyjatków że nic nie pokazuje
Krzysztof Korzeniewski edytował(a) ten post dnia 14.09.11 o godzinie 22:57
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpSettings.track_errors = 1
phpSettings.error_reporting = E_ALL | E_STRICT
resources.frontController.params.displayExceptions = 1
-
wyłóż to bardziej łopatologicznie
bo nie wiem czy chcesz wyrenderować akcję w widoku czy inny widok
layout to też widok -
gzipem sie pakuje pliki
funkcjami ze zliba można se pakować stringi ;p -
imo raczej w którymś pliku php po znaczniku zamykającym ?> dodane jest </body></html> przez co jest dodawany na początku wszystkiego co wypluwa