<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Łukasz Ważny - devblog| Łukasz Ważny - devblog</title>
	<atom:link href="http://blog.lukaszwazny.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukaszwazny.pl</link>
	<description></description>
	<lastBuildDate>Sun, 29 Jul 2012 10:11:46 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.15</generator>
	<item>
		<title>[gnome-shell] Dodawnie skrótu do ulubionych.</title>
		<link>http://blog.lukaszwazny.pl/2012/07/gnome-shell-dodawanie-skrotu-do-ulubionych/</link>
		<comments>http://blog.lukaszwazny.pl/2012/07/gnome-shell-dodawanie-skrotu-do-ulubionych/#comments</comments>
		<pubDate>Sun, 29 Jul 2012 09:51:51 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[inne]]></category>
		<category><![CDATA[gnome-shell]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=208</guid>
		<description><![CDATA[Większość aplikacji można zainstalować w najaktualniejszej wersji z menadżera pakietów, ale czasem dostępne wersje są nieaktualne &#8211; np.: Eclipse czy jmeter. Bez problemu można je pobrać i uruchomić. Jednak skrótu aplikacji nie znajdziemy w Programach i nie dodamy do Dock&#8217;u z ulubionymi. Jeśli chcemy mieć dostęp do aplikacji z ulubionych, to w pierwszej kolejności musimy utworzyć skrót do aplikacji. Z poziomu terminala [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Większość aplikacji można zainstalować w najaktualniejszej wersji z menadżera pakietów, ale czasem dostępne wersje są nieaktualne &#8211; np.: Eclipse czy jmeter. Bez problemu można je pobrać i uruchomić. Jednak skrótu aplikacji nie znajdziemy w Programach i nie dodamy do Dock&#8217;u z ulubionymi.</p>
<p>Jeśli chcemy mieć dostęp do aplikacji z ulubionych, to w pierwszej kolejności musimy utworzyć skrót do aplikacji. Z poziomu terminala przechodzimy do katalogu ~/.local/share/applications/ i tworzymy skrót komendą gnome-desktop-item-edit:<code></code></p>
<p><code><br />
$ cd ~/.local/share/applications/<br />
$ gnome-desktop-item-edit . --create-new<br />
</code></p>
<p>Wybieramy ścieżkę do aplikacji, ikonkę.</p>
<div>
<p style="text-align: center;"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2012/07/Właściwości-aktywatora_001.png"><img class=" wp-image-202 aligncenter" title="Właściwości aktywatora_001" src="http://blog.lukaszwazny.pl/wp-content/uploads/2012/07/Właściwości-aktywatora_001.png" alt="Aktywator aplikacji Eclipse" width="648" height="266" /></a></p>
</div>
<p>Od tej pory aplikacja Eclipse powinna być dostępna w Programach.</p>
<p>Teraz wystarczy przeciągnąć skrót do Ulubionych i już można wygodnie ją uruchamiać z kliknięcia.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2012/07/gnome-shell-dodawanie-skrotu-do-ulubionych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome Shell vs Gnome 3 Classic</title>
		<link>http://blog.lukaszwazny.pl/2011/10/gnome-shell-vs-gnome-3-classic/</link>
		<comments>http://blog.lukaszwazny.pl/2011/10/gnome-shell-vs-gnome-3-classic/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 13:18:41 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=175</guid>
		<description><![CDATA[Od poprzedniego wydania Ubuntu, oczekiwałem na nowe wydanie Oneiric Ocelot. Głównie ze względu na możliwość bezproblemowej instalacji Gnome Shell. Niestety nie wytrzymałem ;), ciężko mi jest przestawić się na te nowe kolorowe ficzery. Pasek z ulubionymi i uruchomionymi aplikacjami jest schowany. Brakuje normalnego menu z aplikacjami &#8211; na dodatek to wyszukiwanie z klawiatury może i [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Od poprzedniego wydania Ubuntu, oczekiwałem na nowe wydanie Oneiric Ocelot. Głównie ze względu na możliwość bezproblemowej instalacji Gnome Shell. Niestety nie wytrzymałem ;), ciężko mi jest przestawić się na te nowe kolorowe ficzery. Pasek z ulubionymi i uruchomionymi aplikacjami jest schowany. Brakuje normalnego menu z aplikacjami &#8211; na dodatek to wyszukiwanie z klawiatury może i fajne, ale ma responsywność słonia.</p>
<p>Niestety mimo ładnego wyglądu cieszę się z możliwości powrotu do zwykłego, klasycznego pulpitu i działającego poprawnie avant-window-navigator&#8217;a. Dobrze, że można w końcu usunąć dolny gnome-panel &#8211; dodatkowe opcje z altem <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2011/10/gnome-shell-vs-gnome-3-classic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kolorowanie logów</title>
		<link>http://blog.lukaszwazny.pl/2010/12/kolorowanie-logow/</link>
		<comments>http://blog.lukaszwazny.pl/2010/12/kolorowanie-logow/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 11:55:16 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Narzędzia]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=164</guid>
		<description><![CDATA[Nasza praca wiąże się z przeglądaniem logów. Często podglądamy je na bieżąco poleceniem tail -f, czarno-biała treść loga jest często nieczytelna. Poniższe rozwiązanie szybko pokoloruje nam nasze logi. Poniższy skrypt wykorzystuje właściwie dwa polecenia z konsoli: sed oraz tput.  Używam go do kolorowania logów z jboss&#8217;a. Można go szybko dostosować modyfikując wyrażenia regularne i definicje [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span style="color: #000000;"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2010/12/kolorowanie.logów.png"><img class="alignright size-thumbnail wp-image-168" title="kolorowanie.logów" src="http://blog.lukaszwazny.pl/wp-content/uploads/2010/12/kolorowanie.logów-150x150.png" alt="" width="150" height="150" /></a>Nasza praca wiąże się z przeglądaniem logów. Często podglądamy je na bieżąco poleceniem tail -f, czarno-biała treść loga jest często nieczytelna. Poniższe rozwiązanie szybko pokoloruje nam nasze logi.<br />
</span></p>
<p><span style="color: #000000;">Poniższy skrypt wykorzystuje właściwie dwa polecenia z konsoli: sed oraz tput.  Używam go do kolorowania logów z jboss&#8217;a. Można go szybko dostosować modyfikując wyrażenia regularne i definicje kolorów, warto też sprawdzić możliwości sed&#8217;a, tutaj użyte to zaledwie ułamek jego możliwości.</span></p>
<p><span style="color: #000000;">Tworzymy skrypt jb.logColorizer o zawartości:</span></p>
<pre name="code" class="bash">
#!/bin/bash
red=`tput setaf 1`
green=`tput setaf 2`
white=`tput setaf 7`
yellow=`tput setaf 3`
bold=`tput bold`

reset=`tput sgr0`

sed \
-e "s|^\(.*INFO.*\)|$reset$white\1|" \
-e "s|^\(.*WARNING.*\)|$reset$yellow\1|" \
-e "s|^\(.*ERROR.*\)|$reset$red\1|" \
-e "s|^\(.*SEVERE.*\)|$reset$bold$red\1|" \
-e "s|^\(.*DEBUG.*\)|$reset$green\1|"
</pre>
<p>Wywołujemy przekazując strumień z tail -f:</p>
<pre name="code" class="bash">$ tail -f /path_to_my_log/server.log | /path_to_my_scripts/jb.logColorizer</pre>
<p>Linki:</p>
<ul>
<li><a title="tput oraz inne" href="http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/">Kolory w bash&#8217;u</a></li>
<li><a title="Informacje o sed" href="http://www.grymoire.com/Unix/Sed.html">Polecenie sed</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2010/12/kolorowanie-logow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status dysków Seagate Barracuda 7200.12 / 7200.11</title>
		<link>http://blog.lukaszwazny.pl/2010/11/status-dyskow-seagate-barracuda-7200-12-7200-11/</link>
		<comments>http://blog.lukaszwazny.pl/2010/11/status-dyskow-seagate-barracuda-7200-12-7200-11/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 20:39:36 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Sprzęt]]></category>
		<category><![CDATA[dysk]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=159</guid>
		<description><![CDATA[Sprawdziłem ponownie status SMART dysków w moim komputerze. Mam w posiadaniu 2 dyski Barracuda 500MBm jeden z rodziny 7200.11, a drugi 7200.12. Jeden z nich został zwrócony do sklepu na reklamację &#8211; nowy posiadał kilka relokowanych sektorów już w pierwszej godzinie użytkowania. Drugi też był reklamowany i wymieniony kilka sektorów pojawiło się także po kilku [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Sprawdziłem ponownie status SMART dysków w moim komputerze. Mam w posiadaniu 2 dyski Barracuda 500MBm jeden z rodziny 7200.11, a drugi 7200.12. Jeden z nich został zwrócony do sklepu na reklamację &#8211; nowy posiadał kilka relokowanych sektorów już w pierwszej godzinie użytkowania. Drugi też był reklamowany i wymieniony kilka sektorów pojawiło się także po kilku godzinach od podłączenia.</p>
<p>Obecnie oba pracują ponad rok. Pooniżej zamieszczam wszystkie dane ze smartctl, może ktoś zechce porównać <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<pre>smartctl 5.40 2010-03-16 r3077 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.12 family
Device Model: ST3500410AS
Serial Number: 6VM01J0K
Firmware Version: CC34
User Capacity: 500,107,862,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Fri Nov 19 21:27:54 2010 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 600) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 95) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 117 099 006 Pre-fail Always - 117866017
3 Spin_Up_Time 0x0003 097 097 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 417
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 9
7 Seek_Error_Rate 0x000f 074 060 030 Pre-fail Always - 26529753
9 Power_On_Hours 0x0032 095 095 000 Old_age Always - 4985
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 417
183 Runtime_Bad_Block 0x0000 100 100 000 Old_age Offline - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 092 000 Old_age Always - 438
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 070 062 045 Old_age Always - 30 (Lifetime Min/Max 23/32)
194 Temperature_Celsius 0x0022 030 040 000 Old_age Always - 30 (0 16 0 0)
195 Hardware_ECC_Recovered 0x001a 036 017 000 Old_age Always - 117866017
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 165472205019146
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 2686782036
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 1962601800

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.</pre>
<p>Ten jak zauważyłem na starcie zaliczył errora, ale trzyma się dzielnie <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<pre>smartctl 5.40 2010-03-16 r3077 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.11 family
Device Model:     ST3500320AS
Serial Number:    9QMAQTPK
Firmware Version: SD1A
User Capacity:    500,107,862,016 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Fri Nov 19 21:38:32 2010 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)    Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)    The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection:          ( 625) seconds.
Offline data collection
capabilities:              (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time:      (   1) minutes.
Extended self-test routine
recommended polling time:      ( 111) minutes.
Conveyance self-test routine
recommended polling time:      (   2) minutes.
SCT capabilities:            (0x103b)    SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate     0x000f   114   099   006    Pre-fail  Always       -       63815620
3 Spin_Up_Time            0x0003   094   094   000    Pre-fail  Always       -       0
4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       500
5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       4
7 Seek_Error_Rate         0x000f   075   060   030    Pre-fail  Always       -       33336672
9 Power_On_Hours          0x0032   093   093   000    Old_age   Always       -       6361
10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       1
12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       496
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   092   000    Old_age   Always       -       266292036101
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   070   063   045    Old_age   Always       -       30 (Lifetime Min/Max 23/30)
194 Temperature_Celsius     0x0022   030   040   000    Old_age   Always       -       30 (0 17 0 0)
195 Hardware_ECC_Recovered  0x001a   028   028   000    Old_age   Always       -       63815620
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0

SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
08 51 00 00 00 00 00  Error:

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
3f 00 c8 ff ff ff 4f 00      00:01:00.185  WRITE LOG EXT
00 00 00 00 00 00 00 04      00:01:00.019  NOP [Abort queued commands]
00 00 00 00 00 00 00 ff      00:00:59.995  NOP [Abort queued commands]
00 00 00 00 00 00 00 ff      00:00:07.853  NOP [Abort queued commands]

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
1        0        0  Not_testing
2        0        0  Not_testing
3        0        0  Not_testing
4        0        0  Not_testing
5        0        0  Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2010/11/status-dyskow-seagate-barracuda-7200-12-7200-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gotujemy skrypt synchronizacji kodziku</title>
		<link>http://blog.lukaszwazny.pl/2010/08/gotujemy-skrypt-synchronizacji-kodziku/</link>
		<comments>http://blog.lukaszwazny.pl/2010/08/gotujemy-skrypt-synchronizacji-kodziku/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 18:32:09 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Narzędzia]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[skrypt]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=144</guid>
		<description><![CDATA[Jednym z użytecznych elementów Eclipsa jest możliwość podłączenie narzędzia do projektu tzw. External Tool. Może to być np. walidator kodu, skrypt testujący lub np. synchronizacja kodu ze zdalnym serwerem na czym się skupię w tym poście. Istnieje oczywiście taki plugin jak SFTP Plugin, który umożliwia wgrywania kodu na zdalny serwer, ale w połączeniu z Subversive [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Jednym z użytecznych elementów Eclipsa jest możliwość podłączenie narzędzia do projektu tzw. External Tool. Może to być np. walidator kodu, skrypt testujący lub np. synchronizacja kodu ze zdalnym serwerem na czym się skupię w tym poście.</p>
<p>Istnieje oczywiście taki plugin jak <a title="SFTP Plugin for Eclipse" href="http://www.jcraft.com/eclipse-sftp">SFTP Plugin</a>, który umożliwia wgrywania kodu na zdalny serwer, ale w połączeniu z Subversive jest dość niewygodny i nie jest automatyczny.</p>
<p>Do wrzucania kodu na zdalny serwer stworzymy sobie skrypt używający linuksowego rsync&#8217;a, wrzucający zmienione pliki na serwer po każdym Ctrl+s. Jest to rozwiązanie i szybkie, i skuteczne, a działanie proste &#8211; rsync wykrywa zmienione pliki i transferuje za nas na zdalny serwer.</p>
<p>Piszemy skrypt i pamiętamy o chmod u+x dla pliku.</p>
<p>[bash]<br />
#!/bin/bash</p>
<p>workspace=$1<br />
targetServer=$2<br />
targetRootDir=$3<br />
projectName=$4</p>
<p>echo &quot;Synchronizing project ${projectName}, `date +%Y-%m-%d\ %H:%M:%S`&quot;<br />
echo &quot;&quot;<br />
echo &quot;Target ${targetServer}:${targetRootDir}${projectName}&quot;<br />
echo &quot;&quot;<br />
rsync -avz &#8211;delete &#8211;filter=&#8217;merge /path&#8230;ToMyLocalScripts/.rsyncfilter’ ${workspace}/${projectName}/ ${targetServer}:${targetRootDir}${projectName}<br />
[/bash]</p>
<p>Rsynca ustawiamy dodatkowo, oczywiście możemy go podkoksać wedle uznania (<a href="http://www.manpagez.com/man/1/rsync/" target="_blank">man page</a>). Oprócz standardowych opcji <strong>-avz -delete</strong> dodałem także filtr na pliki <strong>.svn</strong> &#8211; zyskujemy na transferach.</p>
<p>Filtr jakby co dla leniwych:</p>
<p>[bash]<br />
&#8211; .svn<br />
[/bash]</p>
<p><em>Edit: heh, można też dać opcję -C</em></p>
<p>Pozostaje jeszcze konfiguracja Eclipsa. Wchodzimy więc we właściwości projektu, dalej w Builders -&gt; New -&gt; Program i wybieramy skrypt</p>
<p><a href="../wp-content/uploads/2010/08/Edit_Configuration_1.png"><img title="Edit Configuration" src="../wp-content/uploads/2010/08/Edit_Configuration_1-249x300.png" alt="" width="249" height="300" /></a></p>
<p>oraz podajemy parametry, które zostaną przekazane do skryptu rsync&#8217;a. Jest tu niestety jeden mankament &#8211; zmienna ${project_name} nie jest poprawnie ustawiana podczas np. update&#8217;u kodu z SVN&#8217;a i kończy się ostrzeżeniem, ale można podać konkretną nazwę danego projektu i będzie działać poprawnie:</p>
<p>[bash]<br />
${workspace_loc}<br />
remoteUser@remoteServer<br />
/pathToTargetDir<br />
${project_name} #lub myProject</p>
<p>[/bash]</p>
<p>Na zakładce <strong>Build Options</strong> zaznaczamy opcje <strong>Launch in background</strong> spowoduje to wysyłanie plików w tle z raportem w konsoli. Druga ważna opcja to <strong>During auto builds</strong> dzięki niej skrypt zostanie uruchomiony automatycznie po zapisaniu każdego pliku.</p>
<p><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2010/08/Edit_Configuration_2.png"><img class="alignnone size-medium wp-image-149" title="Edit Configuration" src="http://blog.lukaszwazny.pl/wp-content/uploads/2010/08/Edit_Configuration_2-300x290.png" alt="" width="300" height="290" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2010/08/gotujemy-skrypt-synchronizacji-kodziku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Niedziałające przyciski w aplikacjach Java i Flash</title>
		<link>http://blog.lukaszwazny.pl/2009/12/niedzialajace-przyciski-w-aplikacjach-java-i-flash/</link>
		<comments>http://blog.lukaszwazny.pl/2009/12/niedzialajace-przyciski-w-aplikacjach-java-i-flash/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:08:25 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Narzędzia]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=131</guid>
		<description><![CDATA[Ostatnia aktualizacja Ubuntu zawiera nową wersję biblioteki GTK+, w której kilka rzeczy się troszeczkę zmieniło na lepsze. Wiadomo &#8222;lepsze jest wrogiem dobrego&#8221; i coś musiało się zepsuć, padło na ulubionego Eclipse&#8217;a oraz większość aplikacji stworzonych we Flash&#8217;u. Objawia się to tym, że część przycisków działa dobrze np. Next, Back w Eclipse, natomiast inne działają źle [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Ostatnia aktualizacja Ubuntu zawiera nową wersję biblioteki GTK+, w której kilka rzeczy się troszeczkę zmieniło na lepsze. Wiadomo &#8222;lepsze jest wrogiem dobrego&#8221; i coś musiało się zepsuć, padło na ulubionego Eclipse&#8217;a oraz większość aplikacji stworzonych we Flash&#8217;u.</p>
<p>Objawia się to tym, że część przycisków działa dobrze np. Next, Back w Eclipse, natomiast inne działają źle i tylko wyglądają na wciśnięte &#8211; np przyciski Finish w Eclipsie, czy przyciski na Youtube (play, przewijanie). Najbardziej jednak irytowało mnie zepsute ustawianie meczu w Hattric&#8217;u :). Problem występuje prawdopodobnie w większej liczbie aplikacji napisanych w Javie lub we Flashu.</p>
<p>Rozwiązanie jest dość proste dla Eclipse wystarczy stworzyć prosty skrypt do uruchamiania, oczywiście podając dobrą ścieżkę. Przykładowy skrypt powinien wyglądać mniej więcej tak:</p>
<p>[bash]<br />
#!/bin/sh<br />
export GDK_NATIVE_WINDOWS=1<br />
~/Programy/eclipse_2.1/eclipse<br />
[/bash]</p>
<p>Dla Flasha należy przeedytować skrypt z lokalizacji <em>/usr/lib/nspluginwrapper/i386/linux/npviewer</em> np:</p>
<p>[bash]<br />
gksudo gedit /usr/lib/nspluginwrapper/i386/linux/npviewer<br />
[/bash]</p>
<p>Należy dopisać ustawienie zmiennej <strong>export GDK_NATIVE_WINDOWS=1<br />
</strong></p>
<p>[bash]#!/bin/sh<br />
TARGET_OS=linux<br />
TARGET_ARCH=i386<br />
export GDK_NATIVE_WINDOWS=1<br />
. /usr/lib/nspluginwrapper/noarch/npviewer[/bash]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2009/12/niedzialajace-przyciski-w-aplikacjach-java-i-flash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ChromeOS in a box</title>
		<link>http://blog.lukaszwazny.pl/2009/11/chromeos-in-a-box/</link>
		<comments>http://blog.lukaszwazny.pl/2009/11/chromeos-in-a-box/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 21:40:41 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[chromeos]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=119</guid>
		<description><![CDATA[Dzisiaj na Google Readerze mignął mi post z bloga I’ Been to Ubuntu o możliwości sprawdzenia jednej z wersji rozwojowych systemu ChromeOS. W sieci dostępny jest obraz dysku VMWare ze skompilowanym systemu ChromeOS. Można go także odpalić w VirtualBoxie, więc postanowiłem spróbować i wrzucić tutaj kilka screenów. Czas startu jest dość krótki i prawi od [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dzisiaj na Google Readerze mignął mi post z bloga <a href="http://blog.ibeentoubuntu.com/">I’ Been to Ubuntu</a> o możliwości <a href="http://blog.ibeentoubuntu.com/2009/11/how-to-try-out-chromeos-in-virtualbox.html">sprawdzenia</a> jednej z wersji rozwojowych systemu ChromeOS. W sieci dostępny jest obraz dysku VMWare ze skompilowanym systemu ChromeOS. Można go także odpalić w VirtualBoxie, więc postanowiłem spróbować i wrzucić tutaj kilka screenów.</p>
<p>Czas startu jest dość krótki i prawi od razu widzimy:</p>
<figure id="attachment_120" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen02.png"><img class="size-medium wp-image-120  " title="Ekran logowania" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen02-300x225.png" alt="Ekran logowania" width="300" height="225" /></a><figcaption class="wp-caption-text">Ekran logowania, podajemy oczywiście swój login i hasło do gmaila</figcaption></figure>
<p>następnie:</p>
<figure id="attachment_121" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen03.png"><img class="size-medium wp-image-121" title="Autoryzacja" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen03-300x225.png" alt="Autoryzacja ..." width="300" height="225" /></a><figcaption class="wp-caption-text">Autoryzacja ...</figcaption></figure>
<p>wcześniej miga jednak takie coś:</p>
<figure id="attachment_122" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen01.png"><img class="size-medium wp-image-122" title="Hmm :)" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen01-300x225.png" alt="Hmm :)" width="300" height="225" /></a><figcaption class="wp-caption-text">Hmm :)</figcaption></figure>
<p>i właściwie to zastanawia mnie czy nie jest jakaś podróbka <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<figure id="attachment_123" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen04.png"><img class="size-medium wp-image-123" title="Aplikacje Googla" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen04-300x225.png" alt="Aplikacje Googla" width="300" height="225" /></a><figcaption class="wp-caption-text">Aplikacje Googla</figcaption></figure>
<p>Praktycznie wygląda jakby cały ChromeOS zawierał tylko przeglądarkę Chrome, &#8230;fajne?</p>
<figure id="attachment_124" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen05.png"><img class="size-medium wp-image-124" title="ostatmnio otwieran strony" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen05-300x225.png" alt="ostatmnio otwieran strony" width="300" height="225" /></a><figcaption class="wp-caption-text">ostatnio otwierane strony</figcaption></figure>
<p>Jedną z niewielu cech, które wyglądają na nowe to wskaźnik naładowania baterii oraz opcja wyłączenia sieci.</p>
<figure id="attachment_125" style="width: 266px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen06.png"><img class="size-full wp-image-125" title="Ustawienia sieci" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/11/screen06.png" alt="Ustawienia sieci" width="266" height="181" /></a><figcaption class="wp-caption-text">Ustawienia sieci</figcaption></figure>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2009/11/chromeos-in-a-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse, Mylyn i Gmail &#8211; prosta recepta na żółte karteczki</title>
		<link>http://blog.lukaszwazny.pl/2009/07/eclipse-mylyn-gmail-prosta-recepta-na-zolte-karteczki/</link>
		<comments>http://blog.lukaszwazny.pl/2009/07/eclipse-mylyn-gmail-prosta-recepta-na-zolte-karteczki/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 19:40:34 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Narzędzia]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mylyn]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=105</guid>
		<description><![CDATA[Od dłuższego czasu chodziło mi po głowie uruchomienie i korzystanie w Eclipsie z Mylyn‚a. Jednak pierwsze spotkanie było mało owocne. Ok 1,5 roku temu dostępne były tylko connectory do Trac&#8217;a i jeszcze 2-3 repozytoriów zadań. Trac i jego tickety wydaje się w miarę rozsądnym narzędziem. Samo połączenie Mylyn i Traca ze względu na potrzebę instalacji [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Od dłuższego czasu chodziło mi po głowie uruchomienie i korzystanie w Eclipsie z <a title="Zarządzanie zadaniami" href="http://www.eclipse.org/mylyn/">Mylyn</a>‚a. Jednak pierwsze spotkanie było mało owocne. Ok 1,5 roku temu dostępne były tylko connectory do Trac&#8217;a i jeszcze 2-3 repozytoriów zadań. <a title="The Trac Project" href="http://trac.edgewall.org">Trac</a> i jego tickety wydaje się w miarę rozsądnym narzędziem. Samo połączenie Mylyn i Traca ze względu na potrzebę instalacji pluginu <a title="Trac Xml-Rpc Plugin" href="http://trac-hacks.org/wiki/XmlRpcPlugin">Trac XML-RPC Plugin</a> i jednoczesnym brakiem uprawnień, zakończyło się niepowodzeniem.</p>
<p>Kiedy w pracy straciłem kartkę długą ‚listą TODO’ pomyślałem, że w wolnym czasie spróbuję podejść do Mylyna jeszcze raz. Przy okazji instalacji nowego Eclipse Galileo, postanowiłem doinstalować connectory do Traca i spróbować jeszcze raz. Oczywiście w oczy rzuciło mi się coś innego &#8211; connectory do Gmaila oraz Google Calendar&#8230; Szybkie zaznaczenie, szybka instalacja&#8230;</p>
<p>W widoku Task Repositories dodajemy nowe repozytoriom tasków, jako typ wybieramy Gmail.</p>
<figure id="attachment_109" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn.png"><img class="size-medium wp-image-109 " title="Typ repozytorium" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn-300x195.png" alt="Wybieramy typ repozytorium" width="300" height="195" /></a><figcaption class="wp-caption-text">Typ repozytorium</figcaption></figure>
<p>W ustawieniach podajemy login i hasło wymagane do logowania w googlach:</p>
<figure id="attachment_110" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn2.png"><img class="size-medium wp-image-110 " title="Dane logowania do Gmail'a" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn2-300x171.png" alt="Dane logowania" width="300" height="171" /></a><figcaption class="wp-caption-text">Dane logowania do Gmail&#39;a</figcaption></figure>
<p>W widoku <strong>Task List </strong>klikamy na właściwości i ustawiamy jaki label powinien być zaciągany jako lista zadań:</p>
<figure id="attachment_113" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn4.png"><img class="size-medium wp-image-113" title="Wybór etykiety Gmail'a" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn4-300x152.png" alt="Wybór etykiety Gmail'a" width="300" height="152" /></a><figcaption class="wp-caption-text">Wybór etykiety Gmail&#39;a</figcaption></figure>
<p>Na liście zadań otrzymujemy wszystkie emaile oznaczone odpowiednim labelem z Gmail&#8217;a</p>
<figure id="attachment_111" style="width: 300px;" class="wp-caption alignnone"><a href="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn31.png"><img class="size-medium wp-image-111 " title="Lista z zadaniami" src="http://blog.lukaszwazny.pl/wp-content/uploads/2009/07/mylyn31-300x168.png" alt="Lista z zadaniami" width="300" height="168" /></a><figcaption class="wp-caption-text">Lista z zadaniami z Gmail&#39;a</figcaption></figure>
<p>.. i to wszystko na szybki początek. Żółte karteczki, także te w iGoogle, papier i inne tego typu akcesoria możemy odstawić <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2009/07/eclipse-mylyn-gmail-prosta-recepta-na-zolte-karteczki/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP 5.3.0</title>
		<link>http://blog.lukaszwazny.pl/2009/06/php-5-3-0/</link>
		<comments>http://blog.lukaszwazny.pl/2009/06/php-5-3-0/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:05:13 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=97</guid>
		<description><![CDATA[Pojawiła się długo oczekiwana nowa wersja PHP oznaczona wersją 5.3.0. Wśród nowych ficzerów otrzymujemy: namespace &#8211; przestrzenie nazw dla stałych, funkcji i klas. late static binding &#8211; czyli mechanizm późnego rozwiązywania referencji do klasy. Przyda się bardzo podczas programowania ze statikami. __callStatic() &#8211; nowa, magiczna metoda, wywoływana w momencie statycznego wywołania niedostępnej/niezdefiniowanej metody closures &#8211; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pojawiła się długo oczekiwana nowa wersja PHP oznaczona wersją 5.3.0.</p>
<h3>Wśród nowych ficzerów otrzymujemy:</h3>
<ul>
<li> <strong>namespace</strong> &#8211; przestrzenie nazw dla stałych, funkcji i klas.</li>
<li> <strong>late static binding</strong> &#8211; czyli mechanizm późnego rozwiązywania referencji do klasy. Przyda się bardzo podczas programowania ze statikami.</li>
<li> <strong>__callStatic()</strong> &#8211; nowa, magiczna metoda, wywoływana w momencie statycznego wywołania niedostępnej/niezdefiniowanej metody</li>
<li> <strong>closures</strong> &#8211; domknięcia, znane także pod pojęciem anonimowej funkcji, czy funkcji lambda, popularnie stosowane w JavaScripcie oraz jQuery.</li>
<li> <strong>NOWDOC</strong> &#8211; podobne do HEREDOC, jednak całkowicie bez parsowania treści</li>
<li> <strong>garbage collection</strong> &#8211; opcjonalnie pozwala na &#8222;grzebanie w śmieciach&#8221;, inaczej daje dostęp do poprzednich wartości zmiennej.</li>
<li> <strong>ternary operator &#8222;?:&#8221;</strong> &#8211; jeszcze bardziej skrócona wersja składni if</li>
<li> <strong>goto/jumpToLabel</strong> &#8211; można go użyć do przeskoczenia z jednego miejsca skryptu do innego oznaczonego labelem, budzi dużo, niezdrowego podniecenia na blipie na tagu <a title="#php" href="http://blip.pl/tags/php">#php</a></li>
<li><strong> mysqlnd</strong> &#8211; phpowy, natywny sterownik do mysqla, zamiennik libmysql. Zapewne komunikacja z bazą stanie się efektywniejsza.</li>
<li> w bonusie mamy spore <strong>przyśpieszenie</strong> działania skryptów, w wersjach RC dochodzące do 30%</li>
<li><strong> sekcje w php.ini</strong> &#8211; dodano nowe sekcje ([HOST=], [PATH=]) do konfiguracji środowiska per host i per path</li>
</ul>
<h3>Mamy także nowe rozszerzenia:</h3>
<ul>
<li> <strong>ext/phar</strong> &#8211; PHP Archive &#8211; zbuduje nam paczkę z aplikacją</li>
<li> <strong>ext/intl</strong> &#8211; wprowadza szereg nowych funkcjonalności wpierających internacjonalizację</li>
<li> <strong>ext/fileinfo</strong> &#8211; klika funkcji wspierających rozpoznawanie ‚content type’ pliku</li>
<li> <strong>ext/sqlite3</strong></li>
</ul>
<h3>a usunięte zostały:</h3>
<ul>
<li> <strong>ext/mhash</strong> na rzecz <strong>ext/hash</strong></li>
<li> <strong>ext/msql</strong></li>
<li> <strong>ext/pspell</strong> na rzecz <strong>ext/enchant</strong></li>
<li><strong> ext/sysbase</strong> na rzecz <strong>ext/sysbase_ct</strong></li>
<li> <strong>zend.ze1_compatibility_mode</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2009/06/php-5-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemy z podpowiedzią składni w PDT 2.0</title>
		<link>http://blog.lukaszwazny.pl/2009/03/problemy-z-podpowiedzia-skladni-w-pdt-20/</link>
		<comments>http://blog.lukaszwazny.pl/2009/03/problemy-z-podpowiedzia-skladni-w-pdt-20/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 08:58:21 +0000</pubDate>
		<dc:creator><![CDATA[lw]]></dc:creator>
				<category><![CDATA[Narzędzia]]></category>
		<category><![CDATA[PDT 2.0]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.lukaszwazny.pl/?p=81</guid>
		<description><![CDATA[Od pewnego czasu zauważyłem, że w niektórych projektach mam podpowiedzi do wbudowanych funkcji PHP, a w innych tylko podpowiedzi z kodu zawartego w projekcie. Brak podświetlania objawiał się głównie w tych zaimportowanych z SVN&#8217;a. W nowych projektach wszystko było w porządku, ale Eclipse nie zawsze dobrze importuje projekty z SVN&#8217;a. Sprawdziłem pliki w projekcie, brakowało [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Od pewnego czasu zauważyłem, że w niektórych projektach mam podpowiedzi do wbudowanych funkcji PHP, a w innych tylko podpowiedzi z kodu zawartego w projekcie. Brak podświetlania objawiał się głównie w tych zaimportowanych z SVN&#8217;a.</p>
<p>W nowych projektach wszystko było w porządku, ale Eclipse nie zawsze dobrze <a title=" Projekt z SVN i brak podpowiedzi" href="http://blog.lukaszwazny.pl/2009/03/projekt-z-svn-i-brak-podpowiedzi/">importuje projekty z SVN&#8217;a</a>. Sprawdziłem pliki w projekcie, brakowało pliku <em>.buildpath</em> i katalogu <em>.settings</em>. O ile brak <em>.settings</em> można przeżyć, to plik <em>.buildpath</em> jest nam niezbędny do działania podpowiedzi w projektach PHP.</p>
<p>Wystarczy więc go dograć z nowego lub działającego projektu.</p>
<p>Istotna zawartość pliku .buildpath:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;buildpath&gt;<br />
&lt;buildpathentry kind=&#8221;src&#8221; path=&#8221;&#8221;/&gt;<br />
<strong> &lt;buildpathentry kind=&#8221;con&#8221; path=&#8221;org.eclipse.php.core.LANGUAGE&#8221;/&gt;</strong><br />
&lt;/buildpath&gt;</p>
<p>W pliku tym pojawiają się także informacje o <a title="Zewnętrzne biblioteki w PDT" href="http://blog.lukaszwazny.pl/2009/03/zewnetrzne-biblioteki-w-pdt/">zewnętrznych bibliotekach</a>, więc lepiej sobie ich nie wycinać <img src="http://blog.lukaszwazny.pl/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukaszwazny.pl/2009/03/problemy-z-podpowiedzia-skladni-w-pdt-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
