Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yu_sekiya
January 21, 2023
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
TokyoR#103応用セッションの資料です。
yu_sekiya
January 21, 2023
More Decks by yu_sekiya
See All by yu_sekiya
TokyoR#119 rvestでhtml_liveをさわってみた話
kotatyamtema
0
63
TokyoR#119 bignners session2 Visualization
kotatyamtema
0
250
Shinyのすすめ - Introduction to shiny -
kotatyamtema
0
190
TokyoR116_BeginnersSession1_環境構築
kotatyamtema
0
280
TokyoR#114 shiny+DT超(ザックリ)入門
kotatyamtema
0
110
TokyoR#113 bignners session2 Visualization
kotatyamtema
0
150
TokyoR #112 Beginners' Session2 data handing
kotatyamtema
0
150
TokyoR #111 Beginners' Session1 data handing
kotatyamtema
0
110
TokyoR#95 bignners session2 Visualization
kotatyamtema
0
77
Other Decks in Technology
See All in Technology
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
900
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
170
GoCon2026 - Open Source, Open World
sanposhiho
1
210
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.7k
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
850
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
260
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
140
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
1
360
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
280
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
120
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
module Synths; end
asonas
1
120
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
510
Music & Morning Musume
bryan
47
7.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
A Soul's Torment
seathinner
7
3.6k
Six Lessons from altMBA
skipperchong
29
4.5k
Technical Leadership for Architectural Decision Making
baasie
3
560
Transcript
Ԡ༻ηογϣϯ 3ͰΦϒδΣΫτࢦϓϩάϥϛϯά Ϋϥεઃܭೖͷೖ 5PLZP3 !LPUBUZBNUFNB
ࣗݾհ 5XJUUFS*%!LPUBUZBNUFNB େֶͰͷઐߦಈੜଶֶ ཱҊdั֫d࣮ݧdੳ·ͰϫϯΦϖ ࠓ·Ͱ٬ઌ΅ͬͪੳˠΞύϨϧ௨ൢձࣾ ݱࡏҩྍݕࠪձࣾ 3ྺա͔͗ͨʁӬԕͷॳ৺ऀ ۙگͳΜ͔ͪΐͬͱ͍Ζ͍ΖมԽ͕͠ΜͲ͍ ɹɹࠓ͜ͷࠒɻ ࣗ༝ͱ͕࣌ؒཉ͍͠ɺ͋ͱࢿۚҰԯԁ͘Β͍
࠷ۙͷ͓ࣄ ͳ։ൃҊ݅ ϑϩʔਤઃܭॻͳΜͳ͍·· ίʔυ͚ͩདྷΔͱ͔ͳΜͳͷ͞ ౖ ͳΜͰ1ZUIPOͰ։ൃͯ͠Δͷʹ Ϋϥεઃܭͯ͠ͳ͍ͷ͞ʁ
ͦͦΫϥεͬͯ ͳΜͩΖ͏ʁ
త ΦϒδΣΫτࢦϓϩάϥϛϯάͱ ʙΫϥεͱͳΜͳͷ͔ʙ 3ͰΦϒδΣΫτࢦϓϩάϥϛϯά Ϋϥε࡞
࣍ ΦϒδΣΫτࢦϓϩάϥϛϯάͱ ΫϥεͱʙϓϩάϥϜͷઃܭਤͷ࠷খ୯Ґ ΫϥεΛ͏͝རӹ 3ͷΫϥεʙ3ೖͷೖ
ΦϒδΣΫτࢦϓϩάϥϛϯάͱ ΦϒδΣΫτࢦϓϩάϥϛϯάͱ ʮ͋ΔׂΛ࣋ͬͨϞϊʯ͝ͱʹΫϥεʢϓϩάϥϜશମͷ ઃܭਤʣΛׂ͠ɺϞϊͱϞϊͱͷؔੑΛఆ͍ٛͯ͘͜͠ ͱͰγεςϜΛ࡞Γ্͛Α͏ͱ͢ΔγεςϜߏͷߟ͑ํ IUUQTSPCPEPOFDPNCMPHEPOFTIJQ@PCKFDU@PSJFOUFE දతͳݴޠɿQZUIPOɺKBWBTDSJQUɺ$ ɺ$
ΫϥεͱʙϓϩάϥϜͷઃܭਤͷ࠷খ୯Ґ Ϋϥεͱɿσʔλͱϝιουͷू߹ ʙΦϒδΣΫτͷઃܭਤʹ͋ͨΔͷ ཧղͷͨΊʹඞཁͳ༻ޠͱఆٛ ΠϯελϯεɿΫϥεΛݩʹ࡞ΒΕͨͷɺ࣮ମʹ͢Δ ͜ͱΛΠϯελϯεԽͱදݱɺΦϒδΣΫτͱ΄΅ಉٛ ϝιουɿΫϥεʹఆٛ͞Εͨॲཧಈ࡞ͷ͜ͱɺ3Ͱ ؔͱಉٛ
ϓϩύςΟɿΠϯελϯεʹ͍ͭͯͷใɺଐੑɺσʔλ ؚ·ΕΔ ΦϒδΣΫτɿʮରʯʮϞϊʯͱ͍͏ҙຯͰɺσʔλ ʢϓϩύςΟʣͱϝιουʢΫϥεʹఆٛ͞Εͨॲཧʣͷ ू·ΓɺΠϯελϯεͱ΄΅ಉٛ IUUQTXFCDBNQJPNBHB[JOFBSDIJWFT
ΫϥεΛ͏͝རӹ ΫϥεΛ͏͝རӹ ڞ௨͢Δ༰ͷίʔυΛ·ͱΊΔ͜ͱ͕Ͱ͖Δ ʙػೳ͝ͱʹΫϥεΛ·ͱΊΔ͜ͱͰݟ௨͕͠ྑ͘ͳΔ ಉ͡༰ΫϥεΛ͍ճ͢͜ͱ͕Ͱ͖Δ ʙΫϥεΛܧঝ͢Δ͜ͱͰಉ͜͡ͱΛ܁Γฦ͠ॻ͔ͳͯ͘ྑ͍ɺɹ ɹػೳՃ͕؆୯ʹͳΔ
σόοάվम͕͘͢͠อकཧίετΛԼ͛Δ ʙػೳ͝ͱʹ·ͱ·͍ͬͯΔͷͰมߋՕॴ͕গͳ͍ ෳਓͰ։ൃ͢Δͱ͖ʹศར ʙΫϥεؒͰͷׯব͕গͳ͍ͷͰΫϥε͝ͱʹ͚ͯ։ൃ͕Ͱ͖Δ ظؒվम͠͏ɺن͕େ͖͍ɺෳਓͰ։ൃ͢Δ ͍ͣΕ͔ͷཁૉ͕͋Δ։ൃΫϥεΛͬͨઃܭ͕ศར
3ͷΫϥεʙ3ೖͷೖ 3ͰΦϒδΣΫτࢦϓϩάϥϛϯά ʙ3ͱͱؔܕݴޠ ɹؔʹϝιου ɹΫϥεʹϝιουͱσʔλͷू·Γ 3ͰΦϒδΣΫτࢦతॻ͖ํ͕Ͱ͖Δ 3ͷΫϥε̏ͭɿࠓճ3ΛͬͯΫϥεΛ࡞ Ϋϥε ಛ 4
ຊ࣭తʹΦϒδΣΫτͷΫϥεଐੑ DMBTTBUSJCVUF จࣈྻɻ࠷ॳʹΫϥεΛఆٛͨ͠Γ ͤͣɺΦϒδΣΫτΛੜ͠ɺޙ͔ΒଐੑΛϖλϖλష͍ͬͯ͘Πϝʔδɻ݁ߏద 4 4ΑΓຊ֨తʹΦϒδΣΫτࢦɻ Ϋϥεؚ͕Ή͖σʔλͰ͋Δεϩοτ TMPU ͱͦͷܕ UZQF ͕໌ࣔతʹදݱ SFQSFTFOUBUJPO ͞ΕɺҟͳͬͨܕͷσʔλΛؚ·ͳ͍Α͏ʹνΣοΫػೳ͕ಇ͘ 3 ΑΓࣗવͳΦϒδΣΫτࢦɺ3ύοέʔδΛΠϯετʔϧͯ͠͏ QBCMJDϝϯόͱQSJWBUFϝϯό͕͋Δ ΫϥεΛ·͍ͨͰಈ࡞͢ΔܧঝʢεʔύʔΫϥεʣ͕Ͱ͖Δ
3ͷΫϥεʙ3ೖͷೖ 3Λͬͯʮྑ͍ίʔυѱ͍ίʔυͰֶͿઃܭೖʯͷ࠷ॳʹ ग़ͯ͘ΔήʔϜγεςϜͷ)1ཧΫϥεΛ࣮ͯ͠ΈΔ IUUQTHJIZPKQCPPL Ϋϥεͷ༰ɾ݅ QͷώοτϙΠϯτ )1 Λදݱ͢ΔΫϥε ܭࢉ͍ͨ͜͠ͱɿώοτϙΠϯτͷݮগɺώοτϙΠϯτͷճ෮ ೖྗɿ࠷ॳͷώοτϙΠϯτɺड͚ͨ߈ܸͷɺճ෮͞Εͨ
݅ɿͯ͢ͷ࣮ ώοτϙΠϯτ )1 ͷൣғ)1 ड͚ͨ߈ܸͷ ճ෮͞Εͨ
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ΫϥεͷॳظԽϝιου )1EBNBHFϝιου )1SFDPWFSϝιου
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ΫϥεͷॳظԽ 3ͷ߹ɿ`JOJUJBMJ[F`ʹGVODUJPOͱͯ͠ࢦఆ ಛ Πϯελϯε࡞࣌ʹࣗಈతʹҰ͚ͩݺΕΔɻ ॳظԽϝιουʹҾ͕͋Δ߹ɺΠϯελϯε࡞࣌ʹҾΛઃఆ͢Δඞཁ͕͋Δɻ ͝རӹ ϝιουͷ࣮ߦΕΛ͛Δɻ Πϯελϯε࡞͔࣌͠Θͳ͍͜ͱ͕໌֬ʹͳΔɻ ΠϯελϯεมͷͷઃఆΛڧ੍Ͱ͖Δɻ ΫϥεͷॳظԽϝιου
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ )1EBNBHFϝιου TUPQJGOPUͰEBNBHF"NPVOUϓϩύςΟͷ݅ઃఆ JOJUJBMJ[FϝιουͰઃఆͨ͠TFMGJOJUJBM)1Λݺͼग़͠ ΫϥεͷॳظԽϝιου
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ TUPQJGOPUͰSFDPWFSZ"NPVOUϓϩύςΟͷ݅ઃఆ JOJUJBMJ[FϝιουͰઃఆͨ͠TFMGJOJUJBM)1Λݺͼग़͠ )1SFDPWFSϝιου ΫϥεͷॳظԽϝιου
3ͷΫϥεʙ3ೖͷೖ )JUQPJOU3$MBTT )JUQPJOU QVCMJDMJTU JOJUJBM)1/" JOJUJBMJ[FGVODUJPO JOJUJBM)1
\ TUPQJGOPU JTOVNFSJD JOJUJBM)1 MFOHUI JOJUJBM)1 JOJUJBM)1JOJUJBM)1 TFMGJOJUJBM)1JOJUJBM)1 ^ μϝʔδΛड͚ͨͱ͖ͷܭࢉ )1EBNBHFGVODUJPO EBNBHF"NPVOU \ TUPQJGOPU JTOVNFSJD EBNBHF"NPVOU MFOHUI EBNBHF"NPVOU EBNBHF"NPVOU /FX)1TFMGJOJUJBM)1EBNBHF"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ ճ෮Λड͚ͨͱ͖ͷܭࢉ )1SFDPWFSGVODUJPO SFDPWFSZ"NPVOU \ TUPQJGOPU JTOVNFSJD SFDPWFSZ"NPVOU MFOHUI SFDPWFSZ"NPVOU SFDPWFSZ"NPVOU /FX)1TFMGJOJUJBM)1 SFDPWFSZ"NPVOU /FX)1JGFMTF /FX)1 /FX)1 DBU Γ)1 /FX)1 Ͱ͢ ^ Ϋϥεͷ͝རӹ )1EBNBHFϝιουͱ)1SFDPWFSϝιουͷ྆ํͰ ڞ௨ͯ͠͏JOJUJBM)1ϓϩύςΟͷఆ͕ٛճͷهࡌͰࡁΉ ڞ௨͢Δ߲ΛҰʹݟΒΕΔͷͰվमσόοά͕ Γ͍͢
3ͷΫϥεʙ3ೖͷೖ UFTU)Q)JUQPJOUOFX UFTU)Q)JUQPJOUOFX &SSPSJOJOJUJBMJ[F JOJUJBM)1JOJUJBM)1JTOPU536& UFTU)Q)JUQPJOUOFX
&SSPSJOJOJUJBMJ[F JOJUJBM)1JOJUJBM)1JTOPU536& ΦϒδΣΫτΛੜ ࢦఆͨ͠ൣғΛ͑ͨ߹
3ͷΫϥεʙ3ೖͷೖ UFTU)Q)1EBNBHF Γ)1Ͱ͢ UFTU)Q)1EBNBHF Γ)1Ͱ͢ μϝʔδΛड͚ͨ߹ͷܭࢉ
࠷ॳͷ)1ΑΓখ͞ͳμϝʔδ ࠷ॳͷ)1ΑΓେ͖ͳμϝʔδ
3ͷΫϥεʙ3ೖͷೖ UFTU)Q)1SFDPWFS Γ)1Ͱ͢ UFTU)Q)1SFDPWFS Γ)1Ͱ͢ ճ෮ͨ͠߹ͷܭࢉ
࠷େΑΓগͳ͍ճ෮ ࠷େΑΓଟ͍ճ෮
3ͷΫϥεʙ3ೖͷೖ ࠓճग़དྷͨ͜ͱ ɾ3Λͬͯ؆୯ͳΫϥεΛ࣮ͯ͠ڍಈΛ֬ೝͨ͠ ·ͩग़དྷ͍ͯͳ͍͜ͱ ɾQSJWBUFͷڍಈΛࢼ͢ ɾܧঝͷڍಈΛࢼ͢ ɾ3ಛ༗ͷڍಈͷ֬ೝ
·ͱΊ w ΫϥεͱΦϒδΣΫτࢦϓϩάϥϛϯάͷհ w 3ύοέʔδΛͬͯΫϥεΛ࡞ͯ͠Έͨ w ·ͩ·ͩΫϥεઃܭʹ3ʹཧղ͕ઙ͍ͷͰ ͍Ζ͍Ζࢼ͢ 3ͰΦϒδΣΫτࢦϓϩάϥϛϯάత ։ൃ͕Ͱ͖Δ
ࢀߟࢿྉ ɾ"EWBODFE3ষ IUUQTBEWSIBEMFZO[SIUNM ɾʦ༁ʧ3WJHOFUUF3Ϋϥεೖ IUUQTRJJUBDPNOBLBNJDIJJUFNTEFGEBD ɾ3DMBTTͬͦ͘͞ௐࠪSTUBUTK IUUQTRJJUBDPNIPYP@NJUFNTCCGGCFBB
&/+0: