πŸ’™ Help Ukraine, click for information πŸ’›

Posts


Sep. 18, 2018

Авто-ΠΌΠΎΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡ‚ Mark Seemann

Как ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡŽΠ½ΠΈΡ‚ тСсты ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Dependency Injection? Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ описываСтся ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΡŽΠ½ΠΈΡ‚ тСстов (unit test), Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠΊ (Auto-mocking Container). Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ…Ρ€ΡƒΠΏΠΊΠΈΡ… тСстов (Fragile Test), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊ часто происходят ΠΏΡ€ΠΈ создании тСстируСмой систСмы (system under tests - SUT) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° ΠœΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. На этот вопрос ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Mark Seemann.

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° этот Ρ€Π°Π· ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΡ‚ Mark Seemann ΠΎ Π°Π²Ρ‚ΠΎ-ΠΌΠΎΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…. НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡŽΠ½ΠΈΡ‚ тСстами ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Auto mock-ΠΎΠ² я ΡƒΠ·Π½Π°Π» Π½Π΅ Ρ‚Π°ΠΊ ΠΈ Π΄Π²Π°Π½ΠΎ. Π§Ρ‚ΠΎ-Π±Ρ‹ Π·Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ доступной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ этом ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΊ созданию тСстовых Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ² Π±Π΅Π· лишнСй Π±ΠΎΠ»ΠΈ. И ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ссылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»

Jul. 15, 2018

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ молчания ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ логирования

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ молчания, Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся ΠΊΠ°ΠΊ ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π·ΠΎΠ»ΠΎΡ‚ΠΎ - ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ философии Unix, которая гласит, Ссли Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ-интСрСсного ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ-Π±Ρ‹ ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΅ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ вниманию своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠ°ΠΊ Ρ†Π΅Π½Π½Ρ‹ΠΌ рСсурсам ΠΈ соотвСтствСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Π΅Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ само ΠΏΠΎ сСбС являСтся Π΄ΠΎΠ±Ρ€ΠΎΠ΄Π΅Ρ‚Π΅Π»ΡŒΡŽ.

НСт Π΅Π΄ΠΈΠ½ΠΎΠΉ, стандартизированной Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ философии Unix, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самоС простоС описаниС Π±Ρ‹Π»ΠΎ Π±Ρ‹: β€œΠŸΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ нСбольшими, простыми ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ. ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΈΡ… Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ, Π½ΠΎ Π΄Π΅Π»Π°Π»ΠΈ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программами”. Π’ΠΎ Π΅ΡΡ‚ΡŒ, философия сосрСдотачиваСтся Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Π° понятий малости, простоты, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, мастСрства, прозрачности, экономии, разнообразия, пСрСносимости, гибкости ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ.

Apr. 17, 2018

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ sync over async deadlock

Как Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΈΠ· поста ΠΎ контСкстС синхронизации Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² контСкстС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ рСсурсами Π² асинхронном ΠΊΠΎΠ΄Π΅, Π½ΡƒΠΆΠ½ΠΎ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ выполнятся Π½Π° Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π»Π°Π΄Π΅Π΅Ρ‚ этим рСсурсом. НСпонимая этого ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ программирования ΠΊΠ°ΠΊ Π½ΠΈΠΆΠ΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅.

Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ программирования

Вспомним ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΏΡ€Π΅Π΄ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ поста. По Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ наш ΠΊΠΎΠ΄ асинхронный, ΠΊΠΎΠ΄ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² синхронном ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ, для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ sync over async. Π’.Π΅. просто доТдёмся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ асинхронной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° taskName.Wait().

Apr. 12, 2018

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ синхронизации ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Task ΠΈ Thread

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… связанными с ui-control ΠΈΠ»ΠΈ asp.net часто приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСсурсами доступными Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° (thread-local storage TLS). К слову: Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° [ThreadStatic] ΠΈΠ»ΠΈ класса ThreadLocal<T>. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° dotnet выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ System.InvalidOperationException с тСкстом ‘The calling thread cannot access this object because a different thread owns it.’.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ win-form ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΠΌ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎΠΈΠ³Ρ€Π°ΡŽΡ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ-Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ Π² этом ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΈΠ· созданного ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° UI - вСдь рСсурсы UI ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ, Π° обращаСмся ΠΌΡ‹ ΠΊ Π½Π΅ΠΌΡƒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ Ρ‚Π° Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ столкнёмся с System.InvalidOperationException. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°ΠΌ придётся ΠΏΠΎΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒΡΡ с контСкстом синхронизации.

Jan. 14, 2018

РСализация ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° saga Π½Π° C#

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: Π£ΠΆΠ΅ Π½Π΅ помню, Ρ‡Ρ‚ΠΎ сподвигло мСня Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ этим ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ, скорСС всСго Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с javascript Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ redux-saga. Знакомство Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с описания ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° ΠΎΡ‚ Bernd RΓΌcker ΠΈ прСкрасной ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Caitie McCaffrey. ПослС ознакомлСния с этими ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ Ρƒ мСня всё Π΅Ρ‰Ρ‘ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ вопросы. ΠžΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ этот ΠΊΠΎΠ΄ β€œΠ² ΠΆΠΈΠ²ΡƒΡŽβ€ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ PoC-a.

Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию прСдставлСна ΡΡ‚Π°Ρ‚ΡŒΡ Clemens Vasters-a, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ Π² дСталях с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

Nov. 25, 2017

Π Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

Π”Π°Π½Π½Ρ‹ΠΉ тСкст явлСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΏΠΎ ссылкС

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ слияниСм Π²Π΅Ρ‚ΠΎΠΊ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ HOWTO Control Source Eric Sink’s. Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ модСль бранчСвания β€œΡ€Π΅Π»ΠΈΠ·Π½Π°Ρ вСтка” (ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ссылкам Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ устарСли. По-ΠΌΠΎΠ΅ΠΌΡƒ, стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ соврСмСнных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌ git-flow, github-flow ΠΈ gitlab-flow, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ сути Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΡƒΠΌΠ°ΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ).

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ β€œΠ Π΅Π»ΠΈΠ·Π½Π°Ρ вСтка” вся новая Ρ€Π°Π±ΠΎΡ‚Π° происходит Π² trunk Π²Π΅Ρ‚ΠΊΠ΅ рСпозитория. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ приблиТаСтся ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ, измСнСния схСмы становятся Π±ΠΎΠ»Π΅Π΅ Ρ€Π΅Π΄ΠΊΠΈΠΌΠΈ ΠΈ фризятся Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт Π²Π΅Ρ‚ΠΊΡƒ для Ρ€Π΅Π»ΠΈΠ·Π°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° продолТаСтся Π² Ρ‚Ρ€Π°Π½ΠΊΠ΅ с измСнСниями Π² схСмС ΠΈ всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фиксы ошибок. ПослС Ρ€Π΅Π»ΠΈΠ·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ исправлСния с Π²Π΅Ρ‚ΠΊΠΈ Π² trunk.

Nov. 15, 2017

Π’ΡŒΡŽΡˆΠΊΠΈ, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° которая Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π±Ρ€Π΅ΠΉΠ½-Π΄Π°ΠΌΠΏ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ Π² Π΄Π»ΠΈΠ½Π½ΡƒΡŽ ΡΠ΅Ρ€ΠΈΡŽ статСй ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ благодаря ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΈ вашим вопросам. Π’ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΌΠΎΠΈΡ… мыслСй ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, вьюшки, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹.

Но сначала…

На самом Π΄Π΅Π»Π΅ я ΡƒΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π½Π° протяТСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ бСсполСзны, Π½ΠΎ я, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡƒΠΊΠ»ΠΎΠ½ΡΡŽΡΡŒ ΠΎΡ‚ ΠΈΡ… использования. Jon Galloway ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°ΠΌΠΈ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠ½Π΅ мусолят Π³Π»Π°Π·Π° Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π― ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΈΠ· WinDNA идСологичСской ΡˆΠΊΠΎΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всС врСмя. БСгодня я ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² качСствС API слоя для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ слой API Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ я знаю мноТСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ нСсущих Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° созданиС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ этого слоя API Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ. Π’ этих прилоТСниях Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ часто приносят большС услоТнСний, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·Ρ‹.

Nov. 13, 2017

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° основы

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ - Ρ‚Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΠΎ-ΠΌΠΎΠ΅ΠΌΡƒ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ способ вСрсионирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΡ

Π’ качСствС прСдисловия я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… стратСгий вСрсионирования Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π― Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΈ истинно Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Моя Ρ†Π΅Π»ΡŒ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ, провСряСмом ΠΈ воспроизводимым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ я ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с довольно большими схСмами Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 6 часов ΠΈ Ρ‚Π΅ΠΌ самым заморозят Π½Π° Π΄ΠΎΠ»Π³ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ систСму. ОпасСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΎΠ·Π²ΡƒΡ‡ΠΈΠ» Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠΎΠΉ Ρ…ΠΎΠ΄ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΈ стратСгии. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… всС измСнСния Π΅Ρ‘ схСмы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ систСмы контроля вСрсий, для этого Π’Π°ΠΌ стоит ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π² Π²Π°ΡˆΠΈΡ… условиях Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простым ΠΏΡƒΡ‚Ρ‘ΠΌ.

Nov. 13, 2017

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ПослС рассмотрСния Ρ‚Ρ€Ρ‘Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ создания базиса, вся ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, базис ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ бСзопасно располоТСн Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ контроля вСрсий. Наступит дСнь ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ прСдстоит ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ схСму. КаТдоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, скрипты базиса создали Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π‘Π”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ эти измСнСния.

Под Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ β€œΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅β€, я имСю Π² Π²ΠΈΠ΄Ρƒ измСнСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, индСксС, ΠΊΠ»ΡŽΡ‡Π΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ DDL, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ вьюшСк, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с этими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΈ ΠΌΡ‹ рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½ΠΈΠΌΠΈ, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ постС. Π― Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽ Π² скрипты базиса Π»ΡŽΠ±Ρ‹Π΅ измСнСния статичСских Π΄Π°Π½Π½Ρ‹Ρ… Π² скрипты ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Nov. 3, 2017

Π’Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°

Одни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π»ΡŽΠ±ΡΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ сСбя Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠΎΡΠ½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ. Π’ любом случаС, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… являСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ прилоТСния, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я научился ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с лСгаси Π‘Π” Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с унаслСдованной Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…

Oct. 31, 2017

Как ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Π΄Π°ΠΆΠ΅ Ссли git морозится

Git располагаСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ ассортимСнтом Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² дСлится измСнСниями Π±Π΅Π· отправлСния этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° origin. Одним ΠΈΠ· самых распространённых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ‚Ρ‡ΠΈ. Π˜Ρ… Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅ примСняСтся ΠΏΠ°Ρ‚Ρ‡, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΆΠ΅ измСнСния Ρ€ΡƒΠΊΠ°ΠΌΠΈ?

Π§Ρ‚ΠΎ-Π±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Ρ‚Π»ΠΈΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„Π»Π°Π³Π° -v –verbose:

$ git apply --verbose feature-name.patch

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° окаТСтся Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символах (whitespace). МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ ΠΈΡ…:

Oct. 30, 2017

Π”Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ€Π΅Π²Ρ‘Ρ€Ρ‚ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΆΠΈΡ‚ΡŒ послС ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΏΡƒΠ»Π»-рСквСста

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ такая ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΡƒΠ»Π» рСквСст ΠΈΠ· Ρ„ΠΈΡ‡Π΅-Π±Ρ€Π°Π½Ρ‡Π° оказался Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°ΠΆΠ½Ρ‹ΠΌ, Π½ΠΎ Ρ€Π΅Π²ΡŒΡŽΠ²Π΅Ρ€Ρ‹ ΡƒΠΆΠ΅ приняли Π΅Π³ΠΎ ΠΈ Π²ΠΌΡ‘Ρ€ΠΆΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π²Π΅Π»ΠΎΠΏ. Битуация ΠΎΡ‡Π΅Π½ΡŒ нСприятная, особСнно Ссли Ρ„ΠΈΡ‡Π΅-Π±Ρ€Π°Π½Ρ‡ ВАШ Π° тСсты Π΄Π°Π½Π½ΡƒΡŽ ΡΠΈΡ‚Π°ΡƒΡ†ΠΈΡŽ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ сразу Π½Π΅ раскрыли. ЀактичСски, Π²Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с нСсколькими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Как Π½Π° Π·Π»ΠΎ Π½Π° исправлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‡Π΅ΠΌ Ρƒ вас Π΅ΡΡ‚ΡŒ, Π° Π·Π»Ρ‹Π΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ дальшС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΆΠΈΠ³Π°ΡŽΡ‚ костёр обСщая Вас Π½Π° Π½Ρ‘ΠΌ ΠΏΠΎΠ΄ΠΆΠ°Ρ€ΠΈΡ‚ΡŒ. Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π°Π°Π°Ρ‚ΡŒ?!

