Spring Frameworkを100実践的に孊習したす。 アクティブなチュヌトリアルずKMLマヌクアップ蚀語。 KciTasksプロゞェクトベヌタ





Spring Frameworkは埓来、最も耇雑であるず同時に高額 なものの1぀ず考えられおいたす。 しかし、その研究に察する既存のアプロヌチは非垞に効果的ではありたせん。 春の研究に察する根本的に新しいアプロヌチを提䟛したいず思いたす。これは、 アクティブなチュヌトリアルの抂念を䜿甚するこずから成りたす。 これらは、開発者の泚意をサポヌトし、フレヌムワヌクの特定の偎面をガむドするバランスの取れた䞀連の指瀺です。



その結果、 集䞭トレヌニングが行われたすが、st迷するこずなく、「どこで䜿甚するか」ずいうタむプの誀解の問題があり、理論を退屈で受動的に読むこずもありたせん。 絶察に。



この蚘事では、 Spring Jdbc / Transactionsを認定に必芁な知識の50でカバヌする5぀の教育タスクを玹介しおいたす。 この蚘事の䞻なタスクは、アむデア自䜓を倧芏暡にテストするこずです。たた、あなたず䞀緒に、すべおのトピックに぀いお倚数のナニヌクなタスクを開発したす。



たず、あなた自身に぀いお少し。 私の名前はYaroslavです。EPAMSystemsのMiddle Java Developerで働いおいたす。 私の趣味の1぀は、トレヌニングシステム孊士号、修士号の䜜成です。 過去4幎間、さたざたな知識分野Java / Springを含むを教えるために100を超える最も倚様なアプロヌチを詊し、これらのアプロヌチをテストするために20以䞊のプロトタむププログラムを䜜成したした。 それらのほずんどはスヌパヌベネフィットをもたらさなかったので、私はこの方向で働き続けたす。



この蚘事は私の理論の 1぀に捧げられおいたす。 培底的にテストする必芁がありたす。これがこの蚘事の目的です。 今埌は、䜕が危機にunderstandしおいるのかを理解するために、タスクのあるWebペヌゞにアクセスするこずをお勧めしたす https://kciray8.github.io/KciTasks/App/src/ 。



私は完璧䞻矩者であり、トレヌニングが完璧に近いこずを望んでいたす。 私の理解では、これは負の感情、遅延を匕き起こさず、喜びをもたらすようなトレヌニングです。 残念ながら、倚くの最新のそしお高額の技術の研究は困難です。 Spring Frameworkは䌝統的に孊習するのが最も難しいず考えられおおり、その研究は非垞に非効率的です。



通垞、春は孊ばれる



フレヌムワヌクに぀いお孊習するには、2぀の極端な方法がありたす。 1぀は、ある人が䌚瀟で働いお、顧客が䞎えたタスクを単玔に行うずきです。 これは遅い、非垞に遅い開発方法ですが、ほずんどの開発者はそれに埓いたす。 特に圌らがそれを支払うずき、圌らが尋ねるこずだけをするこずは論理的ではありたせんか ただし、実地蚓緎は効果的であるず思われたす。 珟代のプログラマが解決するタスクのほずんどは、システムのメンテナンスです。 すべおがすでに私たちの前に曞かれおいたす、あなたはただバグを修正し、蚭定を線集し、ファむルでシステムを修正する必芁がありたす。 それには䜕の問題もありたせんが、テクノロゞヌ自䜓の孊習は非垞に遅いです。 もちろん、遅かれ早かれ、春のドキュメントを掘り䞋げる必芁があり、必芁なものはすべお芚えおいたすが、それには䜕幎もかかりたす。 たぶん、最初に知識ず経隓を「積み䞊げ」、それから実際のタスクをより耇雑にそしおもちろん倧幅に高い絊料のために詊みるこずは䟡倀があるでしょうか Javaで確実に動䜜したす。2〜3か月でJava SEを意図的に孊習できたす。これは1〜2幎の経隓にカりントできたす。これを行った倚くの倧孊の友人。



2぀目は、 集䞭トレヌニングです。 これは簡単ですが、非垞に難しい方法です。 それは、人が本たたはコヌスを進めおから、それを実践し、䜕らかの圢で芚えようずするずいう事実にありたす。 たた、このアプロヌチがJava SEでただ䜕らかの圢で機胜する堎合は、すべおがばねで鈍くタむトです。 最高の本でさえ、これらの機胜やそれらの機胜を正確に適甚する堎所に぀いお説明されおいないこずがよくありたすが、自分で远い぀く必芁がありたす。 しかし、ここで最も厄介なこずは 、そのような努力によっお埗られた情報を忘れるこずです 。 孊習䞊の問題の1぀は、効果的な繰り返しの欠劂です。 春を叀兞的な方法で勉匷した堎合たずえば、本を読んで実際にコヌドを詊しおみた堎合、それには倚倧な劎力が費やされたしたが、回埩の可胜性はありたせんでした。 1〜2幎で本を簡単に読み盎しおも忘れられた情報は返されたせん緎習ず䞊行しお読んだ情報。 いく぀かのゞレンマがありたす-倚くの緎習があるようにそれをどのように䜜るこずができたすが、同時にプログラマヌは適切な領域に「向かっお」いたすか



孊習の問題



したがっお、孊習の極端さは悪いずいう結論に達したした。 プロセスを最適化する方法に぀いお考えおみたしょう。 タヌゲット孊習は、さらに発展する必芁がある正しい考えのようです。 これがほずんどの人にずっお困難を匕き起こす理由をさらに詳しく考えおみたしょう。



たず、孊習に倀する資料を遞択したす。 それらの䞻な芁件は、限られた情報セット認定/面接/緎習に必芁なもののみ、およびこの情報の䞀貫した論理的に盞互接続されたプレれンテヌションです。 これらの基準によるず、本は最適です Spring in action 、 Julianaの認蚌マニュアルなど。非垞によく考えられお蚭蚈されおいたす私の意芋では、udemyでのスプリングに関するビデオコヌスよりもはるかに良く、詳现です。 自分自身に読んで、掘り䞋げおみお、詊しおみおください。知識がありたす。 しかし、そこにありたした。



事実は、本を読んでその䞭の理論を分析するたさにプロセスが実際にこの理論をテストするプロセスず非垞に䞍十分に敎合しおいるずいうこずです。 圌は自然ではない 。 本が完璧であっおも、本のたたです。 本質的にプログラミングを教えるこずを意図したものではありたせん。 プログラマヌは、最終的に、特定のフレヌムワヌクテクノロゞヌを意識的に䜿甚するための良い習慣を構築する必芁がありたす。 「読んで理解した」ず「それを適甚する方法を知っおおり、どこを知っおいるか」の間には、倧きなギャップが圢成されたす。 それを克服するには、かなりの努力をしなければなりたせん。 正盎に蚀っお、Springでかなり倚くのWebアプリケヌションを䜜成したしたが、Spring in Actionの章を読むのはただ倧倉でした。 珟時点では、䞡方の曞籍の玄30を詳现に解析しおおり、Spring 5の認定資栌を玄60取埗する準備ができおいたす。



2014幎にAndroid SDKを調べたずきに、同様の問題が芋られたした。 ここでの答えは非垞に簡単です-各フレヌムワヌクは独自のいく぀かの新しい抂念を導入したすが、それらを理解し、それらを通しお考えるこずはかなり困難です埓来の教育方法を䜿甚しおいる堎合。



本に瀺されおいる情報ず習慣を結び぀けるプロセスは非垞に難しく、効果的ではありたせん。 倚くの堎合、倚くの吊定的な感情を匕き起こし䜕かが機胜しない、たたは開始しない堎合、Googleをたくさん䜿甚しお問題を解決したす。 開発者を導き、適切な解決策を瀺し、それを䜜成するための「パストレむル」を䜜成するこずは本圓に䞍可胜ですか 結局のずころ、経隓豊富な開発者はそのようなパスをよく知っおいたす。 圌らにずっお、これは明らかなこずです。 しかし、ここでは知識の移転ずいう圢で問題が発生したす。 すでにわかっおいるように、本はこの目的には適しおいたせん。



私が泚目したいもう䞀぀の問題は、 繰り返しの問題です 。 すべおの困難を克服し、春の知識を広めたずしおも、時間が経぀に぀れお、それらは次第に消えおいきたす珟圚のタスクに関連しおいるこずが刀明したわずかな割合は別ずしお。 忘れるのは人間の本性であり、䜕もするこずができたせん。 できるこずは、繰り返しを最適化するこずだけです。 私が孊士号を取埗しおいたずき、間隔の繰り返しの理論ずフラッシュカヌドの圢での知識の保存 孊士号に関するKhabrostatyaに倧きな期埅がありたした 。 ただし、フラッシュカヌドは互いに独立しすぎおいたす関連するSpringの知識を保存するには適しおいたせん。 Javaを孊習する堎合でも、その有効性は平均です。 はい、たた、プログラマヌは緎習を繰り返す必芁があるため、これらも自然ではありたせん。



長幎にわたっお、トレヌニングを100実践に結び付ける方法に頭を悩たせおきたした 結果ずしお、退屈ではなく、高効率で 。 次に、詊したオプションに぀いお簡単に説明したす。 最初に、タスクずは別に、技術的なヒントを提䟛する詳现なトレヌニングTKのセットを芋぀けようずしたしたクラスなどを䜿甚しおREST APIを開発するには。 私は賢明なものを芋぀けられず、倚くの時間を費やしたした。 はい、春のいく぀かの郚分で別々のオヌサリングコヌスを芋たしたが、完党な認定資栌をどこにも集める方法はありたせん。 はい、これらのチュヌトリアルの「本」の問題は残っおいたす䞀郚の著者は段階的なマニュアルを䜜成しようずしたしたが、䟝然ずしお欠点がありたす。 PS春に "Training TOR"のようなものをお持ちの堎合は、kciray8 @ gmail.comに送っおください。



曞籍やチュヌトリアルの問題の1぀は、非垞に退屈で退屈なこずです。 これは、Googleのバグよりもさらに苊痛です。 読みたくない、コヌディングしたい トピックずクラス名に関するヒントのみにこの本を䜿甚し、自分で実隓ずGoogleを介しお他のすべおに远い぀くずしたらどうでしょうか。 そしお、その章を読み盎しお、それ自䜓を圧倒し、残りの知識を収集したす。 実際、私は春を勉匷したした。 この章の最初退屈な玹介からではなく、真ん䞭から、䜕かを぀かんで、その呚りで実隓しようずしおいたす。 IDEは、オヌトコンプリヌト、JavaDocず゜ヌスの衚瀺、䟿利なデバッグの助けを借りお、これに倧いに圹立ちたす。 これを「API実隓孊習」ず呌びたす 。 私はこの方法を䞭心に倚くの特別な技術を開発したしたが、いく぀かの根本的な問題が残っおいたす。



すなわち、「st迷」の問題は消えたせん。 それはただ倚くの痛みを匕き起こしたすが、これはすでにより自然で実践に近いものです実際のプロゞェクトでは、倚くのそのようなst迷を決定する必芁がありたす、それはスキルを高めるのに圹立ちたす。 実際、この手法を䜿甚するず、最終的な目暙認定を達成できたす。 ただし、これには倚くの劎力が必芁になり、トラックに沿っお歩く堎合の3〜4倍になりたす 。 はい、繰り返し情報の問題が残っおいたす。 そしお、私は理想に近い䜕かをしたいず思っおいたす。 突然、私の新しいテクニックは倚くの人々に圹立ち、䞖界を倉えるでしょうか そしお、2017幎の終わりに、そのようなアむデアが思い぀いたので、すぐにそれを実装したかったので、最初は成功に察しお非垞に倧きな賭けをしたした。



叀兞的な䞻に受動的チュヌトリアルの孊習方法に぀いお考えおみたしょう。 Springのチュヌトリアルのほずんどは、単玔にその構造にうんざりしおいたす spring.ioのガむドを含む。 私が耐えられない最倧の欠点は、盎線性です。 倚くの著者は、自分自身にコピヌする必芁がある倧きなコヌドを「ダンプ」したす。 簡単な䟋実行しお実隓できる最小のデモンストレヌションから始めお、さたざたな機胜を远加する方が正しいでしょう。 「単玔なものから耇雑なものぞ」ずいう原則は、孊習の黄金埋です しかし、いや、結局のずころ。 各䜜成者は、必芁な情報の2〜4倍の情報を収集し、断片的に分解しおから実行する必芁があるず考えおいたす。



たずえば、春にSOAPサヌビスを䞊げるためのガむドを開きたす https://spring.io/guides/gs/produce-web-service 、最近職堎で必芁になりたした。 ここでは、gradleを䜿甚しおJavaクラスを生成するプロセスず、Spring-Bootずwsdl4jの䞡方ず、メモリ内リポゞトリ党䜓のCountryRepositoryをねじ蟌みたしたただし、単玔な「Hello world」行で十分です。 そしお最埌にだけ、圌らはcurlを䜿甚しおこのシステム党䜓を起動する方法を説明したした。 いいえ、もちろん私はすべおを理解しおいたす-著者は「オヌルむンワン」の明確な䟋を挙げおそれを分解したかったのです。 しかし、情報を理解するずいう芳点からは、このアプロヌチは適切ではありたせん。



退屈な解析を「読み」、コヌドの䞀郚をコピヌペヌストするのが奜きですかそれぞれ半ペヌゞ。 我慢できない。 ここで、実隓的に経隓を積みたいのですが、それだけです。



アクティブチュヌトリアルのアむデアKciTasks



「これをやる 」などの小さな指瀺を䞎えるような仮想の教垫を䜜り、プログラマヌがミスを犯したか忘れた堎合、教垫はコヌドを枡すだけです。 基本的に、ksi-taskiesはそのようなものです。 圌らの本質は、私たちが小さな指瀺のセットを持っおいるこずです。それぞれの指瀺には答えがあり、それはネタバレ隠しの䞋にありたす。 それらず通垞のチュヌトリアルの違いは、次のチャヌトで芋るこずができたす。







癜玙のプロゞェクトコンセプト



アクティブなチュヌトリアルの分析を続ける前に、それらが基づいおいる1぀の重芁な抂念に぀いおお話したいず思いたす。 この抂念は、あらゆる教育方法論ず組み合わせお䜿甚​​できたすが、䜕らかの理由で、どこかで蚘述たたは蚀及されるこずはめったにありたせん。 そのため、 トレヌニングプロゞェクトは最初から行う必芁がありたす 。 start.spring.ioはありたせん。毎日[ファむル]-> [新しいプロゞェクト]-> [Hello world]にアクセスしお、Webを含むすべおのプロゞェクトをベヌスにしたす。 たた、すべおのMaven䟝存関係も新しい方法でスコアリングされたす。 これにより、スプリングモゞュヌル間の䟝存関係、それぞれが必芁な理由などを思い出すこずができたす。 実際には、これはある皮の䟝存関係の問題があるずきに䟿利です。



実甚的な焊点



XMLは奜きですか 䞡方のSpring本の著者は、遅かれ早かれXMLが過去の遺物になるこずに同意したす。 ただし、それら自䜓がほずんどの゜リュヌションを2぀のバヌゞョンXML +アノテヌションで提䟛したす。 倧䌁業に就職するたでXMLは奜きではありたせんでした。 今、これは仕事のほんの䞀郚です。 単玔にXMLをいじり、XMLを䜿甚せずに曞き換える既補の゜リュヌションがあたりにも倚く䜜成されおいたす。倚くのお金を費やし、比類のないほど少ないものを䜜成しおください。 誰もこれをしたせん。 そのため、 タスクでXML /泚釈を代替するこずを詊みたしたが、これをお勧めしたす 。 蚘事で説明されおいる手法を䜿甚しお正しく孊習すれば、XMLは問題を匕き起こすこずはありたせんが、反察に、反察偎からいく぀かの解決策を怜蚎するのに圹立ちたす。 XMLコヌドの䜜成IDEを䜿甚したオヌトコンプリヌトずツヌルチップを䜿甚は、Javaコヌドの䜜成ず同じくらい楜しいです。



理想に近づく0.5コピヌアンドペヌスト、5読み取り



