From 231a6d89cb4e75ce1f9a66412399f8548b61af0a Mon Sep 17 00:00:00 2001 From: Jakub Matwiejew <custom@audiocustom.pl> Date: Tue, 30 Jan 2018 21:54:57 +0100 Subject: [PATCH] =?UTF-8?q?Dzie=C5=84=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/Node.js_challenge_dzien_2.iml | 12 ++ .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 270 ++++++++++++++++++++++++++++ app/data/zadanieDnia/test.txt | 10 +- app/zadanie01.js | 14 +- app/zadanie02.js | 14 +- app/zadanieDnia.js | 23 ++- 8 files changed, 349 insertions(+), 8 deletions(-) create mode 100644 .idea/Node.js_challenge_dzien_2.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/Node.js_challenge_dzien_2.iml b/.idea/Node.js_challenge_dzien_2.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/Node.js_challenge_dzien_2.iml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="WEB_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$"> + <excludeFolder url="file://$MODULE_DIR$/.tmp" /> + <excludeFolder url="file://$MODULE_DIR$/temp" /> + <excludeFolder url="file://$MODULE_DIR$/tmp" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..48b5c65 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/Node.js_challenge_dzien_2.iml" filepath="$PROJECT_DIR$/.idea/Node.js_challenge_dzien_2.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..64af5d8 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,270 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ChangeListManager"> + <list default="true" id="bb203111-46f7-463a-b9b7-20cf6648eb05" name="Default" comment=""> + <change beforePath="$PROJECT_DIR$/app/data/zadanieDnia/test.txt" afterPath="$PROJECT_DIR$/app/data/zadanieDnia/test.txt" /> + <change beforePath="$PROJECT_DIR$/app/zadanie01.js" afterPath="$PROJECT_DIR$/app/zadanie01.js" /> + <change beforePath="$PROJECT_DIR$/app/zadanie02.js" afterPath="$PROJECT_DIR$/app/zadanie02.js" /> + <change beforePath="$PROJECT_DIR$/app/zadanieDnia.js" afterPath="$PROJECT_DIR$/app/zadanieDnia.js" /> + </list> + <ignored path="$PROJECT_DIR$/.tmp/" /> + <ignored path="$PROJECT_DIR$/temp/" /> + <ignored path="$PROJECT_DIR$/tmp/" /> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="TRACKING_ENABLED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="FileEditorManager"> + <leaf> + <file leaf-file-name="README.md" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="146"> + <caret line="134" column="0" lean-forward="true" selection-start-line="134" selection-start-column="0" selection-end-line="140" selection-end-column="3" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="zadanie02.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/app/zadanie02.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="10" column="34" lean-forward="false" selection-start-line="10" selection-start-column="34" selection-end-line="10" selection-end-column="34" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="zadanieDnia.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/app/zadanieDnia.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="10" column="66" lean-forward="false" selection-start-line="10" selection-start-column="66" selection-end-line="10" selection-end-column="66" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="test.txt" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/app/data/zadanieDnia/test.txt"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="input.json" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/app/data/zadanie01/input.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="zadanie01.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/app/zadanie01.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="120"> + <caret line="8" column="49" lean-forward="false" selection-start-line="8" selection-start-column="49" selection-end-line="8" selection-end-column="49" /> + <folding /> + </state> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="Git.Settings"> + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> + </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/app/zadanie01.js" /> + <option value="$PROJECT_DIR$/app/zadanie02.js" /> + <option value="$PROJECT_DIR$/app/zadanieDnia.js" /> + </list> + </option> + </component> + <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> + <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" /> + <component name="JsGulpfileManager"> + <detection-done>true</detection-done> + <sorting>DEFINITION_ORDER</sorting> + </component> + <component name="ProjectFrameBounds" fullScreen="true"> + <option name="width" value="1280" /> + <option name="height" value="800" /> + </component> + <component name="ProjectView"> + <navigator currentView="ProjectPane" proportions="" version="1"> + <flattenPackages /> + <showMembers /> + <showModules /> + <showLibraryContents /> + <hideEmptyPackages /> + <abbreviatePackageNames /> + <autoscrollToSource /> + <autoscrollFromSource /> + <sortByType /> + <manualOrder /> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="Node.js_challenge_dzien_2" type="b2602c69:ProjectViewProjectNode" /> + <item name="Node.js_challenge_dzien_2" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="Node.js_challenge_dzien_2" type="b2602c69:ProjectViewProjectNode" /> + <item name="Node.js_challenge_dzien_2" type="462c0819:PsiDirectoryNode" /> + <item name="app" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="Node.js_challenge_dzien_2" type="b2602c69:ProjectViewProjectNode" /> + <item name="Node.js_challenge_dzien_2" type="462c0819:PsiDirectoryNode" /> + <item name="app" type="462c0819:PsiDirectoryNode" /> + <item name="data" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="Node.js_challenge_dzien_2" type="b2602c69:ProjectViewProjectNode" /> + <item name="Node.js_challenge_dzien_2" type="462c0819:PsiDirectoryNode" /> + <item name="app" type="462c0819:PsiDirectoryNode" /> + <item name="data" type="462c0819:PsiDirectoryNode" /> + <item name="zadanie01" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="Node.js_challenge_dzien_2" type="b2602c69:ProjectViewProjectNode" /> + <item name="Node.js_challenge_dzien_2" type="462c0819:PsiDirectoryNode" /> + <item name="app" type="462c0819:PsiDirectoryNode" /> + <item name="data" type="462c0819:PsiDirectoryNode" /> + <item name="zadanieDnia" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + <pane id="Scratches" /> + <pane id="Scope" /> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="WebServerToolWindowFactoryState" value="false" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$" /> + </component> + <component name="RunDashboard"> + <option name="ruleStates"> + <list> + <RuleState> + <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> + </RuleState> + <RuleState> + <option name="name" value="StatusDashboardGroupingRule" /> + </RuleState> + </list> + </option> + </component> + <component name="ShelveChangesManager" show_recycled="false"> + <option name="remove_strategy" value="false" /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="bb203111-46f7-463a-b9b7-20cf6648eb05" name="Default" comment="" /> + <created>1517342198204</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1517342198204</updated> + <workItem from="1517342199629" duration="3272000" /> + </task> + <servers /> + </component> + <component name="TimeTrackingManager"> + <option name="totallyTimeSpent" value="3272000" /> + </component> + <component name="ToolWindowManager"> + <frame x="0" y="0" width="1280" height="800" extended-state="0" /> + <editor active="true" /> + <layout> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + </layout> + </component> + <component name="XDebuggerManager"> + <breakpoint-manager /> + <watches-manager /> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/app/data/zadanie01/input.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/app/zadanie01.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="120"> + <caret line="8" column="49" lean-forward="false" selection-start-line="8" selection-start-column="49" selection-end-line="8" selection-end-column="49" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/app/zadanie02.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="10" column="34" lean-forward="false" selection-start-line="10" selection-start-column="34" selection-end-line="10" selection-end-column="34" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/app/zadanieDnia.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="10" column="66" lean-forward="false" selection-start-line="10" selection-start-column="66" selection-end-line="10" selection-end-column="66" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/app/data/zadanieDnia/test.txt"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="146"> + <caret line="134" column="0" lean-forward="true" selection-start-line="134" selection-start-column="0" selection-end-line="140" selection-end-column="3" /> + <folding /> + </state> + </provider> + </entry> + </component> +</project> \ No newline at end of file diff --git a/app/data/zadanieDnia/test.txt b/app/data/zadanieDnia/test.txt index 47c17e3..0bcff2e 100644 --- a/app/data/zadanieDnia/test.txt +++ b/app/data/zadanieDnia/test.txt @@ -1,7 +1,7 @@ -You Don't Know JS: ES6 & Beyond -Foreword +yOu dOn't kNoW Js: Es6 & BeYoNd +fOrEwOrD -Kyle Simpson is a thorough pragmatist. +kYlE SiMpSoN Is a tHoRoUgH PrAgMaTiSt. -I can't think of higher praise than this. To me, these are two of the most important qualities that a software developer must have. That's right: must, not should. Kyle's keen ability to tease apart layers of the JavaScript programming language and present them in understandable and meaningful portions is second to none. -[https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20%26%20beyond/foreword.md] \ No newline at end of file +i cAn't tHiNk oF HiGhEr pRaIsE ThAn tHiS. tO Me, ThEsE ArE TwO Of tHe mOsT ImPoRtAnT QuAlItIeS ThAt a sOfTwArE DeVeLoPeR MuSt hAvE. tHaT'S RiGhT: mUsT, nOt sHoUlD. kYlE'S KeEn aBiLiTy tO TeAsE ApArT LaYeRs oF ThE JaVaScRiPt pRoGrAmMiNg lAnGuAgE AnD PrEsEnT ThEm iN UnDeRsTaNdAbLe aNd mEaNiNgFuL PoRtIoNs iS SeCoNd tO NoNe. +[hTtPs://gItHuB.CoM/GeTiFy/yOu-dOnT-KnOw-jS/BlOb/mAsTeR/Es6%20%26%20BeYoNd/fOrEwOrD.Md] \ No newline at end of file diff --git a/app/zadanie01.js b/app/zadanie01.js index 8c20173..f5e84d1 100644 --- a/app/zadanie01.js +++ b/app/zadanie01.js @@ -1 +1,13 @@ -//Twój kod \ No newline at end of file +//Twój kod +const fs = require('fs'); + +fs.readFile('./data/zadanie01/input.json', 'utf8', (err, data) => { + if (err === null){ + console.log('Poprawnie odczytano tablicę:', data); + const arr = JSON.parse(data); + let sum = arr.reduce(function (a, b) {return a + b;}, 0); + console.log(`Suma elementów w talicy to: ` + sum); + } else { + console.log(`Błąd...`, err) + } +}); \ No newline at end of file diff --git a/app/zadanie02.js b/app/zadanie02.js index 8c20173..0a1459a 100644 --- a/app/zadanie02.js +++ b/app/zadanie02.js @@ -1 +1,13 @@ -//Twój kod \ No newline at end of file +//Twój kod +const fs = require('fs'); + +fs.readdir('./data/zadanie02/', (err, files)=>{ + if (err === null){ + console.log('Lista plików:'); + files.forEach(file => { + console.log(file); + }); + } else { + console.log(`Błąd...`, err) + } +}) \ No newline at end of file diff --git a/app/zadanieDnia.js b/app/zadanieDnia.js index 8c20173..47776d9 100644 --- a/app/zadanieDnia.js +++ b/app/zadanieDnia.js @@ -1 +1,22 @@ -//Twój kod \ No newline at end of file +//Twój kod +const fs = require('fs'); + +fs.readFile('./data/zadanieDnia/test.txt', 'utf8', (err, data) => { + if (err === null){ + let text = data; + let res = text.split('').map(function(v,i){ + return i%2 === 0 ? v.toLowerCase():v.toUpperCase() + }); + console.log(res.join('')); + fs.writeFile('./data/zadanieDnia/test.txt', res.join(''), err => { + if (err === null){ + console.log('Zapisano poprawnie!'); + } else { + console.log('Błąd podczas zapisu pliku!', err); + } + }); + + } else { + console.log(`Błąd...`, err) + } +}); \ No newline at end of file