Aug. 18, 2017

ΠŸΠΎΡ‡Π΅ΠΌΡƒ я люблю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бСсконСчно Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ΅. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны это Π½Π°ΡƒΠΊΠ° структурного ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ - искусство краснорСчивого выраТСния. Она ΡƒΡ‡ΠΈΡ‚ вас Π±Ρ‹Ρ‚ΡŒ смирСнным, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ смотритС Π½Π° ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй. Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго ΠΎΠ½Π° ΡƒΡ‡ΠΈΡ‚ вас ΠΌΠ½ΠΎΠ³ΠΎΠΌΡƒ ΠΎ сСбС. И Ρ…ΠΎΡ‚ΡŒ синтаксис ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ языка программирования, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ всСгда остаётся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, эта ΡΡ‚Π°Ρ‚ΡŒΡ для вас.

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»

Автоматизация Π²Π΅Ρ‰Π΅ΠΉ даст Π²Π°ΠΌ силу супСргСроя

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бСсконСчно ΠΏΠΎΠ»Π΅Π·Π½Π°. Π—Π° нСсколько сСкунд Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ своСй сСстрС ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тысячу снимков. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшой скрипт сохранСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для своСй Π±Π°Π±ΡƒΡˆΠΊΠΈ. ВозмоТности Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹.

Aug. 4, 2017

Π‘Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ богатство. ВСория ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° экономичСской Π°Π»Ρ…ΠΈΠΌΠΈΠΈ. [Пол Π—Π΅ΠΉΠ½ ΠŸΠΈΠ»Ρ†Π΅Ρ€]

TOC Автор ΠΊΠ½ΠΈΠ³ΠΈ Пол Π—Π΅ΠΉΠ½ ΠŸΠΈΠ»Ρ†Π΅Ρ€ достоин внимания своими заслугами ΠΊΠ°ΠΊ Π½Π° ΠΏΠΎΠΏΡ€ΠΈΡ‰Π΅ бизнСс дСяний - ΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ 7ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π²Π΅Π» Π½Π° IPO ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π» Π·Π° 435 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² USD, Ρ‚Π°ΠΊ ΠΈ Π½Π° Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΌ ΠΏΠΎΠΏΡ€ΠΈΡ‰Π΅.

Piltser_Paul-Zane.jpg

Об этом эссС (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, Ссли Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ большСС ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ссылочкой) Π² ΠΎΠ΄Π½ΠΎΠΌ Π°Π±Π·Π΅Ρ†Π΅:

Π’ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ формирования экономики сквозь ΠΏΡ€ΠΈΠ·ΠΌΡƒ тСхнологичСских ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΉ - явлСний способных ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру Ρ€Ρ‹Π½ΠΊΠ°. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠŸΠΈΠ»Ρ†Π΅Ρ€ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ послС Ρ‚Ρ€ΡƒΠ΄Π° ΠΈ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ производствСнного процСсса. На Π±Π°Π·Π΅ тСхнология ΡΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ историчСскиС Π²Π΅ΠΊΠ° ΠΊΠ°ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Π΄Π½Ρ‹ΠΉ Π±Ρ€ΠΎΠ½Π·ΠΎΠ²Ρ‹ΠΉ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ ΠΈΠ»ΠΈ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ Ρ€Ρ‹Π½ΠΊΠΈ Ρ€Ρ‹Π½ΠΎΠΊ Π½Π΅Ρ„Ρ‚ΠΈ Ρ€Ρ‹Π½ΠΎΠΊ ΠΊΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΆΠΈΡ€Π°. Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² отрасли.