アクティブなチュヌトリアルの各呜什は、コピヌアンドペヌストなしで実行可胜でなければなりたせん。 最新のIDEでは、れロを掛けるこずができたす。 はい、すべおの利点を備えたbeans.xmlでさえ、 䟝存関係も-すべおIDE内で実行できたす。 これは、コヌドを無意識にコピヌするよりもはるかに優れおいたす。 私が蚀ったように、私は孊習を楜しいものにしたいず思っおいたす。これは症状の䞀぀です。



xi-taskの各呜什は、少し考えお䜕かを芚えさせたす。 これがこのチュヌトリアルの「アクティビティ」です。 このプロセスは、コヌドの読み取りやコピヌよりもはるかに優れおいたす。 ここでバランスを維持する必芁がありたす-呜什はあたりにも愚かではないはずですさもなければそれほど良くないでしょう、そしおあたり耇雑ではありたせんこれはチュヌトリアルず同様に倧きなコヌドず問題を䌎いたす。 私は倚くの異なるトレヌニングシステムを芋おきたしたが、そのような開発を芋たこずはありたせん。



アクティブチュヌトリアル甚特別蚀語KML



これたでアクティブなチュヌトリアルを誰も配垃しおいない理由の1぀は、それらを保存するためのフォヌマットがないこずです。 既存のマヌクアップ蚀語は、コヌドずテキストの混圚にはたったく適しおいたせん 。 KciTasksの最初のバヌゞョンをHTMLのアドオンずしお䜜成したしたが、これは非垞に䞍䟿でした 次に、自分で小さなマヌクアップ蚀語を䜜成したした。これはシャッフルに最適で、HTMLにコンパむルされたす。 そしお、これはWebペヌゞのロヌド時に発生したす。 以䞋に䟋を瀺したす。



䟋1-JdbcTemplate Beanの䜜成



=Create a @@JdbcTemplate@@ as a @@@Bean@@ with @@DataSource@@ injected into it +Main.java @Bean JdbcTemplate getJdbcTemplate(DataSource dataSource){ return new JdbcTemplate(dataSource); }
      
      









䟋2-schema.sqlファむルの䜜成



 =Create a file ~~schema.sql~~ with a DDL-statement for creating a new table ##Product## (name, price) +schema.sql CREATE TABLE Product(name VARCHAR(100), price DOUBLE)
      
      









完党なタスクの䟋JdbcTemplate2.kml
 ###name=Jdbc template and datasource part 2 ###full = JdbcTemplate2.zip =Create a spring-based modern application ==Create a Java project from scratch using your favorite IDE +<<MainEmpty ==Add ##maven## support to it ==Annotate class @@Main@@ as a configuration (with automatic scan) +<<spring-context +<<MainConfiguration ==Create a ##run## method inside the @@Main@@ class +Main.java void run(){ } ==Create a new context and call @@Main.run()@@ +Main.java public static void main(String[] args){ AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Main.class); context.getBean(Main.class).run(); } =Add Apache Derby as a @@@Bean@@ using builder (embedded) +<<derby +<<spring-jdbc +Main.java @Bean public DataSource dataSource(){ return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.DERBY).build(); } =Create @@JdbcTemplate@@ as a @@@Bean@@ and inject @@DataSource@@ into it +Main.java @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource){ return new JdbcTemplate(dataSource); } =Retrieve the url from ##JdbcTemplate## and print it to the console +Main.java @Autowired JdbcTemplate jdbcTemplate; +Main.java void run(){ String url = jdbcTemplate.execute((ConnectionCallback<String>) con -> con.getMetaData().getURL()); System.out.println(url); } =Run the application and ensure that the url contains "derby" +Output jdbc:derby:memory:testdb =Create a file ~~schema.sql~~ with a DDL-statement for creating a new table ##Product## (name, price) +schema.sql CREATE TABLE Product(name VARCHAR(100), price DOUBLE) =Create a file ~~test-data.sql~~ with a few DML-statements that insert distinct products +test-data.sql INSERT INTO Product VALUES('Milk', 3.5) INSERT INTO Product VALUES('Eggs', 6) =Inject ~~schema.sql~~ and ~~test-data.sql~~ into the ##Main## class as spring-resources +Main.java @Value("schema.sql") Resource schema; @Value("test-data.sql") Resource testData; =Create a resource-based database populator and use it to init the database +Main.java ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScript(schema); populator.addScript(testData); DataSourceInitializer initializer = new DataSourceInitializer(); initializer.setDatabasePopulator(populator); DatabasePopulatorUtils.execute(populator, dataSource); =Retrive the names of the products to a list and print it +Main.java List<String> productNames = jdbcTemplate.queryForList("SELECT name FROM Product", String.class); System.out.println(productNames); =Run the application and ensure that the names of the products were printed accordingly with ~~test-data.sql~~ +Output [Milk, Eggs] =Create a domain object @@Product@@ (with custom !!toString!!) +Product.java public class Product { String name; Double price; @Override public String toString() { return "Product{" + "name='" + name + '\'' + ", price=" + price + '}'; } } =Retrieve a @@List<Product>@@ using a row mapper and print it +Main.java List<Product> products = jdbcTemplate.query("SELECT * FROM Product", (RowMapper<Product>) (rs, rowNum) -> { Product product = new Product(); product.name = rs.getString("name"); product.price = rs.getDouble("price"); return product; }); System.out.println(products); =Create a class with name @@ProductSet@@ that has a list of products as its member +ProductSet.java public class ProductSet { public List<Product> products = new ArrayList<>(); } =Retrieve a @@ProductSet@@ using a result set extractor and print its products +Main.java ProductSet productSet = jdbcTemplate.query("SELECT * FROM Product", (ResultSetExtractor<ProductSet>) rs->{ ProductSet set = new ProductSet(); while (rs.next()){ Product product = new Product(); product.name = rs.getString("name"); product.price = rs.getDouble("price"); set.products.add(product); }; return set; }); System.out.println(productSet.products); =Run the application and ensure that the products was printed correctly (two times) +Output [Product{name='Milk', price=3.5}, Product{name='Eggs', price=6.0}] [Product{name='Milk', price=3.5}, Product{name='Eggs', price=6.0}]
      
      







Core Spring 5.0認定フルカバレッゞプラン



むンタヌネットには、蚌明曞が必芁かどうかに぀いおのholivarがありたす。 これに぀いおは別の蚘事を曞くこずができたすが、この蚘事のフレヌムワヌクでは、 「できる限り必芁」ず曞きたす。 1か月前、Spring 5 Study Guideおよび重芁な詊隓自䜓 が発衚されたため、それに焊点を圓おるこずは理にかなっおいたす。 私たちにずっお、これは面接で尋ねられ、あなたのプロゞェクトに圹立぀かもしれない、 蚈画 、たたはいく぀かの暙準セットずしお圹立ちたす。



トピックごずに、必芁な知識の量に圱響を䞎え、さたざたな芳点から情報を提䟛する6〜8個の䞀意のタスクを実行する必芁がありたすたずえば、 DataSourceはさたざたな方法で䜜成されたす。など。 トレヌニングを終えるず、プログラマヌはDataSourceが䜕であり 、どのように䜿甚されるかを確実に芚えたす倚くの堎合、 「孊習、合栌、忘华」の代わりに。 さらに、トピックはしばしば重耇したすSpring DataではコンテナずAOPが䜿甚されたす。 これにより、基本を非垞に深くするこずができたす。



マヌクアップ蚀語によるプロセスの最倧限の自動化にもかかわらず、 ケヌシングの開発は䟝然ずしお非垞に時間のかかるタスクです。 特に、それらが定性的に行われおいる堎合すべおを単玔な圢匏で正しい芳点から瀺す。 たずえば、トランザクションの分離レベルでタスクを開発するのに玄10時間かかりたした。 トランザクションを䞊行しお実行するこずにより、4぀のレベルの違いを瀺す必芁があるように思えたす。 しかし、そこにありたした H2ずMySQLの堎合、いく぀かのレベルの違いは芋えず、異なる状況で競合状況を凊理したすデヌタベヌスの䞀郚はデヌタの叀いコピヌを返し、他はトランザクションをスタンバむモヌドにしたす。 そしお、DerbyDBでのみ、すべおのレベルの違いを明確に芋るこずができたす。 本の著者はすべお非垞に賢明です-圌らは理論をコピヌしたすが、実際にそれを瀺すために-完党な䟋を芋぀けるこずができなかったので、自分でそれを掚枬しなければなりたせんでした。



私の蚈画の本質は、 私の努力ずあなたの努力を組み合わせお、倚数のナニヌクな Spring 5 タスクを䞀緒に開発するこずです。 タスクは、 GitHub Webサむトから、誰でも無料で登録なしで利甚できたす。 たたは、 プル芁求を実行できたす゚ンゞン自䜓で䜕かを倉曎する必芁がある堎合。 私たちは䞀緒になっお、新しい孊習原理を創造し、それを倧衆にもたらすこずができるず信じおいたす。

件名 詊隓の  KciTasksのカバレッゞ ナヌザヌカバレッゞプラン
コンテナ28 10
AOP14 10
JDBC4 50
トランザクション10 50 kciray8@gmail.com+ 20
MVC10 0
セキュリティ6 0
REST6 0
JPA Spring Data4 0 kciray8@gmail.com+ 50
ブヌト14 0
テスト4 0


たた、寄付サむトヘッダヌのバナヌの圢でプロゞェクトをサポヌトするリク゚ストに泚意を喚起したいず思いたす。 私は努力の報酬をもらいたいですそしおJava開発者コミュニティは貧しさからはほど遠いです。



掚奚事項



春の各トピックに぀いお、倚くのナニヌクなショックを思い付くこずができたす。 たずえば、 MVCスプリングを䜿甚しおREST APIの開発に関する指瀺を行い、 RestTemplateを䜿甚しおそこからデヌタを受信し、コン゜ヌルに衚瀺できたす。 2 in 1、いく぀かの閉じたリングが刀明したした。 䞀般に、ここでの創造性の範囲は非垞に広く、時間ず欲望だけが必芁です。 そしお、よりナニヌクなパズル、より良い 独自の異垞な䜕かを远加する堎合は、先に進みたす。 トレヌニングの汎甚性は非垞に重芁です。 倚数の異なる角床から同じ知識を瀺すこずが必芁であり、それらはよく蚘憶されたす。 䞻なこずは、䞊蚘のバランスを保぀こずです各呜什には、䜕かをする必芁がありたすが、それほど倚くはありたせん。 䞀緒に本から知識を車の圢に倉換し、玠晎らしい仕事をするこずができたす



PS読者のいずれかが詊隓および/たたは公匏コヌスを極めお重芁なものから受けた堎合は、kciray8 @ gmail.com宛にメヌルをください。



孊習システムたたは繰り返しシステム



KciTasksを䜿甚できる2぀の方法がありたす。 最初の方法は、春の詳现な研究に䜿甚するこずです。 私の意芋では、これは効果的なはずです。 あなたは単に指瀺の埌に指瀺に埓い、決定を確認し、自分自身を修正したす。 最初は、そこをたくさん芗きたすが、それで問題ありたせん。 翌日、できるだけのぞき芋をしないで、すべおを自分でやるようにしおください。 すべおのタスクは、ネタバレなしで実行されるように蚭蚈されおいたす。 これに来る必芁がありたす。 あなたはグヌグルではないこずに泚意しおください!!!、ドックや本を読んではいけたせん。タスクは自絊自足で、指瀺ずその解決策を読み、実隓から知識を匕き出したす。



2番目の方法は、繰り返しに KciTasksを䜿甚するこずです。本/コヌスのフレヌムたたはプログラミング蚀語を孊ぶずき、あなたは倚くの努力をしたす。そしお無駄にならないように-タスクで埗たすべおの経隓を投資しお、6か月埌にbeatられた道を進んですべおを芚えるようにしたす。



䞡方のパスはテストされおいたせんベヌタので、フィヌドバックをお埅ちしおいたす。そしお、より良い。結局のずころ、すべおの人々は異なっおおり、認識は異なっおおり、コミュニティの反応を芋る必芁がありたす。この蚘事がお圹に立おば幞いです。



All Articles